:root {
    --body-font-family: "Open Sans";
    --header-font-family: "Raleway";

    --primary-color: #1f2937;
    --primary-contrast-color: #ffffff;
    --primary-hover-color: #353e4b;
    --primary-soft-color: #edeeef;

    --secondary-color: #dc2626;
    --secondary-contrast-color: #ffffff;
    --secondary-hover-color: #e03c3c;
    --secondary-soft-color: #fbe5e5;

    --bg-color: #f9fafb;
    --bg-alt-color: #f2f3f3;
    --surface-color: #f9fafb;
    --surface-muted-color: #eff0f1;
    --surface-contrast-color: #000000;

    --text-color: #111827;
    --text-muted-color: #676b75;
    --text-soft-color: #9b9ea4;

    --accent-color: #f59e0b;
    --accent-contrast-color: #ffffff;
    --accent-hover-color: #dd8e0a;

    --border-color: #dbdcdd;
    --header-footer-foreground: #ffffff;
    --header-footer-muted: #ffffff;

    --menu-badge-bg-color: #dc2626;
    --menu-badge-text-color: #ffffff;
    --menu-button-bg-color: #dc2626;
    --menu-button-text-color: #ffffff;
    --menu-button-border-color: #dc2626;

    --footer-input-bg-color: #f9fafb;
    --footer-input-text-color: #111827;
    --footer-input-border-color: #d6d7d8;

    --cta-bg-color: #f4b23e;
    --cta-text-color: #1c335f;
    --cta-hover-bg-color: #e0a030;
    --cta-hover-text-color: #1c335f;
    --cta-font-size: 16px;
    --border-radius: 6px;

    --boxed-layout-bg-color: #ffffff;
    --contrast-layout-bg-color: #000000;
    --layout-pattern-img: url('');
}

:root {
  /* Theme2 semantic palette: all values come from theme settings / color presets. */
  --theme-action-color: var(--primary-color);
  --theme-action-contrast-color: var(--primary-contrast-color);
  --theme-action-hover-color: var(--primary-hover-color);
  --theme-action-soft-color: var(--primary-soft-color);

  --theme-structure-color: var(--secondary-color);
  --theme-structure-contrast-color: var(--secondary-contrast-color);
  --theme-structure-hover-color: var(--secondary-hover-color);
  --theme-structure-soft-color: var(--secondary-soft-color);

  --theme-highlight-color: var(--accent-color);
  --theme-highlight-contrast-color: var(--accent-contrast-color);
  --theme-highlight-hover-color: var(--accent-hover-color);

  /* Premium shared surfaces: secondary-derived, but stabilized by text/background. */
  --theme-premium-dark-bg: color-mix(in srgb, var(--theme-structure-color) 28%, var(--text-color) 72%);
  --theme-premium-dark-bg-alt: color-mix(in srgb, var(--theme-structure-color) 22%, var(--text-color) 78%);
  --theme-premium-dark-surface: color-mix(in srgb, var(--bg-color), transparent 91%);
  --theme-premium-dark-border: color-mix(in srgb, var(--bg-color), transparent 80%);
  --theme-premium-dark-text: var(--bg-color);
  --theme-premium-dark-muted: color-mix(in srgb, var(--bg-color), transparent 28%);
  --theme-premium-dark-accent: color-mix(in srgb, var(--theme-structure-color) 46%, var(--bg-color) 54%);
  --theme-premium-dark-accent-hover: color-mix(in srgb, var(--theme-highlight-color), var(--bg-color) 32%);
  --theme-premium-dark-accent-contrast: var(--theme-premium-dark-bg);

  --theme-premium-structure-soft: color-mix(in srgb, var(--theme-structure-color) 12%, var(--bg-color) 88%);
  --theme-premium-action-soft: color-mix(in srgb, var(--theme-action-color) 10%, var(--bg-color) 90%);
  --theme-premium-highlight-soft: color-mix(in srgb, var(--theme-highlight-color) 12%, var(--bg-color) 88%);

  --theme-status-info-bg: color-mix(in srgb, var(--theme-action-color) 12%, var(--bg-color) 88%);
  --theme-status-info-text: var(--theme-action-color);
  --theme-status-success-bg: color-mix(in srgb, #16a34a 14%, var(--bg-color) 86%);
  --theme-status-success-text: #166534;
  --theme-status-warning-bg: color-mix(in srgb, #f59e0b 16%, var(--bg-color) 84%);
  --theme-status-warning-text: #92400e;
  --theme-status-danger-bg: color-mix(in srgb, #dc2626 12%, var(--bg-color) 88%);
  --theme-status-danger-text: #991b1b;

  --header-footer-foreground: var(--theme-structure-contrast-color);
  --header-footer-muted: color-mix(in srgb, var(--theme-structure-contrast-color), var(--theme-structure-color) 26%);
  --menu-badge-bg-color: var(--theme-highlight-color);
  --menu-badge-text-color: var(--theme-highlight-contrast-color);
  --menu-button-bg-color: var(--theme-action-color);
  --menu-button-text-color: var(--theme-action-contrast-color);
  --menu-button-border-color: var(--theme-action-color);
  /* Heading colour — driven by primary so it follows the brand colour */
  --heading-color: var(--theme-action-color);

  /* Surface aliases used by section alternation */
  --neutral-color:     var(--surface-color);
  --section-bg-alt:   var(--bg-alt-color);

  /* Border radius scale */
  --border-radius-base: var(--border-radius, 4px);
  --border-radius-sm:   4px;
  --border-radius-md:   8px;
  --border-radius-lg:   12px;
  --border-radius-pill: 50px;

  /* Spacing scale — used by sections/cards instead of magic numbers */
  --section-py:   80px;
  --section-py-sm: 50px;
  --card-gap:     24px;

  /* Elevation */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.14);

  /* Section heading underline accent */
  --sec-title-bar-color: var(--theme-highlight-color);

  --layout-pattern-img: url('');
}

html { overflow-x: hidden; }

body {
  background-color: var(--bg-color);
  font-family: var(--body-font-family);
  color: var(--text-color);
  font-size: 16px;
  line-height: 1.6;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.layout-style {
    width: 100%;
    background: var(--bg-color);
}
.navbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
    left: auto;
    transform: none;
}
/* Heading base */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--header-font-family);
  color: var(--heading-color);
  font-weight: 700;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0.75rem;
}

/* Heading scale */
h1 { font-size: clamp(28px, 4vw, 48px); }
h2 { font-size: clamp(24px, 3vw, 36px); }
h3 { font-size: clamp(20px, 2.5vw, 28px); }
h4 { font-size: clamp(18px, 2vw, 22px); }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

/* Body / inline elements */
p, li, span, input, button, label {
  font-family: var(--body-font-family);
}

p {
  line-height: 1.7;
  margin-bottom: 1rem;
  color: var(--text-color);
}

/* Links */
a {
  font-family: var(--body-font-family);
  color: var(--theme-action-color);
  text-decoration: none;
  transition: color 0.25s ease;
}
a:hover, a:focus {
  color: var(--theme-highlight-color);
  text-decoration: none;
}

/* Section heading pattern used across all home/inner sections */
.sec-title .title {
  color: var(--heading-color);
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 8px;
}
.sec-title .title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: var(--sec-title-bar-color);
  border-radius: 2px;
}
.sec-title.text-left .title::after {
  left: 0;
  transform: none;
}
.sec-title .desc {
  color: var(--text-muted-color);
  font-size: 16px;
  max-width: 640px;
  margin: 0 auto;
}
.sec-title.text-left .desc {
  margin-left: 0;
}
.sch-cta-btn {
  display: inline-block;
  padding: 10px 20px;
  text-transform: uppercase;
  font-weight: bold;
  transition: all 0.4s ease;
  border-radius: var(--border-radius-base, 4px);
  text-decoration: none;
  font-size: var(--cta-font-size, 14px);
  text-align: center;
  cursor: pointer;
}


.sch-cta-btn {
  background-color: var(--theme-action-color);
  color: var(--theme-action-contrast-color);
  border: none;
}
.sch-cta-btn:hover, .sch-cta-btn:focus {
  background-color: var(--theme-action-hover-color);
  color: var(--theme-action-contrast-color);
}


.sch-cta-btn--secondary {
  background-color: transparent;
  border: 2px solid var(--theme-action-color);
  color: var(--theme-action-color);
  border-radius: var(--border-radius-base, 4px);
}
.sch-cta-btn--secondary:hover,
.sch-cta-btn--secondary:focus {
  background-color: var(--theme-action-color);
  border-color: var(--theme-action-color);
  color: var(--theme-action-contrast-color);
}

.sch-readmore-link-primary,
.sch-readmore-link-secondary {
  background: none;
  border: none;
  padding: 0;
  text-decoration: none;
  position: relative;
  font-weight: 500;
  cursor: pointer;
  transition: color 0.3s ease, transform 0.2s ease;
}

.sch-readmore-link-primary {
  color: var(--theme-action-color);
}

.sch-readmore-link-secondary {
  color: var(--theme-structure-color);
}

.sch-readmore-link-primary::after,
.sch-readmore-link-secondary::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0%;
  height: 2px;
  background-color: currentColor;
  transition: width 0.3s ease;
}

.sch-readmore-link-primary:hover {
  transform: translateY(-1px);
  color: var(--theme-action-hover-color);
}

.sch-readmore-link-secondary:hover {
  transform: translateY(-1px);
  color: var(--theme-structure-hover-color);
}

.sch-readmore-link-primary:hover::after,
.sch-readmore-link-secondary:hover::after {
  width: 100%;
}


.rs-home-section-shell.home-section-bg-dark .sch-cta-btn {
  background-color: var(--home-section-cta-bg, var(--theme-premium-dark-accent)) !important;
  border-color: var(--home-section-cta-border, var(--theme-premium-dark-accent)) !important;
  color: var(--home-section-cta-text, var(--theme-premium-dark-accent-contrast)) !important;
}
.rs-home-section-shell.home-section-bg-dark .sch-cta-btn:hover,
.rs-home-section-shell.home-section-bg-dark .sch-cta-btn:focus {
  background-color: var(--home-section-cta-hover-bg, var(--theme-premium-dark-accent-hover)) !important;
  border-color: var(--home-section-cta-hover-bg, var(--theme-premium-dark-accent-hover)) !important;
  color: var(--home-section-cta-hover-text, var(--theme-premium-dark-accent-contrast)) !important;
}
.mu-read-more-btn {
  display: inline-block;
  padding: 10px 20px;
  border-radius: var(--border-radius);
  transition: 0.3s ease;
  text-transform: uppercase;
  font-weight: 600;
}

.mu-read-more-btn.primary {
  background: var(--theme-action-color);
  color: var(--theme-action-contrast-color);
}

.mu-read-more-btn.outline {
  background: transparent;
  color: var(--theme-action-color);
  border: 2px solid var(--theme-action-color);
}
.mu-read-more-btn.outline:hover {
  background: var(--theme-action-color);
  color: var(--theme-action-contrast-color);
}

.footer {
  background-color: var(--theme-premium-dark-bg);
  color: var(--theme-premium-dark-text);
}
button, a.sch-link-btn, a.sch-cta-btn {
  transition: all 0.3s ease-in-out;
}
.rs-home-section-shell {
  --home-section-bg: var(--bg-color);
  --home-section-text: var(--text-color);
  --home-section-muted: var(--text-muted-color);
  --home-section-heading: var(--heading-color, var(--text-color));
  --home-section-surface: var(--surface-color);
  --home-section-border: var(--border-color);
  --home-section-alt-bg: var(--bg-alt-color, #f5f7fa);
  background: var(--home-section-bg);
  color: var(--home-section-text);
}

.rs-home-section-shell.home-section-bg-light {
  --home-section-bg: var(--bg-color);
  --home-section-text: var(--text-color);
  --home-section-muted: var(--text-muted-color);
  --home-section-heading: var(--heading-color, var(--text-color));
  --home-section-surface: var(--surface-color);
  --home-section-border: var(--border-color);
  --home-section-alt-bg: var(--bg-alt-color, #f5f7fa);
}

.rs-home-section-shell.home-section-bg-alt {
  --home-section-bg: var(--bg-alt-color, #f5f7fa);
  --home-section-text: var(--text-color);
  --home-section-muted: var(--text-muted-color);
  --home-section-heading: var(--heading-color, var(--text-color));
  --home-section-surface: var(--surface-color);
  --home-section-border: var(--border-color);
  --home-section-alt-bg: var(--surface-color);
}

.rs-home-section-shell.home-section-bg-dark {
  --home-section-bg: var(--theme-premium-dark-bg);
  --home-section-text: var(--theme-premium-dark-text);
  --home-section-muted: var(--theme-premium-dark-muted);
  --home-section-heading: var(--theme-premium-dark-text);
  --home-section-surface: var(--theme-premium-dark-surface);
  --home-section-border: var(--theme-premium-dark-border);
  --home-section-alt-bg: var(--theme-premium-dark-bg-alt);
  --home-section-icon: var(--theme-premium-dark-accent);
  --home-section-link: var(--home-section-icon);
  --home-section-link-hover: var(--theme-premium-dark-accent-hover);
  --home-section-accent-bg: var(--home-section-icon);
  --home-section-accent-soft: color-mix(in srgb, var(--home-section-icon), transparent 84%);
  --home-section-accent-border: color-mix(in srgb, var(--home-section-icon), transparent 42%);
  --home-section-accent-contrast: var(--home-section-bg);
  --home-section-cta-bg: var(--home-section-accent-bg);
  --home-section-cta-text: var(--home-section-accent-contrast);
  --home-section-cta-border: var(--home-section-accent-bg);
  --home-section-cta-hover-bg: var(--home-section-link-hover);
  --home-section-cta-hover-text: var(--home-section-bg);
}

.rs-home-section-shell.home-section-bg-dark h1,
.rs-home-section-shell.home-section-bg-dark h2,
.rs-home-section-shell.home-section-bg-dark h3,
.rs-home-section-shell.home-section-bg-dark h4,
.rs-home-section-shell.home-section-bg-dark h5,
.rs-home-section-shell.home-section-bg-dark h6 {
  color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark p,
.rs-home-section-shell.home-section-bg-dark li,
.rs-home-section-shell.home-section-bg-dark .desc,
.rs-home-section-shell.home-section-bg-dark .description {
  color: var(--home-section-muted);
}

.rs-home-section-shell.home-section-bg-dark a:not(.btn):not([class*="btn"]):not([class*="button"]) {
  color: var(--home-section-link);
}

.rs-home-section-shell.home-section-bg-dark a:not(.btn):not([class*="btn"]):not([class*="button"]):hover,
.rs-home-section-shell.home-section-bg-dark a:not(.btn):not([class*="btn"]):not([class*="button"]):focus {
  color: var(--home-section-link-hover);
}

.rs-home-section-shell.home-section-bg-dark i,
.rs-home-section-shell.home-section-bg-dark .fa,
.rs-home-section-shell.home-section-bg-dark .glyph-icon {
  color: var(--home-section-icon);
}

.rs-home-section-shell > .body-sub-section,
.rs-home-section-shell > section,
.rs-home-section-shell > div {
  background: var(--home-section-bg) !important;
}

.rs-home-section-shell > #mu-about-us.rs-about-section,
.rs-home-section-shell > .rs-cta-shell {
  background: var(--home-section-bg) !important;
}

.rs-home-section-shell.home-section-bg-dark :where(
  .body-sub-section,
  .sec-spacer,
  .sec-color,
  .rs-about-section,
  .rs-cta-shell,
  .rs-courses-2,
  .rs-facilities,
  .rs-facts-figures,
  .rs-key-highlights,
  .rs-awards,
  .rs-notice-board,
  .rs-trust-bar,
  .rs-latest-news,
  .rs-team,
  .rs-events,
  .rs-partner,
  .rs-toppers,
  .rs-success-stories,
  .rs-gallery
) {
  background: var(--home-section-bg) !important;
}

#rs-slider .owl-dots,
#home-slider.rs-carousel .owl-dots {
  bottom: 24px;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  top: auto;
  transform: none;
  z-index: 10;
}

/* ── Hero carousel: prev / next arrows ── */
#rs-slider #home-slider .owl-nav {
  display: block !important;
}

#rs-slider #home-slider .owl-nav .owl-prev,
#rs-slider #home-slider .owl-nav .owl-next {
  align-items: center;
  background: rgba(255, 255, 255, 0.15);
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-radius: 50%;
  display: flex;
  font-size: 0;
  height: 48px;
  justify-content: center;
  opacity: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: background 0.25s ease, border-color 0.25s ease;
  width: 48px;
  z-index: 10;
}

#rs-slider #home-slider .owl-nav .owl-prev {
  left: 20px;
  right: auto;
}

#rs-slider #home-slider .owl-nav .owl-next {
  left: auto;
  right: 20px;
}

#rs-slider #home-slider .owl-nav .owl-prev::before {
  color: var(--theme-highlight-color);
  content: '\f104';
  font-family: FontAwesome;
  font-size: 20px;
}

#rs-slider #home-slider .owl-nav .owl-next::before {
  color: var(--theme-highlight-color);
  content: '\f105';
  font-family: FontAwesome;
  font-size: 20px;
}

#rs-slider #home-slider .owl-nav .owl-prev:hover,
#rs-slider #home-slider .owl-nav .owl-next:hover {
  background: var(--theme-action-color);
  border-color: var(--theme-action-color);
}

@media (max-width: 767px) {
  #rs-slider #home-slider .owl-nav .owl-prev,
  #rs-slider #home-slider .owl-nav .owl-next {
    height: 36px;
    width: 36px;
  }

  #rs-slider #home-slider .owl-nav .owl-prev {
    left: 10px;
  }

  #rs-slider #home-slider .owl-nav .owl-next {
    right: 10px;
  }

  #rs-slider #home-slider .owl-nav .owl-prev::before,
  #rs-slider #home-slider .owl-nav .owl-next::before {
    font-size: 16px;
  }
}


#home-slider.rs-carousel .owl-nav > div,
#hero-image.rs-carousel .owl-nav > div {
  background-color: var(--theme-structure-color);
  color: var(--theme-structure-contrast-color);
}

#home-slider.rs-carousel .owl-nav > div:hover,
#hero-image.rs-carousel .owl-nav > div:hover,
#home-slider.rs-carousel .owl-nav > div:focus,
#hero-image.rs-carousel .owl-nav > div:focus {
  background-color: var(--theme-highlight-color);
  color: var(--theme-highlight-contrast-color);
}

/* ── Inner Page Banner (rs2-inner-banner) ── */
.rs2-inner-banner {
    align-items: center;
    background-color: var(--theme-structure-color);
    display: flex;
    height: clamp(240px, 20vw, 340px);
    min-height: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
}

.rs2-inner-banner__image {
    bottom: 0;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

.rs2-inner-banner__image {
    object-fit: cover;
    object-position: center;
    z-index: 1;
}

.rs2-inner-banner__overlay {
    background: rgba(0, 0, 0, 0.38);
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}

.rs2-inner-banner--no-image .rs2-inner-banner__overlay {
    background: color-mix(in srgb, var(--theme-action-color) 88%, transparent);
}

.rs2-inner-banner__content {
    padding: 48px 0;
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 3;
}

.rs2-inner-banner__title {
    color: #ffffff;
    font-family: var(--header-font-family);
    font-size: clamp(24px, 4vw, 38px);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 14px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

/* Breadcrumb */
.rs2-breadcrumb {
    display: flex;
    justify-content: center;
}

.rs2-breadcrumb__list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rs2-breadcrumb__item {
    align-items: center;
    color: rgba(255, 255, 255, 0.75);
    display: flex;
    font-size: 13px;
    gap: 4px;
}

.rs2-breadcrumb__link {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    transition: color 0.2s ease;
}

.rs2-breadcrumb__link:hover,
.rs2-breadcrumb__link:focus {
    color: var(--secondary-color);
    text-decoration: none;
}

.rs2-breadcrumb__sep {
    color: rgba(255, 255, 255, 0.45);
    font-size: 11px;
}

.rs2-breadcrumb__item--active {
    color: var(--secondary-color);
    font-weight: 600;
}

/* Decorative icons (no-image fallback) */
.rs2-inner-banner__deco {
    bottom: 0;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.rs2-deco-icon {
    animation: rs2-deco-float 6s ease-in-out infinite;
    font-size: 30px;
    opacity: 0.12;
    position: absolute;
}

.rs2-deco-icon--1 { top: 12%; left:  8%; animation-delay: 0s; }
.rs2-deco-icon--2 { top: 28%; right: 10%; animation-delay: 1s; }
.rs2-deco-icon--3 { bottom: 18%; left: 14%; animation-delay: 2s; }
.rs2-deco-icon--4 { bottom: 22%; right: 18%; animation-delay: 3s; }
.rs2-deco-icon--5 { top: 16%; left: 48%; animation-delay: 4s; }
.rs2-deco-icon--6 { top: 52%; left: 26%; animation-delay: 5s; }

@keyframes rs2-deco-float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50%       { transform: translateY(-10px) rotate(6deg); }
}

@media (max-width: 767px) {
    .rs2-inner-banner {
        height: clamp(180px, 42vw, 260px);
    }

    .rs2-inner-banner__title {
        font-size: clamp(20px, 6vw, 28px);
    }
}
/* ── End Inner Page Banner ── */

.rs-toolbar {
  background: var(--theme-premium-dark-bg);
  color: var(--theme-premium-dark-text);
  padding-top: 8px;
  padding-bottom: 8px;
}

.menu-area,
#rs-header-2 .menu-area {
  background: var(--theme-structure-color);
  color: var(--header-footer-foreground);
}

.rs-header-top,
.rs-header .rs-header-top {
  background: var(--bg-color) !important;
  color: var(--text-color) !important;
}

.rs-toolbar a,
.rs-toolbar span,
.menu-area .rs-menu ul.nav-menu > li > a,
#rs-header-2 .logo-area span,
.logo-area span {
  color: var(--header-footer-foreground);
}

.menu-area .rs-menu-toggle,
.menu-area .rs-menu-toggle .fa,
.rs-header .rs-menu-toggle,
#rs-header-2 .rs-menu-toggle {
  color: #fff !important;
}

.rs-toolbar .rs-toolbar-left .welcome-message span {
  color: var(--theme-premium-dark-text);
}

.rs-toolbar .rs-toolbar-left .welcome-message .fa {
  color: var(--theme-premium-dark-accent);
}

.rs-toolbar .toolbar-share-icon ul li a .fa {
  color: var(--theme-premium-dark-muted);
  transition: color 0.2s ease;
}

.rs-toolbar .toolbar-share-icon ul li a:hover .fa {
  color: var(--theme-premium-dark-text);
}

.rs-toolbar-right {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.rs-toolbar-enquire-btn {
    background: var(--theme-premium-dark-accent);
    border-radius: var(--border-radius-pill, 50px);
    color: var(--theme-premium-dark-accent-contrast) !important;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 16px;
    text-transform: uppercase;
    transition: background 0.2s;
}
.rs-toolbar-enquire-btn:hover {
    background: var(--theme-premium-dark-accent-hover);
    color: var(--theme-premium-dark-accent-contrast) !important;
}

.rs-toolbar-login-btn {
    align-items: center;
    background: transparent;
    border: 1px solid var(--theme-premium-dark-accent);
    border-radius: 999px;
    color: var(--theme-premium-dark-accent) !important;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 6px;
    padding: 4px 14px;
    transition: background 0.2s, color 0.2s;
}
.rs-toolbar-login-btn:hover {
    background: var(--theme-premium-dark-accent);
    color: var(--theme-premium-dark-accent-contrast) !important;
}
.rs-toolbar-login-btn .fa {
    font-size: 12px;
}

/* Language switcher dropdown */
.rs-toolbar .lang-switcher { display: inline-flex; align-items: center; position: relative; }
.rs-toolbar .lang-switcher__toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: transparent;
    border: 1px solid var(--header-footer-foreground);
    border-radius: 999px;
    color: var(--header-footer-foreground);
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.rs-toolbar .lang-switcher__toggle:hover,
.rs-toolbar .lang-switcher__toggle:focus,
.rs-toolbar .lang-switcher.show .lang-switcher__toggle {
    background: var(--header-footer-foreground);
    color: var(--primary-color);
    outline: none;
}
.rs-toolbar .lang-switcher__toggle .fa { font-size: 12px; }
.rs-toolbar .lang-switcher__toggle::after { display: none; }
.rs-toolbar .lang-switcher__menu {
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    margin-top: 6px;
    min-width: 140px;
    padding: 4px 0;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 16px rgba(0,0,0,0.13);
    z-index: 9999;
    background: var(--bg-color, #fff);
}
.rs-toolbar .lang-switcher__option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 16px;
    font-size: 13px;
    color: var(--text-color);
    font-weight: 600;
    text-decoration: none;
}
.rs-toolbar .lang-switcher__option .lang-switcher__native {
    color: var(--text-color);
    font-weight: 700;
}
.rs-toolbar .lang-switcher__option .lang-switcher__label {
    font-weight: 400;
    font-size: 12px;
    color: var(--text-muted-color);
}
.rs-toolbar .lang-switcher__option:hover,
.rs-toolbar .lang-switcher__option:focus {
    background: var(--primary-color);
    color: var(--primary-contrast-color, #fff);
    text-decoration: none;
}
.rs-toolbar .lang-switcher__option:hover .lang-switcher__native,
.rs-toolbar .lang-switcher__option:focus .lang-switcher__native { color: var(--primary-contrast-color, #fff); }
.rs-toolbar .lang-switcher__option:hover .lang-switcher__label,
.rs-toolbar .lang-switcher__option:focus .lang-switcher__label { color: var(--primary-contrast-color, rgba(255,255,255,0.8)); }
.rs-toolbar .lang-switcher__menu .lang-switcher__option.active { background: var(--surface-color, #f1f5f9) !important; color: var(--text-color, #1e293b) !important; }
.rs-toolbar .lang-switcher__menu .lang-switcher__option.active .lang-switcher__native { color: var(--text-color, #1e293b) !important; font-weight: 700; }
.rs-toolbar .lang-switcher__menu .lang-switcher__option.active .lang-switcher__label { color: var(--text-muted-color, #64748b) !important; opacity: 1; }

.rs-header-top a,
.rs-header-top span,
.rs-header-top .logo-area span {
  color: var(--text-color);
}

.rs-header-top .fa,
.rs-header-top .glyph-icon {
  color: var(--theme-structure-color);
}

.rs-header .rs-header-top .header-contact .widget-text .info-text a,
.rs-header .rs-header-top .header-contact .widget-text .info-text span,
.rs-header .rs-header-top .header-contact .widget-text .info-text,
.rs-header .rs-header-top .header-contact .widget-text .info-text a:hover {
  color: var(--text-color);
}

.home1 .searce-box a.rs-search i,
.university-home .searce-box i {
  color: var(--header-footer-foreground);
}

.rs-header .rs-header-top .header-contact .widget-text i {
  color: var(--theme-structure-color);
}

.rs-header-top .logo-area img {
  background: var(--theme-premium-structure-soft);
  border-radius: 12px;
  padding: 0.35rem;
}

.home1 .searce-box a.rs-search i:hover {
  color: var(--accent-color) !important;
}

.menu-area .rs-menu ul.nav-menu > li > a:hover,
.menu-area .rs-menu ul.nav-menu > li.current-menu-item > a,
.menu-area .rs-menu ul.nav-menu > li.current_page_item > a,
.menu-area .rs-menu ul.nav-menu > li.active > a {
  color: var(--theme-highlight-color) !important;
}

.rs-toolbar a:hover,
.rs-header-top a:hover {
  color: var(--accent-color);
}

/* Sub-menu / mega-menu color tokens — structural styles live in navigation.blade.php */
.menu-area .rs-menu .sub-menu,
.menu-area .rs-menu .mega-menu {
  --submenu-panel-bg: var(--surface-color, var(--bg-color));
  --submenu-border-color: var(--border-color);
  --submenu-text-color: var(--text-color);
  --submenu-hover-bg: transparent;
  --submenu-hover-text-color: var(--theme-highlight-color);
  --submenu-heading-color: var(--text-color);
}

.menu-area .rs-mega-title,
.menu-area .single-magemenu p {
  color: var(--text-color) !important;
}

.rs-header-2,
.rs-header-2 .menu-area,
.menu-sticky.sticky,
.home1 .menu-area,
.home1 .menu-sticky.sticky,
.home3 .rs-header .menu-sticky.sticky,
.home3 .rs-header .menu-area,
.home2 .menu-area .main-menu {
  background: var(--theme-structure-color);
}

.rs-header-2 .menu-area .rs-menu .nav-menu > li > a,
.home2 .menu-area .rs-menu ul.nav-menu > li > a,
.home3 .rs-header .menu-area .rs-menu ul.nav-menu > li > a {
  color: var(--theme-structure-contrast-color);
}

.rs-header-2 .menu-area .rs-menu .nav-menu > li > a:hover,
.home2 .menu-area .rs-menu ul.nav-menu > li > a:hover,
.home3 .rs-header .menu-area .rs-menu ul.nav-menu > li > a:hover {
  color: var(--theme-highlight-color) !important;
}

.home2 .menu-area .rs-menu .sub-menu a,
.home3 .rs-header .menu-area .rs-menu .sub-menu a {
  color: var(--submenu-text-color, var(--text-color)) !important;
}

.home2 .menu-area .rs-menu .sub-menu a:hover,
.home2 .menu-area .rs-menu .sub-menu a:focus,
.home3 .rs-header .menu-area .rs-menu .sub-menu a:hover,
.home3 .rs-header .menu-area .rs-menu .sub-menu a:focus {
  color: var(--submenu-hover-text-color, var(--theme-highlight-color)) !important;
}

.home2 .menu-area .main-menu,
.home3 .rs-header .menu-area {
  background: transparent;
}

#rs-footer,
#rs-footer .footer-top,
#rs-footer .footer-bottom {
  background: var(--footer-bg, var(--text-color));
  color: var(--footer-text-color, var(--bg-color));
}

#rs-footer .contact-title,
#rs-footer .contact-desc,
#rs-footer .footer-title,
#rs-footer .footer-title a,
#rs-footer .sitemap-widget li a,
#rs-footer .mu-footer-widget p,
#rs-footer .footer-share ul li a,
#rs-footer .copyright p,
#rs-footer .copyright a {
  color: var(--footer-link-color, var(--bg-color)) !important;
}

#rs-footer .sitemap-widget li a:hover,
#rs-footer .footer-share ul li a:hover,
#rs-footer .copyright a:hover {
  color: var(--accent-color) !important;
}

#rs-footer .footer-contact-desc,
#rs-footer .footer-bottom,
#rs-footer .footer-top .news-form input,
#rs-footer .footer-top .recent-post-widget .post-item + .post-item {
  border-color: var(--footer-border-color, color-mix(in srgb, var(--bg-color), transparent 82%));
}

#rs-footer .footer-top .news-form button,
#scrollUp i {
  background: var(--theme-action-color);
  border-color: var(--theme-action-color);
  color: var(--theme-action-contrast-color);
}

.home5 #scrollUp i,
.university-home #scrollUp i {
  background: var(--primary-color);
  color: var(--primary-contrast-color);
}

#rs-footer .footer-top .news-form button:hover,
#scrollUp i:hover {
  background: var(--theme-highlight-color);
  border-color: var(--theme-highlight-color);
  color: var(--theme-highlight-contrast-color);
}

.home5 #scrollUp i:hover,
.university-home #scrollUp i:hover {
  background: var(--primary-hover-color);
  color: var(--primary-contrast-color);
}

#scrollUp:focus-visible {
  outline: 3px solid var(--primary-soft-color);
  outline-offset: 3px;
}

#rs-footer .footer-contact-desc .contact-inner i {
  color: var(--footer-link-hover-color, var(--theme-highlight-color)) !important;
}

/* Shared home hero advanced settings */
.slider-overlay-2.sch-rs-hero-slider #hero-image .item,
.slider-overlay-2.sch-rs-hero-slider #hero-image img {
  height: 600px;
}

.slider-overlay-2.sch-rs-hero-slider.sch-hero-height-small #hero-image .item,
.slider-overlay-2.sch-rs-hero-slider.sch-hero-height-small #hero-image img {
  height: 420px;
}

.slider-overlay-2.sch-rs-hero-slider.sch-hero-height-full #hero-image .item,
.slider-overlay-2.sch-rs-hero-slider.sch-hero-height-full #hero-image img {
  height: 100vh;
  min-height: 620px;
}

.slider-overlay-2.sch-rs-hero-slider #hero-image .overlay,
.hero-video-section .overlay {
  background: rgba(0, 0, 0, var(--hero-overlay-opacity, 0.5));
}

.sch-hero-overlay-opacity-0 {
  --hero-overlay-opacity: 0;
}
.sch-hero-overlay-opacity-1 {
  --hero-overlay-opacity: 0.01;
}
.sch-hero-overlay-opacity-2 {
  --hero-overlay-opacity: 0.02;
}
.sch-hero-overlay-opacity-3 {
  --hero-overlay-opacity: 0.03;
}
.sch-hero-overlay-opacity-4 {
  --hero-overlay-opacity: 0.04;
}
.sch-hero-overlay-opacity-5 {
  --hero-overlay-opacity: 0.05;
}
.sch-hero-overlay-opacity-6 {
  --hero-overlay-opacity: 0.06;
}
.sch-hero-overlay-opacity-7 {
  --hero-overlay-opacity: 0.07;
}
.sch-hero-overlay-opacity-8 {
  --hero-overlay-opacity: 0.08;
}
.sch-hero-overlay-opacity-9 {
  --hero-overlay-opacity: 0.09;
}
.sch-hero-overlay-opacity-10 {
  --hero-overlay-opacity: 0.1;
}
.sch-hero-overlay-opacity-11 {
  --hero-overlay-opacity: 0.11;
}
.sch-hero-overlay-opacity-12 {
  --hero-overlay-opacity: 0.12;
}
.sch-hero-overlay-opacity-13 {
  --hero-overlay-opacity: 0.13;
}
.sch-hero-overlay-opacity-14 {
  --hero-overlay-opacity: 0.14;
}
.sch-hero-overlay-opacity-15 {
  --hero-overlay-opacity: 0.15;
}
.sch-hero-overlay-opacity-16 {
  --hero-overlay-opacity: 0.16;
}
.sch-hero-overlay-opacity-17 {
  --hero-overlay-opacity: 0.17;
}
.sch-hero-overlay-opacity-18 {
  --hero-overlay-opacity: 0.18;
}
.sch-hero-overlay-opacity-19 {
  --hero-overlay-opacity: 0.19;
}
.sch-hero-overlay-opacity-20 {
  --hero-overlay-opacity: 0.2;
}
.sch-hero-overlay-opacity-21 {
  --hero-overlay-opacity: 0.21;
}
.sch-hero-overlay-opacity-22 {
  --hero-overlay-opacity: 0.22;
}
.sch-hero-overlay-opacity-23 {
  --hero-overlay-opacity: 0.23;
}
.sch-hero-overlay-opacity-24 {
  --hero-overlay-opacity: 0.24;
}
.sch-hero-overlay-opacity-25 {
  --hero-overlay-opacity: 0.25;
}
.sch-hero-overlay-opacity-26 {
  --hero-overlay-opacity: 0.26;
}
.sch-hero-overlay-opacity-27 {
  --hero-overlay-opacity: 0.27;
}
.sch-hero-overlay-opacity-28 {
  --hero-overlay-opacity: 0.28;
}
.sch-hero-overlay-opacity-29 {
  --hero-overlay-opacity: 0.29;
}
.sch-hero-overlay-opacity-30 {
  --hero-overlay-opacity: 0.3;
}
.sch-hero-overlay-opacity-31 {
  --hero-overlay-opacity: 0.31;
}
.sch-hero-overlay-opacity-32 {
  --hero-overlay-opacity: 0.32;
}
.sch-hero-overlay-opacity-33 {
  --hero-overlay-opacity: 0.33;
}
.sch-hero-overlay-opacity-34 {
  --hero-overlay-opacity: 0.34;
}
.sch-hero-overlay-opacity-35 {
  --hero-overlay-opacity: 0.35;
}
.sch-hero-overlay-opacity-36 {
  --hero-overlay-opacity: 0.36;
}
.sch-hero-overlay-opacity-37 {
  --hero-overlay-opacity: 0.37;
}
.sch-hero-overlay-opacity-38 {
  --hero-overlay-opacity: 0.38;
}
.sch-hero-overlay-opacity-39 {
  --hero-overlay-opacity: 0.39;
}
.sch-hero-overlay-opacity-40 {
  --hero-overlay-opacity: 0.4;
}
.sch-hero-overlay-opacity-41 {
  --hero-overlay-opacity: 0.41;
}
.sch-hero-overlay-opacity-42 {
  --hero-overlay-opacity: 0.42;
}
.sch-hero-overlay-opacity-43 {
  --hero-overlay-opacity: 0.43;
}
.sch-hero-overlay-opacity-44 {
  --hero-overlay-opacity: 0.44;
}
.sch-hero-overlay-opacity-45 {
  --hero-overlay-opacity: 0.45;
}
.sch-hero-overlay-opacity-46 {
  --hero-overlay-opacity: 0.46;
}
.sch-hero-overlay-opacity-47 {
  --hero-overlay-opacity: 0.47;
}
.sch-hero-overlay-opacity-48 {
  --hero-overlay-opacity: 0.48;
}
.sch-hero-overlay-opacity-49 {
  --hero-overlay-opacity: 0.49;
}
.sch-hero-overlay-opacity-50 {
  --hero-overlay-opacity: 0.5;
}
.sch-hero-overlay-opacity-51 {
  --hero-overlay-opacity: 0.51;
}
.sch-hero-overlay-opacity-52 {
  --hero-overlay-opacity: 0.52;
}
.sch-hero-overlay-opacity-53 {
  --hero-overlay-opacity: 0.53;
}
.sch-hero-overlay-opacity-54 {
  --hero-overlay-opacity: 0.54;
}
.sch-hero-overlay-opacity-55 {
  --hero-overlay-opacity: 0.55;
}
.sch-hero-overlay-opacity-56 {
  --hero-overlay-opacity: 0.56;
}
.sch-hero-overlay-opacity-57 {
  --hero-overlay-opacity: 0.57;
}
.sch-hero-overlay-opacity-58 {
  --hero-overlay-opacity: 0.58;
}
.sch-hero-overlay-opacity-59 {
  --hero-overlay-opacity: 0.59;
}
.sch-hero-overlay-opacity-60 {
  --hero-overlay-opacity: 0.6;
}
.sch-hero-overlay-opacity-61 {
  --hero-overlay-opacity: 0.61;
}
.sch-hero-overlay-opacity-62 {
  --hero-overlay-opacity: 0.62;
}
.sch-hero-overlay-opacity-63 {
  --hero-overlay-opacity: 0.63;
}
.sch-hero-overlay-opacity-64 {
  --hero-overlay-opacity: 0.64;
}
.sch-hero-overlay-opacity-65 {
  --hero-overlay-opacity: 0.65;
}
.sch-hero-overlay-opacity-66 {
  --hero-overlay-opacity: 0.66;
}
.sch-hero-overlay-opacity-67 {
  --hero-overlay-opacity: 0.67;
}
.sch-hero-overlay-opacity-68 {
  --hero-overlay-opacity: 0.68;
}
.sch-hero-overlay-opacity-69 {
  --hero-overlay-opacity: 0.69;
}
.sch-hero-overlay-opacity-70 {
  --hero-overlay-opacity: 0.7;
}
.sch-hero-overlay-opacity-71 {
  --hero-overlay-opacity: 0.71;
}
.sch-hero-overlay-opacity-72 {
  --hero-overlay-opacity: 0.72;
}
.sch-hero-overlay-opacity-73 {
  --hero-overlay-opacity: 0.73;
}
.sch-hero-overlay-opacity-74 {
  --hero-overlay-opacity: 0.74;
}
.sch-hero-overlay-opacity-75 {
  --hero-overlay-opacity: 0.75;
}
.sch-hero-overlay-opacity-76 {
  --hero-overlay-opacity: 0.76;
}
.sch-hero-overlay-opacity-77 {
  --hero-overlay-opacity: 0.77;
}
.sch-hero-overlay-opacity-78 {
  --hero-overlay-opacity: 0.78;
}
.sch-hero-overlay-opacity-79 {
  --hero-overlay-opacity: 0.79;
}
.sch-hero-overlay-opacity-80 {
  --hero-overlay-opacity: 0.8;
}
.sch-hero-overlay-opacity-81 {
  --hero-overlay-opacity: 0.81;
}
.sch-hero-overlay-opacity-82 {
  --hero-overlay-opacity: 0.82;
}
.sch-hero-overlay-opacity-83 {
  --hero-overlay-opacity: 0.83;
}
.sch-hero-overlay-opacity-84 {
  --hero-overlay-opacity: 0.84;
}
.sch-hero-overlay-opacity-85 {
  --hero-overlay-opacity: 0.85;
}
.sch-hero-overlay-opacity-86 {
  --hero-overlay-opacity: 0.86;
}
.sch-hero-overlay-opacity-87 {
  --hero-overlay-opacity: 0.87;
}
.sch-hero-overlay-opacity-88 {
  --hero-overlay-opacity: 0.88;
}
.sch-hero-overlay-opacity-89 {
  --hero-overlay-opacity: 0.89;
}
.sch-hero-overlay-opacity-90 {
  --hero-overlay-opacity: 0.9;
}

.slider-overlay-2.sch-rs-hero-slider.sch-hero-overlay-off #hero-image .overlay,
.hero-video-section.sch-hero-overlay-off .overlay {
  display: none;
}

.slider-overlay-2.sch-rs-hero-slider.sch-hero-text-left #hero-image .video-content,
.hero-video-section.sch-hero-text-left .video-content {
  align-items: flex-start !important;
  text-align: left !important;
}

.slider-overlay-2.sch-rs-hero-slider.sch-hero-text-right #hero-image .video-content,
.hero-video-section.sch-hero-text-right .video-content {
  align-items: flex-end !important;
  text-align: right !important;
}

.slider-overlay-2.sch-rs-hero-slider.sch-hero-valign-top #hero-image .video-content,
.hero-video-section.sch-hero-valign-top .video-content {
  justify-content: flex-start !important;
  padding-top: 8%;
}

.slider-overlay-2.sch-rs-hero-slider.sch-hero-valign-bottom #hero-image .video-content,
.hero-video-section.sch-hero-valign-bottom .video-content {
  justify-content: flex-end !important;
  padding-bottom: 8%;
}

.hero-video-section.sch-hero-height-small {
  height: 420px;
}

.hero-video-section.sch-hero-height-medium {
  height: 600px;
}

.hero-video-section.sch-hero-height-full {
  height: 100vh;
  min-height: 620px;
}

@media (max-width: 767px) {
  .slider-overlay-2.sch-rs-hero-slider.sch-hide-caption-mobile #hero-image h2,
  .slider-overlay-2.sch-rs-hero-slider.sch-hide-caption-mobile #hero-image h3,
  .slider-overlay-2.sch-rs-hero-slider.sch-hide-caption-mobile #hero-image p,
  .slider-overlay-2.sch-rs-hero-slider.sch-hide-caption-mobile #hero-image span,
  .hero-video-section.sch-hide-caption-mobile .video-content h2,
  .hero-video-section.sch-hide-caption-mobile .video-content h3,
  .hero-video-section.sch-hide-caption-mobile .video-content p,
  .hero-video-section.sch-hide-caption-mobile .video-content span {
    display: none !important;
  }

  .slider-overlay-2.sch-rs-hero-slider.sch-hide-cta-mobile #hero-image .sch-cta-btn,
  .hero-video-section.sch-hide-cta-mobile .sch-cta-btn {
    display: none !important;
  }
}


/* ── Hero: carousel slide text ── */
#rs-slider .slide-content .slider-title {
    color: #fff;
    font-size: clamp(28px, 5vw, 58px);
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 16px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.45);
    text-transform: none;
}
#rs-slider .slide-content .slider-desc {
    color: rgba(255,255,255,0.88);
    font-size: clamp(15px, 2vw, 20px);
    font-weight: 400;
    margin-bottom: 28px;
    text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}

/* ── Hero: video + simple hero text ── */
.hero-video-section .video-content h2,
.slider-overlay-2.sch-rs-hero-slider .video-content h2 {
    color: #fff;
    font-size: clamp(28px, 5vw, 52px);
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 14px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.45);
}
.hero-video-section .video-content p,
.slider-overlay-2.sch-rs-hero-slider .video-content p {
    color: rgba(255,255,255,0.88);
    font-size: clamp(15px, 2vw, 19px);
    margin-bottom: 28px;
    max-width: 680px;
    text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}

/* ── Hero: CTA button sizing ── */
#rs-slider .sch-cta-btn,
.hero-video-section .sch-cta-btn,
.slider-overlay-2.sch-rs-hero-slider .sch-cta-btn {
    letter-spacing: 0.03em;
    padding: 11px 28px;
}

@media (max-width: 767px) {
    #rs-slider .slide-content {
        padding-left: 16px;
        padding-right: 16px;
    }
    #rs-slider .sch-cta-btn,
    .hero-video-section .sch-cta-btn,
    .slider-overlay-2.sch-rs-hero-slider .sch-cta-btn {
        font-size: 13px;
        padding: 9px 20px;
    }
    #rs-slider .slide-content .slider-title {
        margin-bottom: 10px;
    }
    #rs-slider .slide-content .slider-desc {
        margin-bottom: 16px;
    }
    .slide-content .hero-eyebrow,
    .video-content .hero-eyebrow {
        font-size: 11px;
        margin-bottom: 6px;
    }
    .hero-cta-wrap {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        gap: 10px;
        margin-top: 14px;
    }
    /* CTA wrap: when column, align-items controls horizontal — follow text position setting */
    .slider-overlay-2.sch-rs-hero-slider.sch-hero-text-left .hero-cta-wrap,
    .hero-video-section.sch-hero-text-left .hero-cta-wrap {
        align-items: flex-start;
    }
    .slider-overlay-2.sch-rs-hero-slider.sch-hero-text-right .hero-cta-wrap,
    .hero-video-section.sch-hero-text-right .hero-cta-wrap {
        align-items: flex-end;
    }
    .hero-cta-wrap .sch-cta-btn {
        padding: 10px 22px;
        font-size: 13px;
    }
    .hero-video-section .video-content h2,
    .slider-overlay-2.sch-rs-hero-slider .video-content h2 {
        margin-bottom: 10px;
    }
    .hero-video-section .video-content p,
    .slider-overlay-2.sch-rs-hero-slider .video-content p {
        margin-bottom: 16px;
    }
}

/* ── Hero: eyebrow label ── */
.slide-content .hero-eyebrow,
.video-content .hero-eyebrow {
    color: #fff;
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
    opacity: 0.85;
    text-transform: uppercase;
}

/* ── Hero: dual-CTA wrapper ── */
.hero-cta-wrap {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 20px;
}

/* Carousel hero: CTA button follows text alignment setting */
#rs-slider.sch-hero-text-left .hero-cta-wrap {
    justify-content: flex-start;
}
#rs-slider.sch-hero-text-right .hero-cta-wrap {
    justify-content: flex-end;
}

/* Shared navigation submenu token rules */
.navigation-submenu-bg-light {
    --submenu-panel-bg: var(--surface-color);
    --submenu-section-bg: var(--bg-color);
    --submenu-border-color: var(--border-color);
    --submenu-heading-color: var(--heading-color, var(--text-color));
    --submenu-text-color: var(--text-color);
    --submenu-muted-color: var(--text-muted-color);
    --submenu-hover-bg: var(--primary-soft-color);
    --submenu-hover-text-color: var(--primary-color);
}

.navigation-submenu-bg-dark {
    --submenu-panel-bg: var(--text-color);
    --submenu-section-bg: var(--text-color);
    --submenu-border-color: color-mix(in srgb, var(--bg-color), transparent 82%);
    --submenu-heading-color: var(--bg-color);
    --submenu-text-color: var(--bg-color);
    --submenu-muted-color: color-mix(in srgb, var(--bg-color), var(--text-color) 18%);
    --submenu-hover-bg: var(--primary-color);
    --submenu-hover-text-color: var(--primary-contrast-color);
}

.navigation-submenu-bg-brand {
    --submenu-panel-bg: var(--primary-color);
    --submenu-section-bg: var(--primary-color);
    --submenu-border-color: color-mix(in srgb, var(--primary-contrast-color), transparent 82%);
    --submenu-heading-color: var(--primary-contrast-color);
    --submenu-text-color: var(--primary-contrast-color);
    --submenu-muted-color: color-mix(in srgb, var(--primary-contrast-color), var(--primary-color) 20%);
    --submenu-hover-bg: color-mix(in srgb, var(--primary-contrast-color), transparent 88%);
    --submenu-hover-text-color: var(--primary-contrast-color);
}

.navigation-submenu-bg-contrast {
    --submenu-panel-bg: var(--secondary-color);
    --submenu-section-bg: var(--secondary-color);
    --submenu-border-color: color-mix(in srgb, var(--secondary-contrast-color), transparent 82%);
    --submenu-heading-color: var(--secondary-contrast-color);
    --submenu-text-color: var(--secondary-contrast-color);
    --submenu-muted-color: color-mix(in srgb, var(--secondary-contrast-color), var(--secondary-color) 20%);
    --submenu-hover-bg: color-mix(in srgb, var(--secondary-contrast-color), transparent 88%);
    --submenu-hover-text-color: var(--secondary-contrast-color);
}

.navigation-submenu-bg-light,
.navigation-submenu-bg-dark,
.navigation-submenu-bg-brand,
.navigation-submenu-bg-contrast {
    --submenu-hover-bg: transparent;
    --submenu-hover-text-color: var(--theme-highlight-color);
}

/* ─── Theme 2 Navigation Styles ─── */

/* ── Notice Ticker ── */
.rs-toolbar {
    background-color: var(--theme-premium-structure-soft);
    color: var(--text-color);
}

.rs-toolbar .welcome-message,
.rs-toolbar .welcome-message i,
.rs-toolbar .welcome-message span,
.rs-toolbar .toolbar-share-icon ul li a,
.rs-toolbar .toolbar-share-icon ul li a span,
.rs-toolbar .toolbar-share-icon ul li a i,
.rs-toolbar .rs-toolbar-login-btn,
.rs-toolbar .rs-toolbar-login-btn span,
.rs-toolbar .rs-toolbar-login-btn i,
.rs-toolbar .rs-toolbar-login-action {
    color: var(--text-color) !important;
}

.rs2-notice-ticker {
    align-items: stretch;
    background: var(--theme-structure-color);
    color: var(--theme-structure-contrast-color);
    display: flex;
    font-size: 13px;
    max-height: 36px;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 1050;
}

.rs2-ticker__label {
    align-items: center;
    background: var(--theme-action-color);
    color: var(--theme-action-contrast-color);
    display: flex;
    flex-shrink: 0;
    font-weight: 700;
    gap: 6px;
    padding: 0 14px;
    text-transform: uppercase;
    white-space: nowrap;
}

.rs2-ticker__label .fa {
    font-size: 12px;
}

.rs2-ticker__wrap {
    flex: 1;
    overflow: hidden;
    position: relative;
}

.rs2-ticker__track {
    animation: rs2-ticker-scroll 30s linear infinite;
    display: flex;
    gap: 0;
    white-space: nowrap;
    will-change: transform;
}

@keyframes rs2-ticker-scroll {
    0%   { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}

.rs2-ticker__item {
    color: var(--theme-structure-contrast-color);
    display: inline-block;
    padding: 8px 0;
    text-decoration: none;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.rs2-ticker__item:hover,
.rs2-ticker__item:focus {
    color: var(--theme-highlight-color);
    text-decoration: underline;
}

.rs2-ticker__sep {
    color: var(--theme-structure-contrast-color);
    display: inline-block;
    opacity: 0.5;
    padding: 8px 12px;
}

.rs2-ticker__close {
    align-items: center;
    background: transparent;
    border: none;
    color: var(--theme-structure-contrast-color);
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    opacity: 0.7;
    padding: 0 12px;
    transition: opacity 0.2s ease;
}

.rs2-ticker__close:hover,
.rs2-ticker__close:focus {
    opacity: 1;
    outline: none;
}

/* Enquire toolbar button */
.rs-toolbar-enquire-btn {
    background: var(--theme-action-color);
    border-radius: var(--border-radius-base, 3px);
    color: var(--theme-action-contrast-color) !important;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
    text-decoration: none;
    text-transform: uppercase;
    transition: background 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}

.rs-toolbar-enquire-btn:hover,
.rs-toolbar-enquire-btn:focus {
    background: var(--theme-highlight-color);
    color: var(--theme-highlight-contrast-color) !important;
}

@media (max-width: 767px) {
    .rs2-notice-ticker {
        font-size: 12px;
        max-height: 32px;
    }

    .rs2-ticker__label {
        padding: 0 10px;
    }

    .rs-toolbar-enquire-btn {
        display: none;
    }

    .rs-toolbar .rs-toolbar-login-btn,
    .rs-toolbar .rs-toolbar-login-action {
        display: none !important;
    }
}
/* ── End Notice Ticker ── */
.rs-nav-badge {
        display: inline-block;
        margin-left: 8px;
        padding: 2px 8px;
        border-radius: 999px;
        background: var(--menu-badge-bg-color);
        color: var(--menu-badge-text-color);
        font-size: 11px;
        line-height: 1.4;
        vertical-align: middle;
    }

    .rs-nav-button-link {
        border: 1px solid var(--menu-button-border-color);
        border-radius: 999px;
        color: var(--menu-button-text-color) !important;
        background: var(--menu-button-bg-color);
        padding: 10px 18px !important;
    }

    .rs-mega-title {
        margin-bottom: 12px;
        font-size: 16px;
        font-weight: 700;
    }

    .rs-mega-text {
        color: var(--submenu-muted-color, var(--text-muted-color));
        font-size: 13px;
        line-height: 1.55;
        margin: 0 0 12px;
    }

    .rs-mega-content-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .rs-mega-content-list li {
        align-items: flex-start;
        color: var(--submenu-text-color, var(--text-color));
        display: flex;
        font-size: 13px;
        gap: 8px;
        line-height: 1.45;
        margin-bottom: 8px;
    }

    .rs-mega-content-list .fa {
        color: currentColor;
        flex: 0 0 14px;
        margin-top: 3px;
        text-align: center;
    }

    .rs-mega-content-list a {
        color: var(--submenu-text-color, var(--text-color));
        padding: 0 !important;
        text-decoration: none;
    }

    .rs-mega-content-list a:hover,
    .rs-mega-content-list a:focus {
        background: transparent !important;
        color: var(--submenu-hover-text-color, var(--theme-highlight-color)) !important;
        padding-left: 0 !important;
    }

    .rs-mega-social-links {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .rs-mega-social-links a {
        align-items: center;
        background: var(--theme-action-soft-color);
        border-radius: 50%;
        color: var(--theme-action-color) !important;
        display: inline-flex;
        height: 32px;
        justify-content: center;
        padding: 0 !important;
        text-decoration: none;
        width: 32px;
    }

    .rs-mega-social-links a:hover,
    .rs-mega-social-links a:focus {
        background: var(--theme-highlight-color) !important;
        color: var(--theme-highlight-contrast-color) !important;
        padding-left: 0 !important;
    }

    .rs-mega-content-button {
        background: var(--menu-button-bg-color);
        border: 1px solid var(--menu-button-border-color);
        border-radius: 999px;
        color: var(--menu-button-text-color) !important;
        display: inline-flex;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.2;
        padding: 8px 14px !important;
        text-decoration: none;
    }

    .rs-mega-content-button:hover,
    .rs-mega-content-button:focus {
        background: var(--theme-highlight-color) !important;
        color: var(--theme-highlight-contrast-color) !important;
        padding-left: 14px !important;
        text-decoration: none;
    }

    /* ── Dropdown Sub-menu Panel ── */
    .menu-area .rs-menu .sub-menu {
        background: var(--submenu-panel-bg, var(--surface-color, var(--bg-color)));
        border: 1px solid var(--submenu-border-color, var(--border-color));
        border-radius: 8px;
        box-shadow: 0 8px 28px color-mix(in srgb, var(--text-color), transparent 88%);
        min-width: 230px;
        padding: 6px 0;
    }

    .menu-area .rs-menu ul ul li {
        border-bottom: 1px solid var(--submenu-border-color, rgba(0, 0, 0, 0.06));
    }

    .menu-area .rs-menu ul ul li:last-child {
        border-bottom: 0;
    }

    /* ── Dropdown Item Links ── */
    .menu-area .rs-menu .sub-menu a {
        align-items: center;
        border-radius: 0;
        color: var(--submenu-text-color, var(--text-color));
        display: flex;
        font-size: 14px;
        font-weight: 500;
        gap: 8px;
        padding: 9px 16px;
        transition: background 0.15s ease, color 0.15s ease;
        white-space: nowrap;
    }

    .menu-area .rs-menu .sub-menu a:hover,
    .menu-area .rs-menu .sub-menu a:focus {
        background: var(--submenu-hover-bg, transparent);
        color: var(--submenu-hover-text-color, var(--theme-highlight-color)) !important;
    }

    .rs-header .menu-area .rs-menu li .sub-menu a:hover,
    .rs-header .menu-area .rs-menu li .sub-menu a:focus,
    .rs-header .menu-area .rs-menu li .sub-menu li.current_page_item > a,
    .rs-header .menu-area .rs-menu li .sub-menu li.current-menu-item > a,
    .rs-header .menu-area .rs-menu li .sub-menu li.active > a,
    .rs-header-2 .menu-area .rs-menu li .sub-menu a:hover,
    .rs-header-2 .menu-area .rs-menu li .sub-menu a:focus,
    .rs-header-2 .menu-area .rs-menu li .sub-menu li.current_page_item > a,
    .rs-header-2 .menu-area .rs-menu li .sub-menu li.current-menu-item > a,
    .rs-header-2 .menu-area .rs-menu li .sub-menu li.active > a,
    .rs-header-3 .menu-area .rs-menu li .sub-menu a:hover,
    .rs-header-3 .menu-area .rs-menu li .sub-menu a:focus,
    .rs-header-3 .menu-area .rs-menu li .sub-menu li.current_page_item > a,
    .rs-header-3 .menu-area .rs-menu li .sub-menu li.current-menu-item > a,
    .rs-header-3 .menu-area .rs-menu li .sub-menu li.active > a,
    .rs-header-4 .menu-area .rs-menu li .sub-menu a:hover,
    .rs-header-4 .menu-area .rs-menu li .sub-menu a:focus,
    .rs-header-4 .menu-area .rs-menu li .sub-menu li.current_page_item > a,
    .rs-header-4 .menu-area .rs-menu li .sub-menu li.current-menu-item > a,
    .rs-header-4 .menu-area .rs-menu li .sub-menu li.active > a,
    .home1 .menu-area .rs-menu li .sub-menu a:hover,
    .home1 .menu-area .rs-menu li .sub-menu a:focus,
    .home1 .menu-area .rs-menu li .sub-menu li.current_page_item > a,
    .home1 .menu-area .rs-menu li .sub-menu li.current-menu-item > a,
    .home1 .menu-area .rs-menu li .sub-menu li.active > a,
    .home2 .menu-area .rs-menu li .sub-menu a:hover,
    .home2 .menu-area .rs-menu li .sub-menu a:focus,
    .home2 .menu-area .rs-menu li .sub-menu li.current_page_item > a,
    .home2 .menu-area .rs-menu li .sub-menu li.current-menu-item > a,
    .home2 .menu-area .rs-menu li .sub-menu li.active > a,
    .home3 .menu-area .rs-menu li .sub-menu a:hover,
    .home3 .menu-area .rs-menu li .sub-menu a:focus,
    .home3 .menu-area .rs-menu li .sub-menu li.current_page_item > a,
    .home3 .menu-area .rs-menu li .sub-menu li.current-menu-item > a,
    .home3 .menu-area .rs-menu li .sub-menu li.active > a {
        color: var(--submenu-hover-text-color, var(--theme-highlight-color)) !important;
    }

    /* ── Nested Flyout Panel ── */
    @media (min-width: 992px) {
        .menu-area .rs-menu .sub-menu .sub-menu {
            border-radius: 8px;
            left: 100%;
            top: -6px;
        }

        .menu-area .rs-menu .sub-menu .menu-item-has-children > a::after {
            content: '\f105';
            font-family: FontAwesome;
            font-size: 11px;
            margin-left: auto;
            opacity: 0.45;
        }

        .menu-area .rs-menu .sub-menu .menu-item-has-children > .sub-menu {
            display: block;
            opacity: 0;
            pointer-events: none;
            visibility: hidden;
        }

        .menu-area .rs-menu .sub-menu .menu-item-has-children:hover > .sub-menu,
        .menu-area .rs-menu .sub-menu .menu-item-has-children:focus-within > .sub-menu {
            opacity: 1;
            pointer-events: auto;
            visibility: visible;
        }
    }

    /* ── Sub-menu variant overrides ── */
    .navigation-submenu-bg-light .menu-area .rs-menu .sub-menu,
    .navigation-submenu-bg-dark .menu-area .rs-menu .sub-menu {
        background: var(--submenu-panel-bg, var(--surface-color));
        border: 1px solid var(--submenu-border-color, var(--border-color));
        color: var(--submenu-text-color, var(--text-color));
    }

    .navigation-submenu-bg-light .menu-area .rs-menu .mega-menu .sub-menu,
    .navigation-submenu-bg-dark .menu-area .rs-menu .mega-menu .sub-menu {
        background: transparent;
        border: 0;
    }

    /* ── Mega Menu Panel ── */
    .menu-area .rs-menu .mega-menu {
        background: var(--submenu-panel-bg, var(--surface-color, var(--bg-color))) !important;
        border: 1px solid var(--submenu-border-color, var(--border-color));
        border-radius: 10px;
        box-shadow: 0 16px 48px color-mix(in srgb, var(--text-color), transparent 84%);
        color: var(--submenu-text-color, var(--text-color));
        overflow: hidden;
        padding: 0;
    }

    /* Force the mega-menu-container <li> to be block + full-width at desktop */
    .menu-area .rs-menu .mega-menu .mega-menu-container {
        background: transparent !important;
        display: block !important;
        padding: 0;
        width: 100% !important;
    }

    /* Equal-flex columns — fills width without the auto-fit gap problem */
    .menu-area .rs-menu .mega-menu .mega-menu-innner {
        align-items: flex-start;
        display: flex !important;
        flex-wrap: nowrap;
        gap: 0;
    }

    /* ── Mega Column ── */
    .menu-area .rs-menu .mega-menu .single-magemenu {
        background: transparent !important;
        border: 0;
        border-right: 1px solid var(--submenu-border-color, var(--border-color));
        border-radius: 0;
        flex: 1 1 0;
        min-width: 0;
        padding: 0 0 12px;
        position: relative;
    }

    .menu-area .rs-menu .mega-menu .single-magemenu::before {
        background: var(--theme-highlight-color);
        border-radius: 0 0 3px 3px;
        content: '';
        height: 3px;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
    }

    .menu-area .rs-menu .mega-menu .single-magemenu:last-child {
        border-right: 0;
    }

    .menu-area .rs-menu .mega-menu h4,
    .menu-area .rs-menu .mega-menu h5 {
        color: var(--submenu-heading-color, var(--text-color));
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.8px;
        margin: 16px 0 6px;
        padding: 0 14px;
        text-transform: uppercase;
    }

    /* Mega description paragraph — always muted */
    .menu-area .rs-menu .mega-menu .single-magemenu > p,
    .menu-area .rs-menu .mega-menu .rs-mega-text {
        color: var(--text-muted-color) !important;
        font-size: 13px;
        line-height: 1.55;
        margin: 0 0 6px;
        padding: 0 14px;
    }

    /* ── Mega Menu Sub-list (inline, no panel styles) ── */
    .menu-area .rs-menu .mega-menu .sub-menu {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0;
        box-shadow: none !important;
        display: block !important;
        min-width: 0;
        padding: 4px 0 0;
        position: static !important;
        width: 100% !important;
    }

    .menu-area .rs-menu .mega-menu .single-magemenu .sub-menu > li {
        display: block !important;
        float: none !important;
        width: 100% !important;
    }

    /* ── Mega Menu Actionable Items — same font as regular dropdown ── */
    .menu-area .rs-menu .mega-menu .single-magemenu .sub-menu a {
        align-items: center;
        border-radius: 0;
        color: var(--submenu-text-color, var(--text-color));
        display: flex;
        font-size: 14px;
        font-weight: 500;
        gap: 6px;
        padding: 8px 14px;
        transition: background 0.15s ease, color 0.15s ease;
        white-space: normal;
        word-break: break-word;
        width: 100% !important;
    }

    /* ── rs-mega rich content text/list ── */
    .menu-area .rs-menu .mega-menu .rs-mega-content-list li,
    .menu-area .rs-menu .mega-menu .rs-mega-content-list span,
    .menu-area .rs-menu .mega-menu .mb-0 {
        color: var(--submenu-text-color, var(--text-color)) !important;
    }

    .menu-area .rs-menu .mega-menu .rs-mega-content-list a:hover,
    .menu-area .rs-menu .mega-menu .rs-mega-content-list a:focus {
        background: transparent !important;
        color: var(--submenu-hover-text-color, var(--theme-highlight-color)) !important;
        padding-left: 0 !important;
    }

    /* ══════════════════════════════════════════════════════════════
       MOBILE  (< 992px)
       ══════════════════════════════════════════════════════════════ */
    @media (max-width: 991px) {

        /* ── 1. Force the open mobile nav to auto-height so mega menu
               content doesn't overflow its JS-fixed height ── */
        .menu-area nav.rs-menu:not(.rs-menu-close) {
            height: auto !important;
            overflow: hidden !important;
        }

        /* ── 2. All sub-menus and mega-menu must flow in normal document
               flow — not position:absolute. JS shows/hides via display. ── */
        .menu-area .rs-menu .mega-menu,
        .menu-area .rs-menu .sub-menu,
        .menu-area .rs-menu .mega-menu .sub-menu {
            left: auto !important;
            position: static !important;
            top: auto !important;
            width: 100% !important;
        }

        /* ── 3. Force inner mega-menu sub-lists always visible (parent
               ul.mega-menu controls overall show/hide) ── */
        .menu-area .rs-menu .mega-menu .sub-menu {
            display: block !important;
        }

        /* ── 4. Hide the JS-injected close buttons inside mega columns
               (JS adds them to every .sub-menu descendant of
               .menu-item-has-children; they don't belong inside columns) ── */
        .menu-area .rs-menu .mega-menu .sub-menu div.sub-menu-close {
            display: none !important;
        }

        /* ── 5. Hide CSS ::after arrow — JS .rs-menu-parent does this job ── */
        .nav-menu > .menu-item-has-children > a span::after,
        .nav-menu .rs-mega-menu > a span::after {
            display: none !important;
        }

        /* ── 6. rs-menu-parent toggle button (injected by rsmenu JS) ── */
        .nav-menu > .menu-item-has-children > span.rs-menu-parent,
        .nav-menu .rs-mega-menu > span.rs-menu-parent {
            align-items: center;
            background: color-mix(in srgb, var(--theme-structure-contrast-color), transparent 92%);
            border-left: 1px solid color-mix(in srgb, var(--theme-structure-contrast-color), transparent 86%);
            color: var(--header-footer-foreground);
            cursor: pointer;
            display: flex;
            height: 55px;
            justify-content: center;
            padding: 0 18px;
            position: absolute;
            right: 0;
            top: 0;
            transition: background 0.2s ease;
        }

        .nav-menu > .menu-item-has-children > span.rs-menu-parent:hover,
        .nav-menu .rs-mega-menu > span.rs-menu-parent:hover {
            background: color-mix(in srgb, var(--theme-structure-contrast-color), transparent 82%);
        }

        /* Nested dropdown toggle */
        .nav-menu > .menu-item-has-children .sub-menu .menu-item-has-children span.rs-menu-parent {
            align-items: center;
            background: color-mix(in srgb, var(--theme-structure-contrast-color), transparent 94%);
            border-left: 1px solid color-mix(in srgb, var(--theme-structure-contrast-color), transparent 88%);
            cursor: pointer;
            display: flex;
            height: 100%;
            justify-content: center;
            padding: 0 16px;
            position: absolute;
            right: 0;
            top: 0;
        }

        /* ── 7. Normal sub-menu — dark overlay, light text ── */
        .menu-area .rs-menu .sub-menu {
            background: color-mix(in srgb, var(--theme-premium-dark-bg), transparent 16%) !important;
            border: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            padding: 0;
        }

        .menu-area .rs-menu .sub-menu a {
            color: var(--theme-premium-dark-muted);
            font-size: 13px;
            padding: 10px 16px;
            white-space: normal;
        }

        .menu-area .rs-menu .sub-menu a:hover,
        .menu-area .rs-menu .sub-menu a:focus {
            background: color-mix(in srgb, var(--theme-premium-dark-accent), transparent 88%) !important;
            color: var(--theme-premium-dark-accent-hover) !important;
        }

        /* ── 8. Mega menu panel ── */
        .menu-area .rs-menu .mega-menu {
            background: color-mix(in srgb, var(--theme-premium-dark-bg), transparent 10%) !important;
            border: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
        }

        /* Stack columns vertically */
        .menu-area .rs-menu .mega-menu .mega-menu-innner {
            flex-direction: column !important;
        }

        .menu-area .rs-menu .mega-menu .single-magemenu {
            border-right: 0 !important;
            border-bottom: 1px solid var(--theme-premium-dark-border);
            flex: none !important;
            padding: 8px 0 !important;
            width: 100% !important;
        }

        .menu-area .rs-menu .mega-menu .single-magemenu:last-child {
            border-bottom: 0;
        }

        .menu-area .rs-menu .mega-menu .single-magemenu::before {
            display: none;
        }

        /* Column headings */
        .menu-area .rs-menu .mega-menu h4,
        .menu-area .rs-menu .mega-menu h5 {
            color: var(--theme-premium-dark-text) !important;
            padding: 6px 16px 4px;
        }

        /* Description text */
        .menu-area .rs-menu .mega-menu .single-magemenu > p,
        .menu-area .rs-menu .mega-menu .rs-mega-text {
            color: var(--theme-premium-dark-muted) !important;
            padding: 0 16px;
        }

        /* Mega item links */
        .menu-area .rs-menu .mega-menu .single-magemenu .sub-menu a {
            color: var(--theme-premium-dark-muted);
            font-size: 13px;
            padding: 9px 16px 9px 20px;
        }

        /* ── 9. sub-menu-close bar (on the mega-menu ul, not inside columns) ── */
        .nav-menu div.sub-menu-close {
            align-items: center;
            background: color-mix(in srgb, var(--theme-structure-contrast-color), transparent 92%);
            border-top: 1px solid var(--theme-premium-dark-border);
            color: var(--theme-premium-dark-muted);
            cursor: pointer;
            display: flex;
            font-size: 13px;
            font-weight: 600;
            gap: 6px;
            justify-content: center;
            padding: 10px 16px;
            width: 100%;
        }

        .nav-menu div.sub-menu-close i {
            font-size: 14px;
        }
    }

    .rs-toolbar-login-action {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-left: 12px;
        padding: 0;
        border: 1px solid currentColor;
        border-width: 0;
        color: inherit;
        font-size: inherit;
        font-weight: 600;
        line-height: inherit;
        text-decoration: none;
        text-transform: none;
        vertical-align: middle;
    }

    .rs-toolbar-login-action:hover,
    .rs-toolbar-login-action:focus {
        color: inherit;
        text-decoration: none;
    }

    .rs-toolbar .rs-toolbar-left,
    .rs-toolbar .rs-toolbar-right {
        align-items: center;
        display: flex;
        flex-wrap: nowrap;
        line-height: 1;
        min-width: 0;
    }

    .rs-toolbar .rs-toolbar-left {
        justify-content: flex-start;
    }

    .rs-toolbar .rs-toolbar-right {
        gap: 12px;
        justify-content: flex-end;
    }

    .rs-toolbar .welcome-message,
    .rs-toolbar .toolbar-share-icon,
    .rs-toolbar .toolbar-share-icon ul {
        align-items: center;
        display: inline-flex;
        margin-bottom: 0;
        line-height: 1;
        white-space: nowrap;
    }

    .rs-header .rs-header-top .header-contact .widget-text,
    #rs-header-2 .rs-vertical-middle {
        align-items: center;
    }

    .rs-header .rs-header-top .rs-header-top-row {
        align-items: center;
        display: flex;
    }

    .rs-header .rs-header-top .header-contact {
        float: none;
        width: 100%;
    }

    .rs-header .rs-header-top .header-contact .widget-text {
        display: flex;
        min-width: 0;
    }

    .rs-header .rs-header-top .rs-header-contact--email {
        display: flex;
        justify-content: flex-start;
    }

    .rs-header .rs-header-top .rs-header-contact--phone {
        display: flex;
        justify-content: flex-end;
    }

    .rs-header .rs-header-top .rs-header-top-logo {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    @media (max-width: 991px) {
        .rs-header .rs-header-top .rs-header-top-row {
            display: block;
        }
    }

    .logo-area .theme-brand-logo {
        --theme-brand-logo-height: 50px;
        --theme-brand-logo-max-width: 210px;
        --theme-brand-logo-square-size: 52px;
        align-items: center;
        display: inline-flex;
        line-height: 1.2;
        max-width: 100%;
        vertical-align: middle;
    }

    .logo-area .theme-brand-logo__image {
        height: var(--theme-brand-logo-height, 50px);
        max-height: var(--theme-brand-logo-height, 50px);
        max-width: var(--theme-brand-logo-max-width, 210px);
        object-fit: contain;
        width: auto;
    }

    .logo-area .theme-brand-logo--square .theme-brand-logo__image {
        height: var(--theme-brand-logo-square-size, 52px);
        max-height: var(--theme-brand-logo-square-size, 52px);
        width: var(--theme-brand-logo-square-size, 52px);
    }

    .rs-header-top .logo-area .theme-brand-logo__image {
        background: color-mix(in srgb, var(--theme-structure-contrast-color), transparent 92%);
        border-radius: 8px;
        padding: 0.25rem;
    }

    .rs-vertical-middle .logo-area {
        line-height: 1.2;
    }

    @media (max-width: 767px) {
        .logo-area .theme-brand-logo {
            --theme-brand-logo-mobile-height: 42px;
            --theme-brand-logo-mobile-max-width: 160px;
            --theme-brand-logo-mobile-square-size: 44px;
        }

        .logo-area .theme-brand-logo__image {
            height: var(--theme-brand-logo-mobile-height, 42px);
            max-height: var(--theme-brand-logo-mobile-height, 42px);
            max-width: var(--theme-brand-logo-mobile-max-width, 160px);
        }

        .logo-area .theme-brand-logo--square .theme-brand-logo__image {
            height: var(--theme-brand-logo-mobile-square-size, 44px);
            max-height: var(--theme-brand-logo-mobile-square-size, 44px);
            width: var(--theme-brand-logo-mobile-square-size, 44px);
        }

        .rs-toolbar .rs-toolbar-left,
        .rs-toolbar .rs-toolbar-right {
            flex-wrap: wrap;
            gap: 8px;
        }
    }
/* Shared footer scheme token rules */
.footer-scheme-light {
    --footer-bg: var(--surface-color);
    --footer-bottom-bg: var(--bg-alt-color);
    --footer-contact-bg: var(--bg-alt-color);
    --footer-heading-color: var(--text-color);
    --footer-text-color: var(--text-color);
    --footer-muted-color: var(--text-muted-color);
    --footer-link-color: var(--text-color);
    --footer-link-hover-color: var(--primary-color);
    --footer-link-hover-bg: var(--primary-soft-color);
    --footer-border-color: var(--border-color);
}

.footer-scheme-dark {
    --footer-bg: var(--text-color);
    --footer-bottom-bg: color-mix(in srgb, var(--text-color), var(--bg-color) 8%);
    --footer-heading-color: var(--bg-color);
    --footer-text-color: var(--bg-color);
    --footer-muted-color: color-mix(in srgb, var(--bg-color), var(--text-color) 22%);
    --footer-link-color: var(--bg-color);
    --footer-link-hover-color: var(--primary-color);
    --footer-link-hover-bg: color-mix(in srgb, var(--bg-color), transparent 90%);
    --footer-border-color: color-mix(in srgb, var(--bg-color), transparent 82%);
}

.footer-scheme-brand {
    --footer-bg: var(--primary-color);
    --footer-bottom-bg: var(--primary-hover-color);
    --footer-heading-color: var(--primary-contrast-color);
    --footer-text-color: var(--primary-contrast-color);
    --footer-muted-color: color-mix(in srgb, var(--primary-contrast-color), var(--primary-color) 22%);
    --footer-link-color: var(--primary-contrast-color);
    --footer-link-hover-color: var(--accent-color);
    --footer-link-hover-bg: color-mix(in srgb, var(--primary-contrast-color), transparent 90%);
    --footer-border-color: color-mix(in srgb, var(--primary-contrast-color), transparent 82%);
}

.footer-scheme-contrast {
    --footer-bg: var(--secondary-color);
    --footer-bottom-bg: var(--secondary-hover-color);
    --footer-heading-color: var(--secondary-contrast-color);
    --footer-text-color: var(--secondary-contrast-color);
    --footer-muted-color: color-mix(in srgb, var(--secondary-contrast-color), var(--secondary-color) 22%);
    --footer-link-color: var(--secondary-contrast-color);
    --footer-link-hover-color: var(--secondary-contrast-color);
    --footer-link-hover-bg: color-mix(in srgb, var(--secondary-contrast-color), transparent 90%);
    --footer-border-color: color-mix(in srgb, var(--secondary-contrast-color), transparent 82%);
}

.footer-scheme-custom {
    --footer-bg: var(--footer-custom-bg, var(--text-color));
    --footer-bottom-bg: color-mix(in srgb, var(--footer-custom-bg, var(--text-color)), var(--bg-color) 8%);
    --footer-contact-bg: color-mix(in srgb, var(--footer-custom-bg, var(--text-color)), var(--bg-color) 16%);
    --footer-heading-color: var(--header-footer-foreground);
    --footer-text-color: var(--header-footer-foreground);
    --footer-muted-color: var(--header-footer-muted);
    --footer-link-color: var(--header-footer-foreground);
    --footer-link-hover-color: var(--accent-color);
    --footer-link-hover-bg: color-mix(in srgb, var(--header-footer-foreground), transparent 90%);
    --footer-border-color: color-mix(in srgb, var(--header-footer-foreground), transparent 82%);
}

.footer-scheme-dark {
    --footer-bg: var(--text-color);
    --footer-bottom-bg: color-mix(in srgb, var(--text-color), var(--bg-color) 8%);
    --footer-heading-color: var(--bg-color);
    --footer-text-color: var(--bg-color);
    --footer-muted-color: color-mix(in srgb, var(--bg-color), var(--text-color) 22%);
    --footer-link-color: var(--bg-color);
    --footer-link-hover-color: var(--theme-highlight-color);
    --footer-link-hover-bg: transparent;
    --footer-border-color: color-mix(in srgb, var(--bg-color), transparent 82%);
}

.footer-scheme-brand {
    --footer-bg: var(--theme-premium-dark-bg);
    --footer-bottom-bg: var(--theme-premium-dark-bg-alt);
    --footer-contact-bg: color-mix(in srgb, var(--theme-structure-color) 30%, var(--text-color) 70%);
    --footer-heading-color: var(--theme-premium-dark-text);
    --footer-text-color: var(--theme-premium-dark-text);
    --footer-muted-color: var(--theme-premium-dark-muted);
    --footer-link-color: var(--theme-premium-dark-text);
    --footer-link-hover-color: var(--theme-highlight-color);
    --footer-link-hover-bg: transparent;
    --footer-border-color: var(--theme-premium-dark-border);
}

.footer-scheme-contrast {
    --footer-bg: var(--text-color);
    --footer-bottom-bg: color-mix(in srgb, var(--text-color), var(--bg-color) 8%);
    --footer-heading-color: var(--bg-color);
    --footer-text-color: var(--bg-color);
    --footer-muted-color: color-mix(in srgb, var(--bg-color), var(--text-color) 22%);
    --footer-link-color: var(--bg-color);
    --footer-link-hover-color: var(--theme-highlight-color);
    --footer-link-hover-bg: transparent;
    --footer-border-color: color-mix(in srgb, var(--bg-color), transparent 82%);
}

/* Theme2 footer styles */
#rs-footer,
     #rs-footer .footer-top {
         background: var(--footer-bg, var(--text-color)) !important;
         color: var(--footer-text-color, var(--bg-color)) !important;
     }

     #rs-footer .footer-top {
         padding: 120px 0 34px;
     }

     #rs-footer .footer-bottom {
         background: var(--footer-bottom-bg, color-mix(in srgb, var(--text-color), var(--bg-color) 8%)) !important;
         border-top: 1px solid var(--footer-border-color, color-mix(in srgb, var(--bg-color), transparent 82%));
         color: var(--footer-text-color, var(--bg-color)) !important;
         padding: 16px 0;
     }

     #rs-footer .footer-contact-desc {
         background: var(--footer-contact-bg, color-mix(in srgb, var(--text-color), var(--bg-color) 16%)) !important;
         border-bottom: 1px solid var(--footer-border-color, color-mix(in srgb, var(--bg-color), transparent 82%));
         margin-bottom: 0;
         padding: 34px 0 28px;
     }

     #rs-footer .footer-contact-desc div[class*="col-"] + div[class*="col-"] .contact-inner,
     #rs-footer .footer-contact-desc div[class*="col-"] + div[class*="col-"] .contact-inner::before,
     #rs-footer .footer-contact-desc div[class*="col-"] + div[class*="col-"] .contact-inner::after {
         border-color: var(--footer-border-color, color-mix(in srgb, var(--bg-color), transparent 82%)) !important;
     }

     #rs-footer .mu-footer-widget {
         margin-bottom: 28px;
         min-width: 0;
     }

     #rs-footer .footer-title,
     #rs-footer .mu-footer-widget h4,
     #rs-footer .mu-footer-widget h5,
     #rs-footer .contact-title,
     #rs-footer .footer-title a {
         color: var(--footer-heading-color) !important;
         font-size: 15px;
         font-weight: 700;
         letter-spacing: 0;
         line-height: 1.3;
         margin: 0 0 16px;
         padding-bottom: 10px;
         position: relative;
         text-transform: uppercase;
     }

     #rs-footer .footer-title::after,
     #rs-footer .mu-footer-widget h4::after,
     #rs-footer .mu-footer-widget h5::after {
         background: var(--theme-highlight-color);
         bottom: 0;
         content: "";
         height: 2px;
         left: 0;
         position: absolute;
         width: 36px;
     }

     #rs-footer p,
     #rs-footer li,
     #rs-footer span,
     #rs-footer address,
     #rs-footer .contact-desc,
     #rs-footer .copyright p {
         color: var(--footer-muted-color) !important;
         font-size: 14px;
         line-height: 1.65;
     }

     #rs-footer .sitemap-widget {
         list-style: none;
         margin: 0;
         padding: 0;
     }

     #rs-footer .sitemap-widget li + li {
         margin-top: 6px;
     }

     #rs-footer a,
     #rs-footer .sitemap-widget li a {
         border-radius: 4px;
         color: var(--footer-link-color) !important;
         display: inline-flex;
         line-height: 1.45;
         padding: 2px 0;
         text-decoration: none;
         transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
     }

     #rs-footer a:hover,
     #rs-footer a:focus,
     #rs-footer .sitemap-widget li a:hover,
     #rs-footer .sitemap-widget li a:focus {
         color: var(--footer-link-hover-color, var(--theme-highlight-color)) !important;
         text-decoration: none;
     }

     #rs-footer .sitemap-widget li a:hover,
     #rs-footer .sitemap-widget li a:focus {
         background: transparent;
     }

     #rs-footer .footer-share ul li a {
         background: color-mix(in srgb, var(--footer-link-color, var(--bg-color)), transparent 85%);
         color: var(--footer-link-color) !important;
     }

     #rs-footer .footer-share ul li a:hover,
     #rs-footer .footer-share ul li a:focus {
         background: var(--theme-highlight-color);
         color: var(--theme-highlight-contrast-color, #fff) !important;
     }

     #rs-footer .copyright {
         text-align: center;
     }

     #rs-footer .copyright p {
         margin: 0;
     }

/* Theme2 Home CTA section */
.rs-cta-shell.rs-cta-shell--has-bg,
.rs-home-section-shell > .rs-cta-shell.rs-cta-shell--has-bg {
    background-color: transparent !important;
    padding-bottom: 70px !important;
    padding-top: 70px !important;
    position: relative;
    overflow: hidden;
}

.rs-cta-bg-image {
    bottom: 0;
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 0;
}

.rs-cta-overlay {
    background: rgba(0, 0, 0, 0.80);
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0;
}

.rs-cta-shell.rs-cta-shell--has-bg .container {
    position: relative;
    z-index: 1;
}

.rs-cta-shell.rs-cta-shell--has-bg .cta-title,
.rs-cta-shell.rs-cta-shell--has-bg p {
    color: #fff !important;
}

.rs-home-section-shell.home-section-bg-dark .rs-cta-shell p {
    color: var(--home-section-muted) !important;
}


.rs-home-section-shell.home-section-bg-dark .sch-cta-btn i,
.rs-home-section-shell.home-section-bg-dark .sch-cta-btn .fa {
    color: currentColor !important;
}


/* Theme2 About section */
#mu-about-us.rs-about-section {
    background: var(--home-section-bg, var(--bg-color)) !important;
    clear: both;
    color: var(--home-section-text, var(--text-color));
    display: block;
    float: none;
    margin-top: 0;
    padding: 88px 0 72px !important;
    width: 100%;
}

.rs-about-section .rs-about-row {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    margin-left: 0;
    margin-right: 0;
}

.rs-about-section .rs-about-media-column,
.rs-about-section .rs-about-content-column {
    display: flex;
    float: none;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
}

.rs-about-section .rs-about-media {
    background: var(--home-section-surface, var(--surface-color));
    border: 1px solid var(--home-section-border, var(--border-color));
    border-radius: 6px 0 0 6px;
    box-shadow: 0 14px 34px rgba(51, 51, 51, 0.10);
    box-shadow: 0 14px 34px color-mix(in srgb, var(--text-color), transparent 90%);
    height: 100%;
    min-height: clamp(300px, 34vw, 420px);
    overflow: hidden;
    width: 100%;
}

.rs-about-section .rs-about-media img {
    display: block;
    height: 100%;
    max-width: 100%;
    min-height: clamp(300px, 34vw, 420px);
    object-fit: cover;
    width: 100%;
}

.rs-about-section .rs-about-content {
    background: var(--home-section-surface, var(--surface-color));
    border: 1px solid var(--home-section-border, var(--border-color));
    border-left: 0;
    border-radius: 0 6px 6px 0;
    box-shadow: 0 14px 34px rgba(51, 51, 51, 0.08);
    box-shadow: 0 14px 34px color-mix(in srgb, var(--text-color), transparent 92%);
    display: flex;
    flex-direction: column;
    height: auto;
    justify-content: center;
    min-height: clamp(300px, 34vw, 420px);
    padding: 28px 30px;
    width: 100%;
}

.rs-about-section .rs-about-kicker {
    color: var(--primary-color);
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.rs-about-section h2 {
    color: var(--home-section-heading, var(--heading-color, var(--text-color)));
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 16px;
}

.rs-about-section .rs-about-lead {
    color: var(--home-section-text, var(--text-color));
    font-size: 17px;
    font-weight: 600;
    line-height: 1.6;
    margin: 0 0 16px;
}

.rs-about-section .rs-about-copy,
.rs-about-section .rs-about-copy p {
    color: var(--home-section-text, var(--text-color));
    font-size: 15px;
    line-height: 1.7;
}

.rs-about-section .rs-about-copy p {
    margin-bottom: 12px;
}

.home-section-bg-dark .rs-about-lead,
.home-section-bg-dark .rs-about-copy,
.home-section-bg-dark .rs-about-copy p,
.home-section-bg-dark .rs-about-content p {
    color: var(--home-section-muted) !important;
}

.rs-about-section .rs-about-actions {
    margin-top: 6px;
}

.rs-about-section .rs-about-pillars {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}

.rs-about-section .rs-about-pillar {
    align-items: flex-start;
    background: var(--home-section-surface, var(--bg-color));
    border: 1px solid color-mix(in srgb, var(--home-section-border, var(--border-color)), var(--theme-action-color) 12%);
    border-radius: 4px;
    display: flex;
    gap: 12px;
    padding: 14px;
}

.rs-about-section .rs-about-pillar-icon {
    align-items: center;
    background: var(--secondary-soft-color);
    border-radius: 50%;
    color: var(--secondary-color);
    display: inline-flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.rs-about-section .rs-about-pillar h3 {
    color: var(--home-section-heading, var(--heading-color, var(--text-color)));
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 6px;
}

.rs-about-section .rs-about-pillar-text,
.rs-about-section .rs-about-pillar-text p {
    color: var(--home-section-muted, var(--text-muted-color));
    font-size: 14px;
    line-height: 1.65;
}

@media (max-width: 991px) {
    .rs-about-section .rs-about-media-column,
    .rs-about-section .rs-about-content-column {
        display: block;
    }

    .rs-about-section .rs-about-media {
        border-radius: 6px 6px 0 0;
        height: 320px;
        min-height: 0;
    }

    .rs-about-section .rs-about-media img {
        min-height: 0;
    }

    .rs-about-section .rs-about-content {
        border-left: 1px solid var(--border-color);
        border-radius: 0 0 6px 6px;
        height: auto;
        margin-top: 0;
        min-height: 0;
        padding: 24px;
    }
}

@media (max-width: 767px) {
    #mu-about-us.rs-about-section {
        margin-top: 0;
        padding: 64px 0 48px !important;
    }

    .rs-about-section h2 {
        font-size: 25px;
    }

    .rs-about-section .rs-about-media {
        height: 260px;
    }
}

/* Placement drives reusable section */
.rs-placement-drives {
    color: var(--home-section-text, var(--text-color));
    padding: 64px 0 72px;
}

.rs-placement-drives .rs-placement-drives-header {
    margin-bottom: 40px;
    position: relative;
    text-align: center;
}

.rs-placement-drives .rs-placement-drives-header > div {
    display: inline-block;
    max-width: 690px;
}

.rs-placement-drives .rs-placement-drives-kicker {
    color: var(--accent-color);
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.rs-placement-drives h2 {
    color: var(--home-section-heading, var(--heading-color, var(--text-color)));
    font-size: clamp(25px, 3vw, 31px);
    font-weight: 700;
    margin: 0 0 9px;
}

.rs-placement-drives .rs-placement-drives-header p {
    color: var(--home-section-muted, var(--text-muted-color));
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
}

.rs-placement-drives .rs-placement-drives-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rs-placement-drives .rs-placement-drive-card {
    background: var(--home-section-surface, var(--surface-color));
    border: 1px solid var(--home-section-border, var(--border-color));
    border-radius: var(--border-radius, 8px);
    display: flex;
    flex-direction: column;
    padding: 22px;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.rs-placement-drives .rs-placement-drive-card:hover {
    border-color: var(--secondary-color);
    box-shadow: 0 16px 32px color-mix(in srgb, var(--home-section-text, var(--text-color)), transparent 93%);
    transform: translateY(-2px);
}

.rs-placement-drives .rs-placement-drive-badges {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}

.rs-placement-drives .rs-placement-drive-badges span,
.rs-placement-drives .rs-placement-drive-badges small {
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 12px;
}

.rs-placement-drives .rs-placement-drive-badges span {
    background: color-mix(in srgb, var(--accent-color) 12%, var(--home-section-surface, var(--surface-color)));
    color: var(--accent-color);
}

.rs-placement-drives .rs-placement-drive-badges small {
    background: color-mix(in srgb, var(--primary-color) 10%, var(--home-section-surface, var(--surface-color)));
    color: var(--primary-color);
}

.rs-placement-drives .rs-placement-drive-main {
    align-items: flex-start;
    display: flex;
    gap: 15px;
}

.rs-placement-drives .rs-placement-drive-date {
    background: color-mix(in srgb, var(--secondary-color) 10%, var(--home-section-surface, var(--surface-color)));
    border-radius: 10px;
    color: var(--secondary-color);
    display: flex;
    flex: 0 0 64px;
    flex-direction: column;
    padding: 10px 6px;
    text-align: center;
}

.rs-placement-drives .rs-placement-drive-date strong {
    font-size: 23px;
    line-height: 1.1;
}

.rs-placement-drives .rs-placement-drive-date span {
    font-size: 11px;
    font-weight: 700;
    margin-top: 4px;
    text-transform: uppercase;
}

.rs-placement-drives .rs-placement-drive-main h3 {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.38;
    margin: 0 0 12px;
}

.rs-placement-drives .rs-placement-drive-main h3 a {
    color: var(--home-section-heading, var(--heading-color, var(--text-color)));
}

.rs-placement-drives .rs-placement-drive-main h3 a:hover {
    color: var(--primary-color);
}

.rs-placement-drives .rs-placement-drive-main p {
    color: var(--home-section-muted, var(--text-muted-color));
    display: flex;
    font-size: 13px;
    gap: 9px;
    line-height: 1.5;
    margin: 0 0 7px;
}

.rs-placement-drives .rs-placement-drive-main p i {
    color: var(--primary-color);
    margin-top: 4px;
    width: 13px;
}

.rs-placement-drives .rs-placement-drive-description {
    color: var(--home-section-muted, var(--text-muted-color));
    font-size: 14px;
    line-height: 1.6;
    margin: 16px 0 16px;
}

.rs-placement-drives .rs-pdr-register {
    border-top: 1px solid var(--home-section-border, var(--border-color));
    display: block;
    margin-top: auto;
    padding-top: 17px;
    text-align: center;
    width: 100%;
}

.rs-placement-drives .rs-pdr-view-all {
    bottom: 0;
    position: absolute;
    right: 0;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .rs-placement-drives .rs-pdr-view-all {
        display: inline-flex;
        margin: 18px auto 0;
        position: static;
        text-align: center;
        width: fit-content;
    }
}

.rs-placement-drives .rs-placement-drives-empty {
    border: 1px dashed var(--home-section-border, var(--border-color));
    border-radius: var(--border-radius, 8px);
    color: var(--home-section-muted, var(--text-muted-color));
    grid-column: 1 / -1;
    padding: 30px;
    text-align: center;
}

@media (max-width: 991px) {
    .rs-placement-drives .rs-placement-drives-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .rs-placement-drives .rs-placement-drives-grid {
        grid-template-columns: 1fr;
    }
}

.rs-placement-drives .rs-pd-co-logo {
    width: 24px;
    height: 24px;
    border-radius: 2px;
    flex-shrink: 0;
    object-fit: contain;
}

.rs-placement-drives .rs-placement-drive-main p i.fa-building {
    font-size: 16px;
}

/* Dark shell overrides */
.rs-home-section-shell.home-section-bg-dark #rs-placement-drives .rs-placement-drive-main p i {
    color: var(--home-section-icon);
}
.rs-home-section-shell.home-section-bg-dark #rs-placement-drives .rs-placement-drive-date {
    color: var(--home-section-muted);
}
.rs-home-section-shell.home-section-bg-dark #rs-placement-drives .rs-pdr-register {
    border-top-color: var(--home-section-border);
}

/*================================
 PLACEMENT DRIVES PAGES (pd-*)
 Color use:
   --primary-color    → CTA buttons, icons, top accent bar, links, card hover border
   --secondary-color  → Date box tint & color, capacity fill bar
   --accent-color     → Mode badge tint & color, registration-deadline highlight
   --heading-color    → Drive title, section title, sidebar section heading
   --text-color       → Body text, sidebar values
   --text-muted-color → Meta text, lead text, capacity label
   --border-color     → Card border, filter border, sidebar dividers, capacity track
   --surface-color    → Card background, filter bar background, sidebar card background
   --bg-color         → Input background, hero tint base
=================================*/

/* ---- Page header ---- */
.pd-page-section {
    color: var(--text-color);
    padding: 60px 0 80px;
}

.pd-page-header {
    margin-bottom: 32px;
}

.pd-page-kicker {
    color: var(--accent-color);
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.pd-page-title {
    color: var(--heading-color, var(--text-color));
    font-size: clamp(24px, 3vw, 30px);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 8px;
}

.pd-page-lead {
    color: var(--text-muted-color);
    font-size: 15px;
    margin: 0;
}

/* ---- Filter bar ---- */
.pd-filter-bar {
    align-items: center;
    background: var(--surface-color, var(--bg-color));
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius, 12px);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 36px;
    padding: 16px 20px;
}

.pd-filter-fields {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    gap: 12px;
}

.pd-filter-search {
    flex: 1 1 260px;
    position: relative;
}

.pd-filter-select-wrap {
    flex: 0 1 180px;
    position: relative;
}

.pd-filter-icon {
    color: var(--text-muted-color);
    left: 14px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.pd-filter-input,
.pd-filter-select {
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    color: var(--text-color);
    font-size: 14px;
    height: 42px;
    padding: 0 14px 0 38px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
}

.pd-filter-input:focus,
.pd-filter-select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 18%, transparent);
    outline: none;
}

.pd-filter-select {
    appearance: none;
    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 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
}

.pd-filter-actions {
    display: flex;
    gap: 8px;
}

.pd-filter-btn {
    align-items: center;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    font-size: 14px;
    font-weight: 600;
    gap: 7px;
    height: 42px;
    padding: 0 20px;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    white-space: nowrap;
}

.pd-filter-btn-submit {
    background: var(--primary-color);
    color: var(--primary-contrast-color, #fff);
}

.pd-filter-btn-submit:hover {
    background: var(--primary-hover-color, var(--primary-color));
    color: var(--primary-contrast-color, #fff);
    text-decoration: none;
}

.pd-filter-btn-reset {
    background: transparent;
    border: 1px solid var(--border-color);
    color: var(--text-muted-color);
}

.pd-filter-btn-reset:hover {
    border-color: var(--text-color);
    color: var(--text-color);
    text-decoration: none;
}

/* ---- Card grid ---- */
.pd-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pd-grid-sm {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* ---- Card ---- */
.pd-card {
    background: var(--surface-color, var(--bg-color));
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius, 12px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.pd-card:hover {
    border-color: var(--primary-color);
    box-shadow: 0 16px 40px rgba(51, 51, 51, 0.08);
    box-shadow: 0 16px 40px color-mix(in srgb, var(--text-color) 8%, transparent);
    transform: translateY(-3px);
}

.pd-card-top-bar {
    background: var(--primary-color);
    height: 3px;
    width: 100%;
}

.pd-card-inner {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px 22px 22px;
}

.pd-card-badges {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 16px;
}

.pd-badge {
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 11px;
}

.pd-badge-mode {
    background: color-mix(in srgb, var(--accent-color) 12%, var(--surface-color, var(--bg-color)));
    color: var(--accent-color);
}

.pd-badge-live {
    align-items: center;
    background: color-mix(in srgb, var(--primary-color) 10%, var(--surface-color, var(--bg-color)));
    color: var(--primary-color);
    display: inline-flex;
    gap: 6px;
}

.pd-badge-dot {
    animation: pd-pulse 1.5s ease-in-out infinite;
    background: var(--primary-color);
    border-radius: 50%;
    display: inline-block;
    height: 7px;
    width: 7px;
}

@keyframes pd-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.55; transform: scale(0.7); }
}

.pd-card-main {
    align-items: flex-start;
    display: flex;
    gap: 14px;
}

.pd-card-date {
    background: color-mix(in srgb, var(--secondary-color) 12%, var(--surface-color, var(--bg-color)));
    border-radius: 9px;
    color: var(--secondary-color);
    display: flex;
    flex: 0 0 58px;
    flex-direction: column;
    padding: 9px 6px;
    text-align: center;
}

.pd-card-date strong {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
}

.pd-card-date span {
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
}

.pd-card-year {
    color: color-mix(in srgb, var(--secondary-color) 55%, transparent);
    font-size: 10px !important;
}

.pd-card-content {
    min-width: 0;
}

.pd-card-title {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.38;
    margin: 0 0 10px;
}

.pd-card-title a {
    color: var(--heading-color, var(--text-color));
    text-decoration: none;
    transition: color 0.2s ease;
}

.pd-card-title a:hover {
    color: var(--primary-color);
}

.pd-card-meta {
    align-items: flex-start;
    color: var(--text-muted-color);
    display: flex;
    font-size: 13px;
    gap: 8px;
    line-height: 1.5;
    margin: 0 0 7px;
}

.pd-card-meta i {
    color: var(--primary-color);
    flex-shrink: 0;
    margin-top: 3px;
    width: 13px;
}

.pd-card-deadline {
    color: color-mix(in srgb, var(--accent-color) 80%, var(--text-color));
}

.pd-card-deadline i {
    color: var(--accent-color);
}

.pd-card-capacity {
    margin-top: 15px;
}

.pd-capacity-track {
    background: var(--border-color);
    border-radius: 999px;
    height: 5px;
    overflow: hidden;
}

.pd-capacity-fill {
    background: var(--secondary-color);
    border-radius: 999px;
    height: 100%;
    transition: width 0.3s ease;
}

.pd-capacity-label {
    color: var(--text-muted-color);
    display: block;
    font-size: 12px;
    margin-top: 5px;
}

.pd-card-footer {
    margin-top: auto;
    padding-top: 16px;
}

.pd-card-cta {
    align-items: center;
    border-top: 1px solid var(--border-color);
    color: var(--primary-color);
    display: flex;
    font-size: 14px;
    font-weight: 700;
    gap: 8px;
    padding-top: 16px;
    text-decoration: none;
    transition: gap 0.2s ease;
}

.pd-card-cta:hover,
.pd-card-cta:focus {
    color: var(--primary-color);
    gap: 12px;
    text-decoration: none;
}

.pd-empty {
    border: 1px dashed var(--border-color);
    border-radius: var(--border-radius, 12px);
    color: var(--text-muted-color);
    padding: 56px 20px;
    text-align: center;
}

.pd-empty-icon {
    color: var(--border-color);
    display: block;
    font-size: 36px;
    margin-bottom: 14px;
}

.pd-pagination {
    margin-top: 40px;
}

/* ---- Detail page ---- */
.pd-detail-section {
    color: var(--text-color);
    padding: 60px 0 80px;
}

.pd-detail-hero {
    background: color-mix(in srgb, var(--secondary-color) 8%, var(--bg-color));
    border: 1px solid color-mix(in srgb, var(--secondary-color) 20%, var(--border-color));
    border-radius: var(--border-radius, 12px);
    margin-bottom: 36px;
    padding: 32px 36px;
}

.pd-detail-badges {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
}

.pd-detail-title {
    color: var(--heading-color, var(--text-color));
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 18px;
}

.pd-detail-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.pd-detail-stat {
    align-items: center;
    color: var(--text-muted-color);
    display: flex;
    font-size: 14px;
    gap: 9px;
}

.pd-detail-stat i {
    color: var(--primary-color);
    width: 14px;
}

.pd-detail-layout {
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr 320px;
}

.pd-detail-body > * + * {
    margin-top: 36px;
}

.pd-detail-description h3,
.pd-detail-instructions h3,
.pd-detail-related h3 {
    color: var(--heading-color, var(--text-color));
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 16px;
}

.pd-detail-description-content {
    color: var(--text-color);
    font-size: 15px;
    line-height: 1.7;
}

.pd-detail-instructions {
    background: color-mix(in srgb, var(--accent-color) 8%, var(--bg-color));
    border: 1px solid color-mix(in srgb, var(--accent-color) 22%, var(--border-color));
    border-radius: var(--border-radius, 12px);
    padding: 24px 28px;
}

.pd-detail-instructions h3 {
    align-items: center;
    display: flex;
    gap: 10px;
}

.pd-detail-instructions h3 i {
    color: var(--accent-color);
}

.pd-detail-instructions > div {
    color: var(--text-color);
    font-size: 14px;
    line-height: 1.7;
}

.pd-detail-sidebar {
    align-self: start;
    position: sticky;
    top: 24px;
}

.pd-sidebar-card {
    background: var(--surface-color, var(--bg-color));
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius, 12px);
    overflow: hidden;
}

.pd-sidebar-title {
    background: color-mix(in srgb, var(--primary-color) 6%, var(--surface-color, var(--bg-color)));
    border-bottom: 1px solid var(--border-color);
    color: var(--heading-color, var(--text-color));
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    padding: 18px 22px;
}

.pd-sidebar-dl {
    margin: 0;
    padding: 18px 22px;
}

.pd-sidebar-row {
    align-items: flex-start;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    gap: 13px;
    padding: 13px 0;
}

.pd-sidebar-row:first-child { padding-top: 0; }
.pd-sidebar-row:last-child { border-bottom: none; padding-bottom: 0; }

.pd-sidebar-row > i {
    color: var(--primary-color);
    flex-shrink: 0;
    font-size: 15px;
    margin-top: 2px;
    width: 16px;
}

.pd-sidebar-row dt {
    color: var(--text-muted-color);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pd-sidebar-row dd {
    color: var(--text-color);
    font-size: 14px;
    margin: 2px 0 0;
}

.pd-sidebar-action {
    border-top: 1px solid var(--border-color);
    padding: 18px 22px;
}

.pd-register-btn {
    align-items: center;
    background: var(--primary-color);
    border-radius: 8px;
    color: var(--primary-contrast-color, #fff);
    display: flex;
    font-size: 15px;
    font-weight: 700;
    gap: 9px;
    justify-content: center;
    padding: 13px 22px;
    text-decoration: none;
    transition: background 0.2s ease, gap 0.2s ease;
    width: 100%;
}

.pd-register-btn:hover,
.pd-register-btn:focus {
    background: var(--primary-hover-color, var(--primary-color));
    color: var(--primary-contrast-color, #fff);
    gap: 12px;
    text-decoration: none;
}

.pd-reg-status {
    align-items: center;
    border-radius: 8px;
    display: flex;
    font-size: 14px;
    font-weight: 600;
    gap: 9px;
    justify-content: center;
    padding: 12px 18px;
}

.pd-reg-closed,
.pd-reg-full {
    background: color-mix(in srgb, #ef4444 10%, var(--surface-color, var(--bg-color)));
    color: #ef4444;
}

.pd-reg-open {
    background: color-mix(in srgb, #22c55e 10%, var(--surface-color, var(--bg-color)));
    color: #22c55e;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
    .pd-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pd-grid-sm {
        grid-template-columns: 1fr;
    }

    .pd-detail-layout {
        grid-template-columns: 1fr;
    }

    .pd-detail-sidebar {
        position: static;
    }
}

@media (max-width: 575px) {
    .pd-grid {
        gap: 16px;
        grid-template-columns: 1fr;
    }

    .pd-filter-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .pd-filter-fields {
        flex-direction: column;
    }

    .pd-filter-search,
    .pd-filter-select-wrap {
        flex: auto;
    }

    .pd-filter-actions {
        width: 100%;
    }

    .pd-filter-btn-submit {
        flex: 1;
        justify-content: center;
    }

    .pd-detail-hero {
        padding: 24px 20px;
    }

    .pd-detail-stats {
        flex-direction: column;
        gap: 10px;
    }
}

/* ═══════════════════════════════════════
   Phase 3 Home Sections
═══════════════════════════════════════ */

/* ── Shared: tab bar ── */
.rs2-blog-tabs,
.rs2-nb-tabs,
.rs2-toppers-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-bottom: 36px;
}

.rs2-blog-tab,
.rs2-nb-tab,
.rs2-toppers-tab {
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-pill, 50px);
    color: var(--text-color);
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    padding: 8px 20px;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.rs2-blog-tab--active,
.rs2-nb-tab--active,
.rs2-toppers-tab--active,
.rs2-blog-tab:hover,
.rs2-nb-tab:hover,
.rs2-toppers-tab:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--primary-contrast-color);
}

/* ── Shared: year badge ── */
.rs2-year-badge {
    background: var(--secondary-color);
    border-radius: var(--border-radius-pill, 50px);
    color: var(--theme-structure-contrast-color);
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    margin-top: 10px;
    padding: 4px 14px;
}

/* ── Shared: primary button ── */

/* ── rs2-btn-primary: follows theme cta_type setting ── */
.rs2-btn-primary,
.rs2-btn-secondary {
    align-items: center;
    border: 2px solid;
    border-radius: var(--border-radius-base, 4px);
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 8px;
    padding: 12px 28px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    cursor: pointer;
}

.rs2-btn-primary {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--primary-contrast-color) !important;
}
.rs2-btn-primary:hover,
.rs2-btn-primary:focus {
    background: transparent;
    color: var(--primary-color) !important;
    text-decoration: none;
}
.rs2-btn-secondary {
    background: var(--secondary-color);
    border-color: var(--secondary-color);
    color: var(--secondary-contrast-color, #fff) !important;
}
.rs2-btn-secondary:hover,
.rs2-btn-secondary:focus {
    background: transparent;
    color: var(--secondary-color) !important;
    text-decoration: none;
}

.mt-40 {
    margin-top: 40px;
}

/* ═══════════════════════════════════════
   Facts & Figures
═══════════════════════════════════════ */
.rs-facts-figures .sec-title h2 {
    color: var(--heading-color);
}

.rs-facts-figures .sec-title h2::after {
    background: var(--secondary-color);
}

.rs-facts-figures .desc {
    color: var(--text-muted-color);
}

.rs-facts-figures .rs-counter-icon {
    align-items: center;
    background: color-mix(in srgb, var(--primary-color), transparent 88%);
    border-radius: 50%;
    display: inline-flex;
    height: 64px;
    justify-content: center;
    margin-bottom: 12px;
    width: 64px;
}

.rs-facts-figures .rs-counter-icon img {
    border-radius: 50%;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.rs-facts-figures .rs-counter-list .counter-number,
.rs-facts-figures .rs-counter-list .counter-desc {
    color: var(--text-color);
}

.rs-facts-figures .rs-counter-list:hover {
    border-color: var(--secondary-color) !important;
}

/* dark mode overrides */
.rs-home-section-shell.home-section-bg-dark .rs-facts-figures .sec-title h2 {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark .rs-facts-figures .desc {
    color: var(--home-section-muted);
}

.rs-home-section-shell.home-section-bg-dark .rs-facts-figures .rs-counter-icon {
    background: var(--home-section-surface);
}

.rs-home-section-shell.home-section-bg-dark .rs-facts-figures .rs-counter-list .counter-number,
.rs-home-section-shell.home-section-bg-dark .rs-facts-figures .rs-counter-list .counter-desc {
    color: var(--home-section-heading);
}

.rs2-facts-grid {
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.rs2-fact-item {
    align-items: center;
    border-right: 1px solid color-mix(in srgb, var(--primary-contrast-color), transparent 80%);
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 36px 20px;
    text-align: center;
}

.rs2-fact-item:last-child {
    border-right: 0;
}

.rs2-fact-icon {
    align-items: center;
    background: color-mix(in srgb, var(--secondary-color), transparent 88%);
    border-radius: 50%;
    color: var(--secondary-color);
    display: flex;
    font-size: 22px;
    height: 56px;
    justify-content: center;
    width: 56px;
}

.rs2-fact-icon img {
    filter: brightness(0) invert(1);
    height: 28px;
    object-fit: contain;
    width: 28px;
}

.rs2-fact-metric {
    color: var(--secondary-color);
    font-family: var(--header-font-family, 'Raleway', sans-serif);
    font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 800;
    line-height: 1;
}

.rs2-fact-title {
    color: var(--primary-contrast-color);
    font-size: 14px;
    font-weight: 600;
    opacity: 0.9;
}

@media (max-width: 767px) {
    .rs2-facts-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rs2-fact-item {
        border-bottom: 1px solid color-mix(in srgb, var(--primary-contrast-color), transparent 80%);
        border-right: 0;
    }

    .rs2-fact-item:nth-child(odd) {
        border-right: 1px solid color-mix(in srgb, var(--primary-contrast-color), transparent 80%);
    }
}

/* ═══════════════════════════════════════
   Key Highlights
═══════════════════════════════════════ */
.rs2-highlight-card {
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg, 12px);
    padding: 32px 24px;
    text-align: center;
    transition: box-shadow 0.3s, transform 0.3s;
}

.rs2-highlight-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}

.rs2-highlight-icon {
    align-items: center;
    background: color-mix(in srgb, var(--secondary-color), transparent 90%);
    border-radius: 50%;
    color: var(--secondary-color);
    display: inline-flex;
    font-size: 26px;
    height: 72px;
    justify-content: center;
    margin-bottom: 18px;
    width: 72px;
}

.rs2-highlight-icon img {
    border-radius: 50%;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.rs2-highlight-title {
    color: var(--heading-color, var(--primary-color));
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 10px;
}

.rs2-highlight-desc {
    color: var(--text-muted-color);
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

/* Key Highlights dark mode */
.rs-home-section-shell.home-section-bg-dark #rs-key-highlights .sec-title h2 {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark #rs-key-highlights .sec-title .desc {
    color: var(--home-section-muted);
}

.rs-home-section-shell.home-section-bg-dark .rs2-highlight-card {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
}

.rs-home-section-shell.home-section-bg-dark .rs2-highlight-title {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark .rs2-highlight-desc {
    color: var(--home-section-muted);
}

/* Awards & Recognition */
#rs-awards .sec-title h2 {
    color: var(--home-section-heading, var(--heading-color));
}

#rs-awards .sec-title::after {
    background: var(--secondary-color);
}

#rs-awards .sec-title .desc {
    color: var(--home-section-text, var(--text-muted-color));
}

.rs-award-card {
    background: var(--home-section-surface, var(--surface-color, #fff));
    border: 1px solid var(--home-section-border, var(--border-color));
    border-radius: 8px;
    overflow: visible;
    padding-top: 30px;
    text-align: center;
}

.rs-award-img {
    border-radius: 50%;
    display: block;
    height: 120px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    width: 120px;
}

.rs-award-img img {
    aspect-ratio: 1 / 1;
    display: block;
    object-fit: cover;
    transition: transform 0.4s;
    width: 100%;
}

.rs-award-card:hover .rs-award-img img {
    transform: scale(1.06);
}

.rs-award-zoom {
    align-items: center;
    background: color-mix(in srgb, var(--theme-action-color), transparent 50%);
    border-radius: 50%;
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    position: absolute;
    transition: opacity 0.3s;
}

.rs-award-card:hover .rs-award-zoom {
    opacity: 1;
}

.rs-award-zoom .fa {
    color: #fff;
    font-size: 26px;
}

.rs-award-body {
    padding: 16px 18px 18px;
}

.rs-award-title {
    color: var(--text-color);
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 6px;
}

.rs-award-by {
    color: var(--secondary-color);
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 8px;
}

.rs-award-by .fa {
    margin-right: 4px;
}

.rs-award-desc {
    color: var(--text-color);
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

.rs-award-read-more {
    color: var(--theme-action-color);
    font-size: 12px;
    font-weight: 600;
    margin-left: 3px;
    white-space: nowrap;
    text-decoration: none;
}

.rs-award-read-more:hover {
    text-decoration: underline;
}

.rs-home-section-shell.home-section-bg-dark .rs-award-read-more {
    color: var(--home-section-icon);
}

.rs-home-section-shell.home-section-bg-dark #rs-awards .sec-title h2 {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark #rs-awards .sec-title .desc {
    color: var(--home-section-muted);
}

.rs-home-section-shell.home-section-bg-dark .rs-award-card {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
}

.rs-home-section-shell.home-section-bg-dark .rs-award-title {
    color: var(--home-section-text);
}

.rs-home-section-shell.home-section-bg-dark .rs-award-by {
    color: var(--home-section-icon);
}

.rs-home-section-shell.home-section-bg-dark .rs-award-desc {
    color: var(--home-section-muted);
}

/* Theme 2 Awards Page */
.awd2-wrap {
    --award-page-bg: var(--bg-color);
    --award-surface: var(--surface-color, var(--bg-color));
    --award-surface-alt: var(--bg-alt-color, #f5f7fa);
    --award-border: var(--border-color);
    --award-text: var(--text-color);
    --award-muted: var(--text-muted-color);
    --award-heading: var(--heading-color);
    --award-action: var(--theme-action-color);
    --award-action-contrast: var(--theme-action-contrast-color);
    --award-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --award-structure: var(--theme-structure-color);
    --award-structure-contrast: var(--theme-structure-contrast-color);
    --award-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --award-highlight: var(--theme-highlight-color);
    background: var(--award-page-bg);
    color: var(--award-text);
    padding: 56px 0 64px;
}

.awd2-intro {
    margin: 0 auto 34px;
    max-width: 820px;
    text-align: center;
}

.awd2-intro-title {
    color: var(--award-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.awd2-intro-desc {
    color: var(--award-muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.awd2-timeline {
    margin: 0 auto;
    max-width: 920px;
    position: relative;
}

.awd2-timeline::before {
    background: var(--award-border);
    bottom: 0;
    content: "";
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 1px;
}

.awd2-item {
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
    margin-bottom: 22px;
    position: relative;
}

.awd2-item:last-child {
    margin-bottom: 0;
}

.awd2-item-half {
    min-width: 0;
}

.awd2-marker {
    align-items: center;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
}

.awd2-dot {
    align-self: start;
    background: var(--award-action);
    border: 4px solid var(--award-page-bg);
    border-radius: 999px;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--award-action), transparent 58%);
    height: 18px;
    margin-top: 20px;
    position: relative;
    width: 18px;
    z-index: 2;
}

.awd2-year {
    background: var(--award-surface);
    border: 1px solid color-mix(in srgb, var(--award-action), transparent 70%);
    border-radius: 999px;
    box-shadow: var(--shadow-sm);
    color: var(--award-action);
    font-size: 11px;
    font-weight: 900;
    left: 50%;
    line-height: 1.2;
    min-width: 52px;
    padding: 5px 9px;
    position: absolute;
    text-align: center;
    top: 48px;
    transform: translateX(-50%);
    white-space: nowrap;
}

.awd2-card,
.awd2-empty {
    background: var(--award-surface);
    border: 1px solid var(--award-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.awd2-card {
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.awd2-card:hover {
    border-color: color-mix(in srgb, var(--award-action), transparent 62%);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.awd2-img-wrap {
    aspect-ratio: 21 / 9;
    background: linear-gradient(135deg, var(--award-action-soft), var(--award-surface-alt));
    overflow: hidden;
    position: relative;
}

.awd2-img-wrap img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
    width: 100%;
}

.awd2-card:hover .awd2-img-wrap img {
    transform: scale(1.04);
}

.awd2-img-icon {
    align-items: center;
    color: var(--award-action);
    display: flex;
    font-size: 42px;
    height: 100%;
    justify-content: center;
    opacity: .7;
}

.awd2-body {
    padding: 14px 15px 15px;
}

.awd2-title {
    color: var(--award-heading);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0;
    overflow-wrap: anywhere;
}

.awd2-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.awd2-meta-chip {
    align-items: center;
    background: var(--award-structure-soft);
    border: 1px solid color-mix(in srgb, var(--award-structure), transparent 78%);
    border-radius: 999px;
    color: var(--award-structure);
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    gap: 6px;
    line-height: 1.2;
    padding: 5px 8px;
}

.awd2-desc {
    color: var(--award-muted);
    display: -webkit-box;
    font-size: 13px;
    line-height: 1.55;
    margin: 10px 0 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.awd2-empty {
    color: var(--award-muted);
    margin: 0 auto;
    max-width: 620px;
    padding: 44px 22px;
    text-align: center;
}

.awd2-empty i {
    color: var(--award-action);
    font-size: 42px;
}

.awd2-empty h4 {
    color: var(--award-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.awd2-empty p {
    margin: 0;
}

@media (max-width: 767px) {
    .awd2-wrap {
        padding: 36px 0 46px;
    }

    .awd2-timeline::before {
        left: 9px;
        transform: none;
    }

    .awd2-item {
        gap: 14px;
        grid-template-columns: 18px minmax(0, 1fr);
    }

    .awd2-item-half:empty {
        display: none;
    }

    .awd2-marker {
        grid-column: 1;
        grid-row: 1;
    }

    .awd2-dot {
        margin-top: 24px;
    }

    .awd2-year {
        left: 28px;
        min-width: 48px;
        top: 48px;
        transform: none;
    }

    .awd2-item-half {
        grid-column: 2;
    }

    .awd2-right .awd2-item-half {
        grid-column: 2;
    }
}

/* Notice Board */
#rs-notice-board .sec-title h2 {
    color: var(--home-section-heading, var(--heading-color));
}

#rs-notice-board .sec-title::after {
    background: var(--secondary-color);
}

#rs-notice-board .sec-title .desc {
    color: var(--home-section-text, var(--text-muted-color));
}

.rs-nb-list {
    background: var(--home-section-surface, var(--surface-color, #fff));
    border: 1px solid var(--home-section-border, var(--border-color));
    border-radius: 10px;
    overflow: hidden;
}

.rs-nb-item {
    align-items: center;
    border-bottom: 1px solid var(--home-section-border, var(--border-color));
    display: flex;
    gap: 16px;
    padding: 14px 20px;
    transition: background 0.2s;
}

.rs-nb-item:last-child { border-bottom: 0; }

.rs-nb-item:hover,
.rs-nb-item--pinned {
    background: color-mix(in srgb, var(--primary-color), transparent 95%);
}

.rs-nb-item-left {
    flex-shrink: 0;
}

.rs-nb-date-box {
    align-items: center;
    background: var(--primary-color);
    border-radius: 6px;
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 46px;
    justify-content: center;
    line-height: 1;
    width: 46px;
}

.rs-nb-day {
    font-size: 17px;
    font-weight: 800;
}

.rs-nb-mon {
    font-size: 10px;
    font-weight: 600;
    opacity: 0.85;
    text-transform: uppercase;
}

.rs-nb-item-body {
    flex: 1;
    min-width: 0;
}

.rs-nb-item-top {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 4px;
}

.rs-nb-badge {
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    text-transform: uppercase;
    white-space: nowrap;
}

.rs-nb-badge--notice           { background: color-mix(in srgb, var(--primary-color), transparent 88%); color: var(--primary-color); }
.rs-nb-badge--announcement     { background: color-mix(in srgb, var(--secondary-color), transparent 85%); color: var(--secondary-color); }
.rs-nb-badge--circular         { background: var(--theme-status-warning-bg); color: var(--theme-status-warning-text); }
.rs-nb-badge--admission_notice { background: var(--theme-status-danger-bg); color: var(--theme-status-danger-text); }

.rs-nb-pin {
    color: var(--secondary-color);
    font-size: 12px;
}

.rs-nb-new {
    background: var(--secondary-color);
    border-radius: 2px;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    padding: 2px 6px;
    text-transform: uppercase;
}

.rs-nb-title {
    color: var(--home-section-text, var(--text-color));
    display: block;
    font-size: 14px;
    font-weight: 500;
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
    transition: color 0.2s;
    white-space: nowrap;
}

a.rs-nb-title:hover {
    color: var(--primary-color);
}

.rs-nb-action {
    align-items: center;
    background: color-mix(in srgb, var(--primary-color), transparent 90%);
    border-radius: 6px;
    color: var(--primary-color);
    display: flex;
    flex-shrink: 0;
    font-size: 14px;
    height: 34px;
    justify-content: center;
    transition: background 0.2s, color 0.2s;
    width: 34px;
}

#rs-notice-board .rs-nb-action:hover {
    background: var(--primary-color);
    color: #fff;
}
#rs-notice-board .rs-nb-action:hover i {
    color: #fff;
}

@media (max-width: 575px) {
    .rs-nb-item { flex-wrap: wrap; }
    .rs-nb-action { order: -1; }
}

.rs-home-section-shell.home-section-bg-dark #rs-notice-board .sec-title h2 {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark #rs-notice-board .sec-title .desc {
    color: var(--home-section-muted);
}

/* Tabs */
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-news-tab-link {
    color: var(--home-section-muted);
    border-color: var(--home-section-border);
}
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-news-tab-link.active {
    background: var(--home-section-accent-bg);
    border-color: var(--home-section-accent-bg);
    color: var(--home-section-accent-contrast);
}

/* List container */
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-list {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
}

/* Row */
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-item {
    border-color: var(--home-section-border);
}
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-item:hover,
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-item--pinned {
    background: var(--home-section-accent-soft);
}

/* Date box */
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-date-box {
    background: var(--home-section-accent-bg);
    color: var(--home-section-accent-contrast);
}

/* Title */
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-title {
    color: var(--home-section-heading);
}
.rs-home-section-shell.home-section-bg-dark #rs-notice-board a.rs-nb-title:hover {
    color: var(--home-section-link-hover);
}

/* Badges */
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-badge--notice {
    background: var(--home-section-accent-soft);
    color: var(--home-section-icon);
}
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-badge--announcement {
    background: var(--home-section-accent-soft);
    color: var(--home-section-icon);
}
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-badge--circular {
    background: color-mix(in srgb, #f59e0b, transparent 80%);
    color: #f0b429;
}
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-badge--admission_notice {
    background: color-mix(in srgb, #dc2626, transparent 80%);
    color: #f87171;
}

/* Download action button */
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-action {
    background: var(--home-section-accent-soft);
    color: var(--home-section-icon);
}
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-action:hover,
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs-nb-action:hover i {
    background: var(--home-section-accent-bg);
    color: var(--home-section-accent-contrast);
}
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs2-btn-primary {
    background: var(--home-section-accent-bg);
    border-color: var(--home-section-accent-bg);
    color: var(--home-section-accent-contrast) !important;
}
.rs-home-section-shell.home-section-bg-dark #rs-notice-board .rs2-btn-primary:hover {
    background: transparent;
    color: var(--home-section-icon) !important;
}

/* ═══════════════════════════════════════
   Pagination
═══════════════════════════════════════ */
.rs2-pag {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.rs2-pag-list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rs2-pag-link {
    align-items: center;
    background: var(--surface-color, #fff);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius, 6px);
    color: var(--text-color);
    display: flex;
    font-size: 14px;
    font-weight: 600;
    height: 40px;
    justify-content: center;
    min-width: 40px;
    padding: 0 12px;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

a.rs2-pag-link:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    text-decoration: none;
}

.rs2-pag-item.active .rs2-pag-link {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    cursor: default;
}

.rs2-pag-item.disabled .rs2-pag-link {
    background: var(--bg-alt-color, #f5f5f5);
    border-color: var(--border-color);
    color: var(--text-muted-color);
    cursor: not-allowed;
    opacity: 0.5;
}

.rs2-pag-dots {
    align-items: center;
    color: var(--text-muted-color);
    display: flex;
    font-size: 14px;
    font-weight: 600;
    height: 40px;
    justify-content: center;
    width: 28px;
}

.rs2-pag-prev .rs2-pag-link,
.rs2-pag-next .rs2-pag-link {
    font-size: 16px;
}

@media (max-width: 480px) {
    .rs2-pag-link {
        font-size: 13px;
        height: 36px;
        min-width: 36px;
    }
}

/* ═══════════════════════════════════════
   Trust Bar
═══════════════════════════════════════ */
.rs-trust-bar {
    background: var(--bg-alt-color);
}

.rs2-trust-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.rs2-trust-item {
    align-items: center;
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg, 12px);
    display: flex;
    gap: 16px;
    padding: 24px 20px;
    text-decoration: none;
    transition: box-shadow 0.25s, transform 0.25s;
}

a.rs2-trust-item:hover,
a.rs2-trust-item:focus {
    box-shadow: var(--shadow-md);
    text-decoration: none;
    transform: translateY(-3px);
}

.rs2-trust-icon {
    align-items: center;
    background: color-mix(in srgb, var(--primary-color), transparent 90%);
    border-radius: 50%;
    color: var(--primary-color);
    display: flex;
    flex-shrink: 0;
    font-size: 22px;
    height: 56px;
    justify-content: center;
    overflow: hidden;
    width: 56px;
}

.rs2-trust-icon img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.rs2-trust-body {
    min-width: 0;
    overflow: hidden;
}

.rs2-trust-value {
    color: var(--primary-color);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-all;
}

.rs2-trust-label {
    color: var(--text-color);
    font-size: 14px;
    font-weight: 700;
    margin-top: 4px;
    overflow-wrap: break-word;
}

.rs2-trust-desc {
    color: var(--text-muted-color);
    font-size: 12px;
    margin-top: 4px;
    overflow-wrap: break-word;
}

/* Trust bar dark shell */
.rs-home-section-shell.home-section-bg-dark #rs-trust-bar .rs2-trust-item {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
}
.rs-home-section-shell.home-section-bg-dark #rs-trust-bar .rs2-trust-label {
    color: var(--home-section-heading);
}
.rs-home-section-shell.home-section-bg-dark #rs-trust-bar .rs2-trust-desc {
    color: var(--home-section-muted);
}
.rs-home-section-shell.home-section-bg-dark #rs-trust-bar .rs2-trust-value {
    color: var(--home-section-icon);
}
.rs-home-section-shell.home-section-bg-dark #rs-trust-bar .rs2-trust-icon {
    background: var(--home-section-accent-soft);
    color: var(--home-section-icon);
}

@media (max-width: 767px) {
    .rs2-trust-item {
        flex-direction: column;
        padding: 20px 16px;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .rs2-trust-grid {
        grid-template-columns: 1fr 1fr;
    }
}

#rs-testimonial .testi-desc {
    padding: 30px 16px;
}

/* Testimonials / reviews dark shell */
.rs-home-section-shell.home-section-bg-dark #rs-testimonial {
    background: var(--home-section-bg) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-testimonial .testimonial-item,
.rs-home-section-shell.home-section-bg-dark #rs-testimonial .testi-desc {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
}

.rs-home-section-shell.home-section-bg-dark #rs-testimonial .testi-name,
.rs-home-section-shell.home-section-bg-dark #rs-testimonial .testi-name a {
    color: var(--home-section-heading) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-testimonial .testi-desc,
.rs-home-section-shell.home-section-bg-dark #rs-testimonial .testi-desc p,
.rs-home-section-shell.home-section-bg-dark #rs-testimonial .testi-desc p * {
    color: var(--home-section-muted) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-testimonial .testi-desc a {
    color: var(--home-section-link) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-testimonial .testi-desc a:hover,
.rs-home-section-shell.home-section-bg-dark #rs-testimonial .testi-desc a:focus {
    color: var(--home-section-link-hover) !important;
}

/* ── Blog / News section ─────────────────── */

#rs-latest-news .sec-title h2 {
    color: var(--home-section-heading, var(--heading-color, var(--text-color)));
}

#rs-latest-news .sec-title .desc {
    color: var(--home-section-text, var(--text-muted-color));
}

/* Featured card */
#rs-latest-news .news-normal-block {
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md, 8px);
    height: 100%;
    overflow: hidden;
    padding: 16px;
    transition: background 0.3s, border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}

#rs-latest-news .news-normal-block:hover {
    background: var(--theme-action-color);
    border-color: var(--theme-action-color);
    box-shadow: var(--shadow-md, 0 4px 16px rgba(0,0,0,0.10));
    transform: translateY(-4px);
}

#rs-latest-news .news-normal-block .news-img {
    border-radius: 6px;
    margin-bottom: 16px;
    overflow: hidden;
}

#rs-latest-news .news-normal-block .news-img img {
    display: block;
    height: 260px;
    object-fit: cover;
    transition: transform 0.4s ease;
    width: 100%;
}

#rs-latest-news .news-normal-block .news-img:hover img {
    transform: scale(1.04);
}

#rs-latest-news .news-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

#rs-latest-news .news-normal-block .news-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
}

#rs-latest-news .news-normal-block .news-title a {
    color: var(--text-color);
    text-decoration: none;
}

#rs-latest-news .news-normal-block .news-title a:hover {
    color: var(--theme-action-color);
}

#rs-latest-news .news-normal-block .news-desc p {
    color: var(--text-muted-color, var(--text-color));
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 0;
}

#rs-latest-news .news-normal-block:hover .news-title a,
#rs-latest-news .news-normal-block:hover .news-date,
#rs-latest-news .news-normal-block:hover .news-date .fa,
#rs-latest-news .news-normal-block:hover .rs-news-type-badge {
    color: var(--theme-action-contrast-color) !important;
}

#rs-latest-news .news-normal-block:hover .news-desc p {
    color: color-mix(in srgb, var(--theme-action-contrast-color), transparent 22%) !important;
}

#rs-latest-news .news-normal-block .news-action {
    margin-top: 16px;
}

/* List cards */
#rs-latest-news .news-list-block {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#rs-latest-news .news-list-item {
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md, 8px);
    display: flex;
    gap: 14px;
    padding: 14px;
    transition: background 0.3s, border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}

#rs-latest-news .news-list-item:last-child {
    border-bottom: 1px solid var(--border-color);
}

#rs-latest-news .news-list-item:hover {
    background: var(--theme-action-color);
    border-color: var(--theme-action-color);
    box-shadow: var(--shadow-md, 0 4px 16px rgba(0,0,0,0.10));
    transform: translateY(-4px);
}

#rs-latest-news .news-list-item .news-img {
    border-radius: 6px;
    flex-shrink: 0;
    height: 80px;
    overflow: hidden;
    width: 100px;
}

#rs-latest-news .news-list-item .news-img img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

#rs-latest-news .news-list-item .news-content {
    flex: 1;
    min-width: 0;
}

#rs-latest-news .news-list-item .news-title {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 6px;
}

#rs-latest-news .news-list-item .news-title a {
    color: var(--text-color);
    text-decoration: none;
}

#rs-latest-news .news-list-item .news-title a:hover {
    color: var(--theme-action-color);
}

#rs-latest-news .news-list-item .news-desc p {
    color: var(--text-muted-color, var(--text-color));
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 0;
}

#rs-latest-news .news-list-item:hover .news-title a,
#rs-latest-news .news-list-item:hover .news-date,
#rs-latest-news .news-list-item:hover .news-date .fa {
    color: var(--theme-action-contrast-color) !important;
}

#rs-latest-news .news-list-item:hover .news-desc p {
    color: color-mix(in srgb, var(--theme-action-contrast-color), transparent 22%) !important;
}

/* Shared: date */
#rs-latest-news .news-date {
    color: var(--text-muted-color);
    font-size: 13px;
}

#rs-latest-news .news-date .fa {
    color: var(--theme-structure-color);
    margin-right: 4px;
}

/* News type badge — inline with meta row */
.rs-news-type-badge {
    background: transparent;
    border-radius: 0;
    color: var(--theme-action-color);
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 0;
    text-transform: uppercase;
}

.rs-news-badge--news,
.rs-news-badge--article {
    background: transparent;
    color: var(--primary-color);
}

/* View all link */
.rs-blog-view-all-wrap {
    margin-bottom: 56px !important;
}


/* News section tabs */
.rs-news-tabs-wrap {
    display: flex;
    justify-content: center;
}

.rs-news-tabs {
    background: var(--home-section-alt-bg, #f4f6f9);
    border-radius: 50px;
    display: inline-flex;
    gap: 4px;
    list-style: none;
    margin: 0 auto;
    padding: 4px;
}

.rs-news-tabs .nav-item {
    margin: 0;
}

.rs-news-tab-link {
    border-radius: 50px;
    color: var(--home-section-text, var(--text-color));
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 26px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}

.rs-news-tab-link:hover,
.rs-news-tab-link:focus {
    border: none;
    color: var(--primary-color);
    outline: none;
    text-decoration: none;
}

.rs-news-tab-link.active,
.rs-news-tab-link.active:hover,
.rs-news-tab-link.active:focus {
    background: var(--primary-color);
    border: none;
    color: var(--primary-contrast-color);
}

@media (max-width: 575px) {
    .rs-news-tabs { border-radius: 10px; }
    .rs-news-tab-link { border-radius: 8px; font-size: 13px; padding: 7px 16px; }
}

/* No-image placeholder */
.rs-news-no-img,
.rs-news-thumb-no-img {
    align-items: center;
    background: var(--bg-alt-color, #f4f6f9);
    color: var(--text-muted-color);
    display: flex;
    justify-content: center;
}

.rs-news-no-img { aspect-ratio: 16/9; font-size: 36px; }
.rs-news-thumb-no-img { aspect-ratio: 1; font-size: 24px; width: 100%; }

/* ── News / Blog dark mode ───────────────── */
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .sec-title h2 {
    color: var(--home-section-heading) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-normal-block {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
    overflow: hidden;
    padding: 16px;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-normal-block .news-img {
    margin-left: -16px;
    margin-right: -16px;
    margin-top: -16px;
    border-radius: 10px 10px 0 0;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-list-item {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
    padding: 12px;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-normal-block:hover,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-list-item:hover {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
    box-shadow: none;
    transform: none;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .sec-title .desc {
    color: var(--home-section-muted) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-normal-block .news-title a,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-list-item .news-title a {
    color: var(--home-section-heading) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-normal-block .news-title a:hover,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-list-item .news-title a:hover {
    color: var(--theme-highlight-color) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .rs-news-type-badge {
    color: var(--home-section-icon) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-date {
    color: var(--home-section-muted) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-normal-block .news-desc p,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-list-item .news-desc p {
    color: var(--home-section-muted) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-normal-block:hover .news-title a,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-list-item:hover .news-title a {
    color: var(--home-section-heading) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-normal-block:hover .news-date,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-normal-block:hover .news-date .fa,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-list-item:hover .news-date,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-list-item:hover .news-date .fa {
    color: var(--home-section-muted) !important;
}

.rs-home-section-shell.home-section-bg-dark .rs-news-tabs {
    background: var(--home-section-alt-bg);
}

.rs-home-section-shell.home-section-bg-dark .rs-news-tab-link {
    color: var(--home-section-muted);
}

.rs-home-section-shell.home-section-bg-dark .rs-news-tab-link.active {
    background: var(--home-section-accent-bg);
    color: var(--home-section-accent-contrast);
}

.rs-home-section-shell.home-section-bg-dark #rs-latest-news .rs-news-no-img,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .rs-news-thumb-no-img {
    background: var(--home-section-surface);
    color: var(--home-section-muted);
}

/* ═══════════════════════════════════════
   Blog
═══════════════════════════════════════ */
.rs2-blog-grid {
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(3, 1fr);
}

.rs2-blog-card--hidden {
    display: none;
}

.rs2-blog-card {
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg, 12px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow 0.3s;
}

.rs2-blog-card:hover {
    box-shadow: var(--shadow-md);
}

.rs2-blog-card-img {
    display: block;
    overflow: hidden;
    position: relative;
}

.rs2-blog-card-img img {
    aspect-ratio: 16/9;
    display: block;
    object-fit: cover;
    transition: transform 0.45s ease;
    width: 100%;
}

.rs2-blog-card:hover .rs2-blog-card-img img {
    transform: scale(1.04);
}

.rs2-blog-card-placeholder {
    align-items: center;
    aspect-ratio: 16/9;
    background: var(--bg-alt-color);
    color: var(--text-muted-color);
    display: flex;
    font-size: 36px;
    justify-content: center;
}

.rs2-blog-type-badge {
    background: var(--theme-structure-color);
    border-radius: 3px;
    color: var(--theme-structure-contrast-color);
    font-size: 11px;
    font-weight: 700;
    left: 14px;
    padding: 3px 10px;
    position: absolute;
    text-transform: uppercase;
    top: 14px;
}

.rs2-blog-type-badge--news    { background: var(--accent-color); color: #fff; }
.rs2-blog-type-badge--article { background: var(--primary-color); color: var(--primary-contrast-color); }

.rs2-blog-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px 22px;
}

.rs2-blog-card-meta {
    color: var(--text-muted-color);
    display: flex;
    font-size: 12px;
    gap: 12px;
    margin-bottom: 10px;
}

.rs2-blog-card-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
}

.rs2-blog-card-title a {
    color: var(--heading-color, var(--text-color));
    text-decoration: none;
    transition: color 0.2s;
}

.rs2-blog-card-title a:hover {
    color: var(--primary-color);
}

.rs2-blog-card-excerpt {
    color: var(--text-muted-color);
    flex: 1;
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 16px;
}

.rs2-blog-card-link {
    align-items: center;
    color: var(--primary-color);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 6px;
    text-decoration: none;
    transition: gap 0.2s;
}

.rs2-blog-card-link:hover {
    gap: 10px;
    text-decoration: none;
}

.rs2-blog-empty {
    color: var(--text-muted-color);
    margin: 24px 0;
    text-align: center;
}

@media (max-width: 991px) {
    .rs2-blog-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 575px) {
    .rs2-blog-grid { grid-template-columns: 1fr; }
}

/* Management: hover border and designation underline — secondary always */
#rs-team.rs-team {
    padding-bottom: calc(var(--section-py, 80px) + 24px) !important;
}

#rs-team .rs-carousel {
    margin-bottom: 22px;
}

#rs-team .overly-border::before {
    border-top-color: var(--secondary-color);
    border-bottom-color: var(--secondary-color);
}
#rs-team .overly-border::after {
    border-right-color: var(--secondary-color);
    border-left-color: var(--secondary-color);
}
#rs-team .team-item .team-title:after {
    background: var(--secondary-color);
}

/* Management team image proportions */
#rs-team .team-item .team-img img {
    aspect-ratio: 3 / 4;
    height: auto;
    max-height: 280px;
    object-fit: cover;
    object-position: top center;
    width: 100%;
}

.rs-team-no-img {
    align-items: center;
    aspect-ratio: 3 / 4;
    background: color-mix(in srgb, var(--primary-color), transparent 80%);
    display: flex;
    justify-content: center;
    max-height: 280px;
    width: 100%;
}

/* ═══════════════════════════════════════
   Management
═══════════════════════════════════════ */
.rs2-member-card {
    background: var(--surface-color, #fff);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg, 12px);
    box-shadow: var(--shadow-sm);
    height: 100%;
    overflow: hidden;
    position: relative;
    text-align: center;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.rs2-member-card:hover {
    border-color: var(--secondary-color);
    box-shadow: var(--shadow-lg);
    transform: translateY(-6px);
}

.rs2-member-photo-wrap {
    aspect-ratio: 4/5;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.rs2-member-photo-wrap img {
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.45s ease;
    width: 100%;
}

.rs2-member-card:hover .rs2-member-photo-wrap img {
    transform: scale(1.05);
}

.rs2-management-grid > [class*="col-"] {
    margin-bottom: 30px;
}

.rs2-management-grid .rs2-member-info {
    transition: padding-bottom 0.3s ease;
}

.rs2-management-grid .rs2-member-card:hover .rs2-member-info {
    padding-bottom: 22px;
}

.rs2-member-initials {
    align-items: center;
    background: var(--primary-color);
    color: var(--primary-contrast-color);
    display: flex;
    font-size: 42px;
    font-weight: 800;
    height: 100%;
    justify-content: center;
}

.rs2-member-info {
    background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.38) 65%, transparent 100%);
    bottom: 0;
    left: 0;
    padding: 20px 16px 16px;
    position: absolute;
    right: 0;
    text-align: center;
}

.rs2-member-badge {
    background: var(--theme-structure-color);
    border-radius: 3px;
    color: var(--theme-structure-contrast-color);
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 6px;
    padding: 2px 10px;
    text-transform: uppercase;
}

.rs2-member-name {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 4px;
}

.rs2-member-designation {
    color: rgba(255,255,255,0.85);
    font-size: 12px;
    margin: 0;
}

.rs2-member-post {
    color: rgba(255,255,255,0.7);
    font-size: 11px;
    margin: 4px 0 0;
}

/* Management dark mode */
.rs-home-section-shell.home-section-bg-dark .rs2-member-card {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
}

.rs-home-section-shell.home-section-bg-dark #rs-team .sec-title h2 {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark #rs-team .sec-title .desc {
    color: var(--home-section-muted);
}

/* ═══════════════════════════════════════
   Notice Board
═══════════════════════════════════════ */
.rs2-nb-list {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg, 12px);
    max-height: 420px;
    overflow-y: auto;
}

.rs2-nb-item {
    align-items: center;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    gap: 12px;
    padding: 14px 18px;
    transition: background 0.2s;
}

.rs2-nb-item:last-child {
    border-bottom: 0;
}

.rs2-nb-item:hover,
.rs2-nb-item--pinned {
    background: var(--bg-alt-color);
}

.rs2-nb-badge {
    border-radius: 3px;
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    text-transform: uppercase;
    white-space: nowrap;
}

.rs2-nb-badge--primary   { background: color-mix(in srgb, var(--theme-action-color), transparent 88%); color: var(--theme-action-color); }
.rs2-nb-badge--success   { background: var(--theme-status-success-bg); color: var(--theme-status-success-text); }
.rs2-nb-badge--warning   { background: var(--theme-status-warning-bg); color: var(--theme-status-warning-text); }
.rs2-nb-badge--accent    { background: var(--theme-status-danger-bg); color: var(--theme-status-danger-text); }

.rs2-nb-content {
    align-items: center;
    display: flex;
    flex: 1;
    gap: 8px;
    min-width: 0;
}

.rs2-nb-pin {
    color: var(--text-muted-color);
    flex-shrink: 0;
    font-size: 12px;
}

.rs2-nb-new {
    background: var(--accent-color);
    border-radius: 2px;
    color: var(--accent-contrast-color);
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 800;
    padding: 2px 6px;
}

.rs2-nb-title {
    color: var(--text-color);
    font-size: 14px;
    font-weight: 500;
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
    transition: color 0.2s;
    white-space: nowrap;
}

a.rs2-nb-title:hover {
    color: var(--primary-color);
    text-decoration: underline;
}

.rs2-nb-meta {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 10px;
}

.rs2-nb-date {
    color: var(--text-muted-color);
    font-size: 12px;
    white-space: nowrap;
}

.rs2-nb-download {
    color: var(--primary-color);
    font-size: 14px;
    transition: color 0.2s;
}

.rs2-nb-download:hover {
    color: var(--accent-color);
}

@media (max-width: 575px) {
    .rs2-nb-item { flex-wrap: wrap; }
    .rs2-nb-meta { order: 3; width: 100%; }
}

/* ═══════════════════════════════════════
   Industry Partners
═══════════════════════════════════════ */
.rs2-partners-scroll-wrap {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.rs2-partners-scroll-wrap::before,
.rs2-partners-scroll-wrap::after {
    background: linear-gradient(to right, var(--bg-color), transparent);
    content: '';
    height: 100%;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 80px;
    z-index: 1;
}

.rs2-partners-scroll-wrap::after {
    background: linear-gradient(to left, var(--bg-color), transparent);
    right: 0;
}

.rs2-partners-track {
    animation: rs2-partners-marquee 30s linear infinite;
    display: flex;
    gap: 20px;
    width: max-content;
    will-change: transform;
}

.rs2-partners-scroll-wrap:hover .rs2-partners-track {
    animation-play-state: paused;
}

@keyframes rs2-partners-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

.rs2-partner-item {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 130px;
}

.rs2-partner-card {
    align-items: center;
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md, 8px);
    display: flex;
    height: 80px;
    justify-content: center;
    padding: 12px;
    transition: box-shadow 0.2s;
    width: 130px;
}

.rs2-partner-card:hover {
    box-shadow: var(--shadow-sm);
}

.rs2-partner-card img {
    height: 48px;
    max-width: 100%;
    object-fit: contain;
}

.rs2-partner-fallback {
    color: var(--text-muted-color);
    font-size: 18px;
    font-weight: 800;
}

.rs2-partner-name {
    color: var(--text-muted-color);
    font-size: 11px;
    max-width: 120px;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Dark-shell global: sec-title heading/description always readable ── */
.rs-home-section-shell.home-section-bg-dark .sec-title h2,
.rs-home-section-shell.home-section-bg-dark .sec-title-dark h2 {
    color: var(--home-section-heading);
}
.rs-home-section-shell.home-section-bg-dark .sec-title p,
.rs-home-section-shell.home-section-bg-dark .sec-title-dark p {
    color: var(--home-section-muted);
}

/* ── Events: dark-shell overrides ── */
.rs-events-view-all-wrap {
    margin-bottom: 56px !important;
}

#rs-events .event-item {
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md, 8px);
    overflow: hidden;
    transition: background 0.3s, border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}

#rs-events .event-item:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    box-shadow: var(--shadow-md, 0 4px 16px rgba(0,0,0,0.10));
    transform: translateY(-4px);
}

#rs-events .events-details.white-bg {
    background: var(--surface-color) !important;
    border: 0;
    transition: background 0.3s, color 0.3s;
}

#rs-events .event-title a {
    color: var(--text-color);
    text-decoration: none;
}

#rs-events .event-title a:hover {
    color: var(--primary-color);
}

#rs-events .rs-event-excerpt,
#rs-events .event-meta > div,
#rs-events .event-meta span,
#rs-events .event-date {
    color: var(--text-muted-color, var(--text-color));
}

#rs-events .event-date i,
#rs-events .event-meta i {
    color: var(--primary-color);
}

#rs-events .event-item:hover .events-details.white-bg {
    background: var(--theme-action-color) !important;
}

#rs-events .event-item:hover .event-title a,
#rs-events .event-item:hover .event-date,
#rs-events .event-item:hover .event-date span,
#rs-events .event-item:hover .event-date i,
#rs-events .event-item:hover .event-meta > div,
#rs-events .event-item:hover .event-meta span,
#rs-events .event-item:hover .event-meta i {
    color: var(--theme-action-contrast-color) !important;
}

#rs-events .event-item:hover .rs-event-excerpt {
    color: color-mix(in srgb, var(--theme-action-contrast-color), transparent 22%) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-events .events-details.white-bg {
    background: var(--home-section-surface) !important;
    border-color: var(--home-section-border) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-events .event-item {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
}

.rs-home-section-shell.home-section-bg-dark #rs-events .event-item:hover {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
    box-shadow: none;
    transform: none;
}

.rs-home-section-shell.home-section-bg-dark #rs-events .event-item:hover .events-details.white-bg {
    background: var(--home-section-surface) !important;
}
/* Title */
.rs-home-section-shell.home-section-bg-dark #rs-events .event-title a {
    color: var(--home-section-heading);
}
.rs-home-section-shell.home-section-bg-dark #rs-events .event-title a:hover {
    color: var(--home-section-link-hover);
}
/* Date row */
.rs-home-section-shell.home-section-bg-dark #rs-events .event-date {
    color: var(--home-section-muted);
}
.rs-home-section-shell.home-section-bg-dark #rs-events .event-date i {
    color: var(--home-section-icon);
}
.rs-home-section-shell.home-section-bg-dark #rs-events .event-date span {
    color: var(--home-section-text);
}
/* Excerpt */
.rs-home-section-shell.home-section-bg-dark #rs-events .rs-event-excerpt {
    color: var(--home-section-muted);
}
/* Meta */
.rs-home-section-shell.home-section-bg-dark #rs-events .event-meta > div,
.rs-home-section-shell.home-section-bg-dark #rs-events .event-meta span {
    color: var(--home-section-muted);
}
.rs-home-section-shell.home-section-bg-dark #rs-events .event-meta i {
    color: var(--home-section-icon);
}

.rs-home-section-shell.home-section-bg-dark #rs-events .event-item:hover .event-title a {
    color: var(--home-section-heading) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-events .event-item:hover .event-date,
.rs-home-section-shell.home-section-bg-dark #rs-events .event-item:hover .event-date span,
.rs-home-section-shell.home-section-bg-dark #rs-events .event-item:hover .event-meta > div,
.rs-home-section-shell.home-section-bg-dark #rs-events .event-item:hover .event-meta span,
.rs-home-section-shell.home-section-bg-dark #rs-events .event-item:hover .rs-event-excerpt {
    color: var(--home-section-muted) !important;
}

.rs-home-section-shell.home-section-bg-dark #rs-events .event-item:hover .event-date i,
.rs-home-section-shell.home-section-bg-dark #rs-events .event-item:hover .event-meta i {
    color: var(--home-section-icon) !important;
}

/* No-image placeholder */
.rs-home-section-shell.home-section-bg-dark #rs-events .rs-event-no-img {
    background: var(--home-section-surface);
    color: var(--home-section-muted);
}

/* ── Industry Partners: home section overrides ── */

/* Fade edges of the marquee match the shell background */
.rs-home-section-shell .rs2-partners-scroll-wrap::before {
    background: linear-gradient(to right, var(--home-section-bg), transparent);
}
.rs-home-section-shell .rs2-partners-scroll-wrap::after {
    background: linear-gradient(to left, var(--home-section-bg), transparent);
}

/* Logo cards inside #rs-partner — square, image fills the whole card */
#rs-partner .rs2-partner-item {
    width: 130px;
}
#rs-partner .rs2-partner-card {
    width: 130px;
    height: 130px;
    padding: 0;
    overflow: hidden;
    border-radius: var(--border-radius-md, 8px);
}
#rs-partner .rs2-partner-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* On dark shell: cards use shell surface/border tokens */
.rs-home-section-shell.home-section-bg-dark #rs-partner .rs2-partner-card {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
}
.rs-home-section-shell.home-section-bg-dark #rs-partner .rs2-partner-fallback {
    color: var(--home-section-muted);
}

/* ═══════════════════════════════════════
   Toppers
═══════════════════════════════════════ */
.rs2-toppers-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.rs2-topper-card.rs2-topper-card--hidden {
    display: none;
}

.rs2-topper-card {
    align-items: stretch;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--theme-structure-color), transparent 94%), transparent 42%),
        var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    display: flex;
    gap: 16px;
    min-height: 154px;
    overflow: hidden;
    padding: 16px;
    position: relative;
    text-align: left;
    transition: box-shadow 0.25s, transform 0.25s;
}

.rs2-topper-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}

.rs2-topper-card--gold   { border-left: 4px solid var(--secondary-color); }
.rs2-topper-card--silver { border-left: 4px solid var(--color-medal-silver, #adb5bd); }
.rs2-topper-card--bronze { border-left: 4px solid var(--color-medal-bronze, #cd7f32); }

.rs2-topper-rank {
    left: 14px;
    position: absolute;
    top: 14px;
    z-index: 1;
}

.rs2-topper-rank span {
    background: var(--theme-highlight-color);
    border-radius: 4px;
    color: var(--theme-highlight-contrast-color);
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    padding: 7px 9px;
    text-transform: uppercase;
}

.rs2-topper-course {
    color: var(--text-muted-color);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 3px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rs2-topper-photo {
    align-self: center;
    border: 3px solid color-mix(in srgb, var(--theme-structure-color), transparent 78%);
    border-radius: 8px;
    flex: 0 0 96px;
    height: 112px;
    overflow: hidden;
    width: 96px;
}

.rs2-topper-photo img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.rs2-topper-initials {
    align-items: center;
    background: var(--theme-structure-color);
    color: var(--theme-structure-contrast-color);
    display: flex;
    font-size: 24px;
    font-weight: 800;
    height: 100%;
    justify-content: center;
}

.rs2-topper-info {
    align-self: center;
    min-width: 0;
    padding-top: 22px;
    width: 100%;
}

.rs2-topper-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.rs2-topper-meta span {
    background: color-mix(in srgb, var(--theme-structure-color), transparent 90%);
    border: 1px solid color-mix(in srgb, var(--theme-structure-color), transparent 78%);
    border-radius: var(--border-radius-pill, 999px);
    color: var(--text-color);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    padding: 7px 9px;
}

.rs2-topper-desc {
    color: var(--text-muted-color);
    font-size: 13px;
    line-height: 1.6;
    margin-top: 10px;
}

.rs2-topper-name {
    color: var(--heading-color, var(--text-color));
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rs2-toppers-head {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
    text-align: center;
}

.rs2-toppers-head > div {
    max-width: 720px;
}

.rs2-toppers-head h2 {
    color: var(--home-section-heading, var(--heading-color, var(--text-color)));
    font-size: 34px;
    font-weight: 800;
    line-height: 1.18;
    margin: 6px 0 10px;
}

.rs2-toppers-head .desc {
    color: var(--home-section-muted, var(--text-muted-color));
    line-height: 1.7;
    margin: 0;
}

.rs2-toppers-year {
    color: var(--theme-highlight-color);
    font-size: 13px;
    font-weight: 800;
    margin: 10px 0 0;
}

.rs-home-section-shell.home-section-bg-dark #rs-toppers .rs2-toppers-head h2 {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark #rs-toppers .rs2-toppers-head .desc {
    color: var(--home-section-muted);
}

.rs2-toppers-tabs-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 36px;
}

.rs-toppers .rs2-toppers-tabs {
    background: var(--home-section-alt-bg, #f4f6f9);
    border-radius: 50px;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: center;
    padding: 4px;
}

.rs-toppers .rs2-toppers-tab {
    background: transparent;
    border: none;
    border-radius: 50px;
    color: var(--home-section-text, var(--text-color));
    font-size: 14px;
    padding: 8px 26px;
}

.rs-toppers .rs2-toppers-tab:hover,
.rs-toppers .rs2-toppers-tab:focus,
.rs-toppers .rs2-toppers-tab--active {
    background: var(--theme-action-color);
    border-color: transparent;
    color: var(--theme-action-contrast-color);
}

.rs-home-section-shell.home-section-bg-dark #rs-toppers .rs2-toppers-tabs {
    background: var(--home-section-alt-bg);
}

.rs-home-section-shell.home-section-bg-dark #rs-toppers .rs2-toppers-tab {
    color: var(--home-section-muted);
}

.rs-home-section-shell.home-section-bg-dark #rs-toppers .rs2-toppers-tab--active,
.rs-home-section-shell.home-section-bg-dark #rs-toppers .rs2-toppers-tab:hover,
.rs-home-section-shell.home-section-bg-dark #rs-toppers .rs2-toppers-tab:focus {
    background: var(--home-section-accent-bg);
    color: var(--home-section-accent-contrast);
}

.rs2-toppers-empty {
    background: var(--surface-color);
    border: 1px dashed var(--border-color);
    border-radius: 8px;
    color: var(--text-muted-color);
    padding: 34px 22px;
    text-align: center;
}

.rs2-toppers-empty i {
    color: var(--theme-highlight-color);
    font-size: 30px;
    margin-bottom: 12px;
}

.rs2-toppers-empty h4 {
    color: var(--heading-color, var(--text-color));
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 6px;
}

.rs2-toppers-empty p {
    margin: 0;
}

@media (max-width: 575px) {
    .rs2-toppers-head {
        align-items: center;
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }

    .rs2-toppers-head h2 {
        font-size: 27px;
    }

    .rs2-toppers-grid {
        grid-template-columns: 1fr;
    }

    .rs2-topper-card {
        min-height: 0;
    }
}

/* ═══════════════════════════════════════
   Success Stories
═══════════════════════════════════════ */
.rs2-stories-carousel {
    overflow: hidden;
    position: relative;
}

.rs2-stories-track-wrap {
    overflow: hidden;
}

.rs2-stories-track {
    display: flex;
    gap: 24px;
}

.rs2-story-card {
    align-items: center;
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg, 12px);
    display: flex;
    flex: 0 0 calc((100% - 48px) / 3);
    gap: 18px;
    padding: 24px;
    text-decoration: none;
    transition: box-shadow 0.3s, transform 0.3s;
}

.rs2-story-card:hover {
    box-shadow: var(--shadow-md);
    text-decoration: none;
    transform: translateY(-4px);
}

.rs2-story-photo {
    border-radius: 50%;
    flex-shrink: 0;
    height: 80px;
    overflow: hidden;
    position: relative;
    width: 80px;
}

.rs2-story-photo img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.rs2-story-initials {
    align-items: center;
    background: var(--primary-color);
    color: var(--primary-contrast-color);
    display: flex;
    font-size: 28px;
    font-weight: 800;
    height: 100%;
    justify-content: center;
}

.rs2-story-badge {
    align-items: center;
    background: var(--theme-structure-color);
    border: 2px solid var(--surface-color);
    border-radius: 50%;
    bottom: 0;
    color: var(--theme-structure-contrast-color);
    display: flex;
    font-size: 10px;
    height: 22px;
    justify-content: center;
    position: absolute;
    right: 0;
    width: 22px;
}

.rs2-story-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.rs2-story-name {
    color: var(--heading-color, var(--text-color));
    font-size: 15px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rs2-story-achievement {
    color: var(--text-muted-color);
    font-size: 13px;
    line-height: 1.4;
}

.rs2-story-company {
    color: var(--theme-action-color);
    font-size: 12px;
    font-weight: 600;
}

.rs2-stories-arrow {
    align-items: center;
    background: var(--theme-action-color);
    border: none;
    border-radius: 50%;
    color: var(--theme-action-contrast-color);
    cursor: pointer;
    display: flex;
    font-size: 14px;
    height: 40px;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background 0.2s;
    width: 40px;
    z-index: 2;
}

.rs2-stories-arrow:hover { background: var(--theme-highlight-color); }
.rs2-stories-arrow:disabled { background: var(--border-color); cursor: default; }
.rs2-stories-arrow--prev { left: -20px; }
.rs2-stories-arrow--next { right: -20px; }

.rs2-stories-dots {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 24px;
}

.rs2-stories-dot {
    background: var(--border-color);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    height: 10px;
    padding: 0;
    transition: background 0.2s, transform 0.2s;
    width: 10px;
}

.rs2-stories-dot--active {
    background: var(--theme-action-color);
    transform: scale(1.3);
}

@media (max-width: 991px) {
    .rs2-story-card { flex-basis: calc((100% - 24px) / 2); }
}

@media (max-width: 575px) {
    .rs2-story-card { flex-basis: 100%; }
    .rs2-stories-arrow--prev { left: 0; }
    .rs2-stories-arrow--next { right: 0; }
}

/* ═══════════════════════════════════════
   Success Stories – horizontal quote-card
═══════════════════════════════════════ */

/* Horizontal quote card (sized by OWL Carousel) */
.rs2-ss-card {
    display: flex;
    flex-direction: row;
    width: 100%;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--theme-structure-color), transparent 94%), transparent 42%),
        var(--surface-color);
    border-radius: 16px;
    border: 1px solid var(--home-section-border, var(--border-color, #e2e8f0));
    box-shadow: 0 2px 18px rgba(0, 0, 0, 0.07);
    overflow: hidden;
    text-decoration: none;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.rs2-ss-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-4px);
    text-decoration: none;
}

/* Photo — left column */
.rs2-ss-photo {
    flex: 0 0 38%;
    position: relative;
    overflow: hidden;
    background: var(--theme-action-soft-color);
    min-height: 260px;
}

.rs2-ss-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.rs2-ss-card:hover .rs2-ss-photo img {
    transform: scale(1.04);
}

/* Initials fallback */
.rs2-ss-initials {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 56px;
    font-weight: 800;
    color: var(--theme-action-color);
}

/* Content — right column */
.rs2-ss-content {
    flex: 1;
    padding: 36px 40px 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
}

/* Quote block */
.rs2-ss-quote-wrap {
    flex: 1;
    margin-bottom: 24px;
}

.rs2-ss-open-quote {
    display: block;
    font-size: 72px;
    line-height: 0.8;
    color: var(--theme-action-color);
    font-family: Georgia, 'Times New Roman', serif;
    margin-bottom: 10px;
    opacity: 0.65;
}

.rs2-ss-quote-text {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.6;
    color: var(--home-section-heading, var(--heading-color, var(--text-color)));
    margin: 0 0 12px;
}

.rs2-ss-summary {
    font-size: 14px;
    line-height: 1.75;
    color: var(--home-section-text, var(--text-color));
    margin: 0;
    opacity: 0.82;
}

/* Attribution: divider + two-column row */
.rs2-ss-divider {
    border: none;
    border-top: 1px solid var(--border-color, #e2e8f0);
    margin: 0 0 16px;
}

.rs2-ss-attr-row {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.rs2-ss-person {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.rs2-ss-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--home-section-heading, var(--heading-color, var(--text-color)));
    line-height: 1.3;
}

.rs2-ss-role {
    font-size: 13px;
    color: var(--muted-color, #6b7280);
    line-height: 1.4;
}

.rs2-ss-company-info {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-align: right;
}

.rs2-ss-co-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--home-section-heading, var(--heading-color, var(--text-color)));
    line-height: 1.3;
}

.rs2-ss-grad {
    font-size: 13px;
    color: var(--muted-color, #6b7280);
    line-height: 1.4;
}

/* OWL Carousel nav — left/right, vertically centered */
#rs-success-stories .owl-nav > div {
    opacity: 1 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 2px solid var(--rs2-action-btn-border, var(--theme-action-color));
    background: var(--rs2-action-btn-bg, transparent);
    color: var(--rs2-action-btn-text, var(--theme-action-color));
    font-size: 15px;
    margin-top: -22px;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

#rs-success-stories .owl-nav .owl-prev { left: -54px; }
#rs-success-stories .owl-nav .owl-next { right: -54px; }

#rs-success-stories .owl-nav > div:hover {
    background: var(--rs2-action-btn-hover-bg, var(--theme-action-color));
    border-color: var(--rs2-action-btn-hover-border, var(--theme-action-color));
    color: var(--rs2-action-btn-hover-text, var(--theme-action-contrast-color));
}

#rs-success-stories .owl-nav > div.disabled {
    border-color: var(--border-color);
    background: transparent !important;
    color: var(--border-color) !important;
    cursor: default;
}

/* OWL dots */
#rs-success-stories .owl-dots {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 16px;
}

#rs-success-stories .owl-dots .owl-dot span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--border-color);
    margin: 0;
    transition: background 0.2s, transform 0.2s;
}

#rs-success-stories .owl-dots .owl-dot.active span {
    background: var(--primary-color);
    transform: scale(1.35);
}

/* Dark shell overrides */
.rs-home-section-shell.home-section-bg-dark .rs2-ss-card {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
    box-shadow: none;
}


.rs-home-section-shell.home-section-bg-dark .rs2-ss-divider {
    border-top-color: var(--home-section-border);
}

.rs-home-section-shell.home-section-bg-dark .rs2-ss-summary,
.rs-home-section-shell.home-section-bg-dark .rs2-ss-role,
.rs-home-section-shell.home-section-bg-dark .rs2-ss-grad {
    color: var(--home-section-muted);
}

.rs-home-section-shell.home-section-bg-dark #rs-success-stories .owl-nav > div {
    border-color: var(--rs2-action-dark-border, var(--home-section-cta-border));
    background: var(--rs2-action-dark-bg, transparent);
    color: var(--rs2-action-dark-text, var(--home-section-cta-bg));
}

.rs-home-section-shell.home-section-bg-dark #rs-success-stories .owl-nav > div:hover {
    background: var(--rs2-action-dark-hover-bg, var(--home-section-cta-bg));
    border-color: var(--rs2-action-dark-hover-border, var(--home-section-cta-border));
    color: var(--rs2-action-dark-hover-text, var(--home-section-cta-text));
}

.rs-home-section-shell.home-section-bg-dark #rs-success-stories .owl-dots .owl-dot span {
    background: var(--home-section-border);
}

.rs-home-section-shell.home-section-bg-dark #rs-success-stories .owl-dots .owl-dot.active span {
    background: var(--primary-color);
}

/* View All button: secondary colours on dark shell */
.rs-home-section-shell.home-section-bg-dark #rs-success-stories .rs2-btn-primary {
    background:  var(--home-section-accent-bg) ;
    border-color: var(--home-section-accent-bg);
    color:  var(--home-section-accent-contrast)  !important;
}
.rs-home-section-shell.home-section-bg-dark #rs-success-stories .rs2-btn-primary:hover,
.rs-home-section-shell.home-section-bg-dark #rs-success-stories .rs2-btn-primary:focus {
    background:  transparent ;
    color:  var(--home-section-icon)  !important;
}

/* Responsive */
@media (max-width: 767px) {
    .rs2-ss-photo { flex: 0 0 42%; }
    .rs2-ss-content { padding: 24px 24px 20px; }
    .rs2-ss-quote-text { font-size: 15px; }
}

@media (max-width: 575px) {
    .rs2-ss-card { flex-direction: column; }
    .rs2-ss-photo { flex: none; width: 100%; min-height: 200px; height: 200px; }
    .rs2-ss-content { padding: 20px 18px 18px; }
    .rs2-ss-quote-text { font-size: 14px; }
    .rs2-ss-attr-row { flex-direction: column; gap: 12px; }
    .rs2-ss-company-info { text-align: left; }
}

/* ═══════════════════════════════════════
   Departments Section
═══════════════════════════════════════ */

#rs-courses-2 .cource-item {
    border-color: var(--border-color);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--theme-structure-color), transparent 94%), transparent 42%),
        var(--surface-color);
    border-radius: var(--border-radius-md, 8px);
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.07);
    overflow: hidden;
    transition: box-shadow 0.3s, transform 0.3s;
}
#rs-courses-2 .cource-item:hover {
    box-shadow: var(--shadow-md, 0 4px 16px rgba(0,0,0,0.10));
    transform: translateY(-4px);
}
#rs-courses-2 .cource-item:hover .course-body,
#rs-facilities .cource-item:hover .course-body {
    background-color: transparent;
}
#rs-courses-2 .cource-item:hover .course-body .course-title a,
#rs-facilities .cource-item:hover .course-body .course-title a {
    color: var(--text-color);
}
#rs-courses-2 .cource-item:hover .course-body p,
#rs-facilities .cource-item:hover .course-body p {
    color: var(--text-muted-color, var(--text-color));
}
#rs-courses-2 .course-category {
    color: var(--theme-action-color);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}
#rs-courses-2 .course-category:hover {
    color: var(--theme-structure-color);
    text-decoration: none;
}
#rs-courses-2 .course-title a {
    color: var(--text-color);
    text-decoration: none;
}
#rs-courses-2 .course-desc p {
    color: var(--text-muted-color, var(--text-color));
}
#rs-courses-2 .rs-dept-view-all {
    color: var(--theme-action-color);
    font-weight: 600;
    text-decoration: none;
}
#rs-courses-2 .rs-dept-view-all:hover {
    color: var(--theme-structure-color);
}
.rs-dept-no-img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 4 / 3;
    background: color-mix(in srgb, var(--theme-action-color), transparent 85%);
    text-decoration: none;
}
.rs-dept-no-img span {
    color: var(--theme-action-color);
    font-size: 2.5rem;
    font-weight: 800;
}

/* Dark shell overrides */
.rs-home-section-shell.home-section-bg-dark #rs-courses-2 .cource-item {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
    box-shadow: none;
}
.rs-home-section-shell.home-section-bg-dark #rs-courses-2 .cource-item:hover {
    background: var(--theme-action-color);
    border-color: var(--theme-action-color);
}
.rs-home-section-shell.home-section-bg-dark #rs-courses-2 .cource-item:hover .course-body,
.rs-home-section-shell.home-section-bg-dark #rs-facilities .cource-item:hover .course-body {
    background-color: transparent;
}
.rs-home-section-shell.home-section-bg-dark #rs-courses-2 .cource-item:hover .course-title a,
.rs-home-section-shell.home-section-bg-dark #rs-facilities .cource-item:hover .course-title a {
    color: var(--theme-action-contrast-color);
}
.rs-home-section-shell.home-section-bg-dark #rs-courses-2 .cource-item:hover .course-desc p,
.rs-home-section-shell.home-section-bg-dark #rs-facilities .cource-item:hover .course-desc p {
    color: color-mix(in srgb, var(--theme-action-contrast-color), transparent 22%);
}
.rs-home-section-shell.home-section-bg-dark #rs-courses-2 .course-category {
    color: var(--home-section-icon);
}
.rs-home-section-shell.home-section-bg-dark #rs-courses-2 .course-title a {
    color: var(--home-section-heading);
}
.rs-home-section-shell.home-section-bg-dark #rs-courses-2 .course-desc p {
    color: var(--home-section-muted);
}
.rs-home-section-shell.home-section-bg-dark .rs-dept-no-img {
    background: var(--home-section-accent-soft);
}
.rs-home-section-shell.home-section-bg-dark .rs-dept-no-img span {
    color: var(--home-section-icon);
}

/* ═══════════════════════════════════════
   Facilities Section
═══════════════════════════════════════ */

/* Card base — replaces hardcoded #ddd border */
#rs-facilities .cource-item {
    border-color: var(--border-color);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--theme-structure-color), transparent 94%), transparent 42%),
        var(--surface-color);
    border-radius: var(--border-radius-md, 8px);
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.07);
    overflow: hidden;
    transition: box-shadow 0.3s, transform 0.3s;
}
#rs-facilities .cource-item:hover {
    box-shadow: var(--shadow-md, 0 4px 16px rgba(0,0,0,0.10));
    transform: translateY(-4px);
}

/* Category badge */
#rs-facilities .course-category {
    color: var(--theme-action-color);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}
#rs-facilities .course-category:hover {
    color: var(--theme-structure-color);
    text-decoration: none;
}

/* Title */
#rs-facilities .course-title a {
    color: var(--text-color);
}
#rs-facilities .course-title a:hover {
    color: var(--primary-color);
    text-decoration: none;
}

/* Description */
#rs-facilities .course-desc p {
    color: var(--text-muted-color, var(--text-color));
}

/* View All link */
#rs-facilities .rs-facilities-view-all {
    color: var(--primary-color);
    font-weight: 600;
    text-decoration: none;
}
#rs-facilities .rs-facilities-view-all:hover {
    color: var(--secondary-color);
}

/* No-image fallback */
.rs-facility-no-img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 4 / 3;
    background: color-mix(in srgb, var(--primary-color), transparent 85%);
    text-decoration: none;
}
.rs-facility-no-img span {
    color: var(--primary-color);
    font-size: 2.5rem;
    font-weight: 800;
}

/* ── Dark shell overrides ── */
.rs-home-section-shell.home-section-bg-dark #rs-facilities .cource-item {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
    box-shadow: none;
}
.rs-home-section-shell.home-section-bg-dark #rs-facilities .cource-item:hover {
    background: var(--theme-action-color);
    border-color: var(--theme-action-color);
}
.rs-home-section-shell.home-section-bg-dark #rs-facilities .cource-item:hover .course-title a {
    color: var(--theme-action-contrast-color);
}
.rs-home-section-shell.home-section-bg-dark #rs-facilities .cource-item:hover .course-desc p {
    color: color-mix(in srgb, var(--theme-action-contrast-color), transparent 22%);
}
}
.rs-home-section-shell.home-section-bg-dark #rs-facilities .course-category {
    color: var(--home-section-icon);
}
.rs-home-section-shell.home-section-bg-dark #rs-facilities .course-category:hover {
    color: var(--home-section-link-hover);
    opacity: 0.8;
}
.rs-home-section-shell.home-section-bg-dark #rs-facilities .course-title a {
    color: var(--home-section-heading);
}
.rs-home-section-shell.home-section-bg-dark #rs-facilities .course-title a:hover {
    color: var(--home-section-link-hover);
}
.rs-home-section-shell.home-section-bg-dark #rs-facilities .course-desc p {
    color: var(--home-section-muted);
}
.rs-home-section-shell.home-section-bg-dark #rs-facilities .rs-facilities-view-all {
    color: var(--home-section-link);
}
.rs-home-section-shell.home-section-bg-dark #rs-facilities .rs-facilities-view-all:hover {
    opacity: 0.8;
}
.rs-home-section-shell.home-section-bg-dark .rs-facility-no-img {
    background: var(--home-section-accent-soft);
}
.rs-home-section-shell.home-section-bg-dark .rs-facility-no-img span {
    color: var(--home-section-icon);
}

/* ═══════════════════════════════════════
   Phase 4 Inner Pages
═══════════════════════════════════════ */

/* ── Shared: eyebrow label ── */
/* Facility Detail */
#mu-single-facility .fac2-wrap {
    --fac-page-bg: var(--bg-color);
    --fac-surface: var(--surface-color, var(--bg-color));
    --fac-surface-alt: var(--bg-alt-color, #f5f7fa);
    --fac-border: var(--border-color);
    --fac-text: var(--text-color);
    --fac-muted: var(--text-muted-color);
    --fac-heading: var(--heading-color);
    --fac-action: var(--theme-action-color);
    --fac-action-contrast: var(--theme-action-contrast-color);
    --fac-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --fac-structure: var(--theme-structure-color);
    --fac-structure-contrast: var(--theme-structure-contrast-color);
    --fac-highlight: var(--theme-highlight-color);
    --fac-highlight-contrast: var(--theme-highlight-contrast-color);
    background: var(--fac-page-bg);
    color: var(--fac-text);
    padding: 56px 0 64px;
}

.fac2-hero {
    background: var(--fac-surface-alt);
    border: 1px solid var(--fac-border);
    border-radius: var(--border-radius-lg, 12px);
    box-shadow: var(--shadow-sm);
    margin-bottom: 32px;
    min-height: 360px;
    overflow: hidden;
    position: relative;
}

.fac2-hero-img,
.fac2-carousel,
.fac2-carousel-viewport,
.fac2-carousel-track,
.fac2-carousel-item,
.fac2-carousel-item img {
    height: 100%;
    width: 100%;
}

.fac2-hero-img,
.fac2-carousel-item img {
    aspect-ratio: 16 / 7;
    display: block;
    object-fit: cover;
}

.fac2-carousel { position: relative; }
.fac2-carousel-viewport { overflow: hidden; }
.fac2-carousel-track { display: flex; transition: transform 0.45s ease; }
.fac2-carousel-item { flex: 0 0 100%; }

.fac2-hero-placeholder {
    align-items: center;
    aspect-ratio: 16 / 7;
    background: linear-gradient(135deg, var(--fac-action-soft), var(--fac-surface-alt));
    color: var(--fac-action);
    display: flex;
    font-size: 56px;
    justify-content: center;
}

.fac2-category-badge {
    background: var(--fac-action);
    border-radius: var(--border-radius-pill, 50px);
    bottom: 18px;
    color: var(--fac-action-contrast);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    left: 18px;
    letter-spacing: 0.4px;
    max-width: calc(100% - 36px);
    padding: 7px 14px;
    position: absolute;
    text-transform: uppercase;
    z-index: 2;
}

.fac2-carousel-btn {
    align-items: center;
    background: color-mix(in srgb, var(--fac-structure) 82%, transparent);
    border: 1px solid color-mix(in srgb, var(--fac-structure-contrast) 30%, transparent);
    border-radius: 50%;
    color: var(--fac-structure-contrast);
    display: flex;
    font-size: 32px;
    height: 42px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background 0.2s ease, color 0.2s ease;
    width: 42px;
    z-index: 3;
}

.fac2-carousel-prev { left: 16px; }
.fac2-carousel-next { right: 16px; }

.fac2-carousel-btn:hover,
.fac2-carousel-btn:focus {
    background: var(--fac-highlight);
    color: var(--fac-highlight-contrast);
}

.fac2-carousel-dots {
    bottom: 18px;
    display: flex;
    gap: 7px;
    position: absolute;
    right: 18px;
    z-index: 3;
}

.fac2-carousel-dot {
    background: color-mix(in srgb, var(--fac-structure-contrast) 58%, transparent);
    border: 0;
    border-radius: 999px;
    height: 8px;
    padding: 0;
    transition: background 0.2s ease, width 0.2s ease;
    width: 8px;
}

.fac2-carousel-dot.is-active,
.fac2-carousel-dot:hover,
.fac2-carousel-dot:focus {
    background: var(--fac-highlight);
    width: 22px;
}

.fac2-content-card,
.fac2-profile-card,
.fac2-rel-card {
    background: var(--fac-surface);
    border: 1px solid var(--fac-border);
    border-radius: var(--border-radius-lg, 12px);
    box-shadow: var(--shadow-sm);
}

.fac2-content-card { padding: 30px; }

.fac2-content-card h1 {
    color: var(--fac-heading);
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1.2;
    margin: 0 0 12px;
}

.fac2-lead {
    color: var(--fac-muted);
    font-size: 16px;
    line-height: 1.75;
    margin: 0;
}

.fac2-divider {
    border: 0;
    border-top: 1px solid var(--fac-border);
    margin: 24px 0;
    opacity: 1;
}

.fac2-rich-text,
.fac2-rich-text p,
.fac2-rich-text li {
    color: var(--fac-text);
    font-size: 14px;
    line-height: 1.85;
}

.fac2-rich-text a {
    color: var(--fac-action);
    font-weight: 600;
}

.fac2-rich-text a:hover,
.fac2-rich-text a:focus { color: var(--fac-highlight); }

.fac2-profile-card { overflow: hidden; }

.fac2-profile-header {
    align-items: center;
    background: var(--fac-structure);
    color: var(--fac-structure-contrast);
    display: flex;
    font-size: 14px;
    font-weight: 700;
    gap: 8px;
    padding: 14px 18px;
}

.fac2-profile-header .fa { color: currentColor; }

.fac2-stat-item {
    border-bottom: 1px solid var(--fac-border);
    padding: 15px 18px;
}

.fac2-stat-item:last-child { border-bottom: 0; }

.fac2-stat-label {
    color: var(--fac-muted);
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.6px;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.fac2-stat-value,
.fac2-location-part {
    color: var(--fac-heading);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.55;
}

.fac2-location-parts { display: grid; gap: 7px; }
.fac2-location-part span { color: var(--fac-muted); font-weight: 600; }

.fac2-related { margin-top: 20px; }
.fac2-section-heading { margin-bottom: 20px; }
.fac2-section-heading h2 {
    color: var(--fac-heading);
    font-size: clamp(20px, 2.4vw, 28px);
    margin: 0;
}

.fac2-rel-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    text-decoration: none;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.fac2-rel-card:hover,
.fac2-rel-card:focus {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
}

.fac2-rel-img {
    background: var(--fac-surface-alt);
    height: 170px;
    overflow: hidden;
}

.fac2-rel-img img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.fac2-rel-placeholder {
    align-items: center;
    background: var(--fac-action-soft);
    color: var(--fac-action);
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.fac2-rel-placeholder .fa {
    font-size: 32px;
}

.fac2-rel-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 6px;
    padding: 16px;
}

.fac2-rel-category {
    color: var(--fac-structure);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.fac2-rel-title {
    color: var(--fac-heading);
    font-size: 16px;
    line-height: 1.35;
    margin: 0;
    transition: color 0.2s ease;
}

.fac2-rel-card:hover .fac2-rel-title,
.fac2-rel-card:focus .fac2-rel-title { color: var(--fac-action); }

.fac2-carousel-btn:focus-visible,
.fac2-carousel-dot:focus-visible,
.fac2-rich-text a:focus-visible,
.fac2-rel-card:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--fac-highlight) 34%, transparent);
    outline-offset: 2px;
}

@media (max-width: 991px) {
    .fac2-hero { min-height: 280px; }
    .fac2-content-card { padding: 24px; }
}

@media (max-width: 575px) {
    #mu-single-facility .fac2-wrap { padding: 36px 0 44px; }
    .fac2-hero {
        border-radius: var(--border-radius-md, 8px);
        min-height: 220px;
    }
    .fac2-hero-img,
    .fac2-carousel-item img,
    .fac2-hero-placeholder { aspect-ratio: 4 / 3; }
    .fac2-category-badge {
        bottom: 12px;
        left: 12px;
        max-width: calc(100% - 24px);
    }
    .fac2-carousel-btn { height: 36px; width: 36px; }
    .fac2-carousel-prev { left: 10px; }
    .fac2-carousel-next { right: 10px; }
    .fac2-carousel-dots { bottom: 12px; right: 12px; }
    .fac2-content-card { padding: 20px; }
}

/* Theme 2 Admissions */
.adm2-courses-shell,
.adm2-page-shell {
    --adm-page-bg: var(--bg-color);
    --adm-surface: var(--surface-color, var(--bg-color));
    --adm-surface-alt: var(--bg-alt-color, #f5f7fa);
    --adm-border: var(--border-color);
    --adm-text: var(--text-color);
    --adm-muted: var(--text-muted-color);
    --adm-heading: var(--heading-color);
    --adm-action: var(--theme-action-color);
    --adm-action-contrast: var(--theme-action-contrast-color);
    --adm-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --adm-structure: var(--theme-structure-color);
    --adm-structure-contrast: var(--theme-structure-contrast-color);
    --adm-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --adm-highlight: var(--theme-highlight-color);
    --adm-highlight-contrast: var(--theme-highlight-contrast-color);
    --adm-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--adm-page-bg);
    color: var(--adm-text);
    padding: 56px 0 64px;
}

.theme2-sticky-sidebar {
    position: sticky;
    top: 96px;
    z-index: 2;
}

.adm2-sidebar-nav {
    background: var(--adm-surface, var(--surface-color));
    border: 1px solid var(--adm-border, var(--border-color));
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.adm2-sidebar-nav-title {
    background: var(--theme-structure-color);
    color: var(--theme-structure-contrast-color);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.3;
    padding: 16px 18px;
}

.adm2-sidebar-nav ul {
    list-style: none;
    margin: 0;
    padding: 8px;
}

.adm2-sidebar-nav li {
    margin: 0;
}

.adm2-sidebar-nav a {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--adm-text, var(--text-color));
    display: flex;
    font-size: 14px;
    font-weight: 700;
    gap: 10px;
    line-height: 1.35;
    min-height: 44px;
    padding: 10px 12px;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.adm2-sidebar-nav a i {
    color: var(--adm-action, var(--theme-action-color));
    flex: 0 0 18px;
    text-align: center;
}

.adm2-sidebar-nav a:hover,
.adm2-sidebar-nav a:focus,
.adm2-sidebar-nav .adm2-nav-active a {
    background: var(--adm-action-soft, var(--theme-action-soft-color));
    border-color: color-mix(in srgb, var(--theme-action-color), transparent 72%);
    color: var(--adm-action, var(--theme-action-color));
    text-decoration: none;
    transform: translateX(2px);
}

.adm2-sidebar-nav .adm2-nav-active a i {
    color: var(--adm-action, var(--theme-action-color));
}

.adm2-type-group {
    margin-bottom: 34px;
}

.adm2-type-group:last-child {
    margin-bottom: 0;
}

.adm2-type-heading {
    align-items: center;
    color: var(--adm-heading);
    display: flex;
    font-size: clamp(22px, 2.2vw, 30px);
    font-weight: 800;
    gap: 12px;
    line-height: 1.2;
    margin: 0 0 18px;
}

.adm2-type-heading::before {
    background: var(--adm-highlight);
    border-radius: 999px;
    content: "";
    flex: 0 0 5px;
    height: 30px;
}

.adm2-course-card {
    background: var(--adm-surface);
    border: 1px solid var(--adm-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.adm2-course-card:hover {
    border-color: color-mix(in srgb, var(--adm-action), transparent 58%);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.adm2-course-img {
    aspect-ratio: 16 / 10;
    background: var(--adm-structure-soft);
    overflow: hidden;
    position: relative;
}

.adm2-course-img img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform .28s ease;
    width: 100%;
}

.adm2-course-card:hover .adm2-course-img img {
    transform: scale(1.04);
}

.adm2-course-badge {
    background: var(--adm-highlight);
    border-radius: 999px;
    bottom: 12px;
    color: var(--adm-highlight-contrast);
    font-size: 12px;
    font-weight: 800;
    left: 12px;
    line-height: 1.2;
    max-width: calc(100% - 24px);
    overflow: hidden;
    padding: 7px 11px;
    position: absolute;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.adm2-course-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 12px;
    padding: 18px;
}

.adm2-course-title {
    color: var(--adm-heading);
    font-size: 19px;
    font-weight: 800;
    line-height: 1.28;
    margin: 0;
}

.adm2-course-title a {
    color: inherit;
    text-decoration: none;
}

.adm2-course-title a:hover,
.adm2-course-title a:focus {
    color: var(--adm-action);
    text-decoration: none;
}

.adm2-course-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.adm2-course-meta li {
    align-items: center;
    background: var(--adm-surface-alt);
    border: 1px solid var(--adm-border);
    border-radius: 999px;
    color: var(--adm-muted);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 6px;
    line-height: 1.2;
    min-height: 28px;
    padding: 6px 9px;
}

.adm2-course-meta i {
    color: var(--adm-action);
}

.adm2-course-desc {
    color: var(--adm-muted);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}

.adm2-course-action {
    margin-top: auto;
    padding-top: 4px;
}

.adm2-course-action .primary-btn {
    align-items: center;
    background: var(--adm-action);
    border: 1px solid var(--adm-action);
    border-radius: 999px;
    color: var(--adm-action-contrast);
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    justify-content: center;
    min-height: 40px;
    padding: 9px 18px;
    text-decoration: none;
}

.adm2-course-action .primary-btn:hover,
.adm2-course-action .primary-btn:focus {
    background: var(--adm-highlight);
    border-color: var(--adm-highlight);
    color: var(--adm-highlight-contrast);
    text-decoration: none;
}

.adm2-content-panel {
    background: var(--adm-surface);
    border: 1px solid var(--adm-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.adm2-panel-header {
    align-items: center;
    background: var(--adm-structure-soft);
    border-bottom: 1px solid var(--adm-border);
    display: flex;
    gap: 12px;
    padding: 18px 22px;
}

.adm2-panel-header > i {
    align-items: center;
    color: var(--adm-action);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 20px;
    justify-content: center;
    line-height: 1;
}

.adm2-panel-header h3 {
    color: var(--adm-heading);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
}

.adm2-panel-body {
    padding: 22px;
}

.adm2-course-block {
    border-bottom: 1px solid var(--adm-border);
    margin-bottom: 22px;
    padding-bottom: 22px;
}

.adm2-course-block:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.adm2-course-block-heading {
    background: var(--adm-action-soft);
    border: 1px solid color-mix(in srgb, var(--adm-action), transparent 76%);
    border-radius: 999px;
    color: var(--adm-action);
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 12px;
    padding: 7px 12px;
}

.adm2-rich-content {
    color: var(--adm-text);
}

.adm2-rich-content :where(p, li) {
    color: var(--adm-text);
}

.adm2-rich-content :where(a) {
    color: var(--adm-action);
}

.adm2-empty,
#mu-admission-courses .text-muted {
    background: var(--adm-surface);
    border: 1px dashed color-mix(in srgb, var(--adm-action), transparent 58%);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    color: var(--adm-muted) !important;
    font-weight: 700;
    margin: 0;
    padding: 34px 20px !important;
}

.adm2-fee-year-block {
    border: 1px solid var(--adm-border);
    border-radius: 8px;
    margin-bottom: 18px;
    overflow: hidden;
}

.adm2-fee-year-header {
    background: var(--adm-action);
    color: var(--adm-action-contrast);
    padding: 14px 18px;
}

.adm2-fee-year-header h4 {
    color: inherit;
    font-size: 18px;
    font-weight: 800;
    margin: 0;
}

.adm2-fee-year-body {
    background: var(--adm-surface);
    padding: 18px;
}

.adm2-fee-table-wrap {
    border: 1px solid var(--adm-border);
    border-radius: 8px;
    overflow-x: auto;
}

.adm2-fee-table {
    background: var(--adm-surface);
    border-collapse: collapse;
    margin: 0;
    min-width: 640px;
    width: 100%;
}

.adm2-fee-table th,
.adm2-fee-table td {
    border-bottom: 1px solid var(--adm-border);
    color: var(--adm-text);
    padding: 12px 14px;
    text-align: left;
}

.adm2-fee-table th {
    background: var(--adm-structure-soft);
    color: var(--adm-heading);
    font-weight: 800;
}

.adm2-fee-table tr:last-child td {
    border-bottom: 0;
}

.adm2-fee-total td {
    background: var(--adm-highlight-soft);
    color: var(--adm-heading);
    font-weight: 800;
}

.adm2-fee-disclaimer {
    background: var(--adm-surface-alt);
    border: 1px solid var(--adm-border);
    border-radius: 8px;
    color: var(--adm-muted);
    font-size: 13px;
    margin-top: 14px;
    padding: 12px 14px;
}

.adm2-sidebar-nav a:focus-visible,
.adm2-course-title a:focus-visible,
.adm2-course-action .primary-btn:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .theme2-sticky-sidebar {
        position: static;
    }

    .adm2-sidebar-nav {
        margin-bottom: 24px;
    }
}

@media (max-width: 767px) {
    .adm2-courses-shell,
    .adm2-page-shell {
        padding: 36px 0 46px;
    }

    .adm2-sidebar-nav ul {
        display: grid;
        gap: 6px;
        grid-template-columns: 1fr;
    }

    .adm2-panel-body,
    .adm2-course-body,
    .adm2-fee-year-body {
        padding: 16px;
    }

    .adm2-course-action .primary-btn {
        width: 100%;
    }
}

/* Theme 2 Document Center */
.doc2-wrap {
    --doc-page-bg: var(--bg-color);
    --doc-surface: var(--surface-color, var(--bg-color));
    --doc-surface-alt: var(--bg-alt-color, #f5f7fa);
    --doc-border: var(--border-color);
    --doc-text: var(--text-color);
    --doc-muted: var(--text-muted-color);
    --doc-heading: var(--heading-color);
    --doc-action: var(--theme-action-color);
    --doc-action-contrast: var(--theme-action-contrast-color);
    --doc-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --doc-structure: var(--theme-structure-color);
    --doc-structure-contrast: var(--theme-structure-contrast-color);
    --doc-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --doc-highlight: var(--theme-highlight-color);
    --doc-highlight-contrast: var(--theme-highlight-contrast-color);
    --doc-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--doc-page-bg);
    color: var(--doc-text);
    padding: 56px 0 64px;
}

.doc2-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 24px;
}

.doc2-page-header h1 {
    color: var(--doc-heading);
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
}

.doc2-count-badge {
    align-items: center;
    background: var(--doc-action-soft);
    border: 1px solid color-mix(in srgb, var(--doc-action), transparent 78%);
    border-radius: 999px;
    color: var(--doc-action);
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    min-height: 34px;
    padding: 7px 14px;
    white-space: nowrap;
}

.doc2-filter-bar {
    align-items: center;
    background: var(--doc-surface);
    border: 1px solid var(--doc-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 22px;
    padding: 16px;
}

.doc2-filter-select-wrap {
    flex: 1 1 260px;
    position: relative;
}

.doc2-filter-select-wrap > i {
    color: var(--doc-action);
    font-size: 16px;
    left: 16px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.doc2-filter-select-wrap label {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0, 0, 0, 0);
}

.doc2-filter-select {
    appearance: none;
    background: var(--doc-surface-alt);
    border: 1px solid var(--doc-border);
    border-radius: 8px;
    color: var(--doc-text);
    font-size: 15px;
    font-weight: 600;
    min-height: 44px;
    padding: 10px 42px 10px 44px;
    width: 100%;
}

.doc2-filter-select-wrap::after {
    border-color: var(--doc-muted) transparent transparent;
    border-style: solid;
    border-width: 6px 5px 0;
    content: "";
    pointer-events: none;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
}

.doc2-filter-btn,
.doc2-action-btn {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.doc2-filter-btn-submit,
.doc2-action-btn--primary {
    background: var(--doc-action);
    border: 1px solid var(--doc-action);
    color: var(--doc-action-contrast);
}

.doc2-filter-btn-reset,
.doc2-action-btn--outline {
    background: var(--doc-surface);
    border: 1px solid color-mix(in srgb, var(--doc-action), transparent 42%);
    color: var(--doc-action);
}

.doc2-filter-btn:hover,
.doc2-action-btn:hover {
    box-shadow: var(--shadow-sm);
    text-decoration: none;
    transform: translateY(-1px);
}

.doc2-filter-btn-submit:hover,
.doc2-action-btn--primary:hover {
    background: var(--doc-highlight);
    border-color: var(--doc-highlight);
    color: var(--doc-highlight-contrast);
}

.doc2-filter-btn-reset:hover,
.doc2-action-btn--outline:hover {
    background: var(--doc-action-soft);
    border-color: var(--doc-action);
    color: var(--doc-action);
}

.doc2-list {
    display: grid;
    gap: 14px;
}

.doc2-row {
    align-items: flex-start;
    background: var(--doc-surface);
    border: 1px solid var(--doc-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    display: grid;
    gap: 16px;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    padding: 18px;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.doc2-row:hover {
    border-color: color-mix(in srgb, var(--doc-action), transparent 58%);
    box-shadow: var(--shadow-md);
    transform: translateY(-1px);
}

.doc2-row-icon {
    align-items: center;
    background: var(--doc-action-soft);
    border: 1px solid color-mix(in srgb, var(--doc-action), transparent 76%);
    border-radius: 8px;
    color: var(--doc-action);
    display: inline-flex;
    font-size: 22px;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.doc2-row-icon--link {
    background: var(--doc-structure-soft);
    border-color: color-mix(in srgb, var(--doc-structure), transparent 76%);
    color: var(--doc-structure);
}

.doc2-row-icon--image {
    background: var(--doc-highlight-soft);
    border-color: color-mix(in srgb, var(--doc-highlight), transparent 76%);
    color: var(--doc-highlight);
}

.doc2-row-content {
    min-width: 0;
}

.doc2-row-top {
    display: grid;
    gap: 6px;
}

.doc2-row-type {
    color: var(--doc-structure);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.2;
    text-transform: uppercase;
}

.doc2-row-title {
    color: var(--doc-heading);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
    overflow-wrap: anywhere;
}

.doc2-row-desc {
    color: var(--doc-muted);
    font-size: 15px;
    line-height: 1.7;
    margin-top: 8px;
}

.doc2-description-toggle {
    background: none;
    border: none;
    color: var(--doc-action);
    cursor: pointer;
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    margin-top: 4px;
    padding: 0;
}

.doc2-description-full {
    color: var(--doc-text);
    font-size: 15px;
    line-height: 1.7;
    margin-top: 8px;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.doc2-description-full p:last-child {
    margin-bottom: 0;
}

.doc2-description-full h1,
.doc2-description-full h2,
.doc2-description-full h3,
.doc2-description-full h4,
.doc2-description-full h5,
.doc2-description-full h6 {
    color: var(--doc-heading);
    line-height: 1.3;
    margin: 18px 0 10px;
}

.doc2-description-full h1:first-child,
.doc2-description-full h2:first-child,
.doc2-description-full h3:first-child,
.doc2-description-full h4:first-child,
.doc2-description-full h5:first-child,
.doc2-description-full h6:first-child {
    margin-top: 0;
}

.doc2-description-full a {
    color: var(--doc-action);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.doc2-description-full ul,
.doc2-description-full ol {
    list-style-position: outside;
    margin: 0 0 14px 22px;
    padding-left: 18px;
}

.doc2-description-full ul {
    list-style-type: disc;
}

.doc2-description-full ol {
    list-style-type: decimal;
}

.doc2-description-full li {
    display: list-item;
    margin-bottom: 6px;
    padding-left: 2px;
}

.doc2-description-full blockquote {
    background: var(--doc-surface-alt);
    border-left: 4px solid var(--doc-action);
    color: var(--doc-heading);
    margin: 16px 0;
    padding: 12px 16px;
}

.doc2-description-full blockquote p:last-child {
    margin-bottom: 0;
}

.doc2-description-full hr {
    border: 0;
    border-top: 1px solid var(--doc-border);
    margin: 20px 0;
}

.doc2-description-full img {
    border-radius: 8px;
    height: auto;
    max-width: 100%;
}

.doc2-description-full figure {
    margin: 16px 0;
}

.doc2-description-full figcaption {
    color: var(--doc-muted);
    font-size: 13px;
    padding-top: 6px;
    text-align: center;
}

.doc2-description-full .table-responsive,
.doc2-description-full figure.table {
    display: block;
    margin: 14px 0;
    max-width: 100%;
    overflow-x: auto;
}

.doc2-description-full table {
    background: var(--doc-surface);
    border: 1px solid var(--doc-border);
    border-collapse: collapse;
    color: var(--doc-text);
    max-width: 100%;
    min-width: 100%;
    width: 100%;
}

.doc2-description-full th,
.doc2-description-full td {
    border: 1px solid var(--doc-border);
    line-height: 1.5;
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}

.doc2-description-full th {
    background: var(--doc-action-soft);
    color: var(--doc-heading);
    font-weight: 800;
}

.doc2-description-full tbody tr:nth-child(even) td {
    background: var(--doc-surface-alt);
}

.doc2-description-full pre,
.doc2-description-full code {
    background: var(--doc-surface-alt);
    border-radius: 4px;
}

.doc2-description-full pre {
    border: 1px solid var(--doc-border);
    line-height: 1.6;
    margin: 14px 0;
    overflow-x: auto;
    padding: 12px 14px;
}

.doc2-description-full code {
    font-size: 0.92em;
    padding: 2px 5px;
}

.doc2-description-full pre code {
    background: transparent;
    padding: 0;
}

.doc2-row-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 12px;
}

.doc2-row-meta-item {
    align-items: center;
    color: var(--doc-muted);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 7px;
}

.doc2-row-meta-item i {
    color: var(--doc-action);
}

.doc2-row-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.doc2-empty {
    background: var(--doc-surface);
    border: 1px dashed color-mix(in srgb, var(--doc-action), transparent 58%);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    color: var(--doc-muted);
    padding: 42px 24px;
    text-align: center;
}

.doc2-empty i {
    color: var(--doc-action);
    font-size: 46px;
}

.doc2-empty h3 {
    color: var(--doc-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.doc2-empty p {
    margin: 0 auto 20px;
    max-width: 560px;
}

.doc2-empty .primary-btn {
    background: var(--doc-action);
    border-color: var(--doc-action);
    color: var(--doc-action-contrast);
}

.doc2-modal[hidden] {
    display: none;
}

.doc2-modal {
    align-items: center;
    background: rgba(0, 0, 0, .72);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 9999;
}

.doc2-modal-dialog {
    background: var(--surface-color, #fff);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    max-height: 92vh;
    overflow: hidden;
    width: min(1100px, 96vw);
}

.doc2-modal-header {
    align-items: center;
    background: var(--theme-structure-color);
    color: var(--theme-structure-contrast-color);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 14px 18px;
}

.doc2-modal-header h3 {
    color: inherit;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0;
    overflow-wrap: anywhere;
}

.doc2-modal-close {
    align-items: center;
    background: transparent;
    border: 1px solid color-mix(in srgb, currentColor, transparent 68%);
    border-radius: 999px;
    color: inherit;
    display: inline-flex;
    flex: 0 0 36px;
    font-size: 18px;
    height: 36px;
    justify-content: center;
    padding: 0;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
    width: 36px;
}

.doc2-modal-close:hover {
    background: var(--theme-highlight-color);
    border-color: var(--theme-highlight-color);
    color: var(--theme-highlight-contrast-color);
}

.doc2-modal-body {
    background: var(--bg-alt-color, #f5f7fa);
    min-height: min(72vh, 760px);
    overflow: auto;
}

.doc2-modal-body iframe {
    border: 0;
    display: block;
    height: min(72vh, 760px);
    width: 100%;
}

.doc2-modal-body img {
    display: block;
    margin: 0 auto;
    max-height: 78vh;
    max-width: 100%;
    object-fit: contain;
}

.doc2-filter-select:focus-visible,
.doc2-filter-btn:focus-visible,
.doc2-action-btn:focus-visible,
.doc2-modal-close:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .doc2-wrap {
        padding: 36px 0 46px;
    }

    .doc2-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .doc2-filter-bar,
    .doc2-row {
        padding: 14px;
    }

    .doc2-filter-btn {
        width: 100%;
    }

    .doc2-row {
        grid-template-columns: 1fr;
    }

    .doc2-row-icon {
        height: 48px;
        width: 48px;
    }

    .doc2-row-actions {
        justify-content: stretch;
        width: 100%;
    }

    .doc2-action-btn {
        flex: 1 1 150px;
    }

    .doc2-modal {
        padding: 10px;
    }
}

.rs2-section-eyebrow {
    color: var(--secondary-color);
    display: block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
    text-transform: uppercase;
}

/* ── Shared: page shells ── */
.rs2-lsi-shell,
.rs2-dpl-shell,
.rs2-facd-shell,
.rs2-partner-dir-shell,
.rs2-mou-shell,
.pd-form-section {
    padding: 70px 0;
}

/* ── Shared: empty state ── */
.rs2-lsi-empty,
.rs2-dpl-empty,
.rs2-partner-dir-empty,
.rs2-mou-empty {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 60px 20px;
    text-align: center;
}

.rs2-lsi-empty > i,
.rs2-dpl-empty > i,
.rs2-partner-dir-empty > i,
.rs2-mou-empty > .rs2-mou-empty-icon {
    color: var(--text-muted-color);
    font-size: 48px;
    margin-bottom: 8px;
}

.rs2-lsi-empty h4,
.rs2-dpl-empty h4,
.rs2-partner-dir-empty h3,
.rs2-mou-empty h3 {
    color: var(--heading-color, var(--text-color));
    font-size: 20px;
    margin: 0;
}

.rs2-lsi-empty p,
.rs2-dpl-empty p,
.rs2-partner-dir-empty p,
.rs2-mou-empty p {
    color: var(--text-muted-color);
    margin: 0;
}

/* ═══════════════════════════════════════
   Leadership Insights
═══════════════════════════════════════ */
.rs2-lsi-list {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.rs2-lsi-row {
    align-items: flex-start;
    display: grid;
    gap: 48px;
    grid-template-columns: 280px 1fr;
}

.rs2-lsi-row--reverse {
    direction: rtl;
}

.rs2-lsi-row--reverse > * {
    direction: ltr;
}

.rs2-lsi-photo,
.rs2-lsi-photo-placeholder {
    border-radius: var(--border-radius-lg, 12px);
    display: block;
    width: 100%;
}

.rs2-lsi-photo {
    aspect-ratio: 3/4;
    object-fit: cover;
    object-position: top center;
}

.rs2-lsi-photo-placeholder {
    align-items: center;
    aspect-ratio: 3/4;
    background: var(--bg-alt-color);
    color: var(--text-muted-color);
    display: flex;
    font-size: 64px;
    justify-content: center;
}

.rs2-lsi-sub-title {
    color: var(--secondary-color);
    font-size: 14px;
    font-style: italic;
    font-weight: 600;
    margin-bottom: 12px;
}

.rs2-lsi-message {
    color: var(--text-color);
    font-size: 15px;
    line-height: 1.75;
    position: relative;
}

.rs2-lsi-message::before {
    color: var(--secondary-color);
    content: '\201C';
    display: block;
    font-family: Georgia, serif;
    font-size: 80px;
    left: 0;
    line-height: 0.6;
    opacity: 0.25;
    position: absolute;
    top: 10px;
}

.rs2-lsi-message p:first-child {
    padding-top: 30px;
}

.rs2-lsi-author {
    border-left: 3px solid var(--secondary-color);
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 24px;
    padding-left: 16px;
}

.rs2-lsi-name {
    color: var(--heading-color, var(--text-color));
    font-size: 16px;
    font-weight: 700;
}

.rs2-lsi-kicker {
    color: var(--text-muted-color);
    font-size: 13px;
}

@media (max-width: 991px) {
    .rs2-lsi-row {
        grid-template-columns: 220px 1fr;
        gap: 32px;
    }
}

@media (max-width: 767px) {
    .rs2-lsi-row {
        direction: ltr;
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .rs2-lsi-photo,
    .rs2-lsi-photo-placeholder {
        aspect-ratio: 4/3;
        max-height: 280px;
        object-fit: cover;
    }
}


/* ═══════════════════════════════════════
   Faculty Details
═══════════════════════════════════════ */
.rs2-facd-hero {
    align-items: stretch;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--theme-structure-color), transparent 93%), transparent 45%),
        var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: 18px;
    box-shadow: var(--shadow-md);
    color: var(--text-color);
    display: flex;
    gap: 0;
    margin-bottom: 48px;
    min-height: 300px;
    overflow: hidden;
}

.rs2-facd-hero-photo {
    background: color-mix(in srgb, var(--theme-structure-color), transparent 78%);
    flex: 0 0 280px;
    overflow: hidden;
    position: relative;
}

.rs2-facd-hero-photo img {
    height: 100%;
    object-fit: cover;
    object-position: top center;
    width: 100%;
}

.rs2-facd-hero-initials {
    align-items: center;
    background: var(--theme-structure-color);
    color: var(--theme-structure-contrast-color, #fff);
    display: flex;
    font-size: 96px;
    font-weight: 800;
    height: 100%;
    justify-content: center;
}

.rs2-facd-hero-body {
    align-self: center;
    padding: 36px 44px;
}

.rs2-facd-hero-kicker {
    background: var(--primary-color);
    border-radius: 5px;
    color: var(--primary-contrast-color, #fff);
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.8px;
    margin-bottom: 14px;
    padding: 6px 12px;
    text-transform: uppercase;
}

.rs2-facd-hero-name {
    color: var(--heading-color, var(--text-color));
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 14px;
}

.rs2-facd-hero-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
}

.rs2-facd-hero-summary span {
    align-items: center;
    color: var(--text-muted-color);
    display: inline-flex;
    font-size: 13px;
    gap: 6px;
}

.rs2-facd-hero-summary i { color: var(--primary-color); }

.rs2-facd-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.rs2-facd-hero-actions a {
    align-items: center;
    border: 1px solid var(--border-color);
    border-radius: 50px;
    color: var(--text-color);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 7px;
    padding: 8px 16px;
}

.rs2-facd-hero-actions a:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--primary-contrast-color, #fff);
}

.rs2-facd-layout {
    display: grid;
    gap: 36px;
    grid-template-columns: minmax(0, 1fr) 330px;
}

.rs2-facd-section {
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 22px;
    padding: 26px 28px;
}

.rs2-facd-section-title {
    align-items: center;
    color: var(--heading-color);
    display: flex;
    font-size: 18px;
    font-weight: 700;
    gap: 12px;
    margin: 0 0 16px;
}

.rs2-facd-section-title span {
    align-items: center;
    background: color-mix(in srgb, var(--primary-color) 9%, transparent);
    border-radius: 9px;
    color: var(--primary-color);
    display: flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
}

.rs2-facd-section-body {
    color: var(--text-color);
    font-size: 14px;
    line-height: 1.8;
}

.rs2-facd-no-content {
    background: var(--surface-color);
    border: 1px dashed var(--border-color);
    border-radius: 14px;
    color: var(--text-muted-color);
    padding: 48px 24px;
    text-align: center;
}

.rs2-facd-no-content i { font-size: 28px; margin-bottom: 10px; }
.rs2-facd-no-content p { margin: 0; }

.rs2-facd-back {
    margin-top: 28px;
}

.rs2-facd-back a {
    align-items: center;
    border: 1px solid var(--border-color);
    border-radius: 50px;
    color: var(--text-color);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    padding: 9px 18px;
    text-decoration: none;
    transition: border-color 0.2s, color 0.2s, gap 0.2s;
}

.rs2-facd-back a:hover {
    border-color: var(--secondary-color);
    color: var(--secondary-color);
    gap: 12px;
    text-decoration: none;
}

.rs2-facd-aside-card {
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    position: sticky;
    top: 90px;
}

.rs2-facd-aside-heading {
    background: var(--secondary-color);
    padding: 20px;
}

.rs2-facd-aside-heading span {
    color: var(--primary-color);
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.rs2-facd-aside-heading h2 {
    color: var(--secondary-contrast-color, #fff);
    font-size: 17px;
    margin: 0;
}

.rs2-facd-info-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rs2-facd-info-row {
    align-items: flex-start;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    gap: 12px;
    padding: 16px 20px;
}

.rs2-facd-info-row:last-child {
    border-bottom: 0;
}

.rs2-facd-info-icon {
    align-items: center;
    background: color-mix(in srgb, var(--secondary-color) 10%, transparent);
    border-radius: 8px;
    color: var(--secondary-color);
    display: flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
}

.rs2-facd-info-label {
    color: var(--text-muted-color);
    font-size: 11px;
    font-weight: 600;
    margin-bottom: 2px;
    text-transform: uppercase;
}

.rs2-facd-info-value {
    color: var(--text-color);
    font-size: 13px;
}

.rs2-facd-info-link {
    color: var(--primary-color);
    font-size: 13px;
    text-decoration: none;
}

.rs2-facd-info-link:hover {
    text-decoration: underline;
}

@media (max-width: 991px) {
    .rs2-facd-layout {
        grid-template-columns: 1fr;
    }

    .rs2-facd-aside-card {
        position: static;
    }
}

@media (max-width: 575px) {
    .rs2-facd-hero {
        flex-direction: column;
        min-height: 0;
    }

    .rs2-facd-hero-photo {
        aspect-ratio: 4 / 3;
        flex-basis: auto;
        width: 100%;
    }

    .rs2-facd-hero-body { padding: 28px 22px; }
    .rs2-facd-section { padding: 22px 20px; }
}

/* ═══════════════════════════════════════
   Event Registration (pd-form-*)
═══════════════════════════════════════ */
.pd-form-section {
    --pd-form-page-bg: var(--bg-color);
    --pd-form-surface: var(--surface-color, var(--bg-color));
    --pd-form-surface-alt: var(--bg-alt-color, #f5f7fa);
    --pd-form-border: var(--border-color);
    --pd-form-text: var(--text-color);
    --pd-form-muted: var(--text-muted-color);
    --pd-form-heading: var(--heading-color);
    --pd-form-action: var(--theme-action-color);
    --pd-form-action-contrast: var(--theme-action-contrast-color);
    --pd-form-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --pd-form-structure: var(--theme-structure-color);
    --pd-form-structure-contrast: var(--theme-structure-contrast-color);
    --pd-form-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --pd-form-highlight: var(--theme-highlight-color);
    --pd-form-highlight-contrast: var(--theme-highlight-contrast-color);
    --pd-form-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--pd-form-page-bg);
    color: var(--pd-form-text);
    padding: 60px 0;
}

.pd-form-layout {
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr 320px;
}

.pd-form-main,
.pd-form-sidebar {
    min-width: 0;
}

.pd-form-sidebar {
    align-self: start;
}

.pd-form-card {
    background: var(--pd-form-surface);
    border: 1px solid var(--pd-form-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 24px;
    overflow: hidden;
}

.pd-form-card-header {
    align-items: center;
    background: var(--pd-form-structure-soft);
    border-bottom: 1px solid var(--pd-form-border);
    color: var(--pd-form-text);
    display: flex;
    gap: 16px;
    padding: 18px 24px;
}

.pd-form-card-header h3 {
    color: var(--pd-form-heading);
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 2px;
}

.pd-form-card-header p {
    color: var(--pd-form-muted);
    font-size: 13px;
    margin: 0;
}

.pd-form-card-icon {
    align-items: center;
    background: var(--pd-form-structure);
    border-radius: 50%;
    color: var(--pd-form-structure-contrast);
    display: flex;
    font-size: 16px;
    flex-shrink: 0;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.pd-form-card-body {
    padding: 24px;
}

.pd-form-grid {
    display: grid;
    gap: 18px;
}

.pd-form-grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.pd-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pd-form-label {
    color: var(--pd-form-heading);
    font-size: 13px;
    font-weight: 800;
}

.pd-form-required {
    color: var(--pd-form-highlight);
}

.pd-form-input,
.pd-form-select,
.pd-form-textarea {
    background: var(--pd-form-surface-alt);
    border: 1px solid var(--pd-form-border);
    border-radius: 8px;
    color: var(--pd-form-text);
    font-family: inherit;
    font-size: 14px;
    min-height: 44px;
    outline: none;
    padding: 10px 14px;
    transition: border-color 0.2s, box-shadow 0.2s;
    width: 100%;
}

.pd-form-input:focus,
.pd-form-select:focus,
.pd-form-textarea:focus {
    background: var(--pd-form-surface);
    border-color: var(--pd-form-action);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pd-form-action), transparent 82%);
}

.pd-form-textarea {
    min-height: 90px;
    resize: vertical;
}

.pd-form-actions {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: flex-end;
}

.pd-form-cancel {
    color: var(--pd-form-muted);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: color 0.2s;
}

.pd-form-cancel:hover {
    color: var(--pd-form-structure);
    text-decoration: none;
}

.pd-form-submit-btn {
    background: var(--pd-form-action);
    border: 1px solid var(--pd-form-action);
    border-radius: 999px;
    color: var(--pd-form-action-contrast);
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    padding: 12px 28px;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;
}

.pd-form-submit-btn:hover {
    background: var(--pd-form-highlight);
    border-color: var(--pd-form-highlight);
    color: var(--pd-form-highlight-contrast);
    transform: translateY(-1px);
}

.pd-form-blocked {
    align-items: center;
    background: var(--pd-form-surface);
    border: 1px dashed color-mix(in srgb, var(--pd-form-highlight), transparent 58%);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 60px 20px;
    text-align: center;
}

.pd-form-blocked-icon {
    color: var(--pd-form-highlight);
    font-size: 52px;
}

.pd-form-blocked h3 {
    color: var(--pd-form-heading);
    font-weight: 800;
    margin: 0;
}

.pd-form-blocked p {
    color: var(--pd-form-muted);
    margin: 0;
}

.pd-form-error-banner {
    background: var(--pd-form-highlight-soft);
    border: 1px solid color-mix(in srgb, var(--pd-form-highlight), transparent 70%);
    border-radius: 8px;
    color: var(--pd-form-highlight);
    font-size: 14px;
    font-weight: 800;
    gap: 10px;
    margin-bottom: 20px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
}

.pd-form-back-link {
    align-items: center;
    color: var(--pd-form-action);
    display: inline-flex;
    font-weight: 800;
    gap: 8px;
    text-decoration: none;
}

.pd-form-back-link:hover,
.pd-form-back-link:focus {
    color: var(--pd-form-structure);
    text-decoration: none;
}

.event-snapshot {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.event-snapshot li {
    align-items: center;
    background: var(--pd-form-surface-alt);
    border: 1px solid var(--pd-form-border);
    border-radius: 8px;
    display: flex;
    font-size: 13px;
    gap: 10px;
    padding: 12px;
}

.event-snapshot li i {
    align-items: center;
    background: var(--pd-form-action-soft);
    border-radius: 999px;
    color: var(--pd-form-action);
    display: inline-flex;
    height: 28px;
    justify-content: center;
    width: 16px;
    min-width: 28px;
    flex-shrink: 0;
}

.event-snapshot li span {
    color: var(--pd-form-muted);
    flex: 1;
    font-weight: 700;
}

.event-snapshot li strong {
    color: var(--pd-form-heading);
    font-weight: 800;
}

@media (max-width: 991px) {
    .pd-form-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .pd-form-grid-2 {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════
   Placement Companies (directory)
═══════════════════════════════════════ */
.rs2-partner-dir-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

.rs2-partner-dir-item {
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg, 12px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    text-align: center;
    transition: box-shadow 0.25s, transform 0.25s;
}

.rs2-partner-dir-item:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
}

.rs2-partner-dir-logo {
    height: 130px;
    overflow: hidden;
    width: 100%;
}

.rs2-partner-dir-logo img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.rs2-partner-dir-logo span {
    align-items: center;
    background: var(--bg-alt-color);
    color: var(--text-muted-color);
    display: flex;
    font-size: 44px;
    font-weight: 800;
    height: 100%;
    justify-content: center;
}

.rs2-partner-dir-item h4 {
    border-top: 1px solid var(--border-color);
    color: var(--heading-color, var(--text-color));
    font-size: 13px;
    font-weight: 600;
    margin: 0;
    padding: 10px 12px;
}

.rs2-partner-dir-pagination {
    margin-top: 40px;
    text-align: center;
}

/* ═══════════════════════════════════════
   Institute MOUs
═══════════════════════════════════════ */
.rs2-mou-table-wrap {
    margin-bottom: 32px;
}

.rs2-mou-table-scroll {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg, 12px);
    overflow-x: auto;
}

.rs2-mou-table {
    border-collapse: collapse;
    font-size: 14px;
    min-width: 700px;
    width: 100%;
}

.rs2-mou-table thead tr {
    background: var(--primary-color);
    color: var(--primary-contrast-color);
}

.rs2-mou-table th {
    font-size: 12px;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.rs2-mou-table td {
    border-bottom: 1px solid var(--border-color);
    padding: 14px 16px;
    vertical-align: middle;
}

.rs2-mou-table tr:last-child td {
    border-bottom: 0;
}

.rs2-mou-table tbody tr:hover {
    background: var(--bg-alt-color);
}

.rs2-mou-num {
    color: var(--text-muted-color);
    font-size: 13px;
    width: 40px;
}

.rs2-mou-name {
    color: var(--text-color);
    font-weight: 600;
    line-height: 1.4;
}

.rs2-mou-ref {
    color: var(--text-muted-color);
    font-size: 12px;
    margin-top: 3px;
}

.rs2-mou-company-cell {
    align-items: center;
    display: flex;
    gap: 10px;
}

.rs2-mou-company-logo {
    border: 1px solid var(--border-color);
    border-radius: 4px;
    height: 30px;
    object-fit: contain;
    width: 50px;
}

.rs2-mou-company-avatar {
    align-items: center;
    background: var(--primary-color);
    border-radius: 4px;
    color: var(--primary-contrast-color);
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    height: 30px;
    justify-content: center;
    width: 34px;
}

.rs2-mou-dept-tag {
    background: color-mix(in srgb, var(--primary-color), transparent 90%);
    border-radius: 3px;
    color: var(--primary-color);
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    white-space: nowrap;
}

.rs2-mou-validity {
    align-items: center;
    display: flex;
    font-size: 13px;
    gap: 6px;
    white-space: nowrap;
}

.rs2-mou-validity-sep {
    color: var(--text-muted-color);
}

.rs2-mou-status {
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    text-transform: uppercase;
    white-space: nowrap;
}

.rs2-mou-status--active  { background: var(--theme-status-success-bg); color: var(--theme-status-success-text); }
.rs2-mou-status--renewed { background: color-mix(in srgb, var(--theme-action-color), transparent 88%); color: var(--theme-action-color); }

.rs2-mou-dash {
    color: var(--text-muted-color);
}

.rs2-mou-doc-link {
    align-items: center;
    color: var(--primary-color);
    display: inline-flex;
    font-size: 13px;
    font-weight: 600;
    gap: 6px;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s;
}

.rs2-mou-doc-link:hover {
    color: var(--accent-color);
    text-decoration: none;
}

.rs2-mou-reset-link {
    align-items: center;
    color: var(--text-muted-color);
    display: inline-flex;
    font-size: 13px;
    gap: 6px;
    margin-top: 8px;
    text-decoration: none;
    transition: color 0.2s;
}

.rs2-mou-reset-link:hover {
    color: var(--accent-color);
    text-decoration: none;
}

/* Theme 2 Gallery Pages */
.img2-wrap,
.vid2-wrap {
    --gallery-page-bg: var(--bg-color);
    --gallery-surface: var(--surface-color, var(--bg-color));
    --gallery-surface-alt: var(--bg-alt-color, #f5f7fa);
    --gallery-border: var(--border-color);
    --gallery-text: var(--text-color);
    --gallery-muted: var(--text-muted-color);
    --gallery-heading: var(--heading-color);
    --gallery-action: var(--theme-action-color);
    --gallery-action-contrast: var(--theme-action-contrast-color);
    --gallery-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --gallery-structure: var(--theme-structure-color);
    --gallery-highlight: var(--theme-highlight-color);
    background: var(--gallery-page-bg);
    color: var(--gallery-text);
    padding: 56px 0 64px;
}

.img2-intro,
.vid2-intro {
    margin: 0 auto 26px;
    max-width: 820px;
    text-align: center;
}

.img2-intro-title,
.vid2-intro-title {
    color: var(--gallery-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.img2-intro-desc,
.vid2-intro-desc {
    color: var(--gallery-muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.img2-filters,
.vid2-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-bottom: 28px;
}

.img2-pill,
.vid2-pill {
    align-items: center;
    background: var(--gallery-surface);
    border: 1px solid var(--gallery-border);
    border-radius: 999px;
    color: var(--gallery-text);
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    justify-content: center;
    line-height: 1.2;
    min-height: 38px;
    padding: 8px 15px;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.img2-pill:hover,
.img2-pill:focus,
.img2-pill.active,
.vid2-pill:hover,
.vid2-pill:focus,
.vid2-pill.active {
    background: var(--gallery-action);
    border-color: var(--gallery-action);
    color: var(--gallery-action-contrast);
    outline: 0;
}

.img2-pill:focus-visible,
.vid2-pill:focus-visible,
.img2-thumb:focus-visible,
.vid2-thumb:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--gallery-highlight), transparent 42%);
    outline-offset: 3px;
}

.img2-grid,
.vid2-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.img2-item,
.vid2-card,
.img2-empty,
.vid2-empty {
    background: var(--gallery-surface);
    border: 1px solid var(--gallery-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.img2-item,
.vid2-card {
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.img2-item:hover,
.vid2-card:hover {
    border-color: color-mix(in srgb, var(--gallery-action), transparent 62%);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.img2-thumb,
.vid2-thumb {
    aspect-ratio: 4 / 3;
    background: var(--gallery-surface-alt);
    display: block;
    overflow: hidden;
    position: relative;
    text-decoration: none;
}

.img2-lb,
.vid2-lb {
    color: inherit;
}

.vid2-thumb {
    aspect-ratio: 16 / 9;
}

.img2-thumb img,
.vid2-thumb img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
    width: 100%;
}

.img2-item:hover .img2-thumb img,
.vid2-card:hover .vid2-thumb img {
    transform: scale(1.04);
}

.img2-overlay,
.vid2-thumb-overlay {
    align-items: center;
    background: color-mix(in srgb, var(--gallery-structure), transparent 34%);
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    position: absolute;
    transition: opacity .25s ease;
}

.img2-overlay-inner {
    align-items: center;
    display: flex;
    justify-content: center;
}

.img2-item:hover .img2-overlay,
.img2-thumb:focus-visible .img2-overlay,
.vid2-card:hover .vid2-thumb-overlay,
.vid2-thumb:focus-visible .vid2-thumb-overlay {
    opacity: 1;
}

.img2-zoom-btn,
.vid2-play {
    align-items: center;
    background: var(--gallery-action);
    border-radius: 999px;
    color: var(--gallery-action-contrast);
    display: inline-flex;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.vid2-play {
    height: 52px;
    padding-left: 3px;
    width: 52px;
}

.img2-caption,
.vid2-caption {
    padding: 15px 16px 17px;
}

.img2-caption-title,
.vid2-caption-title {
    color: var(--gallery-heading);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0;
}

.img2-caption-desc,
.vid2-caption-desc {
    color: var(--gallery-muted);
    display: -webkit-box;
    font-size: 13px;
    line-height: 1.6;
    margin: 7px 0 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.img2-placeholder,
.vid2-placeholder {
    align-items: center;
    background: linear-gradient(135deg, var(--gallery-action-soft), var(--gallery-surface-alt));
    color: var(--gallery-action);
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.vid2-placeholder::before {
    color: var(--gallery-action);
    content: "\f04b";
    font-family: FontAwesome;
    font-size: 34px;
    opacity: .75;
}

.img2-placeholder-icon {
    color: var(--gallery-action);
    font-size: 34px;
    opacity: .55;
}

.img2-empty,
.vid2-empty {
    color: var(--gallery-muted);
    margin: 0 auto;
    max-width: 620px;
    padding: 44px 22px;
    text-align: center;
}

.img2-empty i,
.vid2-empty i {
    color: var(--gallery-action);
    font-size: 42px;
}

.img2-empty h4,
.vid2-empty h4 {
    color: var(--gallery-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.img2-empty p,
.vid2-empty p {
    margin: 0;
}

@media (max-width: 991px) {
    .img2-grid,
    .vid2-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .img2-wrap,
    .vid2-wrap {
        padding: 36px 0 46px;
    }

    .img2-grid,
    .vid2-grid {
        grid-template-columns: 1fr;
    }

    .img2-filters,
    .vid2-filters {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .img2-pill,
    .vid2-pill {
        flex: 0 0 auto;
    }
}

/* ============================================================
   PHASE 5 — SECTION FILES CSS
   ============================================================ */

/* ── Inner Banner ── */
.rs2-inner-banner {
    position: relative;
    height: clamp(240px, 20vw, 340px);
    min-height: 0;
    display: flex;
    align-items: center;
}
.rs2-inner-banner__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, color-mix(in srgb, var(--theme-action-color), transparent 72%) 0%, color-mix(in srgb, var(--theme-action-color), transparent 42%) 100%);
}
.rs2-inner-banner__content {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 48px 0;
}
.rs2-inner-banner__content h1 {
    color: #fff;
    font-size: clamp(22px, 3.5vw, 38px);
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
}

/* ── Web-page-sections shell ── */
.rs2-home-section-shell {
    display: block;
}

/* ── Course Grid ── */
.rs2-cg-page,
.rs2-cd-page {
    --course-page-bg: var(--bg-color);
    --course-surface: var(--surface-color, var(--bg-color));
    --course-surface-alt: var(--bg-alt-color, #f5f7fa);
    --course-border: var(--border-color);
    --course-text: var(--text-color);
    --course-muted: var(--text-muted-color);
    --course-heading: var(--heading-color);
    --course-action: var(--theme-action-color);
    --course-action-contrast: var(--theme-action-contrast-color);
    --course-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --course-structure: var(--theme-structure-color);
    --course-structure-contrast: var(--theme-structure-contrast-color);
    --course-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --course-highlight: var(--theme-highlight-color);
    --course-highlight-contrast: var(--theme-highlight-contrast-color);
    background: var(--course-page-bg);
    color: var(--course-text);
}
.rs2-cg-page { padding: 60px 0; }
.rs2-cg-discovery {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-end;
    margin-bottom: 36px;
}
.rs2-cg-discovery-copy { flex: 1 1 300px; }
.rs2-cg-discovery-copy h2 { margin: 8px 0 6px; color: var(--course-heading); }
.rs2-cg-discovery-copy p { color: var(--course-muted); margin: 0; }
.rs2-cg-search-wrap {
    position: relative;
    flex: 0 0 280px;
}
.rs2-cg-search-wrap .fa {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--course-action);
}
.rs2-cg-search-input {
    width: 100%;
    padding: 10px 14px 10px 38px;
    background: var(--course-surface);
    border: 1.5px solid var(--course-border);
    border-radius: 6px;
    font-size: 14px;
    outline: none;
    color: var(--course-text);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.rs2-cg-search-input:focus {
    border-color: var(--course-action);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--course-action) 18%, transparent);
}

.rs2-cg-type-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 32px;
}
.rs2-cg-type-nav button {
    padding: 8px 20px;
    border: 1.5px solid var(--course-border);
    border-radius: 50px;
    background: var(--course-surface);
    color: var(--course-heading);
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
}
.rs2-cg-type-nav button.active,
.rs2-cg-type-nav button:hover {
    background: var(--course-action);
    border-color: var(--course-action);
    color: var(--course-action-contrast);
}

.rs2-cg-group-header { margin-bottom: 20px; }
.rs2-cg-group-header h3 { color: var(--course-heading); margin: 4px 0 0; }

.rs2-cg-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
    margin-bottom: 40px;
}
.rs2-course-card {
    background: var(--course-surface, var(--surface-color, var(--bg-color)));
    border: 1px solid var(--course-border, var(--border-color));
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: transform 0.25s, box-shadow 0.25s;
    display: flex;
    flex-direction: column;
}
.rs2-course-card:hover { transform: translateY(-4px); box-shadow: 0 8px 28px color-mix(in srgb, var(--course-action, var(--theme-action-color)) 14%, transparent); }
.rs2-course-card-media {
    position: relative;
    display: block;
    height: 180px;
    overflow: hidden;
    background: var(--course-action, var(--theme-action-color));
}
.rs2-course-card-media img { width: 100%; height: 100%; object-fit: cover; }
.rs2-course-card-initials {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 32px;
    font-weight: 700;
    color: color-mix(in srgb, var(--course-action-contrast, var(--theme-action-contrast-color, #fff)) 55%, transparent);
}
.rs2-course-card-overlay {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    background: linear-gradient(0deg, rgba(0,0,0,0.65), transparent);
    padding: 20px 14px 10px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.rs2-course-card-overlay small { color: var(--course-highlight, var(--theme-highlight-color)); font-size: 11px; text-transform: uppercase; letter-spacing: .5px; }
.rs2-course-card-overlay strong { color: #fff; font-size: 13px; }
.rs2-course-card-body { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.rs2-course-card-title { font-weight: 600; color: var(--course-heading, var(--heading-color)); margin: 0 0 10px; font-size: 14px; }
.rs2-course-card-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 10px; }
.rs2-course-card-meta > div { display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--course-muted, var(--text-muted-color)); }
.rs2-course-card-meta .fa { color: var(--course-structure, var(--theme-structure-color)); }
.rs2-course-card-desc { font-size: 13px; color: var(--course-muted, var(--text-muted-color)); margin: 0 0 14px; flex: 1; }
.rs2-course-card-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--course-action, var(--theme-action-color));
    margin-top: auto;
    text-decoration: none;
    transition: gap 0.2s;
}
.rs2-course-card-action:hover,
.rs2-course-card-action:focus { gap: 10px; color: var(--course-highlight, var(--theme-highlight-color)); }
.rs2-cg-search-input:focus-visible,
.rs2-cg-type-nav button:focus-visible,
.rs2-course-card-media:focus-visible,
.rs2-course-card-action:focus-visible,
.rs2-cd-desc-toggle:focus-visible,
.rs2-cd-category-group a:focus-visible,
.rs2-cd-related-body h4 a:focus-visible,
.rs2-cd-related-link:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--course-highlight, var(--theme-highlight-color)) 34%, transparent);
    outline-offset: 2px;
}
.rs2-cg-empty {
    text-align: center;
    padding: 48px 24px;
    color: var(--course-muted);
}
.rs2-cg-empty .fa { font-size: 40px; display: block; margin-bottom: 12px; }

/* courses dark mode */
.rs-home-section-shell.home-section-bg-dark #rs-courses-home .sec-title h2 {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark #rs-courses-home .sec-title .desc {
    color: var(--home-section-muted);
}

.rs-home-section-shell.home-section-bg-dark .rs2-course-card {
    background: var(--home-section-surface);
}
.rs-home-section-shell.home-section-bg-dark .rs2-course-card-title,
.rs-home-section-shell.home-section-bg-dark .rs2-course-card-title a {
    color: var(--home-section-heading);
}
.rs-home-section-shell.home-section-bg-dark .rs2-course-card-meta > div {
    color: var(--home-section-muted);
}
.rs-home-section-shell.home-section-bg-dark .rs2-course-card-desc {
    color: var(--home-section-text);
}
/* ── Department Grid section variant ── */
/* Theme 2 Offered Courses */
.crs2-wrap {
    --course-page-bg: var(--bg-color);
    --course-surface: var(--surface-color, var(--bg-color));
    --course-surface-alt: var(--bg-alt-color, #f5f7fa);
    --course-border: var(--border-color);
    --course-text: var(--text-color);
    --course-muted: var(--text-muted-color);
    --course-heading: var(--heading-color);
    --course-action: var(--theme-action-color);
    --course-action-contrast: var(--theme-action-contrast-color);
    --course-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --course-structure: var(--theme-structure-color);
    --course-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --course-highlight: var(--theme-highlight-color);
    background: var(--course-page-bg);
    color: var(--course-text);
    padding: 56px 0 64px;
}

.crs2-intro {
    margin: 0 auto 28px;
    max-width: 820px;
    text-align: center;
}

.crs2-intro-title {
    color: var(--course-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.crs2-intro-desc {
    color: var(--course-muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.crs2-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-bottom: 28px;
}

.crs2-tab {
    align-items: center;
    background: var(--course-surface);
    border: 1px solid var(--course-border);
    border-radius: 999px;
    color: var(--course-text);
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    justify-content: center;
    line-height: 1.2;
    min-height: 38px;
    padding: 8px 15px;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.crs2-tab:hover,
.crs2-tab:focus,
.crs2-tab.active {
    background: var(--course-action);
    border-color: var(--course-action);
    color: var(--course-action-contrast);
    outline: 0;
}

.crs2-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crs2-card,
.crs2-empty {
    background: var(--course-surface);
    border: 1px solid var(--course-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.crs2-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.crs2-card:hover {
    border-color: color-mix(in srgb, var(--course-action), transparent 62%);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.crs2-img-wrap {
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, var(--course-action-soft), var(--course-surface-alt));
    overflow: hidden;
    position: relative;
}

.crs2-img-wrap img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
    width: 100%;
}

.crs2-card:hover .crs2-img-wrap img {
    transform: scale(1.04);
}

.crs2-initials {
    align-items: center;
    color: var(--course-action);
    display: flex;
    font-size: 34px;
    font-weight: 900;
    height: 100%;
    justify-content: center;
    letter-spacing: 0;
    text-transform: uppercase;
}

.crs2-type {
    background: var(--course-action);
    border-radius: 999px;
    bottom: 12px;
    color: var(--course-action-contrast);
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    left: 12px;
    line-height: 1.2;
    max-width: calc(100% - 24px);
    padding: 7px 10px;
    position: absolute;
}

.crs2-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 17px 18px 18px;
}

.crs2-name {
    color: var(--course-heading);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0 0 9px;
    overflow-wrap: anywhere;
}

.crs2-desc {
    color: var(--course-muted);
    display: -webkit-box;
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 13px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.crs2-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}

.crs2-chip {
    align-items: center;
    background: var(--course-structure-soft);
    border: 1px solid color-mix(in srgb, var(--course-structure), transparent 78%);
    border-radius: 999px;
    color: var(--course-structure);
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    gap: 6px;
    line-height: 1.25;
    padding: 6px 9px;
}

.crs2-body .sch-cta-btn {
    align-items: center;
    align-self: stretch;
    border-radius: 999px;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    justify-content: center;
    margin-top: auto;
    min-height: 40px;
    padding: 9px 16px;
}

.crs2-empty {
    color: var(--course-muted);
    margin: 0 auto;
    max-width: 620px;
    padding: 44px 22px;
    text-align: center;
}

.crs2-empty i {
    color: var(--course-action);
    font-size: 42px;
}

.crs2-empty h4 {
    color: var(--course-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.crs2-empty p {
    margin: 0;
}

.crs2-tab:focus-visible,
.crs2-body .sch-cta-btn:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--course-highlight), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .crs2-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .crs2-wrap {
        padding: 36px 0 46px;
    }

    .crs2-tabs {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .crs2-tab {
        flex: 0 0 auto;
    }

    .crs2-grid {
        grid-template-columns: 1fr;
    }
}

.rs2-dpl-section { padding: 60px 0; }
.rs2-dpl-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 24px;
}
.rs2-dpl-card {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    background: var(--surface-color, #fff);
    border-radius: var(--border-radius-lg, 12px);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border-color);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.rs2-dpl-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}
.rs2-dpl-card-head {
    background: linear-gradient(135deg, var(--primary-color) 0%, color-mix(in srgb, var(--primary-color) 70%, var(--secondary-color)) 100%);
    padding: 32px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rs2-dpl-card-icon {
    width: 72px;
    height: 72px;
    background: rgba(255,255,255,0.18);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #fff;
    flex-shrink: 0;
}
.rs2-dpl-card-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}
.rs2-dpl-card-body {
    padding: 20px 22px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 8px;
}
.rs2-dpl-card-name {
    font-size: 16px;
    font-weight: 700;
    color: var(--heading-color);
    margin: 0;
    line-height: 1.3;
}
.rs2-dpl-card-desc {
    font-size: 13px;
    color: var(--text-muted-color, #777);
    line-height: 1.6;
    margin: 0;
    flex: 1;
}
.rs2-dpl-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-color);
    margin-top: 4px;
    transition: gap 0.2s ease;
}
.rs2-dpl-card:hover .rs2-dpl-card-cta { gap: 10px; }
.rs2-dpl-empty {
    text-align: center;
    padding: 48px 24px;
    color: #999;
}
.rs2-dpl-empty .fa { font-size: 36px; display: block; margin-bottom: 10px; }

/* ── Faculty Table ── */
.rs2-ft-shell {
    background:
        radial-gradient(circle at 8% 8%, color-mix(in srgb, var(--secondary-color) 12%, transparent), transparent 26%),
        var(--background-color, #fff);
    padding: 70px 0 40px;
}
.rs2-ft-group { margin-bottom: 50px; }
.rs2-ft-group-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
    padding-bottom: 16px;
    position: relative;
}
.rs2-ft-group-header::after {
    background: linear-gradient(90deg, var(--secondary-color) 0 90px, var(--border-color) 90px);
    bottom: 0;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
}
.rs2-ft-group-header-left { align-items: center; display: flex; gap: 14px; }
.rs2-ft-group-icon {
    align-items: center;
    background: var(--primary-color);
    border-radius: 12px;
    color: var(--primary-contrast-color, #fff);
    display: flex;
    flex: 0 0 46px;
    height: 46px;
    justify-content: center;
}
.rs2-ft-group-eyebrow {
    color: var(--secondary-color);
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    line-height: 1;
    margin-bottom: 5px;
    text-transform: uppercase;
}
.rs2-ft-group-title {
    color: var(--heading-color);
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 700;
    margin: 0;
}
.rs2-ft-group-badge {
    background: color-mix(in srgb, var(--primary-color) 8%, transparent);
    border-radius: 50px;
    color: var(--primary-color);
    font-weight: 700;
    padding: 7px 14px;
    font-size: 12px;
}
.rs2-ft-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.rs2-ft-profile-card {
    background: var(--surface-color, #fff);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
.rs2-ft-profile-card:hover {
    border-color: var(--secondary-color);
    box-shadow: var(--shadow-lg);
    transform: translateY(-6px);
}
.rs2-ft-profile-media {
    aspect-ratio: 4 / 3;
    background: color-mix(in srgb, var(--primary-color) 9%, var(--surface-color, #fff));
    overflow: hidden;
    position: relative;
}
.rs2-ft-profile-media::after {
    background: linear-gradient(180deg, transparent 55%, rgba(10, 20, 40, 0.72));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.rs2-ft-profile-media img {
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.45s ease;
    width: 100%;
}
.rs2-ft-profile-card:hover .rs2-ft-profile-media img { transform: scale(1.06); }
.rs2-ft-profile-initials {
    align-items: center;
    color: var(--primary-color);
    display: flex;
    font-size: 58px;
    font-weight: 800;
    height: 100%;
    justify-content: center;
}
.rs2-ft-profile-role {
    background: var(--secondary-color);
    border-radius: 5px;
    bottom: 14px;
    color: var(--secondary-contrast-color, var(--primary-color));
    font-size: 11px;
    font-weight: 800;
    left: 14px;
    max-width: calc(100% - 28px);
    overflow: hidden;
    padding: 5px 10px;
    position: absolute;
    text-overflow: ellipsis;
    white-space: nowrap;
    z-index: 1;
}
.rs2-ft-profile-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px;
}
.rs2-ft-profile-name {
    color: var(--heading-color);
    font-size: 17px;
    line-height: 1.35;
    margin: 0 0 16px;
}
.rs2-ft-profile-meta { margin: 0 0 18px; }
.rs2-ft-profile-meta-row {
    border-top: 1px solid var(--border-color);
    padding: 9px 0;
}
.rs2-ft-profile-meta-row dt {
    color: var(--text-muted-color);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
    text-transform: uppercase;
}
.rs2-ft-profile-meta-row dd {
    color: var(--text-color);
    font-size: 12px;
    line-height: 1.45;
    margin: 0;
    overflow-wrap: anywhere;
}
.rs2-ft-profile-meta-row a { color: var(--primary-color); }
.rs2-ft-profile-action {
    align-items: center;
    border-top: 1px solid var(--border-color);
    color: var(--primary-color);
    display: flex;
    font-size: 12px;
    font-weight: 800;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 14px;
    text-decoration: none;
}
.rs2-ft-profile-action i { transition: transform 0.25s ease; }
.rs2-ft-profile-action:hover { color: var(--secondary-color); }
.rs2-ft-profile-action:hover i { transform: translateX(4px); }
.rs2-ft-empty {
    background: var(--surface-color, #fff);
    border: 1px dashed var(--border-color);
    border-radius: 14px;
    color: var(--text-muted-color);
    padding: 60px 24px;
    text-align: center;
}
.rs2-ft-empty-icon {
    align-items: center;
    background: color-mix(in srgb, var(--primary-color) 9%, transparent);
    border-radius: 50%;
    color: var(--primary-color);
    display: inline-flex;
    font-size: 24px;
    height: 64px;
    justify-content: center;
    margin-bottom: 14px;
    width: 64px;
}

@media (max-width: 1199px) {
    .rs2-ft-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
    .rs2-ft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
    .rs2-dept-highlight-header { padding: 22px 20px 16px; }
    .rs2-dept-highlight-icon { flex-basis: 44px; height: 44px; }
    .rs2-dept-highlight-header h3 { font-size: 18px; }
    .rs2-dept-highlight-body { padding: 20px; }
    .rs2-dept-highlight-empty { margin: 0 20px 20px; }

    .rs2-ft-shell { padding: 48px 0 24px; }
    .rs2-ft-group { margin-bottom: 36px; }
    .rs2-ft-group-header { align-items: flex-start; }
    .rs2-ft-group-badge { flex-shrink: 0; }
    .rs2-ft-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ── Fee Table ── */
/* Theme 2 Fee Structure Page */
.fee2-wrap {
    --fee-page-bg: var(--bg-color);
    --fee-surface: var(--surface-color, var(--bg-color));
    --fee-surface-alt: var(--bg-alt-color, #f5f7fa);
    --fee-border: var(--border-color);
    --fee-text: var(--text-color);
    --fee-muted: var(--text-muted-color);
    --fee-heading: var(--heading-color);
    --fee-action: var(--theme-action-color);
    --fee-action-contrast: var(--theme-action-contrast-color);
    --fee-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --fee-structure: var(--theme-structure-color);
    --fee-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --fee-highlight: var(--theme-highlight-color);
    background: var(--fee-page-bg);
    color: var(--fee-text);
    padding: 56px 0 64px;
}

.fee2-year-block {
    margin-bottom: 24px;
}

.fee2-card,
.fee2-empty,
.fee2-disclaimer {
    background: var(--fee-surface);
    border: 1px solid var(--fee-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.fee2-card {
    overflow: hidden;
}

.fee2-card-header {
    align-items: center;
    background: var(--fee-surface);
    border-bottom: 1px solid var(--fee-border);
    display: flex;
    gap: 10px;
    padding: 16px 20px;
}

.fee2-card-header i {
    align-items: center;
    background: var(--fee-action-soft);
    border: 1px solid color-mix(in srgb, var(--fee-action), transparent 78%);
    border-radius: 6px;
    color: var(--fee-action);
    display: inline-flex;
    flex: 0 0 32px;
    font-size: 15px;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.fee2-card-header h2 {
    color: var(--fee-heading);
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
}

.fee2-table-wrap {
    overflow-x: auto;
}

.fee2-table {
    border-collapse: collapse;
    font-size: 14px;
    min-width: 720px;
    width: 100%;
}

.fee2-table th,
.fee2-table td {
    border-bottom: 1px solid var(--fee-border);
    padding: 13px 16px;
    text-align: left;
    vertical-align: middle;
}

.fee2-table th {
    background: var(--fee-surface-alt);
    color: var(--fee-heading);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.fee2-table td {
    color: var(--fee-text);
    line-height: 1.5;
}

.fee2-table tbody tr:last-child td {
    border-bottom: 0;
}

.fee2-table tbody tr:hover td {
    background: color-mix(in srgb, var(--fee-action-soft), var(--fee-surface) 58%);
}

.fee2-table td:first-child {
    color: var(--fee-heading);
    font-weight: 800;
}

.fee2-total td {
    background: var(--fee-structure-soft);
    color: var(--fee-heading);
    font-weight: 900;
}

.fee2-disclaimer {
    align-items: flex-start;
    color: var(--fee-muted);
    display: flex;
    font-size: 13px;
    gap: 10px;
    line-height: 1.6;
    margin: -8px 0 24px;
    padding: 14px 16px;
}

.fee2-disclaimer i {
    color: var(--fee-highlight);
    flex: 0 0 auto;
    margin-top: 3px;
}

.fee2-disclaimer strong {
    color: var(--fee-heading);
}

.fee2-empty {
    color: var(--fee-muted);
    margin: 0 auto;
    max-width: 620px;
    padding: 44px 22px;
    text-align: center;
}

.fee2-empty i {
    color: var(--fee-action);
    font-size: 42px;
}

.fee2-empty h4 {
    color: var(--fee-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.fee2-empty p {
    margin: 0;
}

/* ── Category-grouped breakdown ── */
.fee2-category-nav {
    border-bottom: 1px solid var(--fee-border);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 16px 20px;
}

.fee2-cat-pill {
    background: var(--fee-surface-alt);
    border: 1px solid var(--fee-border);
    border-radius: 50px;
    color: var(--fee-muted);
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 18px;
    transition: background .2s, border-color .2s, color .2s;
}

.fee2-cat-pill:hover {
    border-color: var(--fee-action);
    color: var(--fee-action);
}

.fee2-cat-pill--active {
    background: var(--fee-action);
    border-color: var(--fee-action);
    color: var(--fee-action-contrast);
}

.fee2-category-groups {
    padding: 20px;
}

.fee2-category-group + .fee2-category-group {
    margin-top: 28px;
}

.fee2-category-title {
    color: var(--fee-heading);
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 14px;
}

.fee2-course-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.fee2-course-card {
    background: var(--fee-surface-alt);
    border: 1px solid var(--fee-border);
    border-radius: 8px;
    overflow: hidden;
}

.fee2-course-card-header {
    align-items: center;
    background: var(--fee-action-soft);
    color: var(--fee-heading);
    display: flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    padding: 12px 16px;
}

.fee2-course-card-header i {
    color: var(--fee-action);
}

.fee2-course-card-table {
    border-collapse: collapse;
    width: 100%;
}

.fee2-course-card-table td {
    border-bottom: 1px solid var(--fee-border);
    color: var(--fee-text);
    font-size: 13px;
    padding: 10px 16px;
}

.fee2-course-card-table td:last-child {
    text-align: right;
}

.fee2-course-card-table tr:last-child td {
    border-bottom: none;
}

.fee2-course-card-total td {
    color: var(--fee-action);
    font-weight: 800;
}

@media (max-width: 767px) {
    .fee2-wrap {
        padding: 36px 0 46px;
    }

    .fee2-card-header {
        align-items: flex-start;
        padding: 16px 18px;
    }

    .fee2-table {
        font-size: 13px;
        min-width: 620px;
    }

    .fee2-table th,
    .fee2-table td {
        padding: 11px 12px;
    }

    .fee2-category-nav,
    .fee2-category-groups {
        padding: 14px 16px;
    }
}

.rs2-fee-section { padding: 40px 0; }
.rs2-fee-wrap { max-width: 960px; margin: 0 auto; }
.rs2-fee-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: var(--shadow-md);
    overflow: hidden;
}
.rs2-fee-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--primary-color);
    color: #fff;
    padding: 16px 20px;
    font-weight: 600;
    font-size: 15px;
}
.rs2-fee-scroll { overflow-x: auto; }
.rs2-fee-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.rs2-fee-table thead tr { background: var(--bg-alt-color, #f5f7fa); }
.rs2-fee-table th {
    padding: 12px 16px;
    text-align: left;
    font-weight: 600;
    color: var(--heading-color);
    border-bottom: 2px solid var(--border-color);
    white-space: nowrap;
}
.rs2-fee-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-color);
}
.rs2-fee-table tbody tr:last-child td { border-bottom: none; }
.rs2-fee-total-row td {
    background: color-mix(in srgb, var(--theme-action-color), transparent 94%);
    font-weight: 700;
    color: var(--heading-color);
}
.rs2-fee-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 20px;
    background: var(--theme-status-warning-bg);
    border-top: 1px solid color-mix(in srgb, #f59e0b, transparent 70%);
    font-size: 13px;
    color: var(--text-muted-color);
}
.rs2-fee-disclaimer .fa { color: var(--secondary-color); margin-top: 2px; flex-shrink: 0; }

/* ── Partner Grid section variant ── */
.rs2-pgrid-section { padding: 60px 0; }
.rs2-partner-dir-pagination { margin-top: 32px; display: flex; justify-content: center; }

/* ── Person Grid Leadership (section variant) ── */
.rs2-lsi-section { padding: 60px 0; }
.rs2-lsi-shell .rs2-lsi-list { display: flex; flex-direction: column; gap: 48px; }
.rs2-lsi-shell .rs2-lsi-row {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: start;
}
.rs2-lsi-shell .rs2-lsi-row--reverse { direction: rtl; }
.rs2-lsi-shell .rs2-lsi-row--reverse > * { direction: ltr; }
.rs2-lsi-photo { width: 100%; max-width: 280px; border-radius: 10px; display: block; box-shadow: var(--shadow-md); }
.rs2-lsi-photo-placeholder {
    width: 100%; aspect-ratio: 3/4;
    max-width: 280px;
    background: var(--dept-surface-alt);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: #ccc;
}
.rs2-lsi-sub-title { color: var(--secondary-color); font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: .5px; margin: 0 0 10px; }
.rs2-lsi-message {
    font-size: 15px;
    line-height: 1.8;
    color: var(--text-muted-color);
    position: relative;
    padding-left: 20px;
}
.rs2-lsi-message::before {
    content: '\201C';
    position: absolute;
    left: 0; top: -8px;
    font-size: 52px;
    color: var(--secondary-color);
    line-height: 1;
    font-family: Georgia, serif;
}
.rs2-lsi-author {
    margin-top: 20px;
    padding-left: 16px;
    border-left: 3px solid var(--primary-color);
}
.rs2-lsi-name { display: block; font-weight: 700; color: var(--heading-color); font-size: 15px; }
.rs2-lsi-kicker { display: block; font-size: 13px; color: var(--text-muted-color); margin-top: 3px; }
.rs2-lsi-empty { text-align: center; padding: 48px 24px; color: #999; }
.rs2-lsi-empty .fa { font-size: 36px; display: block; margin-bottom: 10px; }
@media (max-width: 768px) {
    .rs2-lsi-shell .rs2-lsi-row,
    .rs2-lsi-shell .rs2-lsi-row--reverse {
        grid-template-columns: 1fr;
        direction: ltr;
    }
}

/* Vision / Mission / Values cards */
.rs-vmv-card {
    background: var(--home-section-surface, var(--surface-color, #f4f6f9));
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 100%;
    padding: 28px 24px;
}

.rs-vmv-card--values {
    align-items: flex-start;
    flex-direction: row;
    gap: 24px;
}

.rs-vmv-card-values-body {
    flex: 1;
}

.rs-vmv-card-icon {
    align-items: center;
    background: var(--home-section-text, var(--text-color));
    border-radius: 50%;
    display: flex;
    flex-shrink: 0;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.rs-vmv-card-icon .fa {
    color: var(--home-section-bg, var(--bg-color));
    font-size: 22px;
}

.rs-vmv-card-title {
    color: var(--home-section-heading, var(--heading-color));
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 6px;
}

.rs-vmv-card-body,
.rs-vmv-card-body p {
    color: var(--home-section-text, var(--text-color));
    font-size: 14px;
    line-height: 1.75;
    margin: 0;
}

.rs-vmv-card-body p:last-child { margin-bottom: 0; }

.rs-home-section-shell.home-section-bg-dark .rs-vmv-card {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
}

.rs-home-section-shell.home-section-bg-dark .rs-vmv-card-title {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark .rs-vmv-card-body,
.rs-home-section-shell.home-section-bg-dark .rs-vmv-card-body p {
    color: var(--home-section-muted);
}

/* ── Testimonial Grid ── */
.rs2-rvw-section { padding: 60px 0; background: var(--bg-alt-color, #f5f7fa); }
.rs2-rvw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}
.rs2-rvw-card {
    background: #fff;
    border-radius: 10px;
    padding: 28px 24px 24px;
    box-shadow: var(--shadow-md);
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: transform 0.25s;
}
.rs2-rvw-card:hover { transform: translateY(-3px); }
.rs2-rvw-card-quote { font-size: 24px; color: var(--theme-structure-color); }
.rs2-rvw-card-message { font-size: 14px; line-height: 1.8; color: var(--text-muted-color); flex: 1; margin: 0; }
.rs2-rvw-card-author { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.rs2-rvw-avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.rs2-rvw-avatar--initial {
    background: var(--primary-color);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
}
.rs2-rvw-name { display: block; font-weight: 700; color: var(--heading-color); font-size: 14px; }
.rs2-rvw-designation { font-size: 12px; color: var(--text-muted-color); }
.rs2-rvw-empty { text-align: center; padding: 48px 24px; color: #999; }

/* ── Profile Detail Leadership ── */
/* Theme 2 Reviews Page */
.rs-home-section-shell.home-section-bg-dark .rs2-rvw-section {
    background: var(--home-section-bg) !important;
}

.rs-home-section-shell.home-section-bg-dark .rs2-rvw-card {
    background: var(--home-section-surface);
    border: 1px solid var(--home-section-border);
}

.rs-home-section-shell.home-section-bg-dark .rs2-rvw-card-quote {
    color: var(--home-section-icon);
}

.rs-home-section-shell.home-section-bg-dark .rs2-rvw-card-message,
.rs-home-section-shell.home-section-bg-dark .rs2-rvw-card-message * {
    color: var(--home-section-muted) !important;
}

.rs-home-section-shell.home-section-bg-dark .rs2-rvw-name {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark .rs2-rvw-designation,
.rs-home-section-shell.home-section-bg-dark .rs2-rvw-empty {
    color: var(--home-section-muted);
}

.rev2-wrap {
    --review-page-bg: var(--bg-color);
    --review-surface: var(--surface-color, var(--bg-color));
    --review-border: var(--border-color);
    --review-text: var(--text-color);
    --review-muted: var(--text-muted-color);
    --review-heading: var(--heading-color);
    --review-action: var(--theme-action-color);
    --review-action-contrast: var(--theme-action-contrast-color);
    --review-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --review-structure: var(--theme-structure-color);
    --review-structure-contrast: var(--theme-structure-contrast-color);
    background: var(--review-page-bg);
    color: var(--review-text);
    padding: 56px 0 64px;
}

.rev2-intro {
    margin: 0 auto 30px;
    max-width: 820px;
    text-align: center;
}

.rev2-intro-title {
    color: var(--review-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.rev2-intro-desc {
    color: var(--review-muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.rev2-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rev2-card,
.rev2-empty {
    background: var(--review-surface);
    border: 1px solid var(--review-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.rev2-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 24px;
    position: relative;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.rev2-card:hover {
    border-color: color-mix(in srgb, var(--review-action), transparent 62%);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.rev2-quote {
    color: var(--review-action);
    font-family: Georgia, serif;
    font-size: 54px;
    font-weight: 700;
    line-height: .7;
    margin-bottom: 12px;
}

.rev2-message {
    color: var(--review-text);
    display: -webkit-box;
    font-size: 14px;
    line-height: 1.75;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
}

.rev2-divider {
    background: var(--review-border);
    height: 1px;
    margin: 20px 0 16px;
    width: 100%;
}

.rev2-reviewer {
    align-items: center;
    display: flex;
    gap: 12px;
    margin-top: auto;
}

.rev2-avatar,
.rev2-avatar-initials {
    border-radius: 999px;
    flex: 0 0 46px;
    height: 46px;
    width: 46px;
}

.rev2-avatar {
    object-fit: cover;
}

.rev2-avatar-initials {
    align-items: center;
    background: var(--review-structure);
    color: var(--review-structure-contrast);
    display: inline-flex;
    font-size: 15px;
    font-weight: 900;
    justify-content: center;
    text-transform: uppercase;
}

.rev2-name {
    color: var(--review-heading);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0;
}

.rev2-designation {
    color: var(--review-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    margin: 2px 0 0;
}

.rev2-empty {
    color: var(--review-muted);
    margin: 0 auto;
    max-width: 620px;
    padding: 44px 22px;
    text-align: center;
}

.rev2-empty i {
    color: var(--review-action);
    font-size: 42px;
}

.rev2-empty h4 {
    color: var(--review-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.rev2-empty p {
    margin: 0;
}

@media (max-width: 991px) {
    .rev2-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .rev2-wrap {
        padding: 36px 0 46px;
    }

    .rev2-grid {
        grid-template-columns: 1fr;
    }

    .rev2-card {
        padding: 22px;
    }
}

.rs2-lsd-page { padding: 60px 0; }
.rs2-lsd-card {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 48px;
    align-items: start;
    background: #fff;
    border-radius: 12px;
    box-shadow: var(--shadow-md);
    padding: 40px;
}
.rs2-lsd-photo-wrap {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
}
.rs2-lsd-photo-wrap img { width: 100%; display: block; }
.rs2-lsd-photo-name { font-weight: 700; color: var(--heading-color); font-size: 16px; margin: 14px 0 4px; text-align: center; }
.rs2-lsd-photo-designation { font-size: 13px; color: var(--text-muted-color); text-align: center; margin: 0 0 16px; }
.rs2-lsd-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    background: var(--primary-color);
    color: #fff;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
    width: 100%;
    justify-content: center;
}
.rs2-lsd-back-btn:hover { background: var(--secondary-color); color: var(--primary-color); }
.rs2-lsd-meta-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 20px; }
.rs2-lsd-meta-name { font-size: 20px; font-weight: 700; color: var(--heading-color); display: flex; align-items: center; gap: 8px; }
.rs2-lsd-meta-desig { font-size: 14px; color: var(--text-muted-color); }
.rs2-lsd-message { font-size: 15px; line-height: 1.9; color: var(--text-muted-color); }
.rs2-lsd-footer { margin-top: 24px; }
@media (max-width: 768px) {
    .rs2-lsd-card { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
}

/* ── Content Blocks Pillars ── */
.rs2-pillar-section { padding: 60px 0; }
.rs2-pillar-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.rs2-pillar--wide { grid-column: 1 / -1; }
.rs2-pillar {
    background: var(--home-section-surface, var(--surface-color, #fff));
    border: 1px solid var(--home-section-border, var(--border-color));
    border-radius: 10px;
    padding: 28px 24px;
    box-shadow: var(--shadow-md);
    display: flex;
    gap: 20px;
    align-items: flex-start;
    transition: transform 0.25s;
}
.rs2-pillar:hover { transform: translateY(-3px); }
.rs2-pillar-icon {
    width: 52px; height: 52px;
    background: var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #fff;
    flex-shrink: 0;
}
.rs2-pillar-body h3 { margin: 0 0 8px; color: var(--home-section-heading, var(--heading-color)); font-size: 18px; }
.rs2-pillar-text,
.rs2-pillar-text p { font-size: 14px; color: var(--home-section-muted, var(--text-muted-color)); line-height: 1.7; }
.rs2-pillar-text p:last-child { margin-bottom: 0; }
.rs2-pillar-empty { text-align: center; padding: 40px; color: var(--home-section-muted, var(--text-muted-color)); }
@media (max-width: 640px) {
    .rs2-pillar-grid { grid-template-columns: 1fr; }
    .rs2-pillar--wide { grid-column: auto; }
}

/* ── Department Detail ── */
.rs2-dept-page {
    --dept-page-bg: var(--bg-color);
    --dept-surface: var(--surface-color, var(--bg-color));
    --dept-surface-alt: var(--bg-alt-color, #f5f7fa);
    --dept-border: var(--border-color);
    --dept-text: var(--text-color);
    --dept-muted: var(--text-muted-color);
    --dept-heading: var(--heading-color);
    --dept-action: var(--theme-action-color);
    --dept-action-contrast: var(--theme-action-contrast-color);
    --dept-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --dept-structure: var(--theme-structure-color);
    --dept-structure-contrast: var(--theme-structure-contrast-color);
    --dept-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --dept-highlight: var(--theme-highlight-color);
    --dept-highlight-contrast: var(--theme-highlight-contrast-color);
    background: var(--dept-page-bg);
    color: var(--dept-text);
    padding: 40px 0 60px;
}
.rs2-dept-hero {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 48px;
    align-items: center;
    margin-bottom: 40px;
}
.rs2-dept-hero-copy h2 { font-size: clamp(22px, 2.5vw, 32px); color: var(--dept-heading); margin: 8px 0 14px; }
.rs2-dept-intro { font-size: 15px; color: var(--dept-muted); line-height: 1.8; margin-bottom: 24px; }
.rs2-dept-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.rs2-dept-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 2px solid var(--dept-action);
    color: var(--dept-action);
    transition: all 0.2s;
}
.rs2-dept-action--primary { background: var(--dept-action); color: var(--dept-action-contrast); }
.rs2-dept-action--primary:hover { background: var(--dept-highlight); border-color: var(--dept-highlight); color: var(--dept-highlight-contrast); }
.rs2-dept-action:not(.rs2-dept-action--primary):hover { background: var(--dept-action); color: var(--dept-action-contrast); }
.rs2-dept-action:focus-visible,
.rs2-dept-nav a:focus-visible,
.rs2-dept-ticker__item:focus-visible,
.rs2-dept-inline-link:focus-visible,
.rs2-dept-related a:focus-visible,
.rs2-dept-faculty-details summary:focus-visible,
.rs2-dept-committee-details summary:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--dept-highlight) 34%, transparent);
    outline-offset: 2px;
}
.rs2-dept-hero-media { border-radius: 10px; overflow: hidden; box-shadow: var(--shadow-md); }
.rs2-dept-hero-media img { width: 100%; display: block; aspect-ratio: 16/10; object-fit: cover; }
.rs2-dept-hero-placeholder {
    aspect-ratio: 16/10;
    background: var(--dept-surface-alt);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 64px;
    color: var(--dept-muted);
}

.rs2-dept-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    padding: 16px;
    background: var(--dept-surface-alt);
    border-radius: 8px;
    margin-bottom: 32px;
}
.rs2-dept-stat {
    padding: 20px 24px;
    text-align: center;
}
.rs2-dept-stat span { display: block; font-size: 28px; font-weight: 700; color: var(--dept-heading); }
.rs2-dept-stat small { font-size: 12px; color: var(--dept-muted); }

.rs2-dept-ticker {
    display: flex;
    align-items: center;
    background: var(--dept-action-soft);
    border-left: 4px solid var(--dept-action);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 28px;
}
.rs2-dept-ticker__label {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: var(--dept-action);
    color: var(--dept-action-contrast);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.rs2-dept-ticker__wrap { flex: 1; overflow: hidden; }
.rs2-dept-ticker__track {
    display: inline-flex;
    align-items: center;
    gap: 0;
    animation: rs2-dept-ticker 30s linear infinite;
    white-space: nowrap;
}
.rs2-dept-ticker__track:hover { animation-play-state: paused; }
@keyframes rs2-dept-ticker {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.rs2-dept-ticker__item { padding: 10px 14px; font-size: 13px; color: var(--dept-text); text-decoration: none; }
.rs2-dept-ticker__item:hover,
.rs2-dept-ticker__item:focus { color: var(--dept-highlight); }
.rs2-dept-ticker__sep { color: var(--dept-muted); padding: 0 4px; }

.rs2-dept-nav {
    background: color-mix(in srgb, var(--dept-surface) 96%, transparent);
    border: 1px solid var(--dept-border);
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px;
    z-index: 90;
}
.rs2-dept-nav.is-stuck {
    position: fixed;
    top: var(--rs2-dept-nav-top, 0);
}
.rs2-dept-nav a {
    flex: 0 0 auto;
    padding: 9px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--dept-muted);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rs2-dept-nav a:hover,
.rs2-dept-nav a.is-active {
    background: var(--dept-action);
    color: var(--dept-action-contrast);
}

.rs2-dept-layout {
    display: grid;
    grid-template-columns: 200px 1fr 280px;
    gap: 32px;
    align-items: start;
}
.rs2-dept-nav-col {
    position: relative;
}

.rs2-dept-section {
    margin-bottom: 8px;
    padding-top: 40px;
    scroll-margin-top: calc(var(--rs2-dept-nav-top, 0px) + 24px);
}
.rs2-dept-section--soft { background: var(--dept-surface-alt); border-radius: 10px; padding: 32px; margin-top: 8px; }
.rs2-dept-section-heading { margin-bottom: 20px; }
.rs2-dept-section-heading span { display: block; color: var(--dept-structure); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; }
.rs2-dept-section-heading h3 { margin: 0; color: var(--dept-heading); font-size: 20px; }
.rs2-dept-section-heading--row { display: flex; justify-content: space-between; align-items: flex-start; }
.rs2-dept-section-heading--row .fa { font-size: 20px; color: var(--dept-border); }

.rs2-dept-rich-text { font-size: 14px; line-height: 1.85; color: var(--dept-text); }
.rs2-dept-rich-text p { margin: 0 0 14px; }

.rs2-dept-highlight {
    --dept-highlight-color: var(--dept-action);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--dept-highlight-color) 7%, transparent), transparent 48%),
        var(--dept-surface);
    border: 1px solid color-mix(in srgb, var(--dept-highlight-color) 22%, var(--dept-border));
    border-radius: 14px;
    box-shadow: var(--shadow-sm);
    margin-top: 30px;
    overflow: hidden;
    padding: 0;
    position: relative;
}
.rs2-dept-highlight::before {
    background: var(--dept-highlight-color);
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}
.rs2-dept-highlight--achievements { --dept-highlight-color: var(--dept-structure); }
.rs2-dept-highlight--results { --dept-highlight-color: var(--dept-action); }
.rs2-dept-highlight--outcomes { --dept-highlight-color: var(--dept-highlight); }
.rs2-dept-highlight-header {
    align-items: center;
    display: flex;
    gap: 16px;
    padding: 26px 28px 18px;
}
.rs2-dept-highlight-icon {
    align-items: center;
    background: color-mix(in srgb, var(--dept-highlight-color) 14%, transparent);
    border-radius: 12px;
    color: var(--dept-highlight-color);
    display: flex;
    flex: 0 0 50px;
    font-size: 20px;
    height: 50px;
    justify-content: center;
}
.rs2-dept-highlight-eyebrow {
    color: var(--dept-highlight-color);
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.3px;
    margin-bottom: 4px;
    text-transform: uppercase;
}
.rs2-dept-highlight-header h3 {
    color: var(--dept-heading);
    font-size: 21px;
    margin: 0;
}
.rs2-dept-highlight-body {
    border-top: 1px solid var(--dept-border);
    color: var(--dept-text);
    padding: 24px 28px 28px;
}
.rs2-dept-highlight-body > :last-child { margin-bottom: 0; }
.rs2-dept-highlight-body h1,
.rs2-dept-highlight-body h2,
.rs2-dept-highlight-body h3,
.rs2-dept-highlight-body h4,
.rs2-dept-highlight-body h5,
.rs2-dept-highlight-body h6 {
    color: var(--dept-heading);
    margin: 22px 0 10px;
}
.rs2-dept-highlight-body h1:first-child,
.rs2-dept-highlight-body h2:first-child,
.rs2-dept-highlight-body h3:first-child,
.rs2-dept-highlight-body h4:first-child { margin-top: 0; }
.rs2-dept-highlight-body ul,
.rs2-dept-highlight-body ol {
    margin: 0 0 16px;
    padding-left: 22px;
}
.rs2-dept-highlight-body li { margin-bottom: 7px; }
.rs2-dept-highlight-body li::marker { color: var(--dept-highlight-color); }
.rs2-dept-highlight-body a {
    color: var(--dept-action);
    font-weight: 600;
}
.rs2-dept-highlight-body table {
    background: var(--dept-surface);
    border-collapse: collapse;
    display: block;
    margin: 18px 0;
    max-width: 100%;
    overflow-x: auto;
    width: max-content;
}
.rs2-dept-highlight-body th,
.rs2-dept-highlight-body td {
    border: 1px solid var(--dept-border);
    min-width: 120px;
    padding: 10px 12px;
    text-align: left;
    vertical-align: top;
}
.rs2-dept-highlight-body th {
    background: color-mix(in srgb, var(--dept-highlight-color) 10%, var(--dept-surface));
    color: var(--dept-heading);
}
.rs2-dept-highlight-empty {
    align-items: center;
    border-top: 1px dashed var(--dept-border);
    color: var(--dept-muted);
    display: flex;
    gap: 9px;
    margin: 0 28px 24px;
    padding-top: 18px;
}
.rs2-dept-highlight-empty i { color: var(--dept-highlight-color); }
.rs2-dept-highlight.is-empty {
    box-shadow: none;
    opacity: 0.82;
}

.rs2-dept-pillars { display: flex; flex-direction: column; gap: 20px; }
.rs2-dept-pillar {
    display: flex;
    gap: 16px;
    padding: 20px;
    background: var(--dept-surface);
    border: 1px solid var(--dept-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}
.rs2-dept-pillar-icon {
    width: 44px; height: 44px;
    background: var(--dept-action);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: var(--dept-action-contrast);
    flex-shrink: 0;
}
.rs2-dept-pillar h4 { margin: 0 0 6px; color: var(--dept-heading); font-size: 15px; }

.rs2-dept-hod {
    display: flex;
    gap: 28px;
    align-items: flex-start;
}
.rs2-dept-hod-photo-wrap { flex-shrink: 0; }
.rs2-dept-hod-photo { width: 100px; height: 120px; border-radius: 8px; object-fit: cover; box-shadow: var(--shadow-md); }
.rs2-dept-person-placeholder {
    align-items: center;
    background: var(--dept-action-soft);
    color: var(--dept-action);
    display: flex;
    font-size: 42px;
    font-weight: 800;
    height: 100%;
    justify-content: center;
    width: 100%;
}
.rs2-dept-hod-photo.rs2-dept-person-placeholder {
    height: 120px;
    width: 100px;
}
.rs2-dept-hod-body { flex: 1; }
.rs2-dept-hod-quote { font-size: 28px; color: var(--dept-structure); margin-bottom: 8px; }
.rs2-dept-hod-attribution { margin-top: 16px; padding-left: 12px; border-left: 3px solid var(--dept-action); }
.rs2-dept-hod-attribution strong { display: block; font-size: 14px; color: var(--dept-heading); }
.rs2-dept-hod-attribution span { font-size: 12px; color: var(--dept-muted); }

.rs2-dept-faculty-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
}
.rs2-dept-faculty {
    background: var(--dept-surface);
    border: 1px solid var(--dept-border);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform 0.2s;
}
.rs2-dept-faculty:hover { transform: translateY(-3px); }
.rs2-dept-faculty-photo { height: 180px; overflow: hidden; background: var(--dept-surface-alt); }
.rs2-dept-faculty-photo img { width: 100%; height: 100%; object-fit: cover; }
.rs2-dept-faculty-body { padding: 14px; }
.rs2-dept-faculty-body h4 { margin: 0 0 6px; font-size: 14px; color: var(--dept-heading); }
.rs2-dept-faculty-meta p { margin: 0; font-size: 12px; color: var(--dept-muted); }
.rs2-dept-faculty-desig { color: var(--dept-action) !important; font-weight: 600; }
.rs2-dept-faculty-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: var(--dept-surface-alt);
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    color: var(--dept-action);
    list-style: none;
}
.rs2-dept-faculty-details summary:hover {
    background: var(--dept-action-soft);
    color: var(--dept-action);
}
.rs2-dept-faculty-details[open] summary .read-more-text { display: none; }
.rs2-dept-faculty-details:not([open]) summary .read-less-text { display: none; }
.rs2-dept-faculty-bio { padding: 14px; font-size: 13px; color: var(--dept-text); line-height: 1.7; }
.rs2-dept-faculty-detail-block { margin-bottom: 12px; }
.rs2-dept-faculty-detail-block strong { display: block; font-size: 12px; color: var(--dept-heading); margin-bottom: 4px; }

.rs2-dept-lab-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 20px; }
.rs2-dept-lab { background: var(--dept-surface); border: 1px solid var(--dept-border); border-radius: 8px; overflow: hidden; box-shadow: var(--shadow-sm); }
.rs2-dept-lab img { width: 100%; height: 150px; object-fit: cover; }
.rs2-dept-lab-body { padding: 14px; }
.rs2-dept-lab-body h4 { margin: 0 0 6px; font-size: 14px; color: var(--dept-heading); }
.rs2-dept-lab-body p { font-size: 13px; color: var(--dept-muted); margin: 0 0 8px; }
.rs2-dept-lab-count { font-size: 11px; background: var(--dept-action-soft); color: var(--dept-action); padding: 2px 8px; border-radius: 50px; }
.rs2-dept-inline-link { color: var(--dept-action); font-size: 12px; font-weight: 600; text-decoration: none; }
.rs2-dept-inline-link:hover,
.rs2-dept-inline-link:focus { color: var(--dept-highlight); }

.rs2-dept-card-grid { display: flex; flex-direction: column; gap: 16px; }
.rs2-dept-mini-card {
    background: var(--dept-surface);
    border: 1px solid var(--dept-border);
    border-radius: 8px;
    padding: 18px 20px;
    box-shadow: var(--shadow-sm);
}
.rs2-dept-mini-card h4 { margin: 0 0 6px; font-size: 15px; color: var(--dept-heading); }
.rs2-dept-mini-card p { font-size: 13px; color: var(--dept-muted); margin: 0 0 8px; }
.rs2-dept-mini-meta { display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; color: var(--dept-muted); }
.rs2-dept-mini-meta .fa { color: var(--dept-action); }
.rs2-dept-committee-details summary {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    color: var(--dept-action);
    list-style: none;
    margin-top: 8px;
}
.rs2-dept-committee-details summary:hover {
    color: var(--dept-highlight);
}
.rs2-dept-committee-details[open] .read-more-text { display: none; }
.rs2-dept-committee-details:not([open]) .read-less-text { display: none; }
.rs2-dept-committee-members { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.rs2-dept-committee-member {
    flex: 0 0 calc(50% - 6px);
    background: var(--dept-surface-alt);
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 12px;
}
.rs2-dept-committee-member strong { display: block; color: var(--dept-heading); }
.rs2-dept-committee-member span { color: var(--dept-muted); }
.rs2-dept-committee-member small { display: block; color: var(--dept-action); }

.rs2-dept-event-card { background: var(--dept-surface); border: 1px solid var(--dept-border); border-radius: 8px; overflow: hidden; box-shadow: var(--shadow-sm); }
.rs2-dept-event-card img { width: 100%; height: 140px; object-fit: cover; }
.rs2-dept-event-body { padding: 14px; }
.rs2-dept-event-body h4 { margin: 0 0 6px; font-size: 15px; color: var(--dept-heading); }
.rs2-dept-event-body p { font-size: 13px; color: var(--dept-muted); margin: 0 0 8px; }

.rs2-dept-aside { position: sticky; top: 90px; }
.rs2-dept-aside-panel {
    background: var(--dept-surface);
    border: 1px solid var(--dept-border);
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    margin-bottom: 20px;
}
.rs2-dept-aside-panel h3 {
    padding: 14px 18px;
    margin: 0;
    background: var(--dept-structure);
    color: var(--dept-structure-contrast);
    font-size: 14px;
    font-weight: 700;
}
.rs2-dept-snapshot { list-style: none; margin: 0; padding: 12px 18px; }
.rs2-dept-snapshot li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--dept-border);
    font-size: 13px;
}
.rs2-dept-snapshot li:last-child { border-bottom: none; }
.rs2-dept-snapshot .fa { color: var(--dept-action); width: 16px; text-align: center; }
.rs2-dept-snapshot span { flex: 1; color: var(--dept-muted); }
.rs2-dept-snapshot strong { color: var(--dept-heading); font-weight: 600; }
.rs2-dept-related { display: flex; flex-direction: column; }
.rs2-dept-related a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    border-bottom: 1px solid var(--dept-border);
    font-size: 13px;
    color: var(--dept-heading);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.rs2-dept-related a:last-child { border-bottom: none; }
.rs2-dept-related a:hover,
.rs2-dept-related a:focus { background: var(--dept-action-soft); color: var(--dept-action); }
.rs2-dept-empty { font-size: 13px; color: var(--dept-muted); padding: 16px 18px; }
.rs2-dept-empty--small { font-size: 12px; }

@media (max-width: 992px) {
    .rs2-dept-layout { grid-template-columns: 1fr; }
    .rs2-dept-aside { position: static; }
    .rs2-dept-hero { grid-template-columns: 1fr; }
}

/* ── Course Detail ── */
.rs2-cd-page { padding: 40px 0 60px; }
.rs2-cd-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 32px;
    align-items: start;
    margin-bottom: 48px;
}
.rs2-cd-card {
    background: var(--course-surface);
    border: 1px solid var(--course-border);
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    margin-bottom: 28px;
}
.rs2-cd-media { height: 300px; overflow: hidden; }
.rs2-cd-media img { width: 100%; height: 100%; object-fit: cover; }
.rs2-cd-content { padding: 28px 28px 24px; }
.rs2-cd-kicker-row { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.rs2-cd-code {
    padding: 2px 10px;
    background: var(--course-action-soft);
    border-radius: 4px;
    font-size: 12px;
    color: var(--course-action);
}
.rs2-cd-content h2 { margin: 0 0 6px; color: var(--course-heading); font-size: clamp(20px, 2.2vw, 28px); }
.rs2-cd-title { font-size: 15px; color: var(--course-muted); margin: 0 0 18px; }
.rs2-cd-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
    padding: 16px;
    background: var(--course-surface-alt);
    border-radius: 8px;
}
.rs2-cd-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 12px;
}
.rs2-cd-info .fa { color: var(--course-action); font-size: 14px; }
.rs2-cd-info span { color: var(--course-muted); }
.rs2-cd-info strong { color: var(--course-heading); font-size: 13px; }

.rs2-cd-section { margin-bottom: 24px; }
.rs2-cd-section-heading { margin-bottom: 14px; }
.rs2-cd-section-heading span { display: block; color: var(--course-structure); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 3px; }
.rs2-cd-section-heading h3 { margin: 0; color: var(--course-heading); font-size: 18px; }

.rs2-cd-description { position: relative; }
.rs2-cd-desc-preview,.rs2-cd-desc-full { font-size: 14px; line-height: 1.9; color: var(--course-text); }
.rs2-cd-desc-toggle {
    margin-top: 12px;
    padding: 8px 20px;
    border: 1.5px solid var(--course-action);
    border-radius: 50px;
    background: transparent;
    color: var(--course-action);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}
.rs2-cd-desc-toggle:hover,
.rs2-cd-desc-toggle:focus {
    background: var(--course-action);
    color: var(--course-action-contrast);
}
.rs2-cd-brochure-link {
    align-items: center;
    background: var(--course-action);
    border-radius: 50px;
    color: var(--course-action-contrast);
    display: inline-flex;
    font-size: 13px;
    font-weight: 600;
    gap: 8px;
    margin-top: 20px;
    padding: 10px 20px;
    text-decoration: none;
    transition: all 0.2s;
}
.rs2-cd-brochure-link:hover,
.rs2-cd-brochure-link:focus {
    filter: brightness(0.92);
    color: var(--course-action-contrast);
}

.rs2-cd-sidebar-card {
    background: var(--course-surface);
    border: 1px solid var(--course-border);
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    position: sticky;
    top: 90px;
}
.rs2-cd-sidebar-card h3 {
    padding: 14px 18px;
    margin: 0;
    background: var(--course-structure);
    color: var(--course-structure-contrast);
    font-size: 14px;
}
.rs2-cd-category-list { padding: 12px 18px; }
.rs2-cd-category-group { margin-bottom: 16px; }
.rs2-cd-category-group strong { display: block; font-size: 12px; font-weight: 700; color: var(--course-heading); margin-bottom: 8px; text-transform: uppercase; letter-spacing: .5px; }
.rs2-cd-category-group a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    font-size: 13px;
    color: var(--course-text);
    text-decoration: none;
    border-radius: 6px;
    transition: background 0.15s, color 0.15s;
}
.rs2-cd-category-group a:hover,
.rs2-cd-category-group a:focus { background: var(--course-action-soft); color: var(--course-action); }
.rs2-cd-category-group .fa { font-size: 11px; color: var(--course-structure); }

.rs2-cd-related { margin-top: 20px; }
.rs2-cd-related-heading { margin-bottom: 24px; }
.rs2-cd-related-heading span { display: block; color: var(--course-structure); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; }
.rs2-cd-related-heading h3 { margin: 0; color: var(--course-heading); font-size: 20px; }
.rs2-cd-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
}
.rs2-cd-related-card {
    background: var(--course-surface);
    border: 1px solid var(--course-border);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: transform 0.25s;
}
.rs2-cd-related-card:hover { transform: translateY(-4px); }
.rs2-cd-related-media { position: relative; height: 160px; overflow: hidden; }
.rs2-cd-related-media img { width: 100%; height: 100%; object-fit: cover; }
.rs2-cd-related-badge {
    position: absolute;
    bottom: 8px; left: 10px;
    background: color-mix(in srgb, var(--course-structure) 88%, transparent);
    color: var(--course-structure-contrast);
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
}
.rs2-cd-related-body { padding: 16px; }
.rs2-cd-related-body h4 { margin: 6px 0 4px; font-size: 14px; }
.rs2-cd-related-body h4 a { color: var(--course-heading); text-decoration: none; }
.rs2-cd-related-body h4 a:hover,
.rs2-cd-related-body h4 a:focus { color: var(--course-action); }
.rs2-cd-related-meta { font-size: 12px; color: var(--course-muted); margin: 0 0 6px; }
.rs2-cd-related-meta .fa { color: var(--course-action); }
.rs2-cd-related-desc { font-size: 12px; color: var(--course-muted); margin: 0 0 10px; }
.rs2-cd-related-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    color: var(--course-action);
    text-decoration: none;
}
.rs2-cd-related-link:hover,
.rs2-cd-related-link:focus { color: var(--course-highlight); }

@media (max-width: 992px) {
    .rs2-cd-layout { grid-template-columns: 1fr; }
    .rs2-cd-sidebar-card { position: static; }
}

/* ============================================================
   PHASE 6 — COMPONENT PARTIALS CSS
   ============================================================ */

/* ── Event Card partial ── */
.rs2-event-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s;
}
.rs2-event-card:hover { transform: translateY(-4px); }
.rs2-event-card-media { display: block; height: 180px; overflow: hidden; }
.rs2-event-card-media img { width: 100%; height: 100%; object-fit: cover; }
.rs2-event-card-media--placeholder {
    height: 180px;
    background: var(--theme-action-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: color-mix(in srgb, var(--theme-action-contrast-color), transparent 60%);
}
.rs2-event-card-body { display: flex; gap: 14px; padding: 16px; flex: 1; }
.rs2-event-card-date {
    flex-shrink: 0;
    background: var(--theme-action-color);
    color: var(--theme-action-contrast-color);
    border-radius: 8px;
    padding: 10px 14px;
    text-align: center;
    min-width: 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.rs2-event-card-day { font-size: 24px; font-weight: 700; line-height: 1; }
.rs2-event-card-month { font-size: 10px; text-transform: uppercase; letter-spacing: .5px; margin-top: 3px; }
.rs2-event-card-content { flex: 1; }
.rs2-event-card-type {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--secondary-color);
    margin-bottom: 5px;
}
.rs2-event-card-title { margin: 0 0 6px; font-size: 15px; }
.rs2-event-card-title a { color: var(--heading-color); text-decoration: none; }
.rs2-event-card-title a:hover { color: var(--primary-color); }
.rs2-event-card-desc { font-size: 13px; color: #777; margin: 0 0 8px; }
.rs2-event-card-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; font-size: 12px; color: var(--text-muted-color); margin-bottom: 8px; }
.rs2-event-card-meta .fa { color: var(--primary-color); }
.rs2-event-card-link {
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-color);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.rs2-event-card-link:hover { color: var(--secondary-color); }

/* ── Faculty Card partial ── */
.rs2-faculty-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
    text-align: center;
    transition: transform 0.25s;
}
.rs2-faculty-card:hover { transform: translateY(-3px); }
.rs2-faculty-card-photo { height: 180px; overflow: hidden; background: var(--bg-alt-color, #f5f7fa); }
.rs2-faculty-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.rs2-faculty-card-initials {
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    font-weight: 700;
    color: var(--primary-color);
    background: var(--bg-alt-color, #f5f7fa);
}
.rs2-faculty-card-body { padding: 16px 14px 18px; }
.rs2-faculty-card-name { margin: 0 0 4px; font-size: 15px; color: var(--heading-color); }
.rs2-faculty-card-desig { font-size: 12px; color: var(--primary-color); font-weight: 600; margin: 0 0 4px; }
.rs2-faculty-card-qual { font-size: 12px; color: var(--text-muted-color); margin: 0 0 4px; }
.rs2-faculty-card-exp { font-size: 12px; color: var(--text-muted-color); margin: 0 0 10px; }
.rs2-faculty-card-exp .fa { color: var(--secondary-color); }
.rs2-faculty-card-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 16px;
    border-radius: 50px;
    background: var(--primary-color);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}
.rs2-faculty-card-link:hover { background: var(--secondary-color); color: var(--primary-color); }

/* ── Gallery Item partial ── */
.rs2-gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 4/3;
}
.rs2-gallery-item-link { display: block; height: 100%; }
.rs2-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; display: block; }
.rs2-gallery-item:hover img { transform: scale(1.08); }
.rs2-gallery-item-overlay {
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--theme-action-color), transparent 40%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    opacity: 0;
    transition: opacity 0.3s;
}
.rs2-gallery-item:hover .rs2-gallery-item-overlay { opacity: 1; }
.rs2-gallery-item-overlay .fa { font-size: 24px; color: #fff; }
.rs2-gallery-item-overlay span { font-size: 13px; color: rgba(255,255,255,0.9); text-align: center; padding: 0 12px; }

/* Gallery card (events-style) */
.rs-gallery-card {
    background: var(--surface-color, #fff);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    overflow: hidden;
}

.rs-gallery-card-img {
    overflow: hidden;
    position: relative;
}

.rs-gallery-card-img img {
    border-radius: 0;
    display: block;
    height: 210px;
    object-fit: cover;
    transition: transform 0.4s;
    width: 100%;
}

.rs-gallery-card:hover .rs-gallery-card-img img {
    transform: scale(1.06);
}

.rs-gallery-card-zoom {
    align-items: center;
    background: color-mix(in srgb, var(--theme-action-color), transparent 50%);
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    position: absolute;
    transition: opacity 0.3s;
}

.rs-gallery-card:hover .rs-gallery-card-zoom {
    opacity: 1;
}

.rs-gallery-card-zoom .fa {
    color: #fff;
    font-size: 26px;
}

.rs-gallery-card-body {
    border-top: none;
    padding: 16px 18px 18px;
}

.rs-gallery-card-title {
    color: var(--home-section-heading, var(--heading-color));
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 6px;
}

.rs-gallery-card-desc {
    color: var(--home-section-text, var(--text-muted-color));
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

/* Gallery dark mode */
.rs-home-section-shell.home-section-bg-dark #rs-gallery .sec-title h2,
.rs-home-section-shell.home-section-bg-dark #rs-gallery h2 {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark #rs-gallery .desc,
.rs-home-section-shell.home-section-bg-dark #rs-gallery p {
    color: var(--home-section-text);
}

.rs-home-section-shell.home-section-bg-dark #rs-gallery .rs-news-tabs {
    background: var(--home-section-alt-bg);
}

.rs-home-section-shell.home-section-bg-dark #rs-gallery .rs-news-tab-link {
    color: var(--home-section-muted);
}

.rs-home-section-shell.home-section-bg-dark #rs-gallery .rs-news-tab-link.active {
    background: var(--home-section-accent-bg);
    color: var(--home-section-accent-contrast);
}

.rs-home-section-shell.home-section-bg-dark .rs-gallery-card {
    background: var(--home-section-surface);
    border-color: var(--home-section-border);
}

.rs-home-section-shell.home-section-bg-dark .rs-gallery-card-title {
    color: var(--home-section-heading);
}

.rs-home-section-shell.home-section-bg-dark .rs-gallery-card-desc {
    color: var(--home-section-muted);
}

/* ============================================================
   PHASE 7 — RESPONSIVE QA
   Breakpoints: 1024px | 768px | 640px | 480px | 360px
   ============================================================ */

/* ─── 1024px ─── */
@media (max-width: 1024px) {
    /* Course grid: search wrap breaks to full width */
    .rs2-cg-search-wrap { flex: 1 1 100%; }

    /* Course detail related grid: 2-col */
    .rs2-cd-related-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ─── 768px ─── */
@media (max-width: 768px) {
    /* Inner banner */
    .rs2-inner-banner { height: clamp(180px, 42vw, 260px); }
    .rs2-inner-banner__content { padding: 32px 0; }

    /* Course grid discovery: stack vertically */
    .rs2-cg-discovery { flex-direction: column; align-items: stretch; }
    .rs2-cg-search-wrap { flex: 1 1 auto; }

    /* Department detail: HOD stacks */
    .rs2-dept-hod { flex-direction: column; }
    .rs2-dept-hod-photo-wrap { align-self: center; }

    /* Dept layout: drop aside below at tablet */
    .rs2-dept-layout { grid-template-columns: 180px 1fr; }
    .rs2-dept-aside { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }

    /* Fee table: card header becomes column */
    .rs2-fee-card-header { flex-wrap: wrap; }

    /* Faculty table group header: badge wraps below */
    .rs2-ft-group-header { flex-wrap: wrap; gap: 8px; }

    /* Partner dir pagination centers correctly */
    .rs2-partner-dir-pagination { justify-content: center; }

    /* Stats counter: 2-col at tablet */
    .rs2-dept-stats { display: grid; grid-template-columns: repeat(2, 1fr); }

    /* Profile detail leadership: already has breakpoint ✓ */

    /* Course detail related: single col */
    .rs2-cd-related-grid { grid-template-columns: 1fr; }

    /* Event card: date + content stack on narrow */
    .rs2-event-card-body { flex-direction: column; gap: 10px; }
    .rs2-event-card-date { flex-direction: row; align-self: flex-start; gap: 8px; padding: 8px 14px; }

    /* Testimonial grid: 1-col */
    .rs2-rvw-grid { grid-template-columns: 1fr; }

    /* LSI page rows (Phase 4 page) */
    .rs2-lsi-row, .rs2-lsi-row--reverse { grid-template-columns: 1fr !important; direction: ltr !important; }

    /* Section eyebrow font size */
    .rs2-section-eyebrow { font-size: 10px; }
}

/* ─── 640px ─── */
@media (max-width: 640px) {
    /* Section titles */
    .sec-title h2 { font-size: clamp(18px, 5vw, 28px); }

    /* Course grid type nav: wrap and smaller */
    .rs2-cg-type-nav button { padding: 6px 14px; font-size: 12px; }

    /* Department hero actions: stack buttons */
    .rs2-dept-hero-actions { flex-direction: column; align-items: flex-start; }

    /* Dept layout: collapse nav col + aside to single column */
    .rs2-dept-layout { grid-template-columns: 1fr; }
    .rs2-dept-nav-col { order: -1; }
    .rs2-dept-nav { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 6px; scrollbar-width: thin; }
    .rs2-dept-nav a { padding: 6px 12px; font-size: 12px; white-space: nowrap; }

    /* Dept stats: back to flex wrap (2-col was enough, but at 640 flex-wrap handles it) */

    /* Faculty card grid: 2-col */
    .rs2-dept-faculty-grid { grid-template-columns: repeat(2, 1fr); }

    /* Lab grid: 1-col */
    .rs2-dept-lab-grid { grid-template-columns: 1fr; }

    /* LSI photo: constrain width */
    .rs2-lsi-photo { max-width: 200px; margin: 0 auto; }
    .rs2-lsi-photo-placeholder { max-width: 200px; margin: 0 auto; }

    /* HOD photo */
    .rs2-dept-hod-photo { width: 80px; height: 96px; }

    /* Pillar grid: already 1-col at 640px ✓ */

    /* LSD card padding */
    .rs2-lsd-card { padding: 20px; }

    /* FT group header: smaller text */
    .rs2-ft-group-title { font-size: 14px; }

    /* Partner dir grid: 2-col */
    .rs2-partner-dir-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ─── 480px ─── */
@media (max-width: 480px) {
    /* Inner banner: text scale */
    .rs2-inner-banner__content h1 { font-size: 20px; }

    /* Course grid: single col */
    .rs2-cg-grid { grid-template-columns: 1fr; }

    /* Dept committee members: full width */
    .rs2-dept-committee-member { flex: 0 0 100%; }

    /* Dept faculty grid: 1-col */
    .rs2-dept-faculty-grid { grid-template-columns: 1fr; }

    /* Dept stats: single col */
    .rs2-dept-stats { grid-template-columns: 1fr; }

    /* Event card: date full width */
    .rs2-event-card-date { width: 100%; justify-content: flex-start; border-radius: 6px; }

    /* Fee table: show card header as block */
    .rs2-fee-card-header { flex-direction: column; gap: 6px; }

    /* Faculty card grid in dept: already 1-col ✓ */

    /* MOU table: reduce padding */
    .rs2-mou-table th, .rs2-mou-table td { padding: 8px 10px; font-size: 12px; }

    /* Toppers grid: redesigned cards stay readable as one column */
    .rs2-toppers-grid { grid-template-columns: 1fr; }

    /* DPL grid: 2-col at 480 */
    .rs2-dpl-grid { grid-template-columns: repeat(2, 1fr); }
    .rs2-dpl-card-head { padding: 24px 16px; }
    .rs2-dpl-card-icon { width: 56px; height: 56px; font-size: 22px; }
    .rs2-dpl-card-icon img { width: 32px; height: 32px; }
    .rs2-dpl-card-name { font-size: 14px; }

    /* Partner dir grid: 1-col at 480 */
    .rs2-partner-dir-grid { grid-template-columns: repeat(2, 1fr); }

    /* LSI shell: ensure 1-col ✓ (already at 768) */

    /* Success story carousel: perPage handled by JS */

    /* Dept section headings: smaller */
    .rs2-dept-section-heading h3 { font-size: 17px; }

    /* MOU filter: stack */
    .pd-filter-bar { flex-direction: column; }
    .pd-filter-fields { flex-direction: column; }

    /* Form grid: force 1-col */
    .pd-form-grid-2 { grid-template-columns: 1fr !important; }
}

/* ─── 360px ─── */
@media (max-width: 360px) {
    /* Toppers: 1-col at very small screens */
    .rs2-toppers-grid { grid-template-columns: 1fr; }

    /* Course cards: ensure padding is comfortable */
    .rs2-course-card-body { padding: 12px; }

    /* Partner dir: 1-col */
    .rs2-partner-dir-grid { grid-template-columns: 1fr; }

    /* Type nav: single column of buttons */
    .rs2-cg-type-nav { flex-direction: column; }
    .rs2-cg-type-nav button { width: 100%; text-align: center; }

    /* MOU table: compact */
    .rs2-mou-table th, .rs2-mou-table td { padding: 6px 8px; font-size: 11px; }

    /* Event card date: smaller */
    .rs2-event-card-day { font-size: 20px; }

    /* LSD card: minimal padding */
    .rs2-lsd-card { padding: 14px; gap: 16px; }

    /* Dept aside panels: comfortable on small phones */
    .rs2-dept-aside-panel h3 { font-size: 13px; padding: 12px 14px; }
    .rs2-dept-snapshot li { font-size: 12px; }

    /* Pillar body text */
    .rs2-pillar-body h3 { font-size: 14px; }

    /* FT table: minimum font */
    .rs2-ft-table th, .rs2-ft-table td { padding: 8px 10px; font-size: 12px; }
    .rs2-ft-identity { gap: 8px; }
    .rs2-ft-photo, .rs2-ft-initials { width: 36px; height: 36px; }
}

.theme2-sticky-sidebar {
    align-self: flex-start;
    position: sticky;
    top: 90px;
}

.theme2-required-mark,
.theme2-secondary-icon,
.theme2-secondary-link {
    color: var(--theme-highlight-color, #e87722) !important;
}

.theme2-error-text {
    color: #dc3545;
}

.theme2-muted-dash {
    opacity: 0.4;
}

.theme2-row-gap-24 {
    row-gap: 24px;
}

.theme2-flex-gap-10 {
    gap: 10px;
}

@media (max-width: 767px) {
    .pdr2-view-all-drives {
        margin-left: auto;
        margin-right: auto;
    }
}

.theme2-block-center {
    display: block;
    text-align: center;
    width: 100%;
}

.theme2-inline-flex {
    display: inline-flex;
}

.theme2-table-scroll {
    overflow-x: auto;
}

.theme2-newsletter-message {
    font-size: 12px;
}

.theme2-progress {
    appearance: none;
    border: 0;
    display: block;
    height: 8px;
    overflow: hidden;
    width: 100%;
}

.theme2-progress::-webkit-progress-bar {
    background: var(--border-color);
    border-radius: 999px;
}

.theme2-progress::-webkit-progress-value {
    background: linear-gradient(90deg, var(--theme-action-color), var(--theme-highlight-color));
    border-radius: 999px;
}

.theme2-progress::-moz-progress-bar {
    background: linear-gradient(90deg, var(--theme-action-color), var(--theme-highlight-color));
    border-radius: 999px;
}

.pdr2-date-day--tba {
    font-size: 13px;
    line-height: 1.2;
}

.lab2-card {
    border-radius: var(--border-radius-md, 10px);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lab2-card-media {
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, color-mix(in srgb, var(--theme-action-color), transparent 85%), var(--bg-alt-color, #eef2f7));
    overflow: hidden;
}

.lab2-card-media img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.lab2-card-placeholder {
    align-items: center;
    color: var(--theme-action-color);
    display: flex;
    font-size: 40px;
    height: 100%;
    justify-content: center;
    opacity: 0.35;
}

.lab2-card-body {
    padding: 18px 20px 14px;
}

.lab2-card-type {
    color: var(--theme-highlight-color, #e87722);
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.lab2-card-title {
    color: var(--theme-action-color);
    font-family: var(--header-font-family);
    font-weight: 700;
    margin-bottom: 8px;
}

.lab2-card-desc {
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 12px;
}

.lab2-meta-badge {
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
}

.lab2-meta-badge--primary {
    background: color-mix(in srgb, var(--theme-action-color), transparent 90%);
    color: var(--theme-action-color);
}

.lab2-meta-badge--secondary {
    background: color-mix(in srgb, var(--theme-highlight-color, #e87722), transparent 90%);
    color: var(--theme-highlight-color, #e87722);
}

.lab2-card-footer {
    border-top: 1px solid var(--border-color, rgba(15, 23, 42, 0.08));
    padding: 12px 20px 16px;
}

.lab2-card-link {
    align-items: center;
    display: inline-flex;
    font-size: 13px;
    gap: 6px;
}

/* Theme 2 Committee Details */
.cmt2-wrap {
    --cmt-page-bg: var(--bg-color);
    --cmt-surface: var(--surface-color, var(--bg-color));
    --cmt-surface-alt: var(--bg-alt-color, #f5f7fa);
    --cmt-border: var(--border-color);
    --cmt-text: var(--text-color);
    --cmt-muted: var(--text-muted-color);
    --cmt-heading: var(--heading-color);
    --cmt-action: var(--theme-action-color);
    --cmt-action-contrast: var(--theme-action-contrast-color);
    --cmt-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --cmt-structure: var(--theme-structure-color);
    --cmt-structure-contrast: var(--theme-structure-contrast-color);
    --cmt-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --cmt-highlight: var(--theme-highlight-color);
    --cmt-highlight-contrast: var(--theme-highlight-contrast-color);
    --cmt-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--cmt-page-bg);
    color: var(--cmt-text);
    padding: 48px 0 64px;
}

.cmt2-header {
    border-bottom: 1px solid var(--cmt-border);
    margin-bottom: 30px;
    overflow: hidden;
    padding: 0 0 24px;
    position: relative;
}

.cmt2-header::before {
    content: none;
}

.cmt2-header-top {
    display: grid;
    gap: 14px;
}

.cmt2-header h1 {
    align-items: center;
    color: var(--cmt-heading);
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(26px, 2.8vw, 38px);
    font-weight: 800;
    gap: 10px;
    line-height: 1.18;
    margin: 0;
}

.cmt2-header h1 > i {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--cmt-structure);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .8em;
    height: auto;
    justify-content: center;
    width: auto;
}

.cmt2-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.cmt2-meta-item {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--cmt-muted);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 7px;
    min-height: 0;
    padding: 0;
}

.cmt2-meta-item i {
    color: var(--cmt-structure);
}

.cmt2-description {
    border-top: 0;
    color: var(--cmt-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 16px 0 0;
    max-width: 860px;
    padding-top: 0;
}

.cmt2-members-header {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.cmt2-members-header h2 {
    align-items: center;
    color: var(--cmt-heading);
    display: flex;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 800;
    gap: 9px;
    line-height: 1.2;
    margin: 0;
}

.cmt2-members-header h2 i {
    color: var(--cmt-action);
    font-size: .85em;
}

.cmt2-members-count {
    background: var(--cmt-surface-alt);
    border: 1px solid var(--cmt-border);
    border-radius: 999px;
    color: var(--cmt-muted);
    font-size: 13px;
    font-weight: 700;
    padding: 7px 12px;
    white-space: nowrap;
}

.cmt2-member {
    align-items: flex-start;
    background: var(--cmt-surface);
    border: 1px solid var(--cmt-border);
    border-left: 3px solid color-mix(in srgb, var(--cmt-structure), transparent 42%);
    border-radius: 8px;
    box-shadow: none;
    display: flex;
    gap: 14px;
    height: 100%;
    padding: 16px;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.cmt2-member:hover {
    background: var(--cmt-surface-alt);
    border-color: color-mix(in srgb, var(--cmt-action), transparent 64%);
    border-left-color: var(--cmt-action);
    box-shadow: var(--shadow-sm);
}

.cmt2-member-avatar {
    align-items: center;
    background: var(--cmt-action-soft);
    border: 1px solid color-mix(in srgb, var(--cmt-action), transparent 78%);
    border-radius: 999px;
    color: var(--cmt-action);
    display: inline-flex;
    flex: 0 0 44px;
    font-size: 18px;
    font-weight: 800;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.cmt2-member-info {
    min-width: 0;
    padding-top: 1px;
}

.cmt2-member-name {
    align-items: center;
    color: var(--cmt-heading);
    display: flex;
    flex-wrap: wrap;
    font-size: 17px;
    font-weight: 800;
    gap: 8px;
    line-height: 1.3;
    margin: 0 0 5px;
}

.cmt2-member-faculty-tag {
    background: var(--cmt-surface-alt);
    border: 1px solid var(--cmt-border);
    border-radius: 999px;
    color: var(--cmt-muted);
    display: inline-flex;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    padding: 5px 8px;
}

.cmt2-member-designation {
    color: var(--cmt-structure);
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 9px;
}

.cmt2-member-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 14px;
}

.cmt2-member-meta div,
.cmt2-member-meta a {
    color: var(--cmt-muted);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    text-decoration: none;
}

.cmt2-member-meta i {
    color: var(--cmt-action);
    margin-right: 6px;
    width: 14px;
}

.cmt2-member-meta a:hover,
.cmt2-member-meta a:focus {
    color: var(--cmt-action);
    text-decoration: none;
}

.cmt2-empty {
    background: var(--cmt-surface);
    border: 1px dashed color-mix(in srgb, var(--cmt-action), transparent 58%);
    border-radius: 8px;
    box-shadow: none;
    color: var(--cmt-muted);
    padding: 42px 22px;
    text-align: center;
}

.cmt2-empty i {
    color: var(--cmt-action);
    font-size: 42px;
    margin-bottom: 12px;
}

.cmt2-empty p {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
}

.cmt2-member-meta a:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .cmt2-wrap {
        padding: 36px 0 46px;
    }

    .cmt2-header {
        padding-bottom: 20px;
    }

    .cmt2-members-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .cmt2-member {
        gap: 12px;
    }
}

/* Theme 2 Alumni Association */
.alr2-wrap {
    --alr-page-bg: var(--bg-color);
    --alr-surface: var(--surface-color, var(--bg-color));
    --alr-surface-alt: var(--bg-alt-color, #f5f7fa);
    --alr-border: var(--border-color);
    --alr-text: var(--text-color);
    --alr-muted: var(--text-muted-color);
    --alr-heading: var(--heading-color);
    --alr-action: var(--theme-action-color);
    --alr-action-contrast: var(--theme-action-contrast-color);
    --alr-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --alr-structure: var(--theme-structure-color);
    --alr-structure-contrast: var(--theme-structure-contrast-color);
    --alr-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --alr-highlight: var(--theme-highlight-color);
    --alr-highlight-contrast: var(--theme-highlight-contrast-color);
    --alr-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--alr-page-bg);
    color: var(--alr-text);
    padding: 56px 0 64px;
}

.alr2-info-panel,
.alr2-form-wrap {
    background: var(--alr-surface);
    border: 1px solid var(--alr-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.alr2-info-panel {
    padding: 26px;
}

.alr2-info-icon {
    align-items: center;
    background: var(--alr-structure);
    border-radius: 8px;
    color: var(--alr-structure-contrast);
    display: inline-flex;
    font-size: 28px;
    height: 58px;
    justify-content: center;
    margin-bottom: 18px;
    width: 58px;
}

.alr2-info-panel h3 {
    color: var(--alr-heading);
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 10px;
}

.alr2-info-panel p {
    color: var(--alr-muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.alr2-feature-list {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}

.alr2-feature {
    align-items: flex-start;
    background: var(--alr-surface-alt);
    border: 1px solid var(--alr-border);
    border-radius: 8px;
    color: var(--alr-text);
    display: flex;
    gap: 10px;
    padding: 12px;
}

.alr2-feature i {
    align-items: center;
    background: var(--alr-action-soft);
    border-radius: 999px;
    color: var(--alr-action);
    display: inline-flex;
    flex: 0 0 24px;
    font-size: 12px;
    height: 24px;
    justify-content: center;
    margin-top: 1px;
    width: 24px;
}

.alr2-feature span {
    color: var(--alr-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.alr2-form-header {
    align-items: center;
    background: var(--alr-structure-soft);
    border-bottom: 1px solid var(--alr-border);
    display: flex;
    gap: 14px;
    padding: 20px 24px;
}

.alr2-form-header-icon {
    align-items: center;
    background: var(--alr-action);
    border-radius: 999px;
    color: var(--alr-action-contrast);
    display: inline-flex;
    flex: 0 0 46px;
    font-size: 18px;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.alr2-form-header h3 {
    color: var(--alr-heading);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 4px;
}

.alr2-form-header p {
    color: var(--alr-muted);
    font-size: 14px;
    margin: 0;
}

.alr2-form-body {
    padding: 24px;
}

.alr2-form-body form {
    margin: 0;
}

.alr2-section-label {
    color: var(--alr-structure);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .06em;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.alr2-section-divider {
    border: 0;
    border-top: 1px solid var(--alr-border);
    margin: 22px 0;
}

.alr2-form-body .form-group {
    margin-bottom: 18px;
}

.alr2-form-body label {
    color: var(--alr-heading);
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 7px;
}

.alr2-form-body .required,
.alr2-form-body .theme2-required-mark {
    color: var(--alr-highlight);
    font-weight: 800;
}

.alr2-form-body .form-control {
    background: var(--alr-surface-alt);
    border: 1px solid var(--alr-border);
    border-radius: 8px;
    color: var(--alr-text);
    font-size: 15px;
    min-height: 44px;
    padding: 10px 12px;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.alr2-form-body textarea.form-control {
    min-height: 112px;
    resize: vertical;
}

.alr2-form-body .form-control:focus {
    background: var(--alr-surface);
    border-color: var(--alr-action);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--alr-action), transparent 82%);
    color: var(--alr-text);
}

.alr2-form-body .form-control.is-invalid {
    border-color: var(--alr-highlight);
}

.alr2-form-body .invalid-feedback {
    color: var(--alr-highlight);
    font-size: 12px;
    font-weight: 700;
    margin-top: 6px;
}

.alr2-alert {
    align-items: flex-start;
    border-radius: 8px;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    gap: 10px;
    line-height: 1.5;
    margin-bottom: 18px;
    padding: 12px 14px;
}

.alr2-alert-success {
    background: color-mix(in srgb, var(--status-success, #16a34a), transparent 88%);
    border: 1px solid color-mix(in srgb, var(--status-success, #16a34a), transparent 70%);
    color: var(--status-success, #16a34a);
}

.alr2-alert-danger {
    background: var(--alr-highlight-soft);
    border: 1px solid color-mix(in srgb, var(--alr-highlight), transparent 70%);
    color: var(--alr-highlight);
}

.alr2-alert i {
    margin-top: 2px;
}

.alr2-submit-btn {
    align-items: center;
    background: var(--alr-action);
    border: 1px solid var(--alr-action);
    border-radius: 999px;
    color: var(--alr-action-contrast);
    display: inline-flex;
    font-size: 15px;
    font-weight: 800;
    gap: 9px;
    justify-content: center;
    min-height: 46px;
    padding: 11px 22px;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.alr2-submit-btn:hover,
.alr2-submit-btn:focus {
    background: var(--alr-highlight);
    border-color: var(--alr-highlight);
    box-shadow: var(--shadow-sm);
    color: var(--alr-highlight-contrast);
    transform: translateY(-1px);
}

.alr2-submit-btn:focus-visible,
.alr2-form-body .form-control:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .alr2-wrap {
        padding: 36px 0 46px;
    }

    .alr2-info-panel,
    .alr2-form-body {
        padding: 20px;
    }

    .alr2-form-header {
        align-items: flex-start;
        padding: 18px 20px;
    }

    .alr2-submit-btn {
        width: 100%;
    }
}

/* Theme 2 Alumni Success Stories */
.als2-wrap,
.als2d-wrap {
    --als-page-bg: var(--bg-color);
    --als-surface: var(--surface-color, var(--bg-color));
    --als-surface-alt: var(--bg-alt-color, #f5f7fa);
    --als-border: var(--border-color);
    --als-text: var(--text-color);
    --als-muted: var(--text-muted-color);
    --als-heading: var(--heading-color);
    --als-action: var(--theme-action-color);
    --als-action-contrast: var(--theme-action-contrast-color);
    --als-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --als-structure: var(--theme-structure-color);
    --als-structure-contrast: var(--theme-structure-contrast-color);
    --als-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --als-highlight: var(--theme-highlight-color);
    --als-highlight-contrast: var(--theme-highlight-contrast-color);
    --als-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--als-page-bg);
    color: var(--als-text);
    padding: 56px 0 64px;
}

.als2-intro {
    margin: 0 auto 30px;
    max-width: 820px;
    text-align: center;
}

.als2-intro h2 {
    color: var(--als-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.als2-intro p {
    color: var(--als-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}

/* ── Alumni Stories: card grid ── */
.als2-story-grid {
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 36px;
}

.als2-story-card {
    background: var(--als-surface);
    border: 1px solid var(--als-border);
    border-radius: 16px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    text-decoration: none;
    transition: box-shadow 0.25s, transform 0.25s;
}

.als2-story-card:hover {
    box-shadow: var(--shadow-md);
    text-decoration: none;
    transform: translateY(-4px);
}

.als2-story-card__band {
    align-items: center;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--als-structure) 92%, #000),
        var(--als-structure));
    display: flex;
    flex-direction: column;
    padding: 28px 20px 0;
    position: relative;
}

.als2-story-card__badge {
    align-items: center;
    background: var(--als-highlight);
    border-radius: 999px;
    color: var(--als-highlight-contrast);
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    gap: 5px;
    left: 14px;
    padding: 5px 10px;
    position: absolute;
    top: 12px;
}

.als2-story-card__avatar {
    background: color-mix(in srgb, var(--als-structure) 65%, #000);
    border: 4px solid var(--als-surface);
    border-radius: 50%;
    flex-shrink: 0;
    height: 88px;
    margin-bottom: -28px;
    overflow: hidden;
    position: relative;
    width: 88px;
    z-index: 1;
}

.als2-story-card__avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.als2-story-card__avatar span {
    align-items: center;
    background: color-mix(in srgb, var(--als-structure) 55%, #000);
    color: var(--als-structure-contrast, #fff);
    display: flex;
    font-size: 30px;
    font-weight: 800;
    height: 100%;
    justify-content: center;
}

.als2-story-card__body {
    flex: 1;
    padding: 44px 28px 20px;
    text-align: center;
}

.als2-story-card__quote-mark {
    color: var(--als-action);
    font-family: Georgia, serif;
    font-size: 72px;
    line-height: 0.7;
    margin-bottom: 14px;
    opacity: 0.22;
}

.als2-story-card__achieve {
    color: var(--als-heading);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 10px;
}

.als2-story-card__summary {
    color: var(--als-muted);
    font-size: 13px;
    line-height: 1.75;
    margin: 0;
}

.als2-story-card__foot {
    border-top: 1px solid var(--als-border);
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 18px 28px 22px;
    text-align: center;
}

.als2-story-card__person {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.als2-story-card__name {
    color: var(--als-text);
    font-size: 15px;
    font-weight: 800;
}

.als2-story-card__role {
    color: var(--als-muted);
    font-size: 12px;
}

.als2-story-card__meta {
    align-items: center;
    color: var(--als-action);
    display: flex;
    font-size: 12px;
    font-weight: 600;
    gap: 6px;
    justify-content: center;
    margin: 0;
}

.als2-story-card__sep {
    color: var(--als-muted);
}

.als2-story-card__cta {
    align-items: center;
    color: var(--als-action);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 6px;
    justify-content: center;
    margin-top: 6px;
    transition: gap 0.2s;
}

.als2-story-card:hover .als2-story-card__cta {
    gap: 10px;
}

@media (max-width: 991px) {
    .als2-story-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .als2-story-grid {
        grid-template-columns: 1fr;
    }
}

.als2-empty {
    background: var(--als-surface);
    border: 1px dashed color-mix(in srgb, var(--als-action), transparent 58%);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    color: var(--als-muted);
    padding: 42px 22px;
    text-align: center;
}

.als2-empty i {
    color: var(--als-action);
    font-size: 44px;
}

.als2-empty h4 {
    color: var(--als-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 14px 0 8px;
}

.als2-empty p {
    margin: 0;
}

.als2d-hero {
    align-items: center;
    background: var(--als-surface);
    border: 1px solid var(--als-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    display: grid;
    gap: 24px;
    grid-template-columns: 180px minmax(0, 1fr);
    margin-bottom: 24px;
    overflow: hidden;
    padding: 28px;
}

.als2d-avatar-wrap {
    align-items: center;
    background: var(--als-structure-soft);
    border-radius: 8px;
    display: flex;
    justify-content: center;
    min-height: 180px;
    overflow: hidden;
}

.als2d-avatar,
.als2d-avatar-initials {
    border-radius: 999px;
    height: 148px;
    width: 148px;
}

.als2d-avatar {
    display: block;
    object-fit: cover;
}

.als2d-avatar-initials {
    align-items: center;
    background: var(--als-structure);
    color: var(--als-structure-contrast);
    display: inline-flex;
    font-size: 52px;
    font-weight: 800;
    justify-content: center;
}

.als2d-title {
    color: var(--als-heading);
    font-size: clamp(28px, 3.4vw, 46px);
    font-weight: 800;
    line-height: 1.12;
    margin: 0 0 10px;
}

.als2d-hero-info {
    min-width: 0;
}

.als2d-alumni-name,
.als2d-date {
    align-items: center;
    color: var(--als-muted);
    display: flex;
    font-size: 15px;
    font-weight: 700;
    gap: 8px;
    margin: 0 0 12px;
}

.als2d-alumni-name i,
.als2d-date i {
    color: var(--als-action);
}

.als2d-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 14px 0;
}

.als2d-meta-item {
    align-items: center;
    background: var(--als-action-soft);
    border: 1px solid color-mix(in srgb, var(--als-action), transparent 76%);
    border-radius: 999px;
    color: var(--als-action);
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 7px;
    padding: 7px 11px;
}

.als2d-summary-block,
.als2d-content {
    background: var(--als-surface);
    border: 1px solid var(--als-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.als2d-summary-block {
    color: var(--als-heading);
    font-size: 19px;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 22px;
    padding: 24px 26px;
}

.als2d-content {
    color: var(--als-text);
    line-height: 1.8;
    padding: 28px;
}

.als2d-content :where(h1, h2, h3, h4, h5, h6) {
    color: var(--als-heading);
    font-weight: 800;
}

.als2d-content :where(p, li) {
    color: var(--als-text);
}

.als2d-content :where(a) {
    color: var(--als-action);
}

.als2d-related-label {
    align-items: center;
    display: flex;
    margin: 34px 0 18px;
}

.als2d-related-label span {
    color: var(--als-heading);
    font-size: 24px;
    font-weight: 800;
}

.als2d-related-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.als2d-rel-card {
    background: var(--als-surface);
    border: 1px solid var(--als-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    color: inherit;
    display: grid;
    gap: 14px;
    grid-template-columns: 76px minmax(0, 1fr);
    min-height: 100%;
    padding: 16px;
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.als2d-rel-card:hover,
.als2d-rel-card:focus {
    border-color: color-mix(in srgb, var(--als-action), transparent 58%);
    box-shadow: var(--shadow-md);
    color: inherit;
    text-decoration: none;
    transform: translateY(-2px);
}

.als2d-rel-avatar {
    align-items: center;
    background: var(--als-structure-soft);
    border-radius: 8px;
    color: var(--als-structure);
    display: flex;
    height: 76px;
    justify-content: center;
    overflow: hidden;
    width: 76px;
}

.als2d-rel-avatar img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.als2d-rel-avatar-ph {
    font-size: 30px;
}

.als2d-rel-body {
    min-width: 0;
}

.als2d-rel-title {
    color: var(--als-heading);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0 0 5px;
}

.als2d-rel-name {
    color: var(--als-action);
    font-size: 13px;
    font-weight: 800;
    margin: 0 0 6px;
}

.als2d-rel-summary {
    color: var(--als-muted);
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}

.als2-story-card:focus-visible,
.als2d-rel-card:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .als2d-hero,
    .als2d-related-grid {
        grid-template-columns: 1fr;
    }

    .als2d-avatar-wrap {
        min-height: 160px;
    }
}

@media (max-width: 767px) {
    .als2-wrap,
    .als2d-wrap {
        padding: 36px 0 46px;
    }

    .als2d-hero,
    .als2d-content,
    .als2d-summary-block {
        padding: 20px;
    }

    .als2-story-grid {
        grid-template-columns: 1fr;
    }
}

/* Theme 2 Laboratories */
.lab2-wrap,
.lab2-catalog {
    --lab-page-bg: var(--bg-color);
    --lab-surface: var(--surface-color, var(--bg-color));
    --lab-surface-alt: var(--bg-alt-color, #f5f7fa);
    --lab-border: var(--border-color);
    --lab-text: var(--text-color);
    --lab-muted: var(--text-muted-color);
    --lab-heading: var(--heading-color);
    --lab-action: var(--theme-action-color);
    --lab-action-contrast: var(--theme-action-contrast-color);
    --lab-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --lab-structure: var(--theme-structure-color);
    --lab-structure-contrast: var(--theme-structure-contrast-color);
    --lab-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --lab-highlight: var(--theme-highlight-color);
    --lab-highlight-contrast: var(--theme-highlight-contrast-color);
    --lab-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--lab-page-bg);
    color: var(--lab-text);
    padding: 56px 0 64px;
}

.lab2-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 22px;
}

.lab2-tab {
    align-items: center;
    background: var(--lab-surface);
    border: 1px solid var(--lab-border);
    border-radius: 999px;
    color: var(--lab-text);
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    min-height: 40px;
    padding: 9px 16px;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.lab2-tab:hover,
.lab2-tab:focus,
.lab2-tab--active {
    background: var(--lab-action);
    border-color: var(--lab-action);
    color: var(--lab-action-contrast);
    text-decoration: none;
    transform: translateY(-1px);
}

.lab2-results-head {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 20px;
}

.lab2-results-head h3 {
    color: var(--lab-heading);
    font-size: clamp(22px, 2.2vw, 30px);
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

.lab2-results-head span {
    background: var(--lab-action-soft);
    border: 1px solid color-mix(in srgb, var(--lab-action), transparent 78%);
    border-radius: 999px;
    color: var(--lab-action);
    font-size: 13px;
    font-weight: 800;
    padding: 7px 12px;
    white-space: nowrap;
}

.lab2-card {
    background: var(--lab-surface);
    border: 1px solid var(--lab-border) !important;
    border-radius: 8px;
    box-shadow: var(--shadow-sm) !important;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.lab2-card:hover {
    border-color: color-mix(in srgb, var(--lab-action), transparent 58%) !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-2px);
}

.lab2-card-media {
    background: var(--lab-structure-soft);
}

.lab2-card-placeholder {
    color: var(--lab-structure);
    opacity: 1;
}

.lab2-card-type {
    color: var(--lab-structure);
}

.lab2-card-title {
    color: var(--lab-heading);
    font-family: inherit;
    font-weight: 800;
}

.lab2-card-desc {
    color: var(--lab-muted) !important;
}

.lab2-meta-badge {
    border: 1px solid transparent;
}

.lab2-meta-badge--primary {
    background: var(--lab-action-soft);
    border-color: color-mix(in srgb, var(--lab-action), transparent 80%);
    color: var(--lab-action);
}

.lab2-meta-badge--secondary {
    background: var(--lab-highlight-soft);
    border-color: color-mix(in srgb, var(--lab-highlight), transparent 80%);
    color: var(--lab-highlight);
}

.lab2-card-footer {
    border-top: 1px solid var(--lab-border);
}

.lab2-card-link {
    background: var(--lab-action);
    border: 1px solid var(--lab-action);
    border-radius: 999px;
    color: var(--lab-action-contrast);
    font-weight: 800;
    justify-content: center;
    min-height: 40px;
    padding: 9px 16px;
    text-decoration: none;
}

.lab2-card-link:hover,
.lab2-card-link:focus {
    background: var(--lab-highlight);
    border-color: var(--lab-highlight);
    color: var(--lab-highlight-contrast);
    text-decoration: none;
}

.lab2-empty {
    background: var(--lab-surface);
    border: 1px dashed color-mix(in srgb, var(--lab-action), transparent 58%);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    color: var(--lab-muted);
    padding: 40px 22px;
    text-align: center;
}

.lab2-empty i {
    color: var(--lab-action);
    font-size: 42px;
    margin-bottom: 12px;
}

.lab2-hero {
    background: var(--lab-structure-soft);
    border: 1px solid var(--lab-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    height: 312px;
    margin-bottom: 28px;
    overflow: hidden;
    position: relative;
}

.lab2-hero-img,
.lab2-carousel,
.lab2-carousel-viewport,
.lab2-carousel-track,
.lab2-carousel-item,
.lab2-carousel-item img,
.lab2-hero-placeholder {
    height: 100%;
}

.lab2-hero-img,
.lab2-carousel-item img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.lab2-carousel {
    position: relative;
}

.lab2-carousel-viewport {
    overflow: hidden;
}

.lab2-carousel-track {
    display: flex;
    transition: transform .35s ease;
}

.lab2-carousel-item {
    flex: 0 0 100%;
}

.lab2-carousel-btn {
    align-items: center;
    background: var(--lab-surface);
    border: 1px solid var(--lab-border);
    border-radius: 999px;
    box-shadow: var(--shadow-sm);
    color: var(--lab-action);
    display: inline-flex;
    font-size: 34px;
    height: 44px;
    justify-content: center;
    line-height: 1;
    padding: 0 0 4px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background-color .2s ease, color .2s ease;
    width: 44px;
    z-index: 2;
}

.lab2-carousel-prev {
    left: 16px;
}

.lab2-carousel-next {
    right: 16px;
}

.lab2-carousel-btn:hover,
.lab2-carousel-btn:focus {
    background: var(--lab-action);
    color: var(--lab-action-contrast);
}

.lab2-carousel-dots {
    align-items: center;
    bottom: 16px;
    display: flex;
    gap: 8px;
    justify-content: center;
    left: 0;
    padding: 0 18px;
    position: absolute;
    right: 0;
    z-index: 2;
}

.lab2-carousel-dot {
    background: var(--lab-surface);
    border: 1px solid var(--lab-border);
    border-radius: 999px;
    height: 10px;
    opacity: .88;
    padding: 0;
    width: 10px;
}

.lab2-carousel-dot.is-active {
    background: var(--lab-highlight);
    border-color: var(--lab-highlight);
    width: 24px;
}

.lab2-hero-placeholder {
    align-items: center;
    color: var(--lab-structure);
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: center;
    text-align: center;
}

.lab2-hero-placeholder i {
    font-size: 60px;
}

.lab2-hero-placeholder span,
.lab2-hero-badge {
    background: var(--lab-highlight);
    border-radius: 999px;
    color: var(--lab-highlight-contrast);
    font-size: 13px;
    font-weight: 800;
    padding: 8px 13px;
}

.lab2-hero-badge {
    bottom: 18px;
    left: 18px;
    max-width: calc(100% - 36px);
    overflow: hidden;
    position: absolute;
    text-overflow: ellipsis;
    white-space: nowrap;
    z-index: 3;
}

.lab2-content-card,
.lab2-profile-card,
.lab2-equipment,
.lab2-rel-card {
    background: var(--lab-surface);
    border: 1px solid var(--lab-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.lab2-content-card {
    padding: 26px;
}

.lab2-content-card h1 {
    color: var(--lab-heading);
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
}

.lab2-divider {
    border: 0;
    border-top: 1px solid var(--lab-border);
    margin: 20px 0;
}

.lab2-rich-text {
    color: var(--lab-text);
}

.lab2-rich-text :where(p, li) {
    color: var(--lab-text);
    line-height: 1.75;
}

.lab2-rich-text :where(a) {
    color: var(--lab-action);
}

.lab2-profile-card {
    overflow: hidden;
}

.lab2-profile-header,
.lab2-equipment-header {
    align-items: center;
    background: var(--lab-structure);
    color: var(--lab-structure-contrast);
    display: flex;
    gap: 10px;
    padding: 16px 18px;
}

.lab2-profile-header {
    font-size: 17px;
    font-weight: 800;
}

.lab2-profile-header i,
.lab2-equipment-header > i {
    color: inherit;
    flex: 0 0 auto;
    font-size: 18px;
}

.lab2-stat-item {
    border-bottom: 1px solid var(--lab-border);
    padding: 16px 18px;
}

.lab2-stat-item:last-child {
    border-bottom: 0;
}

.lab2-stat-label {
    align-items: center;
    color: var(--lab-muted);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    letter-spacing: .05em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.lab2-stat-label i {
    color: var(--lab-action);
}

.lab2-stat-value {
    color: var(--lab-heading);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
}

.lab2-equipment {
    margin-top: 8px;
    overflow: hidden;
}

.lab2-equipment-header {
    justify-content: space-between;
}

.lab2-equipment-header h3 {
    color: inherit;
    flex: 1;
    font-size: 22px;
    font-weight: 800;
    margin: 0;
}

.lab2-equipment-count {
    background: color-mix(in srgb, currentColor, transparent 88%);
    border: 1px solid color-mix(in srgb, currentColor, transparent 72%);
    border-radius: 999px;
    color: inherit;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 10px;
    white-space: nowrap;
}

.lab2-eq-table {
    overflow-x: auto;
}

.lab2-eq-table table {
    border-collapse: collapse;
    margin: 0;
    min-width: 760px;
    width: 100%;
}

.lab2-eq-table th,
.lab2-eq-table td {
    border-bottom: 1px solid var(--lab-border);
    color: var(--lab-text);
    padding: 13px 16px;
    text-align: left;
    vertical-align: top;
}

.lab2-eq-table th {
    background: var(--lab-structure-soft);
    color: var(--lab-heading);
    font-size: 13px;
    font-weight: 800;
}

.lab2-eq-table tr:hover td {
    background: var(--lab-action-soft);
}

.lab2-eq-table tbody tr:last-child td {
    border-bottom: 0;
}

.lab2-eq-hidden {
    display: none;
}

.lab2-qty-badge {
    background: var(--lab-highlight-soft);
    border: 1px solid color-mix(in srgb, var(--lab-highlight), transparent 72%);
    border-radius: 999px;
    color: var(--lab-highlight);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    min-width: 32px;
    padding: 5px 9px;
    justify-content: center;
}

.lab2-eq-more {
    border-top: 1px solid var(--lab-border);
    padding: 14px;
    text-align: center;
}

.lab2-eq-more-btn {
    align-items: center;
    background: var(--lab-action);
    border: 1px solid var(--lab-action);
    border-radius: 999px;
    color: var(--lab-action-contrast);
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 40px;
    padding: 9px 18px;
}

.lab2-eq-more-btn:hover,
.lab2-eq-more-btn:focus {
    background: var(--lab-highlight);
    border-color: var(--lab-highlight);
    color: var(--lab-highlight-contrast);
}

.lab2-related {
    margin-top: 36px;
}

.lab2-section-heading h2 {
    color: var(--lab-heading);
    font-size: clamp(24px, 2.4vw, 34px);
    font-weight: 800;
    margin: 0 0 18px;
}

.lab2-rel-card {
    color: inherit;
    display: block;
    height: 100%;
    overflow: hidden;
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.lab2-rel-card:hover,
.lab2-rel-card:focus {
    border-color: color-mix(in srgb, var(--lab-action), transparent 58%);
    box-shadow: var(--shadow-md);
    color: inherit;
    text-decoration: none;
    transform: translateY(-2px);
}

.lab2-rel-img {
    align-items: center;
    aspect-ratio: 16 / 10;
    background: var(--lab-structure-soft);
    color: var(--lab-structure);
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.lab2-rel-img:empty::before {
    content: "\f0c3";
    font-family: FontAwesome;
    font-size: 38px;
    opacity: .8;
}

.lab2-rel-img img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.lab2-rel-body {
    padding: 16px;
}

.lab2-rel-type {
    color: var(--lab-structure);
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.lab2-rel-name {
    color: var(--lab-heading);
    font-size: 19px;
    font-weight: 800;
    line-height: 1.3;
    margin: 0;
}

.lab2-rel-dept {
    align-items: center;
    color: var(--lab-muted);
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 7px;
    margin: 10px 0 0;
}

.lab2-rel-dept i {
    color: var(--lab-action);
}

.lab2-tab:focus-visible,
.lab2-card-link:focus-visible,
.lab2-carousel-btn:focus-visible,
.lab2-carousel-dot:focus-visible,
.lab2-eq-more-btn:focus-visible,
.lab2-rel-card:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .lab2-hero {
        height: 286px;
    }
}

@media (max-width: 767px) {
    .lab2-wrap,
    .lab2-catalog {
        padding: 36px 0 46px;
    }

    .lab2-results-head,
    .lab2-equipment-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .lab2-content-card {
        padding: 20px;
    }

    .lab2-carousel-prev {
        left: 10px;
    }

    .lab2-carousel-next {
        right: 10px;
    }

    .lab2-hero {
        height: 260px;
    }
}

/* Theme 2 News and Articles Listing and Detail */
.nws2-wrap,
.nwd2-wrap,
.art2-wrap,
.ard2-wrap {
    --post-page-bg: var(--bg-color);
    --post-surface: var(--surface-color, var(--bg-color));
    --post-surface-alt: var(--bg-alt-color, #f5f7fa);
    --post-border: var(--border-color);
    --post-text: var(--text-color);
    --post-muted: var(--text-muted-color);
    --post-heading: var(--heading-color);
    --post-action: var(--theme-action-color);
    --post-action-contrast: var(--theme-action-contrast-color);
    --post-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --post-structure: var(--theme-structure-color);
    --post-structure-contrast: var(--theme-structure-contrast-color);
    --post-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --post-highlight: var(--theme-highlight-color);
    --post-highlight-contrast: var(--theme-highlight-contrast-color);
    --post-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--post-page-bg);
    color: var(--post-text);
    padding: 56px 0 64px;
}

.nws2-intro,
.art2-intro {
    margin: 0 auto 30px;
    max-width: 820px;
    text-align: center;
}

.nws2-intro h2,
.art2-intro-title {
    color: var(--post-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.nws2-intro p,
.art2-intro-desc {
    color: var(--post-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}

.art2-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nws2-card,
.art2-card,
.nwd2-article,
.nwd2-sidebar-card,
.ard2-content,
.ard2-widget {
    background: var(--post-surface);
    border: 1px solid var(--post-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.nws2-card,
.art2-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.nws2-card:hover,
.art2-card:hover {
    border-color: color-mix(in srgb, var(--post-action), transparent 58%);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.nws2-img,
.nws2-img-placeholder,
.art2-thumb {
    align-items: center;
    aspect-ratio: 16 / 10;
    background: var(--post-structure-soft);
    color: var(--post-structure);
    display: flex;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.nws2-img img,
.art2-thumb img,
.nwd2-banner img,
.ard2-featured-img img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.nws2-card:hover .nws2-img img,
.art2-card:hover .art2-thumb img {
    transform: scale(1.04);
}

.nws2-img img,
.art2-thumb img {
    transition: transform .28s ease;
}

.nws2-img-placeholder i {
    font-size: 42px;
}

.nws2-featured-ribbon,
.art2-date {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    padding: 7px 10px;
    position: absolute;
}

.nws2-featured-ribbon {
    background: var(--post-highlight);
    color: var(--post-highlight-contrast);
    left: 12px;
    top: 12px;
}

.art2-date {
    background: var(--post-surface);
    border: 1px solid var(--post-border);
    bottom: 12px;
    color: var(--post-muted);
    left: 12px;
}

.art2-date i {
    color: var(--post-action);
}

.nws2-body,
.art2-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 18px;
}

.nws2-cats,
.nwd2-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.nws2-cat,
.nwd2-cat,
.nwd2-tag {
    background: var(--post-structure-soft);
    border: 1px solid color-mix(in srgb, var(--post-structure), transparent 76%);
    border-radius: 999px;
    color: var(--post-structure);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    padding: 8px 10px;
    text-decoration: none;
}

.nwd2-cat:hover,
.nwd2-cat:focus {
    background: var(--post-action);
    border-color: var(--post-action);
    color: var(--post-action-contrast);
    text-decoration: none;
}

.nws2-title,
.art2-title {
    color: var(--post-heading);
    font-size: 21px;
    font-weight: 800;
    line-height: 1.3;
    margin: 0 0 10px;
}

.nws2-title a,
.art2-title a {
    color: inherit;
    text-decoration: none;
}

.nws2-title a:hover,
.nws2-title a:focus,
.art2-title a:hover,
.art2-title a:focus {
    color: var(--post-action);
    text-decoration: none;
}

.nws2-meta,
.nwd2-meta,
.ard2-meta {
    align-items: center;
    color: var(--post-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    gap: 10px 16px;
    margin-bottom: 14px;
}

.nws2-meta i,
.nwd2-meta i,
.ard2-meta-item i {
    color: var(--post-action);
}

.nws2-excerpt,
.art2-excerpt {
    color: var(--post-muted);
    font-size: 14px;
    line-height: 1.65;
    margin: 0 0 16px;
}

.nws2-read-link,
.art2-read,
.ard2-back {
    align-items: center;
    color: var(--post-action);
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    margin-top: auto;
    text-decoration: none;
}

.ard2-back {
    margin-bottom: 18px;
}

.nws2-read-link:hover,
.nws2-read-link:focus,
.art2-read:hover,
.art2-read:focus,
.ard2-back:hover,
.ard2-back:focus {
    color: var(--post-highlight);
    text-decoration: none;
}

.nws2-empty,
.art2-empty {
    background: var(--post-surface);
    border: 1px dashed color-mix(in srgb, var(--post-action), transparent 58%);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    color: var(--post-muted);
    padding: 44px 22px;
    text-align: center;
}

.nws2-empty i,
.art2-empty i {
    color: var(--post-action);
    font-size: 44px;
}

.nws2-empty h4,
.art2-empty h4 {
    color: var(--post-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.art2-pagination {
    margin-top: 28px;
}

.nwd2-article,
.nwd2-sidebar-card,
.ard2-content,
.ard2-widget,
.ard2-featured-img {
    overflow: hidden;
}

.nwd2-banner,
.nwd2-banner-placeholder,
.ard2-featured-img {
    background: var(--post-structure-soft);
    border: 1px solid var(--post-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 18px;
    overflow: hidden;
}

.nwd2-banner img,
.ard2-featured-img img {
    aspect-ratio: 16 / 9;
}

.nwd2-banner-placeholder {
    align-items: center;
    color: var(--post-structure);
    display: flex;
    min-height: 320px;
    justify-content: center;
}

.nwd2-banner-placeholder i {
    font-size: 52px;
}

.nwd2-article-body,
.ard2-content {
    padding: 28px;
}

.nwd2-title {
    color: var(--post-heading);
    font-size: clamp(30px, 3.5vw, 46px);
    font-weight: 850;
    line-height: 1.12;
    margin: 0 0 14px;
}

.ard2-meta-item {
    align-items: center;
    background: var(--post-surface-alt);
    border: 1px solid var(--post-border);
    border-radius: 999px;
    color: var(--post-muted);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    padding: 7px 10px;
}

.nwd2-content,
.ard2-content {
    color: var(--post-text);
    font-size: 16px;
    line-height: 1.78;
}

.nwd2-content :is(h1, h2, h3, h4, h5, h6),
.ard2-content :is(h1, h2, h3, h4, h5, h6) {
    color: var(--post-heading);
    font-weight: 800;
    line-height: 1.25;
    margin: 24px 0 12px;
}

.nwd2-content p,
.ard2-content p {
    margin-bottom: 16px;
}

.nwd2-content img,
.ard2-content img {
    border-radius: 8px;
    height: auto;
    max-width: 100%;
}

.nwd2-tags {
    align-items: flex-start;
    border-top: 1px solid var(--post-border);
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 26px;
    padding-top: 18px;
}

.nwd2-wrap .nwd2-tags-icon {
    color: var(--post-action);
    margin-top: 7px;
}

.nwd2-comments {
    border-top: 1px solid var(--post-border);
    margin-top: 30px;
    padding-top: 26px;
}

.nwd2-comments-title {
    color: var(--post-heading);
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 16px;
}

.nwd2-comment {
    background: var(--post-surface-alt);
    border: 1px solid var(--post-border);
    border-radius: 8px;
    margin-bottom: 12px;
    padding: 16px;
}

.nwd2-comment-reply {
    background: var(--post-surface);
    border-left: 3px solid var(--post-action);
    margin: 12px 0 0 24px;
}

.nwd2-comment-author {
    align-items: center;
    color: var(--post-heading);
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
}

.nwd2-comment-date,
.nwd2-recent-date,
.ard2-recent-date {
    color: var(--post-muted);
    font-size: 12px;
    font-weight: 700;
}

.nwd2-comment-text {
    color: var(--post-text);
    line-height: 1.65;
    margin: 8px 0 0;
}

.nwd2-comment-form {
    background: var(--post-surface-alt);
    border: 1px solid var(--post-border);
    border-radius: 8px;
    margin-top: 20px;
    padding: 20px;
}

.nwd2-comment-success {
    background: var(--post-action-soft);
    border: 1px solid color-mix(in srgb, var(--post-action), transparent 72%);
    border-radius: 8px;
    color: var(--post-action);
    font-weight: 800;
    margin-bottom: 14px;
    padding: 10px 12px;
}

.nwd2-comment-form .form-control,
.ard2-newsletter-form input {
    background: var(--post-surface);
    border: 1px solid var(--post-border);
    border-radius: 8px;
    color: var(--post-text);
    min-height: 44px;
}

.nwd2-comment-form .form-control:focus,
.ard2-newsletter-form input:focus {
    border-color: var(--post-action);
    box-shadow: 0 0 0 3px var(--post-action-soft);
    outline: 0;
}

.nwd2-submit-btn {
    align-items: center;
    background: var(--post-action);
    border: 0;
    border-radius: 8px;
    color: var(--post-action-contrast);
    display: inline-flex;
    font-weight: 800;
    gap: 8px;
    min-height: 44px;
    padding: 0 18px;
}

.nwd2-submit-btn:hover,
.nwd2-submit-btn:focus {
    background: var(--post-highlight);
    color: var(--post-highlight-contrast);
}

.nwd2-sidebar,
.ard2-sidebar {
    display: grid;
    gap: 18px;
    position: sticky;
    top: 96px;
}

.nwd2-sidebar-head,
.ard2-widget-title {
    background: var(--post-structure);
    color: var(--post-structure-contrast);
    font-size: 15px;
    font-weight: 850;
    padding: 14px 16px;
}

.nwd2-recent-item,
.ard2-recent-post {
    align-items: center;
    border-bottom: 1px solid var(--post-border);
    color: inherit;
    display: grid;
    gap: 12px;
    grid-template-columns: 76px minmax(0, 1fr);
    padding: 14px 16px;
    text-decoration: none;
}

.nwd2-recent-item:last-child,
.ard2-recent-post:last-child {
    border-bottom: 0;
}

.nwd2-recent-item:hover,
.nwd2-recent-item:focus,
.ard2-recent-post:hover,
.ard2-recent-post:focus {
    background: var(--post-surface-alt);
    text-decoration: none;
}

.nwd2-recent-thumb,
.nwd2-recent-thumb-ph,
.ard2-recent-thumb {
    aspect-ratio: 1;
    background: var(--post-structure-soft);
    border-radius: 8px;
    color: var(--post-structure);
    height: 76px;
    object-fit: cover;
    width: 76px;
}

.nwd2-recent-thumb-ph {
    align-items: center;
    display: flex;
    justify-content: center;
}

.nwd2-recent-title,
.ard2-recent-title {
    color: var(--post-heading);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0 0 6px;
}

.nwd2-recent-item:hover .nwd2-recent-title,
.ard2-recent-post:hover .ard2-recent-title {
    color: var(--post-action);
}

.ard2-newsletter {
    color: var(--post-muted);
    padding: 16px;
}

.ard2-newsletter p {
    line-height: 1.6;
    margin: 0 0 14px;
}

.ard2-newsletter-form {
    display: flex;
    gap: 8px;
}

.ard2-newsletter-form input {
    flex: 1;
    min-width: 0;
    padding: 0 12px;
}

.ard2-newsletter-form button {
    align-items: center;
    background: var(--post-action);
    border: 0;
    border-radius: 8px;
    color: var(--post-action-contrast);
    display: inline-flex;
    flex: 0 0 44px;
    justify-content: center;
}

.ard2-newsletter-form button:hover,
.ard2-newsletter-form button:focus {
    background: var(--post-highlight);
    color: var(--post-highlight-contrast);
}

@media (max-width: 991.98px) {
    .art2-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nwd2-sidebar,
    .ard2-sidebar {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .nws2-wrap,
    .nwd2-wrap,
    .art2-wrap,
    .ard2-wrap {
        padding: 40px 0 48px;
    }

    .art2-grid {
        grid-template-columns: 1fr;
    }

    .nwd2-article-body,
    .ard2-content {
        padding: 20px;
    }

    .nwd2-title {
        font-size: 28px;
    }

    .nwd2-comment-reply {
        margin-left: 12px;
    }

    .ard2-newsletter-form {
        flex-direction: column;
    }

    .ard2-newsletter-form button {
        flex-basis: 44px;
        width: 100%;
    }
}

/* Theme 2 Blogs Listing and Detail */
.blg2-wrap,
.bld2-wrap {
    --blog-page-bg: var(--bg-color);
    --blog-surface: var(--surface-color, var(--bg-color));
    --blog-surface-alt: var(--bg-alt-color, #f5f7fa);
    --blog-border: var(--border-color);
    --blog-text: var(--text-color);
    --blog-muted: var(--text-muted-color);
    --blog-heading: var(--heading-color);
    --blog-action: var(--theme-action-color);
    --blog-action-contrast: var(--theme-action-contrast-color);
    --blog-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --blog-structure: var(--theme-structure-color);
    --blog-structure-contrast: var(--theme-structure-contrast-color);
    --blog-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --blog-highlight: var(--theme-highlight-color);
    --blog-highlight-contrast: var(--theme-highlight-contrast-color);
    --blog-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--blog-page-bg);
    color: var(--blog-text);
    padding: 56px 0 64px;
}

.blg2-intro {
    margin: 0 auto 30px;
    max-width: 820px;
    text-align: center;
}

.blg2-intro-title {
    color: var(--blog-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.blg2-intro-desc {
    color: var(--blog-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}

.blg2-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.blg2-card,
.bld2-content,
.bld2-widget {
    background: var(--blog-surface);
    border: 1px solid var(--blog-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.blg2-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.blg2-card:hover {
    border-color: color-mix(in srgb, var(--blog-action), transparent 58%);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.blg2-thumb {
    aspect-ratio: 16 / 10;
    background: var(--blog-structure-soft);
    display: block;
    overflow: hidden;
    position: relative;
}

.blg2-thumb img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform .28s ease;
    width: 100%;
}

.blg2-card:hover .blg2-thumb img {
    transform: scale(1.04);
}

.blg2-date,
.bld2-meta-item {
    align-items: center;
    background: var(--blog-surface);
    border: 1px solid var(--blog-border);
    border-radius: 999px;
    color: var(--blog-muted);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    padding: 7px 10px;
}

.blg2-date {
    bottom: 12px;
    left: 12px;
    position: absolute;
}

.blg2-date i,
.bld2-meta-item i {
    color: var(--blog-action);
}

.blg2-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 18px;
}

.blg2-title {
    color: var(--blog-heading);
    font-size: 21px;
    font-weight: 800;
    line-height: 1.3;
    margin: 0 0 10px;
}

.blg2-title a {
    color: inherit;
    text-decoration: none;
}

.blg2-title a:hover,
.blg2-title a:focus {
    color: var(--blog-action);
    text-decoration: none;
}

.blg2-excerpt {
    color: var(--blog-muted);
    font-size: 14px;
    line-height: 1.65;
    margin: 0 0 16px;
}

.blg2-read {
    align-items: center;
    color: var(--blog-action);
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    margin-top: auto;
    text-decoration: none;
}

.blg2-read:hover,
.blg2-read:focus {
    color: var(--blog-highlight);
    text-decoration: none;
}

.blg2-pagination {
    margin-top: 28px;
}

.blg2-empty {
    background: var(--blog-surface);
    border: 1px dashed color-mix(in srgb, var(--blog-action), transparent 58%);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    color: var(--blog-muted);
    padding: 44px 22px;
    text-align: center;
}

.blg2-empty i {
    color: var(--blog-action);
    font-size: 44px;
}

.blg2-empty h4 {
    color: var(--blog-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.blg2-empty p {
    margin: 0;
}

.bld2-back {
    align-items: center;
    color: var(--blog-action);
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    margin-bottom: 18px;
    text-decoration: none;
}

.bld2-back:hover,
.bld2-back:focus {
    color: var(--blog-highlight);
    text-decoration: none;
}

.bld2-featured-img {
    background: var(--blog-structure-soft);
    border: 1px solid var(--blog-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 18px;
    overflow: hidden;
}

.bld2-featured-img img {
    aspect-ratio: 16 / 9;
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.bld2-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.bld2-content {
    color: var(--blog-text);
    line-height: 1.8;
    padding: 28px;
}

.bld2-content :where(h1, h2, h3, h4, h5, h6) {
    color: var(--blog-heading);
    font-weight: 800;
}

.bld2-content :where(p, li) {
    color: var(--blog-text);
}

.bld2-content :where(a) {
    color: var(--blog-action);
}

.bld2-sidebar {
    display: grid;
    gap: 18px;
    position: sticky;
    top: 96px;
}

.bld2-widget {
    overflow: hidden;
}

.bld2-widget-title {
    background: var(--blog-structure);
    color: var(--blog-structure-contrast);
    font-size: 17px;
    font-weight: 800;
    padding: 15px 18px;
}

.bld2-recent-post {
    align-items: center;
    border-bottom: 1px solid var(--blog-border);
    color: inherit;
    display: grid;
    gap: 12px;
    grid-template-columns: 76px minmax(0, 1fr);
    padding: 14px;
    text-decoration: none;
}

.bld2-recent-post:last-child {
    border-bottom: 0;
}

.bld2-recent-post:hover,
.bld2-recent-post:focus {
    background: var(--blog-surface-alt);
    color: inherit;
    text-decoration: none;
}

.bld2-recent-thumb {
    background: var(--blog-structure-soft);
    border-radius: 8px;
    height: 58px;
    object-fit: cover;
    width: 76px;
}

.bld2-recent-title {
    color: var(--blog-heading);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0 0 5px;
}

.bld2-recent-date {
    color: var(--blog-muted);
    font-size: 12px;
    font-weight: 700;
}

.bld2-recent-date i {
    color: var(--blog-action);
}

.bld2-newsletter {
    padding: 18px;
}

.bld2-newsletter p {
    color: var(--blog-muted);
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 14px;
}

.bld2-newsletter-form {
    display: flex;
    gap: 8px;
}

.bld2-newsletter-form input {
    background: var(--blog-surface-alt);
    border: 1px solid var(--blog-border);
    border-radius: 8px;
    color: var(--blog-text);
    flex: 1;
    min-height: 42px;
    padding: 9px 12px;
}

.bld2-newsletter-form input:focus {
    background: var(--blog-surface);
    border-color: var(--blog-action);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--blog-action), transparent 82%);
    outline: 0;
}

.bld2-newsletter-form button {
    align-items: center;
    background: var(--blog-action);
    border: 1px solid var(--blog-action);
    border-radius: 8px;
    color: var(--blog-action-contrast);
    display: inline-flex;
    flex: 0 0 44px;
    justify-content: center;
}

.bld2-newsletter-form button:hover,
.bld2-newsletter-form button:focus {
    background: var(--blog-highlight);
    border-color: var(--blog-highlight);
    color: var(--blog-highlight-contrast);
}

.blg2-title a:focus-visible,
.blg2-read:focus-visible,
.bld2-back:focus-visible,
.bld2-recent-post:focus-visible,
.bld2-newsletter-form input:focus-visible,
.bld2-newsletter-form button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .blg2-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bld2-sidebar {
        position: static;
    }
}

@media (max-width: 767px) {
    .blg2-wrap,
    .bld2-wrap {
        padding: 36px 0 46px;
    }

    .blg2-grid {
        grid-template-columns: 1fr;
    }

    .bld2-content {
        padding: 20px;
    }
}

/* Theme 2 Events Listing and Detail */
.evt2-wrap,
.evd2-wrap {
    --evt-page-bg: var(--bg-color);
    --evt-surface: var(--surface-color, var(--bg-color));
    --evt-surface-alt: var(--bg-alt-color, #f5f7fa);
    --evt-border: var(--border-color);
    --evt-text: var(--text-color);
    --evt-muted: var(--text-muted-color);
    --evt-heading: var(--heading-color);
    --evt-action: var(--theme-action-color);
    --evt-action-contrast: var(--theme-action-contrast-color);
    --evt-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --evt-structure: var(--theme-structure-color);
    --evt-structure-contrast: var(--theme-structure-contrast-color);
    --evt-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --evt-highlight: var(--theme-highlight-color);
    --evt-highlight-contrast: var(--theme-highlight-contrast-color);
    --evt-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--evt-page-bg);
    color: var(--evt-text);
    padding: 56px 0 64px;
}

.evt2-intro {
    margin: 0 auto 26px;
    max-width: 820px;
    text-align: center;
}

.evt2-intro h2 {
    color: var(--evt-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.evt2-intro p {
    color: var(--evt-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}

.evt2-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 28px;
}

.evt2-cat-pill {
    align-items: center;
    background: var(--evt-surface);
    border: 1px solid var(--evt-border);
    border-radius: 999px;
    color: var(--evt-text);
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    min-height: 40px;
    padding: 9px 16px;
    text-decoration: none;
}

.evt2-cat-pill:hover,
.evt2-cat-pill:focus,
.evt2-cat-pill.active {
    background: var(--evt-action);
    border-color: var(--evt-action);
    color: var(--evt-action-contrast);
    text-decoration: none;
}

.evt2-wrap .event-item {
    background: var(--evt-surface);
    border: 1px solid var(--evt-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    height: 100%;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.evt2-wrap .event-item:hover {
    border-color: color-mix(in srgb, var(--evt-action), transparent 58%);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.evt2-wrap .event-item > .row {
    align-items: stretch;
    height: 100%;
}

.evt2-wrap .event-item > .row > [class*="col-"] {
    display: flex;
}

.evt2-wrap .event-img {
    background: var(--evt-structure-soft);
    flex: 1;
    height: 100%;
    min-height: 238px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.evt2-wrap .event-img img,
.evt2-wrap .event-img-placeholder {
    display: block;
    height: 100%;
    min-height: 238px;
    object-fit: cover;
    width: 100%;
}

.evt2-wrap .event-img-placeholder {
    align-items: center;
    color: var(--evt-structure);
    display: flex;
    font-size: 48px;
    justify-content: center;
}

.evt2-img-status {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    line-height: 1.2;
    padding: 7px 10px;
    position: absolute;
    top: 12px;
    z-index: 2;
}

.evt2-status-ongoing,
.evd2-badge-ongoing {
    background: var(--evt-action);
    color: var(--evt-action-contrast);
}

.evt2-status-completed,
.evd2-badge-completed {
    background: var(--evt-surface);
    border: 1px solid var(--evt-border);
    color: var(--evt-muted);
}

.evt2-status-upcoming,
.evd2-badge-upcoming {
    background: var(--evt-structure);
    color: var(--evt-structure-contrast);
}

.evt2-status-featured,
.evd2-badge-featured {
    background: var(--evt-highlight);
    color: var(--evt-highlight-contrast);
}

.evt2-img-status:first-of-type {
    left: 12px;
}

.evt2-status-featured {
    right: 12px;
}

.evt2-wrap .image-link {
    align-items: center;
    background: var(--evt-surface);
    border-radius: 999px;
    bottom: 12px;
    color: var(--evt-action);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    position: absolute;
    right: 12px;
    text-decoration: none;
    width: 38px;
}

.evt2-wrap .event-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 20px;
}

.evt2-wrap .event-category,
.evd2-category {
    align-self: flex-start;
    background: var(--evt-highlight-soft);
    border: 1px solid color-mix(in srgb, var(--evt-highlight), transparent 76%);
    border-radius: 999px;
    color: var(--evt-highlight);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 12px;
    padding: 6px 10px;
}

.evt2-wrap .event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-bottom: 10px;
}

.evt2-wrap .event-meta > div,
.evt2-wrap .event-location {
    align-items: center;
    color: var(--evt-muted);
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 7px;
}

.evt2-wrap .event-meta i,
.evt2-wrap .event-location i {
    color: var(--evt-action);
}

.evt2-wrap .event-title {
    color: var(--evt-heading);
    font-size: 21px;
    font-weight: 800;
    line-height: 1.28;
    margin: 0 0 10px;
}

.evt2-wrap .event-title a {
    color: inherit;
    text-decoration: none;
}

.evt2-wrap .event-title a:hover,
.evt2-wrap .event-title a:focus {
    color: var(--evt-action);
}

.evt2-wrap .event-desc p {
    color: var(--evt-muted);
    font-size: 14px;
    line-height: 1.65;
    margin: 12px 0 0;
}

.evt2-wrap .event-btn {
    margin-top: auto;
    padding-top: 16px;
}

.evt2-wrap .event-btn a,
.evd2-reg-btn {
    align-items: center;
    background: var(--evt-action);
    border: 1px solid var(--evt-action);
    border-radius: 999px;
    color: var(--evt-action-contrast);
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 40px;
    padding: 9px 18px;
    text-decoration: none;
}

.evt2-wrap .event-btn a:hover,
.evt2-wrap .event-btn a:focus,
.evd2-reg-btn:hover,
.evd2-reg-btn:focus {
    background: var(--evt-highlight);
    border-color: var(--evt-highlight);
    color: var(--evt-highlight-contrast);
    text-decoration: none;
}

.evt2-empty,
.evd2-card,
.evd2-reg-card,
.evd2-related-card {
    background: var(--evt-surface);
    border: 1px solid var(--evt-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.evt2-empty {
    color: var(--evt-muted);
    padding: 44px 22px;
    text-align: center;
}

.evt2-empty i {
    color: var(--evt-action);
    font-size: 44px;
}

.evt2-empty h4 {
    color: var(--evt-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.evt2-empty p {
    margin: 0;
}

.evt2-empty a {
    color: var(--evt-action);
    font-weight: 800;
}

.evd2-card,
.evd2-reg-card,
.evd2-related-card {
    overflow: hidden;
}

.evd2-banner,
.evd2-banner-placeholder {
    background: var(--evt-structure-soft);
    min-height: 360px;
    position: relative;
}

.evd2-banner img {
    display: block;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    width: 100%;
}

.evd2-banner-placeholder {
    align-items: center;
    color: var(--evt-structure);
    display: flex;
    font-size: 60px;
    justify-content: center;
}

.evd2-banner-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    left: 16px;
    position: absolute;
    right: 16px;
    top: 16px;
}

.evd2-badge {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    padding: 7px 10px;
}

.evd2-body {
    padding: 26px;
}

.evd2-title {
    color: var(--evt-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 16px;
}

.evd2-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 22px;
}

.evd2-meta-item {
    align-items: center;
    background: var(--evt-surface-alt);
    border: 1px solid var(--evt-border);
    border-radius: 999px;
    color: var(--evt-muted);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    padding: 7px 12px;
}

.evd2-meta-item i,
.evd2-meta-item a {
    color: var(--evt-action);
}

.evd2-desc {
    border-top: 1px solid var(--evt-border);
    color: var(--evt-text);
    line-height: 1.8;
    padding-top: 22px;
}

.evd2-desc :where(h1, h2, h3, h4, h5, h6) {
    color: var(--evt-heading);
    font-weight: 800;
}

.evd2-desc :where(p, li) {
    color: var(--evt-text);
}

.evd2-sidebar {
    display: grid;
    gap: 18px;
}

.evd2-reg-header,
.evd2-related-header {
    background: var(--evt-structure);
    color: var(--evt-structure-contrast);
    padding: 15px 18px;
}

.evd2-reg-header h4,
.evd2-related-header h4 {
    align-items: center;
    color: inherit;
    display: flex;
    font-size: 18px;
    font-weight: 800;
    gap: 9px;
    margin: 0;
}

.evd2-reg-body {
    display: grid;
    gap: 14px;
    padding: 18px;
}

.evd2-reg-detail {
    align-items: flex-start;
    background: var(--evt-surface-alt);
    border: 1px solid var(--evt-border);
    border-radius: 8px;
    display: flex;
    gap: 12px;
    padding: 12px;
}

.evd2-reg-detail > i {
    color: var(--evt-action);
    margin-top: 3px;
}

.evd2-reg-detail-label {
    color: var(--evt-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.evd2-reg-detail-val {
    color: var(--evt-heading);
    font-size: 16px;
    font-weight: 800;
}

.evd2-reg-btn {
    width: 100%;
}

.evd2-reg-closed {
    align-items: center;
    background: var(--evt-highlight-soft);
    border: 1px solid color-mix(in srgb, var(--evt-highlight), transparent 76%);
    border-radius: 8px;
    color: var(--evt-highlight);
    display: flex;
    font-weight: 800;
    gap: 10px;
    padding: 12px;
}

.evd2-related-list {
    display: grid;
}

.evd2-related-item {
    align-items: center;
    border-bottom: 1px solid var(--evt-border);
    color: inherit;
    display: grid;
    gap: 12px;
    grid-template-columns: 74px minmax(0, 1fr);
    padding: 14px;
    text-decoration: none;
}

.evd2-related-item:last-child {
    border-bottom: 0;
}

.evd2-related-item:hover,
.evd2-related-item:focus {
    background: var(--evt-surface-alt);
    color: inherit;
    text-decoration: none;
}

.evd2-related-thumb,
.evd2-related-thumb-placeholder {
    background: var(--evt-structure-soft);
    border-radius: 8px;
    height: 58px;
    object-fit: cover;
    width: 74px;
}

.evd2-related-thumb-placeholder {
    align-items: center;
    color: var(--evt-structure);
    display: flex;
    justify-content: center;
}

.evd2-related-info {
    min-width: 0;
}

.evd2-related-title {
    color: var(--evt-heading);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
}

.evd2-related-date {
    color: var(--evt-muted);
    font-size: 12px;
    font-weight: 700;
    margin-top: 5px;
}

.evd2-related-date i {
    color: var(--evt-action);
}

.evt2-cat-pill:focus-visible,
.evt2-wrap .event-title a:focus-visible,
.evt2-wrap .event-btn a:focus-visible,
.evt2-wrap .image-link:focus-visible,
.evd2-meta-item a:focus-visible,
.evd2-reg-btn:focus-visible,
.evd2-related-item:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .evd2-banner,
    .evd2-banner img,
    .evd2-banner-placeholder {
        min-height: 300px;
    }
}

@media (max-width: 767px) {
    .evt2-wrap,
    .evd2-wrap {
        padding: 36px 0 46px;
    }

    .evt2-wrap .event-img,
    .evt2-wrap .event-img img,
    .evt2-wrap .event-img-placeholder {
        min-height: 220px;
    }

    .evd2-body {
        padding: 20px;
    }

    .evd2-banner,
    .evd2-banner img,
    .evd2-banner-placeholder {
        min-height: 240px;
    }

    .evd2-meta-item {
        border-radius: 8px;
        width: 100%;
    }
}

/* Theme 2 Careers */
.car2-wrap,
.crd2-wrap,
.cap2-wrap {
    --career-page-bg: var(--bg-color);
    --career-surface: var(--surface-color, var(--bg-color));
    --career-surface-alt: var(--bg-alt-color, #f5f7fa);
    --career-border: var(--border-color);
    --career-text: var(--text-color);
    --career-muted: var(--text-muted-color);
    --career-heading: var(--heading-color);
    --career-action: var(--theme-action-color);
    --career-action-contrast: var(--theme-action-contrast-color);
    --career-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --career-structure: var(--theme-structure-color);
    --career-structure-contrast: var(--theme-structure-contrast-color);
    --career-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --career-highlight: var(--theme-highlight-color);
    --career-highlight-contrast: var(--theme-highlight-contrast-color);
    --career-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--career-page-bg);
    color: var(--career-text);
    padding: 56px 0 64px;
}

.car2-intro {
    margin: 0 auto 30px;
    max-width: 820px;
    text-align: center;
}

.car2-intro h2 {
    color: var(--career-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 10px;
}

.car2-intro p {
    color: var(--career-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}

.car2-filter {
    background: var(--career-surface);
    border: 1px solid var(--career-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 26px;
    padding: 18px;
}

.car2-filter label {
    color: var(--career-heading);
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 7px;
}

.car2-filter .form-control,
.cap2-input,
.cap2-textarea {
    background: var(--career-surface-alt);
    border: 1px solid var(--career-border);
    border-radius: 8px;
    box-shadow: none;
    color: var(--career-text);
    display: block;
    font-size: 14px;
    line-height: 1.5;
    min-height: 44px;
    padding: 10px 12px;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
    width: 100%;
}

.car2-filter .form-control:focus,
.cap2-input:focus,
.cap2-textarea:focus {
    background: var(--career-surface);
    border-color: var(--career-action);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--career-action), transparent 82%);
    outline: 0;
}

.cap2-input.is-invalid,
.cap2-textarea.is-invalid,
.cap2-file-wrap.is-invalid {
    border-color: #dc3545;
}

.cap2-wrap .alert-danger {
    background: color-mix(in srgb, #dc3545, transparent 90%);
    border: 1px solid color-mix(in srgb, #dc3545, transparent 68%);
    border-radius: 8px;
    color: #9f1d2b;
    font-size: 14px;
    margin-left: auto;
    margin-right: auto;
    max-width: 920px;
}

.car2-filter-btn,
.car2-reset-link,
.car2-btn-view,
.car2-btn-apply,
.crd2-back,
.crd2-apply-btn,
.cap2-back,
.cap2-submit-btn,
.cap2-cancel-link {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 40px;
    padding: 9px 16px;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.car2-filter-btn,
.car2-btn-apply,
.crd2-apply-btn,
.cap2-submit-btn {
    background: var(--career-action);
    border: 1px solid var(--career-action);
    color: var(--career-action-contrast);
}

.car2-reset-link,
.car2-btn-view,
.crd2-back,
.cap2-back,
.cap2-cancel-link {
    background: var(--career-surface);
    border: 1px solid var(--career-border);
    color: var(--career-action);
}

.car2-filter-btn:hover,
.car2-filter-btn:focus,
.car2-btn-apply:hover,
.car2-btn-apply:focus,
.crd2-apply-btn:hover,
.crd2-apply-btn:focus,
.cap2-submit-btn:hover,
.cap2-submit-btn:focus {
    background: var(--career-highlight);
    border-color: var(--career-highlight);
    color: var(--career-highlight-contrast);
    text-decoration: none;
    transform: translateY(-1px);
}

.car2-reset-link:hover,
.car2-reset-link:focus,
.car2-btn-view:hover,
.car2-btn-view:focus,
.crd2-back:hover,
.crd2-back:focus,
.cap2-back:hover,
.cap2-back:focus,
.cap2-cancel-link:hover,
.cap2-cancel-link:focus {
    background: var(--career-action-soft);
    border-color: color-mix(in srgb, var(--career-action), transparent 68%);
    color: var(--career-action);
    text-decoration: none;
}

.car2-expired-toggle {
    align-items: center;
    color: var(--career-muted);
    display: inline-flex !important;
    font-size: 13px;
    font-weight: 700 !important;
    gap: 8px;
    margin: 14px 0 0 !important;
}

.car2-expired-toggle input {
    accent-color: var(--career-action);
}

.car2-card,
.crd2-article,
.crd2-sidebar-card,
.cap2-intro,
.cap2-form-card,
.cap2-closed,
.car2-empty {
    background: var(--career-surface);
    border: 1px solid var(--career-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.car2-card {
    margin-bottom: 16px;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.car2-card:hover {
    border-color: color-mix(in srgb, var(--career-action), transparent 64%);
    box-shadow: var(--shadow-md);
}

.car2-card-inner {
    align-items: flex-start;
    display: grid;
    gap: 14px;
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 18px 18px 12px;
}

.car2-icon,
.crd2-icon,
.cap2-intro-icon {
    align-items: center;
    background: var(--career-structure);
    border-radius: 6px;
    color: var(--career-structure-contrast);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 18px;
    font-weight: 900;
    height: 44px;
    justify-content: center;
    text-transform: uppercase;
    width: 44px;
}

.car2-body,
.crd2-heading,
.cap2-intro-text {
    min-width: 0;
}

.car2-top {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.car2-title {
    color: var(--career-heading);
    font-size: 19px;
    font-weight: 800;
    line-height: 1.3;
    margin: 0;
}

.car2-title a {
    color: inherit;
    text-decoration: none;
}

.car2-title a:hover,
.car2-title a:focus {
    color: var(--career-action);
    text-decoration: none;
}

.car2-meta,
.crd2-dept,
.cap2-intro-meta {
    color: var(--career-muted);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    margin: 6px 0 0;
}

.car2-chips,
.crd2-chips,
.cap2-intro-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.car2-chips,
.crd2-chips {
    margin-top: 12px;
}

.car2-chip,
.crd2-chip,
.car2-badge,
.crd2-badge {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    gap: 6px;
    line-height: 1.2;
    padding: 6px 9px;
}

.car2-chip,
.crd2-chip {
    background: var(--career-structure-soft);
    border: 1px solid color-mix(in srgb, var(--career-structure), transparent 78%);
    color: var(--career-structure);
}

.car2-badge--open,
.crd2-badge--open {
    background: var(--career-action-soft);
    border: 1px solid color-mix(in srgb, var(--career-action), transparent 78%);
    color: var(--career-action);
}

.car2-badge--expired,
.crd2-badge--expired {
    background: var(--career-highlight-soft);
    border: 1px solid color-mix(in srgb, var(--career-highlight), transparent 78%);
    color: var(--career-highlight);
}

.car2-excerpt {
    color: var(--career-muted);
    font-size: 14px;
    line-height: 1.6;
    margin: 12px 0 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

.car2-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    padding: 0 18px 18px 76px;
}

.car2-empty,
.cap2-closed {
    color: var(--career-muted);
    padding: 44px 22px;
    text-align: center;
}

.car2-empty i,
.cap2-closed i {
    color: var(--career-action);
    font-size: 42px;
}

.car2-empty h4,
.cap2-closed h3 {
    color: var(--career-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.crd2-back,
.cap2-back {
    margin-bottom: 18px;
}

.crd2-article {
    overflow: hidden;
}

.crd2-header {
    background: linear-gradient(135deg, var(--career-structure-soft), var(--career-surface));
    padding: 24px;
}

.crd2-header-inner,
.cap2-intro {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: 68px minmax(0, 1fr);
}

.crd2-icon,
.cap2-intro-icon {
    height: 68px;
    width: 68px;
}

.crd2-heading h1,
.cap2-intro-text h1 {
    color: var(--career-heading);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 900;
    line-height: 1.15;
    margin: 0;
}

.crd2-divider {
    border-color: var(--career-border);
    margin: 0;
}

.crd2-section {
    padding: 24px;
}

.crd2-section + .crd2-section {
    border-top: 1px solid var(--career-border);
}

.crd2-section-title {
    align-items: center;
    color: var(--career-heading);
    display: flex;
    font-size: 20px;
    font-weight: 800;
    gap: 10px;
    margin: 0 0 12px;
}

.crd2-section-title i {
    color: var(--career-action);
}

.crd2-content {
    color: var(--career-text);
    font-size: 15px;
    line-height: 1.75;
}

.crd2-sidebar-col {
    align-self: flex-start;
}

.crd2-sidebar-card {
    overflow: hidden;
    position: sticky;
    top: 92px;
}

.crd2-sidebar-head {
    background: var(--career-structure);
    color: var(--career-structure-contrast);
    padding: 16px 18px;
}

.crd2-sidebar-head h4 {
    align-items: center;
    color: inherit;
    display: flex;
    font-size: 18px;
    font-weight: 800;
    gap: 9px;
    margin: 0;
}

.crd2-sidebar-body {
    padding: 18px;
}

.crd2-detail-row {
    border-bottom: 1px solid var(--career-border);
    display: grid;
    gap: 8px;
    padding: 12px 0;
}

.crd2-detail-row:first-child {
    padding-top: 0;
}

.crd2-detail-label {
    color: var(--career-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.crd2-detail-value {
    color: var(--career-heading);
    font-size: 15px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.crd2-apply-btn,
.crd2-closed-notice {
    margin-top: 18px;
    width: 100%;
}

.crd2-closed-notice {
    background: var(--career-surface-alt);
    border: 1px dashed var(--career-border);
    border-radius: 8px;
    color: var(--career-muted);
    font-size: 14px;
    font-weight: 700;
    padding: 14px;
    text-align: center;
}

.crd2-closed-notice i {
    color: var(--career-highlight);
    margin-right: 6px;
}

.cap2-intro {
    box-shadow: none;
    gap: 14px;
    grid-template-columns: 54px minmax(0, 1fr);
    margin: 0 auto 18px;
    max-width: 920px;
    padding: 16px 18px;
}

.cap2-intro-icon {
    border-radius: 8px;
    font-size: 20px;
    height: 54px;
    width: 54px;
}

.cap2-intro-text h1 {
    font-size: clamp(22px, 2vw, 30px);
    line-height: 1.22;
}

.cap2-intro-meta {
    gap: 7px 14px;
    margin-top: 8px;
}

.cap2-intro-meta span {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

.cap2-intro-meta i {
    color: var(--career-action);
}

.cap2-form-card {
    margin: 0 auto;
    max-width: 920px;
    overflow: hidden;
}

.cap2-form-section-head {
    align-items: center;
    background: var(--career-surface);
    border-bottom: 1px solid var(--career-border);
    display: flex;
    gap: 10px;
    padding: 16px 20px;
}

.cap2-form-section-head--bordered {
    border-top: 1px solid var(--career-border);
}

.cap2-form-section-head i {
    align-items: center;
    background: var(--career-action-soft);
    border: 1px solid color-mix(in srgb, var(--career-action), transparent 78%);
    border-radius: 6px;
    color: var(--career-action);
    display: inline-flex;
    font-size: 14px;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.cap2-form-section-head h3 {
    color: var(--career-heading);
    font-size: 16px;
    font-weight: 800;
    margin: 0;
}

.cap2-form-body {
    padding: 20px;
}

.cap2-field {
    margin-bottom: 16px;
}

.cap2-label {
    color: var(--career-heading);
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 7px;
}

.cap2-required,
.cap2-error-msg {
    color: #dc3545;
}

.cap2-textarea {
    min-height: 118px;
    resize: vertical;
}

.cap2-file-wrap {
    align-items: center;
    background: var(--career-surface-alt);
    border: 1px dashed color-mix(in srgb, var(--career-action), transparent 62%);
    border-radius: 8px;
    color: var(--career-muted);
    cursor: pointer;
    display: grid;
    gap: 8px;
    justify-items: center;
    padding: 22px 18px;
    text-align: center;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.cap2-file-wrap:hover,
.cap2-file-wrap:focus-within {
    background: var(--career-surface);
    border-color: var(--career-action);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--career-action), transparent 86%);
}

.cap2-file-wrap input[type="file"] {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.cap2-file-trigger {
    color: var(--career-heading);
    cursor: pointer;
    display: grid;
    gap: 7px;
    justify-items: center;
    margin: 0;
}

.cap2-file-trigger i {
    color: var(--career-action);
    font-size: 26px;
}

.cap2-file-trigger strong {
    font-size: 14px;
    line-height: 1.35;
}

.cap2-file-name,
.cap2-hint {
    color: var(--career-muted);
    font-size: 12px;
    font-weight: 700;
}

.cap2-error-msg {
    font-size: 12px;
    font-weight: 700;
    margin-top: 6px;
}

.cap2-submit-row {
    align-items: center;
    background: color-mix(in srgb, var(--career-surface-alt), var(--career-surface) 34%);
    border-top: 1px solid var(--career-border);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    padding: 16px 20px 20px;
}

.car2-filter-btn:focus-visible,
.car2-reset-link:focus-visible,
.car2-title a:focus-visible,
.car2-btn-view:focus-visible,
.car2-btn-apply:focus-visible,
.crd2-back:focus-visible,
.crd2-apply-btn:focus-visible,
.cap2-back:focus-visible,
.cap2-submit-btn:focus-visible,
.cap2-cancel-link:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .crd2-sidebar-card {
        position: static;
    }
}

@media (max-width: 767px) {
    .car2-wrap,
    .crd2-wrap,
    .cap2-wrap {
        padding: 36px 0 46px;
    }

    .car2-card-inner,
    .crd2-header-inner,
    .cap2-intro {
        grid-template-columns: 1fr;
    }

    .cap2-intro {
        align-items: flex-start;
        padding: 18px;
    }

    .car2-top,
    .car2-actions,
    .cap2-submit-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .car2-actions {
        padding: 0 18px 18px;
        width: 100%;
    }

    .car2-btn-view,
    .car2-btn-apply,
    .crd2-apply-btn,
    .cap2-submit-btn,
    .cap2-cancel-link {
        width: 100%;
    }

    .crd2-header,
    .crd2-section,
    .cap2-form-body {
        padding: 20px;
    }
}

/* Theme 2 Placement Statistics */
.pls2-wrap {
    --pls-page-bg: var(--bg-color);
    --pls-surface: var(--surface-color, var(--bg-color));
    --pls-surface-alt: var(--bg-alt-color, #f5f7fa);
    --pls-border: var(--border-color);
    --pls-text: var(--text-color);
    --pls-muted: var(--text-muted-color);
    --pls-heading: var(--heading-color);
    --pls-action: var(--theme-action-color);
    --pls-action-contrast: var(--theme-action-contrast-color);
    --pls-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --pls-structure: var(--theme-structure-color);
    --pls-structure-contrast: var(--theme-structure-contrast-color);
    --pls-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --pls-highlight: var(--theme-highlight-color);
    --pls-highlight-contrast: var(--theme-highlight-contrast-color);
    --pls-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--pls-page-bg);
    color: var(--pls-text);
    padding: 56px 0 64px;
}

.pls2-intro {
    margin: 0 auto 26px;
    max-width: 820px;
    text-align: center;
}

.pls2-intro h2 {
    color: var(--pls-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.pls2-intro p {
    color: var(--pls-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}

.pls2-filters {
    background: var(--pls-surface);
    border: 1px solid var(--pls-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 28px;
    padding: 16px;
}

.pls2-filters-row {
    align-items: flex-end;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.pls2-filter-group label {
    color: var(--pls-structure);
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 7px;
}

.pls2-input {
    background: var(--pls-surface-alt);
    border: 1px solid var(--pls-border);
    border-radius: 8px;
    color: var(--pls-text);
    font-size: 15px;
    min-height: 44px;
    padding: 10px 12px;
    width: 100%;
}

.pls2-input:focus {
    background: var(--pls-surface);
    border-color: var(--pls-action);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pls-action), transparent 82%);
    outline: 0;
}

.pls2-filter-actions {
    display: flex;
    gap: 9px;
}

.pls2-btn-search,
.pls2-btn-reset {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 44px;
    padding: 10px 17px;
    text-decoration: none;
    white-space: nowrap;
}

.pls2-btn-search {
    background: var(--pls-action);
    border: 1px solid var(--pls-action);
    color: var(--pls-action-contrast);
}

.pls2-btn-reset {
    background: var(--pls-surface);
    border: 1px solid var(--pls-border);
    color: var(--pls-muted);
}

.pls2-btn-search:hover,
.pls2-btn-search:focus {
    background: var(--pls-structure);
    border-color: var(--pls-structure);
    color: var(--pls-structure-contrast);
}

.pls2-btn-reset:hover,
.pls2-btn-reset:focus {
    background: var(--pls-surface-alt);
    border-color: color-mix(in srgb, var(--pls-structure), transparent 68%);
    color: var(--pls-structure);
    text-decoration: none;
}

.pls2-table-wrap {
    background: var(--pls-surface);
    border: 1px solid var(--pls-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.pls2-table-head {
    align-items: center;
    background: var(--pls-structure-soft);
    border-bottom: 1px solid var(--pls-border);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 16px 18px;
}

.pls2-table-head h3 {
    align-items: center;
    color: var(--pls-heading);
    display: flex;
    font-size: 22px;
    font-weight: 800;
    gap: 10px;
    margin: 0;
}

.pls2-table-head h3 i {
    color: var(--pls-structure);
}

.pls2-count-badge {
    background: var(--pls-surface);
    border: 1px solid color-mix(in srgb, var(--pls-structure), transparent 78%);
    border-radius: 999px;
    color: var(--pls-structure);
    font-size: 13px;
    font-weight: 800;
    padding: 7px 12px;
    white-space: nowrap;
}

.pls2-table {
    background: var(--pls-surface);
    border-collapse: collapse;
    margin: 0;
    min-width: 920px;
    width: 100%;
}

.pls2-table th,
.pls2-table td {
    border-bottom: 1px solid var(--pls-border);
    color: var(--pls-text);
    font-size: 14px;
    padding: 14px 16px;
    text-align: left;
    vertical-align: middle;
}

.pls2-table th {
    background: color-mix(in srgb, var(--pls-structure-soft), var(--pls-surface) 48%);
    color: var(--pls-heading);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pls2-table tbody tr:hover td {
    background: var(--pls-surface-alt);
}

.pls2-table tbody tr:last-child td {
    border-bottom: 0;
}

.pls2-year-badge,
.pls2-status,
.pls2-pkg {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    padding: 6px 10px;
    white-space: nowrap;
}

.pls2-year-badge {
    background: var(--pls-structure-soft);
    border: 1px solid color-mix(in srgb, var(--pls-structure), transparent 78%);
    color: var(--pls-structure);
}

.pls2-status-placed {
    background: var(--pls-action-soft);
    border: 1px solid color-mix(in srgb, var(--pls-action), transparent 78%);
    color: var(--pls-action);
}

.pls2-status-default {
    background: var(--pls-highlight-soft);
    border: 1px solid color-mix(in srgb, var(--pls-highlight), transparent 78%);
    color: var(--pls-highlight);
}

.pls2-placed-wrap {
    display: grid;
    gap: 7px;
    min-width: 130px;
}

.pls2-placed-nums {
    color: var(--pls-heading);
    font-size: 13px;
    font-weight: 800;
}

.pls2-wrap .pls2-placed-percent {
    color: var(--pls-muted);
    font-size: 12px;
    font-weight: 700;
}

.pls2-placed-progress {
    max-width: 160px;
}

.pls2-pkg-high {
    background: var(--pls-highlight-soft);
    border: 1px solid color-mix(in srgb, var(--pls-highlight), transparent 78%);
    color: var(--pls-highlight);
}

.pls2-pkg-avg {
    background: var(--pls-structure-soft);
    border: 1px solid color-mix(in srgb, var(--pls-structure), transparent 78%);
    color: var(--pls-structure);
}

.pls2-dash {
    color: var(--pls-muted);
    font-weight: 800;
}

.pls2-empty {
    background: var(--pls-surface);
    border: 1px dashed color-mix(in srgb, var(--pls-structure), transparent 58%);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    color: var(--pls-muted);
    padding: 44px 22px;
    text-align: center;
}

.pls2-empty i {
    color: var(--pls-highlight);
    font-size: 44px;
}

.pls2-empty h4 {
    color: var(--pls-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.pls2-empty p {
    margin: 0;
}

.pls2-empty a {
    color: var(--pls-structure);
    font-weight: 800;
}

.pls2-btn-search:focus-visible,
.pls2-btn-reset:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .pls2-filters-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pls2-filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .pls2-wrap {
        padding: 36px 0 46px;
    }

    .pls2-filters-row {
        grid-template-columns: 1fr;
    }

    .pls2-filter-actions,
    .pls2-btn-search,
    .pls2-btn-reset {
        width: 100%;
    }

    .pls2-table-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Theme 2 Placement Drives */
.pdr2-wrap {
    --pdr-page-bg: var(--bg-color);
    --pdr-surface: var(--surface-color, var(--bg-color));
    --pdr-surface-alt: var(--bg-alt-color, #f5f7fa);
    --pdr-border: var(--border-color);
    --pdr-text: var(--text-color);
    --pdr-muted: var(--text-muted-color);
    --pdr-heading: var(--heading-color);
    --pdr-action: var(--theme-action-color);
    --pdr-action-contrast: var(--theme-action-contrast-color);
    --pdr-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --pdr-structure: var(--theme-structure-color);
    --pdr-structure-contrast: var(--theme-structure-contrast-color);
    --pdr-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --pdr-highlight: var(--theme-highlight-color);
    --pdr-highlight-contrast: var(--theme-highlight-contrast-color);
    --pdr-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--pdr-page-bg);
    color: var(--pdr-text);
    padding: 56px 0 64px;
}

.pdr2-intro {
    margin: 0 auto 26px;
    max-width: 820px;
    text-align: center;
}

.pdr2-intro h2 {
    color: var(--pdr-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.pdr2-intro p {
    color: var(--pdr-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}

.pdr2-filters {
    align-items: center;
    background: var(--pdr-surface);
    border: 1px solid var(--pdr-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 28px;
    padding: 14px;
}

.pdr2-search {
    flex: 1 1 280px;
    position: relative;
}

.pdr2-search i {
    color: var(--pdr-action);
    left: 15px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.pdr2-search input {
    background: var(--pdr-surface-alt);
    border: 1px solid var(--pdr-border);
    border-radius: 8px;
    color: var(--pdr-text);
    font-size: 15px;
    min-height: 44px;
    padding: 10px 12px 10px 42px;
    width: 100%;
}

.pdr2-search input:focus {
    background: var(--pdr-surface);
    border-color: var(--pdr-action);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pdr-action), transparent 82%);
    outline: 0;
}

.pdr2-mode-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pdr2-mode-pill,
.pdr2-filter-btn,
.pdr2-cta {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 40px;
    padding: 9px 16px;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.pdr2-mode-pill {
    background: var(--pdr-surface-alt);
    border: 1px solid var(--pdr-border);
    color: var(--pdr-muted);
}

.pdr2-mode-pill:hover,
.pdr2-mode-pill:focus,
.pdr2-mode-pill.active {
    background: var(--pdr-action-soft);
    border-color: color-mix(in srgb, var(--pdr-action), transparent 62%);
    color: var(--pdr-action);
    text-decoration: none;
}

.pdr2-filter-btn,
.pdr2-cta {
    background: var(--pdr-action);
    border: 1px solid var(--pdr-action);
    color: var(--pdr-action-contrast);
}

.pdr2-filter-btn:hover,
.pdr2-filter-btn:focus,
.pdr2-cta:hover,
.pdr2-cta:focus {
    background: var(--pdr-highlight);
    border-color: var(--pdr-highlight);
    color: var(--pdr-highlight-contrast);
    text-decoration: none;
    transform: translateY(-1px);
}

.pdr2-card {
    background: var(--pdr-surface);
    border: 1px solid var(--pdr-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.pdr2-card:hover {
    border-color: color-mix(in srgb, var(--pdr-action), transparent 58%);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.pdr2-card-top {
    background: var(--pdr-structure-soft);
    min-height: 52px;
    padding: 12px 16px;
}

.pdr2-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pdr2-badge {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    line-height: 1.2;
    padding: 6px 10px;
}

.pdr2-badge-mode {
    background: var(--pdr-surface);
    border: 1px solid var(--pdr-border);
    color: var(--pdr-structure);
}

.pdr2-badge-live {
    background: var(--pdr-highlight);
    border: 1px solid var(--pdr-highlight);
    color: var(--pdr-highlight-contrast);
}

.pdr2-dot {
    background: currentColor;
    border-radius: 999px;
    height: 7px;
    width: 7px;
}

.pdr2-card-body {
    flex: 1;
    padding: 18px;
}

.pdr2-card-main {
    display: grid;
    gap: 15px;
    grid-template-columns: 72px minmax(0, 1fr);
}

.pdr2-date-block {
    align-items: center;
    background: var(--pdr-surface-alt);
    border: 1px solid var(--pdr-border);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 82px;
    padding: 8px;
    text-align: center;
}

.pdr2-date-day {
    color: var(--pdr-heading);
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
}

.pdr2-date-mon,
.pdr2-date-yr {
    color: var(--pdr-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1.2;
    margin-top: 4px;
    text-transform: uppercase;
}

.pdr2-date-day--tba {
    font-size: 16px;
}

.pdr2-card-info {
    min-width: 0;
}

.pdr2-card-title {
    color: var(--pdr-heading);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.28;
    margin: 0 0 12px;
}

.pdr2-card-title a {
    color: inherit;
    text-decoration: none;
}

.pdr2-card-title a:hover,
.pdr2-card-title a:focus {
    color: var(--pdr-action);
    text-decoration: none;
}

.pdr2-meta-row {
    align-items: center;
    color: var(--pdr-muted);
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    line-height: 1.45;
    margin-top: 8px;
}

.pdr2-meta-icon {
    color: var(--pdr-action);
    flex: 0 0 18px;
    text-align: center;
}

.pdr2-company-logo {
    border: 1px solid var(--pdr-border);
    border-radius: 6px;
    height: 28px;
    object-fit: contain;
    padding: 3px;
    width: 28px;
}

.pdr2-meta-overdue {
    color: var(--pdr-highlight);
}

.pdr2-overdue-tag {
    background: var(--pdr-highlight-soft);
    border: 1px solid color-mix(in srgb, var(--pdr-highlight), transparent 76%);
    border-radius: 999px;
    color: var(--pdr-highlight);
    font-size: 11px;
    font-weight: 800;
    padding: 4px 7px;
}

.pdr2-capacity {
    border-top: 1px solid var(--pdr-border);
    margin-top: 16px;
    padding-top: 14px;
}

.pdr2-capacity-progress {
    margin-bottom: 8px;
}

.pdr2-capacity-label {
    color: var(--pdr-muted);
    display: block;
    font-size: 12px;
    font-weight: 700;
}

.pdr2-card-footer {
    border-top: 1px solid var(--pdr-border);
    padding: 14px 18px 18px;
}

.pdr2-cta {
    width: 100%;
}

.pdr2-empty {
    background: var(--pdr-surface);
    border: 1px dashed color-mix(in srgb, var(--pdr-action), transparent 58%);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    color: var(--pdr-muted);
    padding: 44px 22px;
    text-align: center;
}

.pdr2-empty i {
    color: var(--pdr-action);
    font-size: 44px;
}

.pdr2-empty h4 {
    color: var(--pdr-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.pdr2-empty p {
    margin: 0;
}

.pdr2-empty a {
    color: var(--pdr-action);
    font-weight: 800;
}

.pdr2-mode-pill:focus-visible,
.pdr2-filter-btn:focus-visible,
.pdr2-cta:focus-visible,
.pdr2-card-title a:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .pdr2-wrap {
        padding: 36px 0 46px;
    }

    .pdr2-filter-btn,
    .pdr2-mode-pills {
        width: 100%;
    }

    .pdr2-mode-pill {
        flex: 1 1 calc(50% - 8px);
    }

    .pdr2-card-main {
        grid-template-columns: 1fr;
    }

    .pdr2-date-block {
        align-items: flex-start;
        min-height: 0;
    }
}

/* Theme 2 Placement Companies */
.plc2-wrap {
    --plc-page-bg: var(--bg-color);
    --plc-surface: var(--surface-color, var(--bg-color));
    --plc-surface-alt: var(--bg-alt-color, #f5f7fa);
    --plc-border: var(--border-color);
    --plc-text: var(--text-color);
    --plc-muted: var(--text-muted-color);
    --plc-heading: var(--heading-color);
    --plc-action: var(--theme-action-color);
    --plc-action-contrast: var(--theme-action-contrast-color);
    --plc-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --plc-structure: var(--theme-structure-color);
    --plc-structure-contrast: var(--theme-structure-contrast-color);
    --plc-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --plc-highlight: var(--theme-highlight-color);
    --plc-highlight-contrast: var(--theme-highlight-contrast-color);
    --plc-highlight-soft: var(--theme-highlight-soft-color, color-mix(in srgb, var(--theme-highlight-color), transparent 86%));
    background: var(--plc-page-bg);
    color: var(--plc-text);
    padding: 56px 0 64px;
}

.plc2-intro {
    margin: 0 auto 28px;
    max-width: 820px;
    text-align: center;
}

.plc2-intro h2 {
    color: var(--plc-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.plc2-intro p {
    color: var(--plc-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}

.plc2-stats {
    background: var(--plc-surface);
    border: 1px solid var(--plc-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin-bottom: 34px;
    overflow: hidden;
}

.plc2-stat {
    background: var(--plc-surface);
    padding: 22px 18px;
    text-align: center;
}

.plc2-stat-num {
    color: var(--plc-action);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 800;
    line-height: 1;
}

.plc2-stat-num span {
    color: var(--plc-highlight);
    font-size: .65em;
}

.plc2-stat-label {
    color: var(--plc-muted);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .05em;
    margin-top: 8px;
    text-transform: uppercase;
}

.plc2-section-head {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin: 34px 0 18px;
}

.plc2-section-head h3 {
    align-items: center;
    color: var(--plc-heading);
    display: flex;
    font-size: clamp(21px, 2vw, 28px);
    font-weight: 800;
    gap: 10px;
    line-height: 1.2;
    margin: 0;
}

.plc2-section-head h3 i {
    color: var(--plc-action);
    font-size: .85em;
}

.plc2-section-count {
    background: var(--plc-action-soft);
    border: 1px solid color-mix(in srgb, var(--plc-action), transparent 78%);
    border-radius: 999px;
    color: var(--plc-action);
    font-size: 13px;
    font-weight: 800;
    padding: 7px 12px;
}

.plc2-featured-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.plc2-featured-card,
.plc2-card,
.plc2-empty {
    background: var(--plc-surface);
    border: 1px solid var(--plc-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.plc2-featured-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    padding: 20px;
    position: relative;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.plc2-featured-card:hover,
.plc2-card:hover {
    border-color: color-mix(in srgb, var(--plc-action), transparent 58%);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.plc2-featured-badge {
    align-items: center;
    background: var(--plc-highlight);
    border-radius: 999px;
    color: var(--plc-highlight-contrast);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    padding: 7px 11px;
    position: absolute;
    right: 16px;
    top: 16px;
}

.plc2-featured-card-top {
    align-items: center;
    display: grid;
    gap: 16px;
    grid-template-columns: 72px minmax(0, 1fr);
    padding-right: 98px;
}

.plc2-featured-logo,
.plc2-featured-initials,
.plc2-card-logo,
.plc2-card-initials {
    align-items: center;
    background: var(--plc-surface-alt);
    border: 1px solid var(--plc-border);
    border-radius: 8px;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.plc2-featured-logo,
.plc2-featured-initials {
    height: 72px;
    width: 72px;
}

.plc2-featured-logo img,
.plc2-card-logo img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.plc2-featured-initials,
.plc2-card-initials {
    color: var(--plc-action);
    font-weight: 800;
}

.plc2-featured-initials {
    font-size: 24px;
}

.plc2-featured-meta {
    min-width: 0;
}

.plc2-featured-name {
    color: var(--plc-heading);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 9px;
    overflow-wrap: anywhere;
}

.plc2-featured-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.plc2-tag,
.plc2-card-industry {
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    padding: 6px 10px;
}

.plc2-tag-industry,
.plc2-card-industry {
    background: var(--plc-action-soft);
    border: 1px solid color-mix(in srgb, var(--plc-action), transparent 78%);
    color: var(--plc-action);
}

.plc2-tag-type {
    background: var(--plc-structure-soft);
    border: 1px solid color-mix(in srgb, var(--plc-structure), transparent 78%);
    color: var(--plc-structure);
}

.plc2-featured-card-body {
    margin-top: 16px;
}

.plc2-featured-desc {
    color: var(--plc-muted);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}

.plc2-featured-footer {
    align-items: center;
    border-top: 1px solid var(--plc-border);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 16px;
}

.plc2-location {
    align-items: center;
    color: var(--plc-muted);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 7px;
}

.plc2-location i {
    color: var(--plc-action);
}

.plc2-visit-link {
    align-items: center;
    background: var(--plc-action);
    border: 1px solid var(--plc-action);
    border-radius: 999px;
    color: var(--plc-action-contrast);
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 7px;
    min-height: 36px;
    padding: 8px 14px;
    text-decoration: none;
    white-space: nowrap;
}

.plc2-visit-link:hover,
.plc2-visit-link:focus {
    background: var(--plc-highlight);
    border-color: var(--plc-highlight);
    color: var(--plc-highlight-contrast);
    text-decoration: none;
}

.plc2-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.plc2-card {
    align-items: center;
    display: flex;
    flex-direction: column;
    min-height: 190px;
    padding: 20px 16px;
    text-align: center;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.plc2-card-logo,
.plc2-card-initials {
    height: 72px;
    margin-bottom: 14px;
    width: 96px;
}

.plc2-card-initials {
    font-size: 22px;
}

.plc2-card-name {
    color: var(--plc-heading);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.3;
    margin: 0 0 10px;
    overflow-wrap: anywhere;
}

.plc2-empty {
    color: var(--plc-muted);
    padding: 44px 22px;
    text-align: center;
}

.plc2-empty i {
    color: var(--plc-action);
    font-size: 44px;
}

.plc2-empty h4 {
    color: var(--plc-heading);
    font-size: 24px;
    font-weight: 800;
    margin: 16px 0 8px;
}

.plc2-empty p {
    margin: 0;
}

.plc2-visit-link:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-highlight-color), transparent 42%);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .plc2-featured-grid,
    .plc2-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .plc2-wrap {
        padding: 36px 0 46px;
    }

    .plc2-section-head,
    .plc2-featured-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .plc2-featured-grid,
    .plc2-grid {
        grid-template-columns: 1fr;
    }

    .plc2-featured-card-top {
        grid-template-columns: 62px minmax(0, 1fr);
        padding-right: 0;
        padding-top: 36px;
    }

    .plc2-featured-logo,
    .plc2-featured-initials {
        height: 62px;
        width: 62px;
    }

    .plc2-visit-link {
        width: 100%;
        justify-content: center;
    }
}

/* Theme 2 Contact Page */
.cnt2-wrap {
    --contact-page-bg: var(--bg-color);
    --contact-surface: var(--surface-color, var(--bg-color));
    --contact-surface-alt: var(--bg-alt-color, #f5f7fa);
    --contact-border: var(--border-color);
    --contact-text: var(--text-color);
    --contact-muted: var(--text-muted-color);
    --contact-heading: var(--heading-color);
    --contact-action: var(--theme-action-color);
    --contact-action-contrast: var(--theme-action-contrast-color);
    --contact-action-soft: var(--theme-action-soft-color, color-mix(in srgb, var(--theme-action-color), transparent 88%));
    --contact-structure: var(--theme-structure-color);
    --contact-structure-contrast: var(--theme-structure-contrast-color);
    --contact-structure-soft: var(--theme-structure-soft-color, color-mix(in srgb, var(--theme-structure-color), transparent 88%));
    --contact-highlight: var(--theme-highlight-color);
    --contact-highlight-contrast: var(--theme-highlight-contrast-color);
    background: var(--contact-page-bg);
    color: var(--contact-text);
    padding: 56px 0 64px;
}

.cnt2-intro {
    margin: 0 auto 30px;
    max-width: 820px;
    text-align: center;
}

.cnt2-eyebrow {
    color: var(--contact-action);
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.cnt2-intro h2 {
    color: var(--contact-heading);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px;
}

.cnt2-intro p {
    color: var(--contact-muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.cnt2-flash {
    margin: 0 auto 22px;
    max-width: 920px;
}

.cnt2-flash .alert {
    align-items: flex-start;
    border-radius: 8px;
    display: flex;
    font-size: 14px;
    gap: 8px;
    margin: 0 0 10px;
}

.cnt2-form-card,
.cnt2-info-card,
.cnt2-address-block,
.cnt2-map-section {
    background: var(--contact-surface);
    border: 1px solid var(--contact-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.cnt2-form-head,
.cnt2-info-head,
.cnt2-address-label {
    background: var(--contact-surface);
    border-bottom: 1px solid var(--contact-border);
    padding: 16px 20px;
}

.cnt2-form-head h3,
.cnt2-info-head h3 {
    align-items: center;
    color: var(--contact-heading);
    display: flex;
    font-size: 18px;
    font-weight: 800;
    gap: 10px;
    line-height: 1.3;
    margin: 0;
}

.cnt2-form-head i,
.cnt2-info-head i {
    align-items: center;
    background: var(--contact-action-soft);
    border: 1px solid color-mix(in srgb, var(--contact-action), transparent 78%);
    border-radius: 6px;
    color: var(--contact-action);
    display: inline-flex;
    flex: 0 0 30px;
    font-size: 14px;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.cnt2-form-body,
.cnt2-info-body,
.cnt2-address-body {
    padding: 20px;
}

.cnt2-field {
    margin-bottom: 16px;
}

.cnt2-label {
    color: var(--contact-heading);
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 7px;
}

.cnt2-req,
.cnt2-error {
    color: #dc3545;
}

.cnt2-input,
.cnt2-select,
.cnt2-textarea {
    background: var(--contact-surface-alt);
    border: 1px solid var(--contact-border);
    border-radius: 8px;
    box-shadow: none;
    color: var(--contact-text);
    display: block;
    font-size: 14px;
    line-height: 1.5;
    min-height: 44px;
    padding: 10px 12px;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
    width: 100%;
}

.cnt2-select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--contact-muted) 50%), linear-gradient(135deg, var(--contact-muted) 50%, transparent 50%);
    background-position: calc(100% - 18px) 19px, calc(100% - 13px) 19px;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    padding-right: 34px;
}

.cnt2-textarea {
    min-height: 126px;
    resize: vertical;
}

.cnt2-input:focus,
.cnt2-select:focus,
.cnt2-textarea:focus {
    background: var(--contact-surface);
    border-color: var(--contact-action);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--contact-action), transparent 84%);
    outline: 0;
}

.cnt2-input.is-invalid,
.cnt2-select.is-invalid,
.cnt2-textarea.is-invalid {
    border-color: #dc3545;
}

.cnt2-error {
    font-size: 12px;
    font-weight: 700;
    margin-top: 6px;
}

.cnt2-submit {
    align-items: center;
    background: var(--contact-action);
    border: 1px solid var(--contact-action);
    border-radius: 999px;
    color: var(--contact-action-contrast);
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.cnt2-submit:hover,
.cnt2-submit:focus {
    background: var(--contact-highlight);
    border-color: var(--contact-highlight);
    color: var(--contact-highlight-contrast);
    transform: translateY(-1px);
}

.cnt2-submit:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--contact-highlight), transparent 42%);
    outline-offset: 3px;
}

.cnt2-sidebar-col {
    align-self: flex-start;
}

.cnt2-address-label {
    color: var(--contact-heading);
    font-size: 16px;
    font-weight: 800;
}

.cnt2-info-row {
    border-bottom: 1px solid var(--contact-border);
    display: grid;
    gap: 12px;
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 14px 0;
}

.cnt2-info-row:first-child {
    padding-top: 0;
}

.cnt2-info-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.cnt2-info-icon {
    align-items: center;
    background: var(--contact-structure-soft);
    border: 1px solid color-mix(in srgb, var(--contact-structure), transparent 78%);
    border-radius: 8px;
    color: var(--contact-structure);
    display: inline-flex;
    font-size: 15px;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.cnt2-info-text {
    min-width: 0;
}

.cnt2-info-label {
    color: var(--contact-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cnt2-info-value {
    color: var(--contact-heading);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    margin-top: 2px;
    overflow-wrap: anywhere;
}

.cnt2-info-value a {
    color: var(--contact-action);
    text-decoration: none;
}

.cnt2-info-value a:hover,
.cnt2-info-value a:focus {
    color: var(--contact-highlight);
    text-decoration: none;
}

.cnt2-map-section {
    margin-top: 22px;
}

.cnt2-map-section iframe {
    aspect-ratio: 16 / 5;
    border: 0;
    display: block;
    min-height: 300px;
    width: 100%;
}

@media (max-width: 991px) {
    .cnt2-sidebar-col {
        margin-top: 0;
    }
}

@media (max-width: 767px) {
    .cnt2-wrap {
        padding: 36px 0 46px;
    }

    .cnt2-form-head,
    .cnt2-info-head,
    .cnt2-address-label,
    .cnt2-form-body,
    .cnt2-info-body,
    .cnt2-address-body {
        padding: 18px;
    }

    .cnt2-submit {
        width: 100%;
    }

    .cnt2-map-section iframe {
        aspect-ratio: auto;
        min-height: 260px;
    }
}

.cnt2-info-row--compact {
    border: 0;
    padding: 6px 0;
}

.cnt2-admissions-note,
.pls2-placed-percent {
    color: var(--text-muted-color, #667085);
    font-size: 10px;
}

.pls2-placed-percent {
    font-size: 11px;
    font-weight: 400;
}

.nwd2-tags-icon {
    color: var(--text-muted-color, #667085);
    margin-top: 2px;
}

.cap2-form-section-head--bordered {
    border-top: 1px solid var(--border-color, rgba(15, 23, 42, 0.08));
}

.maintenance2-image {
    max-width: 260px;
}

.maintenance2-title {
    color: var(--theme-action-color);
    font-family: var(--header-font-family);
}

.maintenance2-desc {
    color: var(--text-muted-color, #667085);
}

.img2-placeholder {
    align-items: center;
    background: linear-gradient(135deg, var(--theme-action-soft-color, rgba(0, 85, 170, 0.12)), var(--bg-alt-color, #f5f7fa));
    display: flex;
    height: 100%;
    justify-content: center;
}

.img2-placeholder-icon {
    color: var(--theme-action-color, #0055aa);
    font-size: 34px;
    opacity: .55;
}

.plc2-company-logo {
    background: #fff;
    border: 1px solid #e5e9f2;
    border-radius: 6px;
    height: 72px;
    object-fit: contain;
    width: 72px;
}

.rs-facts-shell--has-bg {
    overflow: hidden;
    position: relative;
}

.rs-facts-bg-image {
    bottom: 0;
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 0;
}

.rs-facts-overlay {
    background: rgba(0, 0, 0, 0.62);
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.rs-facts-shell--has-bg > .container {
    position: relative;
    z-index: 2;
}

.rs-facts-shell--has-bg .sec-title h2,
.rs-facts-shell--has-bg .desc,
.rs-facts-shell--has-bg .rs-counter-list .counter-number,
.rs-facts-shell--has-bg .rs-counter-list .counter-desc {
    color: var(--theme-premium-dark-text);
}

/* Theme2 premium color compatibility layer for older section snippets. */
.rs2-fee-card,
.rs2-rvw-card,
.rs2-lsd-photo-card,
.rs2-event-card,
.rs2-faculty-card,
.plc2-company-logo {
    background: var(--surface-color, var(--bg-color)) !important;
    border-color: var(--border-color) !important;
    color: var(--text-color);
}

.rs-home-section-shell.home-section-bg-dark .rs2-fee-card,
.rs-home-section-shell.home-section-bg-dark .rs2-rvw-card,
.rs-home-section-shell.home-section-bg-dark .rs2-lsd-photo-card,
.rs-home-section-shell.home-section-bg-dark .rs2-event-card,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card,
.rs-home-section-shell.home-section-bg-dark .rs2-gallery-item,
.rs-home-section-shell.home-section-bg-dark .plc2-company-logo {
    background: var(--home-section-surface) !important;
    border-color: var(--home-section-border) !important;
    color: var(--home-section-text);
}

.rs2-fee-amount,
.rs2-lsi-sub-title,
.rs2-rvw-card-quote,
.rs2-event-card-meta .fa,
.rs2-event-card-link,
.rs2-faculty-card-name a,
.rs2-faculty-card-desig,
.rs2-faculty-card-exp .fa,
.maintenance2-title,
.img2-placeholder-icon {
    color: var(--theme-action-color) !important;
}

.rs2-lsi-kicker,
.rs2-rvw-designation,
.rs2-lsd-photo-designation,
.rs2-lsd-meta-desig,
.rs2-event-card-meta,
.rs2-event-card-desc,
.rs2-faculty-card-qual,
.rs2-faculty-card-exp,
.maintenance2-desc,
.cnt2-admissions-note,
.pls2-placed-percent,
.nwd2-tags-icon {
    color: var(--text-muted-color) !important;
}

.rs2-fee-desc,
.rs2-fee-disclaimer,
.rs2-rvw-card-message,
.rs2-lsd-message {
    color: var(--text-color) !important;
}

.rs-home-section-shell.home-section-bg-dark .rs2-fee-amount,
.rs-home-section-shell.home-section-bg-dark .rs2-lsi-sub-title,
.rs-home-section-shell.home-section-bg-dark .rs2-rvw-card-quote,
.rs-home-section-shell.home-section-bg-dark .rs2-event-card-meta .fa,
.rs-home-section-shell.home-section-bg-dark .rs2-event-card-link,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card-name a,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card-desig,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card-exp .fa {
    color: var(--home-section-icon) !important;
}

.rs-home-section-shell.home-section-bg-dark .rs2-lsi-kicker,
.rs-home-section-shell.home-section-bg-dark .rs2-rvw-designation,
.rs-home-section-shell.home-section-bg-dark .rs2-lsd-photo-designation,
.rs-home-section-shell.home-section-bg-dark .rs2-lsd-meta-desig,
.rs-home-section-shell.home-section-bg-dark .rs2-event-card-meta,
.rs-home-section-shell.home-section-bg-dark .rs2-event-card-desc,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card-qual,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card-exp,
.rs-home-section-shell.home-section-bg-dark .rs2-fee-desc,
.rs-home-section-shell.home-section-bg-dark .rs2-fee-disclaimer,
.rs-home-section-shell.home-section-bg-dark .rs2-rvw-card-message,
.rs-home-section-shell.home-section-bg-dark .rs2-lsd-message {
    color: var(--home-section-muted) !important;
}

.rs2-rvw-avatar,
.rs2-lsd-back-btn,
.rs2-event-card-date,
.rs2-faculty-card-link {
    background: var(--theme-action-color) !important;
    color: var(--theme-action-contrast-color) !important;
}

.rs-home-section-shell.home-section-bg-dark .rs2-rvw-avatar,
.rs-home-section-shell.home-section-bg-dark .rs2-lsd-back-btn,
.rs-home-section-shell.home-section-bg-dark .rs2-event-card-date,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card-link {
    background: var(--home-section-cta-bg) !important;
    color: var(--home-section-cta-text) !important;
}

.rs2-lsd-back-btn:hover,
.rs2-event-card-link:hover,
.rs2-faculty-card-link:hover {
    background: var(--theme-highlight-color) !important;
    color: var(--theme-highlight-contrast-color) !important;
}

.rs-home-section-shell.home-section-bg-dark .rs2-lsd-back-btn:hover,
.rs-home-section-shell.home-section-bg-dark .rs2-event-card-link:hover,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card-link:hover {
    background: var(--home-section-cta-hover-bg) !important;
    color: var(--home-section-cta-hover-text) !important;
}

.rs2-fee-table thead tr,
.rs2-faculty-card-photo,
.img2-placeholder {
    background: var(--bg-alt-color) !important;
}

.rs-home-section-shell.home-section-bg-dark .rs2-fee-table thead tr,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card-photo,
.rs-home-section-shell.home-section-bg-dark .img2-placeholder {
    background: var(--home-section-alt-bg) !important;
}

.rs2-nb-badge--warning,
.rs-nb-badge--warning {
    background: var(--theme-status-warning-bg) !important;
    color: var(--theme-status-warning-text) !important;
}

.rs2-nb-badge--success,
.rs2-mou-status--active {
    background: var(--theme-status-success-bg) !important;
    color: var(--theme-status-success-text) !important;
}

.rs2-nb-badge--accent,
.rs-nb-badge--accent {
    background: var(--theme-status-danger-bg) !important;
    color: var(--theme-status-danger-text) !important;
}

.rs2-nb-badge--primary,
.rs-nb-badge--notice,
.rs2-mou-status--renewed {
    background: var(--theme-status-info-bg) !important;
    color: var(--theme-status-info-text) !important;
}

.rs2-gallery-item-overlay {
    background: color-mix(in srgb, var(--theme-premium-dark-bg), transparent 32%) !important;
}

.rs2-gallery-item-overlay .fa,
.rs2-gallery-item-overlay span {
    color: var(--theme-premium-dark-text) !important;
}

.rs-facts-overlay {
    background: color-mix(in srgb, var(--theme-premium-dark-bg), transparent 18%);
}


:root {
    --rs2-action-btn-radius: var(--border-radius-base, 4px);
}

:root {
    --rs2-action-btn-bg: var(--theme-action-color);
    --rs2-action-btn-border: var(--theme-action-color);
    --rs2-action-btn-text: var(--theme-action-contrast-color);
    --rs2-action-btn-hover-bg: var(--theme-action-hover-color);
    --rs2-action-btn-hover-border: var(--theme-action-hover-color);
    --rs2-action-btn-hover-text: var(--theme-action-contrast-color);
    --rs2-action-dark-bg: var(--home-section-cta-bg);
    --rs2-action-dark-border: var(--home-section-cta-border);
    --rs2-action-dark-text: var(--home-section-cta-text);
    --rs2-action-dark-hover-bg: var(--home-section-cta-hover-bg);
    --rs2-action-dark-hover-border: var(--home-section-cta-hover-bg);
    --rs2-action-dark-hover-text: var(--home-section-cta-hover-text);
}

/* Theme2 shared action buttons: normalize text action links into buttons while following cta_type. */
.rs-placement-drives .rs-placement-drive-link,
.rs-placement-drives .rs-placement-drives-all,
#rs-latest-news .news-action .primary-btn,
.rs2-blog-card-link,
.evt2-wrap .event-btn a,
.evd2-reg-btn,
#rs-courses-2 .rs-dept-view-all,
#rs-facilities .rs-facilities-view-all,
.rs-management-view-all,
.rs-success-stories-view-all,
.rs2-course-card-action,
.rs2-cd-related-link,
.rs2-dept-inline-link,
.rs2-ft-profile-action,
.rs2-event-card-link,
.rs2-faculty-card-link,
.facility-card__link,
.lab2-card-link,
.rs2-facd-info-link,
.rs2-mou-doc-link,
.rs2-mou-reset-link,
.car2-reset-link,
.pdr2-cta,
.plc2-visit-link {
    align-items: center !important;
    background: var(--rs2-action-btn-bg) !important;
    border: 2px solid var(--rs2-action-btn-border) !important;
    border-radius: var(--rs2-action-btn-radius) !important;
    color: var(--rs2-action-btn-text) !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    gap: 8px !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    min-height: 38px !important;
    padding: 10px 16px !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
    white-space: nowrap;
}

.rs-placement-drives .rs-placement-drive-link {
    border-top-width: 1px !important;
    margin-top: 18px !important;
    width: fit-content;
}

.rs-placement-drives .rs-placement-drive-link:hover,
.rs-placement-drives .rs-placement-drive-link:focus,
.rs-placement-drives .rs-placement-drives-all:hover,
.rs-placement-drives .rs-placement-drives-all:focus,
#rs-latest-news .news-action .primary-btn:hover,
#rs-latest-news .news-action .primary-btn:focus,
.rs2-blog-card-link:hover,
.rs2-blog-card-link:focus,
.evt2-wrap .event-btn a:hover,
.evt2-wrap .event-btn a:focus,
.evd2-reg-btn:hover,
.evd2-reg-btn:focus,
#rs-courses-2 .rs-dept-view-all:hover,
#rs-courses-2 .rs-dept-view-all:focus,
#rs-facilities .rs-facilities-view-all:hover,
#rs-facilities .rs-facilities-view-all:focus,
.rs-management-view-all:hover,
.rs-management-view-all:focus,
.rs-success-stories-view-all:hover,
.rs-success-stories-view-all:focus,
.rs2-course-card-action:hover,
.rs2-course-card-action:focus,
.rs2-cd-related-link:hover,
.rs2-cd-related-link:focus,
.rs2-dept-inline-link:hover,
.rs2-dept-inline-link:focus,
.rs2-ft-profile-action:hover,
.rs2-ft-profile-action:focus,
.rs2-event-card-link:hover,
.rs2-event-card-link:focus,
.rs2-faculty-card-link:hover,
.rs2-faculty-card-link:focus,
.facility-card__link:hover,
.facility-card__link:focus,
.lab2-card-link:hover,
.lab2-card-link:focus,
.rs2-facd-info-link:hover,
.rs2-facd-info-link:focus,
.rs2-mou-doc-link:hover,
.rs2-mou-doc-link:focus,
.rs2-mou-reset-link:hover,
.rs2-mou-reset-link:focus,
.car2-reset-link:hover,
.car2-reset-link:focus,
.pdr2-cta:hover,
.pdr2-cta:focus,
.plc2-visit-link:hover,
.plc2-visit-link:focus {
    background: var(--rs2-action-btn-hover-bg) !important;
    border-color: var(--rs2-action-btn-hover-border) !important;
    color: var(--rs2-action-btn-hover-text) !important;
    box-shadow: var(--shadow-sm) !important;
    text-decoration: none !important;
    transform: translateY(-1px);
}

.rs-placement-drives .rs-placement-drive-link i,
.rs-placement-drives .rs-placement-drive-link .fa,
.rs-placement-drives .rs-placement-drives-all i,
.rs-placement-drives .rs-placement-drives-all .fa,
#rs-latest-news .news-action .primary-btn i,
#rs-latest-news .news-action .primary-btn .fa,
.rs2-blog-card-link i,
.rs2-blog-card-link .fa,
.evt2-wrap .event-btn a i,
.evt2-wrap .event-btn a .fa,
.evd2-reg-btn i,
.evd2-reg-btn .fa,
#rs-courses-2 .rs-dept-view-all i,
#rs-courses-2 .rs-dept-view-all .fa,
#rs-facilities .rs-facilities-view-all i,
#rs-facilities .rs-facilities-view-all .fa,
.rs-management-view-all i,
.rs-management-view-all .fa,
.rs-success-stories-view-all i,
.rs-success-stories-view-all .fa,
.rs2-course-card-action i,
.rs2-course-card-action .fa,
.rs2-cd-related-link i,
.rs2-cd-related-link .fa,
.rs2-dept-inline-link i,
.rs2-dept-inline-link .fa,
.rs2-ft-profile-action i,
.rs2-ft-profile-action .fa,
.rs2-event-card-link i,
.rs2-event-card-link .fa,
.rs2-faculty-card-link i,
.rs2-faculty-card-link .fa,
.facility-card__link i,
.facility-card__link .fa,
.lab2-card-link i,
.lab2-card-link .fa,
.rs2-facd-info-link i,
.rs2-facd-info-link .fa,
.rs2-mou-doc-link i,
.rs2-mou-doc-link .fa,
.rs2-mou-reset-link i,
.rs2-mou-reset-link .fa,
.car2-reset-link i,
.car2-reset-link .fa,
.pdr2-cta i,
.pdr2-cta .fa,
.plc2-visit-link i,
.plc2-visit-link .fa {
    color: currentColor !important;
}

.rs-home-section-shell.home-section-bg-dark .rs-placement-drive-link,
.rs-home-section-shell.home-section-bg-dark .rs-placement-drives-all,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-action .primary-btn,
.rs-home-section-shell.home-section-bg-dark .rs2-blog-card-link,
.rs-home-section-shell.home-section-bg-dark .evt2-wrap .event-btn a,
.rs-home-section-shell.home-section-bg-dark .evd2-reg-btn,
.rs-home-section-shell.home-section-bg-dark #rs-courses-2 .rs-dept-view-all,
.rs-home-section-shell.home-section-bg-dark #rs-facilities .rs-facilities-view-all,
.rs-home-section-shell.home-section-bg-dark .rs-management-view-all,
.rs-home-section-shell.home-section-bg-dark .rs-success-stories-view-all,
.rs-home-section-shell.home-section-bg-dark .rs2-course-card-action,
.rs-home-section-shell.home-section-bg-dark .rs2-cd-related-link,
.rs-home-section-shell.home-section-bg-dark .rs2-dept-inline-link,
.rs-home-section-shell.home-section-bg-dark .rs2-ft-profile-action,
.rs-home-section-shell.home-section-bg-dark .rs2-event-card-link,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card-link,
.rs-home-section-shell.home-section-bg-dark .facility-card__link,
.rs-home-section-shell.home-section-bg-dark .lab2-card-link,
.rs-home-section-shell.home-section-bg-dark .pdr2-cta {
    background: var(--rs2-action-dark-bg) !important;
    border-color: var(--rs2-action-dark-border) !important;
    color: var(--rs2-action-dark-text) !important;
}

.rs-home-section-shell.home-section-bg-dark .rs-placement-drive-link:hover,
.rs-home-section-shell.home-section-bg-dark .rs-placement-drive-link:focus,
.rs-home-section-shell.home-section-bg-dark .rs-placement-drives-all:hover,
.rs-home-section-shell.home-section-bg-dark .rs-placement-drives-all:focus,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-action .primary-btn:hover,
.rs-home-section-shell.home-section-bg-dark #rs-latest-news .news-action .primary-btn:focus,
.rs-home-section-shell.home-section-bg-dark .rs2-blog-card-link:hover,
.rs-home-section-shell.home-section-bg-dark .rs2-blog-card-link:focus,
.rs-home-section-shell.home-section-bg-dark .evt2-wrap .event-btn a:hover,
.rs-home-section-shell.home-section-bg-dark .evt2-wrap .event-btn a:focus,
.rs-home-section-shell.home-section-bg-dark .evd2-reg-btn:hover,
.rs-home-section-shell.home-section-bg-dark .evd2-reg-btn:focus,
.rs-home-section-shell.home-section-bg-dark #rs-courses-2 .rs-dept-view-all:hover,
.rs-home-section-shell.home-section-bg-dark #rs-courses-2 .rs-dept-view-all:focus,
.rs-home-section-shell.home-section-bg-dark #rs-facilities .rs-facilities-view-all:hover,
.rs-home-section-shell.home-section-bg-dark #rs-facilities .rs-facilities-view-all:focus,
.rs-home-section-shell.home-section-bg-dark .rs-management-view-all:hover,
.rs-home-section-shell.home-section-bg-dark .rs-management-view-all:focus,
.rs-home-section-shell.home-section-bg-dark .rs-success-stories-view-all:hover,
.rs-home-section-shell.home-section-bg-dark .rs-success-stories-view-all:focus,
.rs-home-section-shell.home-section-bg-dark .rs2-course-card-action:hover,
.rs-home-section-shell.home-section-bg-dark .rs2-course-card-action:focus,
.rs-home-section-shell.home-section-bg-dark .rs2-cd-related-link:hover,
.rs-home-section-shell.home-section-bg-dark .rs2-cd-related-link:focus,
.rs-home-section-shell.home-section-bg-dark .rs2-dept-inline-link:hover,
.rs-home-section-shell.home-section-bg-dark .rs2-dept-inline-link:focus,
.rs-home-section-shell.home-section-bg-dark .rs2-ft-profile-action:hover,
.rs-home-section-shell.home-section-bg-dark .rs2-ft-profile-action:focus,
.rs-home-section-shell.home-section-bg-dark .rs2-event-card-link:hover,
.rs-home-section-shell.home-section-bg-dark .rs2-event-card-link:focus,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card-link:hover,
.rs-home-section-shell.home-section-bg-dark .rs2-faculty-card-link:focus,
.rs-home-section-shell.home-section-bg-dark .facility-card__link:hover,
.rs-home-section-shell.home-section-bg-dark .facility-card__link:focus,
.rs-home-section-shell.home-section-bg-dark .lab2-card-link:hover,
.rs-home-section-shell.home-section-bg-dark .lab2-card-link:focus,
.rs-home-section-shell.home-section-bg-dark .pdr2-cta:hover,
.rs-home-section-shell.home-section-bg-dark .pdr2-cta:focus {
    background: var(--rs2-action-dark-hover-bg) !important;
    border-color: var(--rs2-action-dark-hover-border) !important;
    color: var(--rs2-action-dark-hover-text) !important;
}

.rs-home-section-shell.home-section-bg-dark :where(
    .rs-news-tab-link,
    .rs-news-tabs .nav-link,
    .rs2-blog-tab,
    .rs2-nb-tab,
    .rs2-toppers-tab,
    .crs2-tab,
    .lab2-tab,
    .img2-pill,
    .vid2-pill
) {
    background: transparent !important;
    border-color: var(--home-section-border) !important;
    color: var(--home-section-text) !important;
}

.rs-home-section-shell.home-section-bg-dark :where(
    .rs-news-tab-link:hover,
    .rs-news-tab-link:focus,
    .rs-news-tabs .nav-link:hover,
    .rs-news-tabs .nav-link:focus,
    .rs2-blog-tab:hover,
    .rs2-blog-tab:focus,
    .rs2-nb-tab:hover,
    .rs2-nb-tab:focus,
    .rs2-toppers-tab:hover,
    .rs2-toppers-tab:focus,
    .crs2-tab:hover,
    .crs2-tab:focus,
    .lab2-tab:hover,
    .lab2-tab:focus,
    .img2-pill:hover,
    .img2-pill:focus,
    .vid2-pill:hover,
    .vid2-pill:focus
) {
    background: var(--home-section-accent-soft) !important;
    border-color: var(--home-section-accent-border) !important;
    color: var(--home-section-link-hover) !important;
}

.rs-home-section-shell.home-section-bg-dark :where(
    .rs-news-tab-link.active,
    .rs-news-tabs .nav-link.active,
    .rs2-blog-tab--active,
    .rs2-nb-tab--active,
    .rs2-toppers-tab--active,
    .crs2-tab.active,
    .lab2-tab--active,
    .img2-pill.active,
    .vid2-pill.active
) {
    background: var(--home-section-cta-bg) !important;
    border-color: var(--home-section-cta-border) !important;
    color: var(--home-section-cta-text) !important;
}

.rs-home-section-shell.home-section-bg-dark :where(
    .rs-news-tab-link i,
    .rs-news-tab-link .fa,
    .rs-news-tabs .nav-link i,
    .rs-news-tabs .nav-link .fa,
    .rs2-blog-tab i,
    .rs2-blog-tab .fa,
    .rs2-nb-tab i,
    .rs2-nb-tab .fa,
    .rs2-toppers-tab i,
    .rs2-toppers-tab .fa,
    .crs2-tab i,
    .crs2-tab .fa,
    .lab2-tab i,
    .lab2-tab .fa,
    .img2-pill i,
    .img2-pill .fa,
    .vid2-pill i,
    .vid2-pill .fa
) {
    color: currentColor !important;
}

@media (max-width: 991px) {
    .theme2-sticky-sidebar {
        position: static;
    }
}

/* ════════════════════════════════════════
   FEEDBACK & SURVEY PUBLIC FORM (Theme2)
   ════════════════════════════════════════ */
.cnt2-feedback-question {
    border-bottom: 1px solid var(--contact-border, #eee);
    padding: 20px 0;
}
.cnt2-feedback-question:last-of-type {
    border-bottom: none;
}
.cnt2-feedback-question-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 10px;
}
.cnt2-feedback-qnum {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--primary-color);
    color: var(--primary-contrast-color);
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 2px;
}
.cnt2-feedback-question-label label {
    font-size: 15px;
    font-weight: 700;
    color: var(--contact-heading, var(--text-color));
    margin: 0;
    line-height: 1.5;
}
.cnt2-feedback-question-label label .required {
    color: #dc3545;
    margin-left: 3px;
}
.cnt2-feedback-hint {
    font-size: 13px;
    color: var(--contact-muted, #888);
    margin: -4px 0 10px 36px;
}
.cnt2-feedback-input {
    padding-left: 36px;
}
.cnt2-feedback-error {
    color: #dc3545;
    font-size: 13px;
    margin-top: 6px;
    padding-left: 36px;
}
.cnt2-feedback-faculty-block {
    border: 1px solid var(--contact-border, #e0e0e0);
    border-radius: 10px;
    padding: 22px 26px;
    margin-bottom: 24px;
    background: color-mix(in srgb, var(--primary-color), white 96%);
}
.cnt2-feedback-faculty-block:last-of-type {
    margin-bottom: 0;
}
.cnt2-feedback-faculty-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--primary-color);
    margin: 0 0 16px 0;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--primary-color);
    display: flex;
    align-items: center;
    gap: 10px;
}
.cnt2-feedback-choice {
    margin-bottom: 8px;
}
.cnt2-choice-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: 400;
    margin: 0;
    font-size: 14px;
    color: var(--contact-text, var(--text-color));
}
.cnt2-choice-label input[type="radio"],
.cnt2-choice-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--primary-color);
    flex-shrink: 0;
}
.cnt2-likert-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.cnt2-likert-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    flex: 1;
    min-width: 80px;
    text-align: center;
}
.cnt2-likert-option input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: var(--primary-color);
}
.cnt2-likert-option input[type="radio"]:checked + .cnt2-likert-label {
    color: var(--primary-color);
    font-weight: 700;
}
.cnt2-likert-label {
    font-size: 12px;
    color: var(--contact-text, var(--text-color));
    line-height: 1.3;
}
.cnt2-rating-stars {
    display: flex;
    gap: 6px;
}
.cnt2-rating-input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}
.cnt2-rating-star {
    appearance: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #ccc;
    line-height: 1;
    padding: 0;
    transition: color 0.15s ease;
    margin: 0;
}
.cnt2-rating-star .fa {
    pointer-events: none;
}
.cnt2-rating-star.is-selected {
    color: #f5a623;
}
.cnt2-rating-input:checked + .cnt2-rating-star {
    color: #f5a623;
}
.cnt2-rating-labels {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: var(--contact-muted, #888);
    max-width: 200px;
    margin-top: 4px;
}
.cnt2-yes-no-wrap {
    display: flex;
    gap: 20px;
}
.cnt2-fieldset {
    background: var(--contact-surface-alt, var(--surface-color, #f8f8f8));
    border: 1px solid var(--contact-border, #e0e0e0);
    border-radius: 8px;
    padding: 18px 20px 8px;
}
.cnt2-fieldset-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--contact-heading, var(--text-color));
    margin-bottom: 14px;
}
.cnt2-form-submit {
    padding-top: 20px;
    border-top: 1px solid var(--contact-border, #eee);
}
.cnt2-intro-text {
    font-size: 15px;
    color: var(--contact-muted, var(--text-muted-color));
    margin-bottom: 24px;
    line-height: 1.7;
}
@media (max-width: 575px) {
    .cnt2-likert-options {
        flex-direction: column;
    }
    .cnt2-likert-option {
        flex-direction: row;
        text-align: left;
        min-width: unset;
    }
}
