/* Numerals font: a digits-only cut of Manrope (the `text=` subset contains
   just 0-9 % + ₹). It is listed first in --F / --FD below; browsers pick a
   font per character, so every number on the site renders in Manrope while
   letters keep DM Sans / Cormorant Garamond. Must stay the first statement. */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&text=0123456789%25%2B%E2%82%B9&display=swap');

/* ═══════════════════════════════════════════
   1. GLOBAL TOKENS (merged)
═══════════════════════════════════════════ */
:root {
  /* Palette */
  --navy:      #0B1F3A;
  --navy2:     #122744;
  --blue:      #1B4F8A;
  --gold:      #C8952C;
  --gold-lt:   #E8AE42;
  --gold-pale: rgba(200,149,44,.12);
  --crimson:   #9E2530;
  --cream:     #FAF6EF;
  --cream2:    #F2EBD9;
  --white:     #FFFFFF;
  --text:      #1A1E2C;
  --muted:     #5C657A;
  --border:    #E2D9C8;
  /* Typography */
  --F:  'Manrope', 'DM Sans', sans-serif;
  --FD: 'Manrope', 'Cormorant Garamond', Georgia, serif;
  /* Motion & shadows */
  --ease: cubic-bezier(.23,1,.32,1);
  --sh:      0 20px 60px -15px rgba(11,31,58,.32);
  --sh-sm:   0 4px  20px  -6px rgba(11,31,58,.14);
  --sh-card: 0 8px  32px  -8px rgba(11,31,58,.18);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { scroll-behavior: smooth; overflow-x: hidden; max-width: 100%; }
body  { font-family: var(--F); color: var(--text); background: var(--cream); overflow-x: hidden;
        font-variant-numeric: lining-nums; }
a     { text-decoration: none; color: inherit; }
ul    { list-style: none; }
img   { max-width: 100%; display: block; }
.wrap { width: 92%; max-width: 1340px; margin: 0 auto; }
.table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-scroll table { min-width: 560px; }

/* ═══════════════════════════════════════════
   2. TOPBAR (enhanced with location dropdown)
═══════════════════════════════════════════ */
.topbar {
  background: var(--navy);
  padding: .48rem 0;
  font-size: .78rem;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.06);
  position: relative;
  z-index: 900;
}
.topbar .wrap { display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap; }
.tb-left { display: flex; gap: 1.5rem; flex-wrap: wrap; align-items: center; }
.tb-left span { display: flex; align-items: center; gap: 5px; }
.tb-left i { color: var(--gold); font-size: .7rem; }
.tb-right { display: flex; gap: .2rem; align-items: center; }
.tb-right a { color: #fff; padding: .2rem .7rem; border-radius: 4px; font-weight: 500; transition: color .15s, background .15s; }
.tb-right a:hover { color: var(--gold-lt); background: rgba(255,255,255,.06); }

/* Location dropdown */
.loc-dropdown { position: relative; display: inline-flex; align-items: center; margin-left: .5rem; }
.loc-trigger { display: flex; align-items: center; gap: 5px; cursor: pointer; padding: .2rem .5rem; border-radius: 4px; transition: background .15s; user-select: none; }
.loc-trigger:hover { background: rgba(255,255,255,.06); color: rgba(255,255,255,.8); }
.loc-trigger .fa-map-marker-alt { color: var(--gold); font-size: .7rem; }
.loc-trigger .fa-chevron-down { font-size: .55rem; opacity: .5; transition: transform .2s; }
.loc-dropdown.open .loc-trigger .fa-chevron-down { transform: rotate(180deg); }

/* Sits at the right edge of the topbar now, so its menu opens aligned to
   the right instead of the left (which used to be safe when it was the
   leftmost item, but would now overflow past the page edge). */
.loc-dropdown--highlight .loc-trigger {
  background: linear-gradient(135deg, var(--gold), #a9761d);
  color: var(--navy);
  font-weight: 700;
  padding: .28rem .85rem;
  border-radius: 20px;
  box-shadow: 0 3px 10px rgba(200,149,44,.35);
}
.loc-dropdown--highlight .loc-trigger:hover {
  background: linear-gradient(135deg, var(--gold-lt), var(--gold));
  box-shadow: 0 5px 14px rgba(200,149,44,.5);
}
.loc-dropdown--highlight .loc-trigger .fa-map-marker-alt,
.loc-dropdown--highlight .loc-trigger .fa-chevron-down { color: var(--navy); opacity: .85; }

.loc-menu {
  position: absolute; top: calc(100% + 8px); right: 0; min-width: 220px;
  background: var(--white); border-radius: 10px;
  box-shadow: 0 12px 40px rgba(11,31,58,.22), 0 0 0 1px rgba(11,31,58,.07);
  padding: .4rem 0; z-index: 1200;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .18s var(--ease), transform .18s var(--ease), visibility .18s;
}
.loc-dropdown.open .loc-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.loc-menu a { display: flex; align-items: center; gap: 9px; padding: .52rem 1rem; font-size: .82rem; font-weight: 500; color: var(--navy); transition: background .13s, color .13s; }
.loc-menu a i { width: 14px; color: var(--blue); font-size: .74rem; flex-shrink: 0; }
.loc-menu a:hover { background: var(--cream); color: var(--gold); }
.loc-menu a:hover i { color: var(--gold); }
.loc-menu-hdr { padding: .38rem 1rem .3rem; font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--border); margin-bottom: .3rem; }

/* ═══════════════════════════════════════════
   3. NAVBAR (advanced with scroll/static & logo switching)
═══════════════════════════════════════════ */
.navbar { position: fixed; top: 50px; left: 0; right: 0; z-index: 800; transition: background .35s var(--ease), box-shadow .35s, top .35s; }
.navbar.scrolled { top: 0; background: rgba(255,255,255,.97); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 2px 40px rgba(0,0,0,.12); }
.navbar.static { top: 0; position: sticky; background: rgba(255,255,255,.97); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 2px 40px rgba(0,0,0,.12); }
.nav-inner { display: flex; align-items: center; height: 82px; }
.nav-logo { display: flex; align-items: center; gap: 13px; flex-shrink: 0; margin-right: auto; }
#navLogoWhite { height: 80px; width: auto; display: block; }
#navLogoDark  { height: 80px; width: auto; display: none; }
.navbar.scrolled #navLogoWhite,
.navbar.static  #navLogoWhite { display: none; }
.navbar.scrolled #navLogoDark,
.navbar.static  #navLogoDark  { display: block; }
.nav-logo img.logo-only { height: 70px; width: auto; }
.nav-logo-text strong { font-family: var(--FD); font-size: 1.42rem; font-weight: 700; color: var(--white); line-height: 1; display: block; transition: color .35s; }
.nav-logo-text small  { font-size: .6rem; font-weight: 500; color: rgba(255,255,255,.4); letter-spacing: .09em; text-transform: uppercase; margin-top: 2px; display: block; transition: color .35s; }
.navbar.scrolled .nav-logo-text strong,
.navbar.static   .nav-logo-text strong { color: var(--navy); }
.navbar.scrolled .nav-logo-text small,
.navbar.static   .nav-logo-text small  { color: var(--muted); }
.nav-menu { display: flex; align-items: center; height: 100%; gap: 0; }
.ni { position: relative; height: 100%; display: flex; align-items: center; }
.nl { display: flex; align-items: center; gap: 5px; padding: .5rem 1rem; font-size: .9rem; font-weight: 800; color: rgba(255,255,255,.88); border-radius: 6px; cursor: pointer; white-space: nowrap; transition: color .2s, background .2s; height: 100%; letter-spacing: .01em; }
.nl:hover { color: var(--gold-lt); background: rgba(255,255,255,.06); }
.navbar.scrolled .nl,
.navbar.static   .nl { color: var(--navy); }
.navbar.scrolled .nl:hover,
.navbar.static   .nl:hover { color: var(--blue); background: rgba(11,31,58,.06); }
.nl .ch { font-size: .58rem; opacity: .5; transition: transform .25s var(--ease); margin-left: 2px; }
.ni:hover .nl .ch { transform: rotate(180deg); }
.nav-cta { display: flex; align-items: center; gap: .65rem; margin-left: .85rem; flex-shrink: 0; }
.btn-apply { background: linear-gradient(135deg, var(--gold), #B8820F); color: var(--navy); border: none; border-radius: 8px; padding: .58rem 1.5rem; font-family: var(--F); font-size: .88rem; font-weight: 700; cursor: pointer; white-space: nowrap; transition: all .22s; box-shadow: 0 4px 14px rgba(200,149,44,.35); }
.btn-apply:hover { background: linear-gradient(135deg, var(--gold-lt), var(--gold)); transform: translateY(-2px); }
.ham { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: .4rem; margin-left: .5rem; }
.ham span { width: 24px; height: 2.5px; background: rgba(255,255,255,.88); border-radius: 2px; transition: transform .3s, opacity .3s, background .3s; }
.navbar.scrolled .ham span,
.navbar.static   .ham span { background: var(--navy); }
.ham.open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.ham.open span:nth-child(2) { opacity: 0; }
.ham.open span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }
/* ═══════════════════════════════════════════
   4. MEGA MENU (tabbed layout – enhanced)
═══════════════════════════════════════════ */
.mega-wrap {
  position: fixed; top: 0; left: 0; z-index: 700;
  pointer-events: none; width: 100%;

}
.mega {
  position: absolute; top: 0; left: 0;
  background: var(--white);
  border-radius: 0 0 40px 40px;
  box-shadow: 0 24px 60px -10px rgba(11,31,58,.22), 0 0 0 1px rgba(226,217,200,.5);
  border-top: 3px solid var(--gold);
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(-10px);
  transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
  /* full width */
  max-width: 100% !important;
  width: 70%;
  overflow: hidden;
}
.mega.open {
  opacity: 1; visibility: visible;
  pointer-events: all; transform: translateY(0);
}
.mega-layout {
  display: flex;
  min-height: 400px;
  width: 100%;
}
.mega-sidebar {
  width: 230px;          /* slightly wider */
  flex-shrink: 0;
  background: var(--cream);
  border-right: 1px solid var(--border);
  padding: 18px 0;       /* more vertical padding */
}
.mega-tab {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;    /* larger click area */
  font-size: 14px;       /* increased font */
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
  border-left: 3px solid transparent;
  transition: background .12s, color .12s, border-color .12s;
  white-space: nowrap;
}
.mega-tab:hover {
  background: var(--white);
  color: var(--navy);
}
.mega-tab.active {
  background: var(--white);
  color: var(--navy);
  border-left-color: var(--gold);
  font-weight: 700;
}
.mega-tab-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 16px;
}
.mega-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.mega-pane {
  display: none;
  flex: 1;
  padding: 28px 48px 24px !important;  /* more breathing room */
}
.mega-pane.active {
  display: flex;
  flex-direction: column;
}
.pane-cols {
  display: grid;
  gap: 32px;             /* larger gap between columns */
  flex: 1;
}
.cols-2 {
  grid-template-columns: 1fr 1fr;
}
.cols-3 {
  grid-template-columns: 1fr 1fr 1fr;
}
.col-section {
  margin-bottom: 20px;
}
.col-head {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1.5px solid var(--border);
}
.col-links {
  display: flex;
  flex-direction: column;
  gap: 6px;              /* more spacing between links */
}
.col-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;     /* larger touch target */
  font-size: 16px;       /* increased font */
  color: var(--muted);
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .1s, color .1s, transform .1s;
  text-decoration: none;
}
.col-link i {
  width: 18px;
  font-size: .85rem;
  color: var(--blue);
  opacity: .65;
  flex-shrink: 0;
  transition: color .1s, opacity .1s;
}
.col-link:hover {
  background: var(--cream);
  color: var(--navy);
  transform: translateX(4px);
}
.col-link:hover i {
  color: var(--gold);
  opacity: 1;
}
.highlight-box {
  background: var(--navy);
  border-radius: 12px;
  padding: 18px 20px;
  margin-top: 12px;
}
.highlight-box .hl-eyebrow {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold-lt);
  margin-bottom: 6px;
}
.highlight-box .hl-title {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6px;
}
.highlight-box .hl-desc {
  font-size: 13px;
  color: rgba(255,255,255,.5);
  line-height: 1.55;
  margin-bottom: 14px;
}
.highlight-box .hl-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  background: var(--gold);
  color: var(--navy);
  border: none;
  border-radius: 8px;
  padding: 7px 14px;
  cursor: pointer;
  transition: background .15s;
}
.highlight-box .hl-btn:hover {
  background: var(--gold-lt);
}
.mega-footer {
  border-top: 1px solid var(--border);
  padding: 14px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--cream);
  flex-wrap: wrap;
}
.mf-btn {
  font-size: 12.5px;
  font-weight: 700;
  padding: 7px 16px;
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid var(--border);
  color: var(--text);
  background: var(--white);
  transition: background .12s, border-color .12s;
  white-space: nowrap;
}
.mf-btn:hover {
  background: var(--cream2);
  border-color: #c5bda8;
}
.mf-btn.primary {
  background: var(--navy);
  color: var(--gold-lt);
  border-color: var(--navy);
}
.mf-btn.primary:hover {
  background: var(--blue);
}
.mf-sep {
  width: 1px;
  height: 18px;
  background: var(--border);
  flex-shrink: 0;
}
.mf-info {
  font-size: 12px;
  color: var(--muted);
  margin-left: auto;
  white-space: nowrap;
}

/* Simple grid mega menus (for other sections) – also enhanced */
.mg2, .mg3 {
  gap: 2rem;
  padding: 2rem 2.5rem;
}
.mg2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.mg3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.mc-title {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
  padding-bottom: 0.6rem;
  border-bottom: 1.5px solid var(--border);
}
.mc a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0.55rem 0.7rem;
  font-size: 0.9rem;
  color: var(--muted);
  border-radius: 8px;
  transition: color .13s, background .13s, transform .13s;
  margin-bottom: 2px;
  white-space: nowrap;
}
.mc a i {
  width: 18px;
  font-size: 0.85rem;
  color: var(--blue);
  opacity: .65;
  flex-shrink: 0;
}
.mc a:hover {
  color: var(--navy);
  background: var(--cream);
  transform: translateX(5px);
}
.mc a:hover i {
  color: var(--gold);
  opacity: 1;
}
.mg-banner {
  grid-column: 1/-1;
  background: var(--navy);
  border-radius: 14px;
  padding: 1.4rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.mg-banner p {
  color: rgba(255,255,255,.75);
  font-size: 0.92rem;
  line-height: 1.6;
}
.mg-banner strong {
  color: var(--gold-lt);
}
.mg-banner .mbb {
  background: var(--gold);
  color: var(--navy);
  border: none;
  border-radius: 9px;
  padding: 0.55rem 1.3rem;
  font-weight: 800;
  font-size: 0.88rem;
  white-space: nowrap;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .2s;
}
.mg-banner .mbb:hover {
  background: var(--gold-lt);
}

/* badges (unchanged, already fine) */
.new-tag,
.badge-hot {
  display: inline-block;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .1rem .45rem;
  border-radius: 4px;
  margin-left: 4px;
  vertical-align: middle;
}
.new-tag {
  background: var(--crimson);
  color: #fff;
}
.badge-hot {
  background: var(--gold);
  color: var(--navy);
}

/* Responsive adjustments for smaller screens */
@media (max-width: 1024px) {
  .mega-sidebar {
    width: 180px;
  }
  .mega-pane {
    padding: 22px 24px;
  }
  .mega-tab {
    padding: 10px 14px;
    font-size: 13px;
  }
  .col-link {
    font-size: 13px;
    padding: 7px 10px;
  }
  .pane-cols {
    gap: 24px;
  }
}
@media (max-width: 768px) {
  .mega-layout {
    flex-direction: column;
  }
  .mega-sidebar {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid var(--border);
    padding: 12px 0;
    display: flex;
    overflow-x: auto;
    gap: 4px;
  }
  .mega-tab {
    white-space: nowrap;
    flex-shrink: 0;
  }
  .mega-pane {
    padding: 20px;
  }
  .pane-cols {
    gap: 20px;
  }
  .cols-2, .cols-3 {
    grid-template-columns: 1fr;
  }
  .mg2, .mg3 {
    grid-template-columns: 1fr;
    padding: 1.5rem;
  }
  .mg-banner {
    flex-direction: column;
    text-align: center;
  }
}
/* ═══════════════════════════════════════════
   5. MOBILE NAV MENU (off-canvas, reuses live mega-menu content)
═══════════════════════════════════════════ */
.nav-overlay { display: none; position: fixed; inset: 0; background: rgba(11,31,58,.55); backdrop-filter: blur(2px); z-index: 1150; opacity: 0; transition: opacity .25s; }
.nav-overlay.open { display: block; opacity: 1; }
.mega-mob-back {
  display: none; align-items: center; gap: 8px;
  width: 100%; background: var(--cream); border: none; border-bottom: 1px solid var(--border);
  padding: .9rem 1.25rem; font-size: .82rem; font-weight: 700; color: var(--navy);
  cursor: pointer; text-align: left;
}
.mega-mob-back i { font-size: .75rem; }

/* ═══════════════════════════════════════════
   6. MOBILE QUICK NAV
═══════════════════════════════════════════ */
.mob-quicknav {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 850;
  background: rgba(11,31,58,.97); backdrop-filter: blur(16px);
  border-top: 1px solid rgba(200,149,44,.3);
  padding: .3rem 0 env(safe-area-inset-bottom, .3rem);
}
.mqn-list {
  display: flex; align-items: stretch;
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  scrollbar-width: none; gap: 0;
}
.mqn-list::-webkit-scrollbar { display: none; }
.mqn-item {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  padding: .5rem .4rem .42rem; cursor: pointer; border: none;
  background: none; text-decoration: none; color: rgba(255,255,255,.5);
  transition: color .18s, background .18s;
  border-right: 1px solid rgba(255,255,255,.06); position: relative;
}
.mqn-item:last-child { border-right: none; }
.mqn-item:hover, .mqn-item.active { color: var(--gold-lt); background: rgba(255,255,255,.05); }
.mqn-item::before {
  content: ''; position: absolute; top: 0; left: 20%; right: 20%;
  height: 2px; background: var(--gold); border-radius: 0 0 3px 3px;
  transform: scaleX(0); transition: transform .2s var(--ease);
}
.mqn-item:hover::before, .mqn-item.active::before { transform: scaleX(1); }
.mqn-item i { font-size: .9rem; line-height: 1; }
.mqn-item span { font-size: .55rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; line-height: 1; }
.mqn-item.apply-btn { background: linear-gradient(135deg, var(--gold), #B8820F); color: var(--navy); min-width: 64px; }
.mqn-item.apply-btn:hover { background: linear-gradient(135deg, var(--gold-lt), var(--gold)); }
.mqn-item.apply-btn::before { display: none; }

/* ═══════════════════════════════════════════
   7. HERO SLIDER (homepage)
═══════════════════════════════════════════ */
.hero { position: relative; width: 100%; height: 100svh; min-height: 600px; background: var(--navy); overflow: hidden; }
.slide { position: absolute; inset: 0; opacity: 0; transition: opacity 2.2s cubic-bezier(.45,0,.2,1); z-index: 1; }
.slide.active { opacity: 1; z-index: 2; }
.slide-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.08); transition: transform 9s linear; }
.slide.active .slide-bg { transform: scale(1); }
.slide-ov { position: absolute; inset: 0; z-index: 2; background: linear-gradient(to left, rgba(11,31,58,.92) 0%, rgba(11,31,58,.75) 30%, rgba(11,31,58,.25) 50%, rgba(11,31,58,.05) 70%, transparent 100%), linear-gradient(to top, rgba(11,31,58,.45) 0%, transparent 35%); }
.slide-body { position: absolute; inset: 0; z-index: 3; display: flex; align-items: stretch; flex-direction: row-reverse; }
.slide-left { flex: 0 0 44%; max-width: 44%; display: flex; flex-direction: column; justify-content: flex-start; padding: 3rem 4% 7rem 2rem; position: relative; padding-top: calc(130px + 2.5rem); }
.slide-left::after { content: ''; position: absolute; left: 0; top: 15%; bottom: 15%; width: 1px; background: linear-gradient(to bottom, transparent, rgba(200,149,44,.4), transparent); }
.slide-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 1.8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-lt); margin-bottom: 1.1rem; opacity: 0; transform: translateY(14px); transition: opacity .6s .15s var(--ease), transform .6s .15s var(--ease); }
.slide-eyebrow::before { content: ''; height: 1.5px; background: var(--gold-lt); flex-shrink: 0; }
.slide.active .slide-eyebrow { opacity: 1; transform: none; }
.slide-h1 { font-family: var(--FD); font-size: clamp(2.4rem,4vw,4.6rem); font-weight: 700; line-height: 1.05; color: var(--white); margin-bottom: 1.1rem; opacity: 0; transform: translateY(22px); transition: opacity .65s .3s var(--ease), transform .65s .3s var(--ease); }
.slide.active .slide-h1 { opacity: 1; transform: none; }
.slide-h1 em { font-style: italic; color: var(--gold-lt); }
.slide-desc { font-size: .97rem; color: rgba(255,255,255,.72); line-height: 1.8; max-width: 440px; margin-bottom: 2rem; opacity: 0; transform: translateY(14px); transition: opacity .6s .45s var(--ease), transform .6s .45s var(--ease); }
.slide.active .slide-desc { opacity: 1; transform: none; }
.slide-btns { display: flex; gap: .85rem; flex-wrap: wrap; opacity: 0; transform: translateY(12px); transition: opacity .55s .6s var(--ease), transform .55s .6s var(--ease); }
.slide.active .slide-btns { opacity: 1; transform: none; }
.sbtn-gold  { display: inline-flex; align-items: center; gap: 8px; background: var(--gold); color: var(--navy); font-family: var(--F); font-size: .88rem; font-weight: 700; padding: .74rem 1.9rem; border-radius: 8px; border: none; cursor: pointer; transition: background .2s, transform .2s; }
.sbtn-gold:hover { background: var(--gold-lt); transform: translateY(-2px); }
.sbtn-ghost { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1); color: var(--white); font-family: var(--F); font-size: .88rem; font-weight: 600; padding: .72rem 1.75rem; border-radius: 8px; border: 1px solid rgba(255,255,255,.3); cursor: pointer; backdrop-filter: blur(8px); transition: background .2s, border-color .2s; }
.sbtn-ghost:hover { background: rgba(255,255,255,.2); border-color: rgba(255,255,255,.5); }
.slide-right { flex: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: calc(100px + 6.5rem) 2% 10rem 12%; position: relative; }
.slide-right .slide-h1 { position: relative; margin: 0; font-size: clamp(2.8rem,5vw,5.5rem); opacity: 0; transform: translateY(22px); transition: opacity .65s .3s var(--ease), transform .65s .3s var(--ease); max-width: 420px; }
.slide.active .slide-right .slide-h1 { opacity: 1; transform: none; }
.slide-campus-name { font-family: var(--FD); font-size: clamp(1.8rem,3vw,1.2rem); font-weight: 700; color: var(--white); line-height: 1.1; margin-top: 20rem; opacity: 0; transform: translateY(18px); transition: opacity .65s .5s var(--ease), transform .65s .5s var(--ease); }
.slide.active .slide-campus-name { opacity: 1; transform: none; }
.slider-bar { position: absolute; bottom: 0; left: 0; right: 0; z-index: 10; display: flex; align-items: center; padding: 0 5% 1.75rem; gap: 2rem; }
.dots { display: flex; gap: .5rem; align-items: center; }
.dot { width: 7px; height: 7px; background: rgba(255,255,255,.3); border-radius: 30px; cursor: pointer; transition: width .3s var(--ease), background .3s; }
.dot.on { width: 28px; background: var(--gold); }
.slide-counter { font-family: var(--FD); font-size: 2.5rem; font-weight: 600; color: rgba(255,255,255,.12); line-height: 1; user-select: none; margin-left: auto; margin-right: 1rem; }
.slide-counter span { font-size: 1rem; color: rgba(255,255,255,.3); }
.arrows { display: flex; gap: .5rem; }
.arr { width: 46px; height: 46px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(8px); border-radius: 9px; color: white; font-size: 1rem; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .18s, border-color .18s, transform .18s; }
.arr:hover { background: var(--gold); border-color: var(--gold); color: var(--navy); transform: scale(1.07); }
.progress-line { position: absolute; bottom: 0; left: 0; z-index: 10; height: 3px; background: var(--gold); width: 0%; transition: width 0s linear; }

/* ═══════════════════════════════════════════
   8. STATS BAND
═══════════════════════════════════════════ */
.stats-band { background: var(--navy2); padding: 2.4rem 0; border-bottom: 1px solid rgba(255,255,255,.05); }
.stats-grid { display: grid; grid-template-columns: repeat(7,1fr); }
.stat { padding: .85rem 1rem; text-align: center; position: relative; }
.stat::after { content: ''; position: absolute; right: 0; top: 18%; bottom: 18%; width: 1px; background: rgba(255,255,255,.07); }
.stat:last-child::after { display: none; }
.stat-n { font-family: var(--FD); font-size: 2.4rem; font-weight: 800; letter-spacing: -.02em; color: #fff; line-height: 1; font-variant-numeric: tabular-nums; }
.stat-l { font-size: .90rem; color: #c8952c; margin-top: .38rem; font-weight: 800; }
.stat-sup { font-size: 1rem; color: var(--gold); }
.stats-grid.cols-6 { grid-template-columns: repeat(6,1fr); }

/* ═══════════════════════════════════════════
   9. NEWS TICKER
═══════════════════════════════════════════ */
.ticker-section { background: linear-gradient(90deg, var(--navy) 0%, var(--blue) 50%, var(--navy) 100%); padding: 0; border-top: 3px solid var(--gold); border-bottom: 3px solid rgba(200,149,44,.3); overflow: hidden; }
.ticker-wrap { display: flex; align-items: stretch; }
.ticker-label { flex-shrink: 0; background: var(--gold); color: var(--navy); font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: .85rem 1.35rem; display: flex; align-items: center; gap: 7px; white-space: nowrap; z-index: 2; position: relative; }
.ticker-label::after { content: ''; position: absolute; right: -15px; top: 0; bottom: 0; width: 0; border-style: solid; border-width: 0 0 100% 15px; border-color: transparent transparent transparent var(--gold); }
.ticker-inner { flex: 1; overflow: hidden; position: relative; display: flex; align-items: center; padding-left: 2.5rem; }
.ticker-track { display: flex; white-space: nowrap; animation: ticker 60s linear infinite; }
.ticker-track:hover { animation-play-state: paused; }
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.ticker-item { display: inline-flex; align-items: center; gap: .6rem; color: rgba(255,255,255,.88); font-size: .84rem; font-weight: 500; padding: .85rem 0; margin-right: 3rem; cursor: pointer; transition: color .15s; }
.ticker-item:hover { color: var(--gold-lt); }
.ticker-item i { color: var(--gold-lt); font-size: .7rem; flex-shrink: 0; }
.ticker-item .tnew { background: var(--crimson); color: #fff; font-size: .58rem; font-weight: 800; padding: .08rem .4rem; border-radius: 3px; text-transform: uppercase; letter-spacing: .06em; margin-left: 4px; }
.ticker-sep { color: rgba(255,255,255,.2); margin-right: 3rem; font-size: 1rem; }

/* ═══════════════════════════════════════════
   10. SHARED HELPERS
═══════════════════════════════════════════ */
.sl { display: flex; align-items: center; gap: 10px; font-size: .71rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); margin-bottom: .9rem; }
.sl::after { content: ''; width: 38px; height: 1px; background: var(--gold); opacity: .5; }
.sh2 { font-family: var(--FD); font-size: clamp(1.95rem,3vw,3rem); font-weight: 700; color: var(--navy); line-height: 1.13; }
.sh2 em { font-style: italic; color: var(--gold); }
.btn-p { display: inline-flex; align-items: center; gap: 7px; background: var(--navy); color: var(--gold-lt); border: none; border-radius: 9px; padding: .66rem 1.75rem; font-family: var(--F); font-size: .9rem; font-weight: 700; cursor: pointer; transition: background .2s, transform .2s; }
.btn-p:hover { background: var(--blue); transform: translateY(-1px); }
.btn-lnk { display: inline-flex; align-items: center; gap: 6px; color: var(--blue); font-size: .88rem; font-weight: 600; transition: gap .18s, color .18s; }
.btn-lnk:hover { color: var(--gold); gap: 10px; }
.rev { opacity: 0; transform: translateY(26px); transition: opacity .65s var(--ease), transform .65s var(--ease); }
.rev.vis { opacity: 1; transform: none; }
.rev.d1 { transition-delay: .1s; }
.rev.d2 { transition-delay: .2s; }
.rev.d3 { transition-delay: .3s; }
.rev.d4 { transition-delay: .4s; }
.rev.d5 { transition-delay: .5s; }
.rev.d6 { transition-delay: .6s; }

/* AOS/WOW-style reveal variants — combine with .rev, e.g. class="rev rev-left d1".
   Same IntersectionObserver (adds .vis once) drives all of them; only the
   resting transform + easing differs per variant. */
.rev-left { transform: translateX(-42px); }
.rev-left.vis { transform: none; }
.rev-right { transform: translateX(42px); }
.rev-right.vis { transform: none; }
.rev-up { transform: translateY(42px); }
.rev-up.vis { transform: none; }
.rev-down { transform: translateY(-34px); }
.rev-down.vis { transform: none; }
.rev-zoom { transform: scale(.88); }
.rev-zoom.vis { transform: none; }
.rev-flip { transform: perspective(900px) rotateX(-16deg) translateY(24px); transform-origin: top center; }
.rev-flip.vis { transform: none; }
.rev-slow { transition-duration: 1s; }
.rev-fast { transition-duration: .4s; }

@media (prefers-reduced-motion: reduce) {
  .rev, .rev-left, .rev-right, .rev-up, .rev-down, .rev-zoom, .rev-flip { transition: none !important; opacity: 1 !important; transform: none !important; }
}

/* ═══════════════════════════════════════════
   11. ABOUT SECTION (homepage)
═══════════════════════════════════════════ */
.about-sec { padding: 3rem 0; background: var(--cream); position: relative; overflow: hidden; }
.about-sec::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); opacity: .35; }
.about-sec::after { content: ''; position: absolute; top: -10%; right: -8%; width: 480px; height: 480px; border-radius: 50%;
  background: radial-gradient(circle, rgba(200,149,44,.10) 0%, rgba(200,149,44,0) 70%); pointer-events: none; }
.about-eyebrow-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 3.5rem; }
.about-eyebrow-row .sl { margin-bottom: 0; }
.about-main-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 4rem; align-items: start; position: relative; }
.about-heritage-badge { display: inline-flex; align-items: center; gap: 1.1rem; background: linear-gradient(135deg, var(--navy), var(--blue)); border-radius: 14px; padding: 1.1rem 1.6rem; box-shadow: var(--sh-sm); margin-bottom: 2rem; border: 1px solid rgba(200,149,44,.2); }
.ahb-year { font-family: var(--FD); font-size: 2.8rem; font-weight: 700; color: var(--gold-lt); line-height: 1; }
.ahb-info strong { display: block; font-size: .82rem; font-weight: 700; color: var(--white); letter-spacing: .04em; }
.ahb-info small { font-size: .68rem; color: #fff; text-transform: uppercase; letter-spacing: .08em; }
.about-left .sh2 { margin-bottom: 1rem; }
.about-left .about-desc p { font-size: .96rem; line-height: 1.88; color: var(--muted); margin-bottom: 1rem; }
.about-left .about-desc p strong { color: var(--text); }
.about-ctas { display: flex; gap: .85rem; flex-wrap: wrap; margin-top: 1.75rem; }
.about-right { background: var(--white); border-radius: 22px; border: 1px solid var(--border); box-shadow: var(--sh-card); overflow: hidden; position: sticky; top: 110px; }
.disc-panel-hdr { background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%); padding: 1.6rem 1.8rem 1.4rem; position: relative; overflow: hidden; }
.disc-panel-hdr::after { content: ''; position: absolute; right: -30px; bottom: -30px; width: 120px; height: 120px; border-radius: 50%; border: 28px solid rgba(200,149,44,.12); }
.disc-panel-hdr .dh-eyebrow { font-size: .67rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-lt); display: flex; align-items: center; gap: 8px; margin-bottom: .45rem; }
.disc-panel-hdr h3 { font-family: var(--FD); font-size: 1.55rem; font-weight: 700; color: var(--white); line-height: 1.15; }
.disc-panel-hdr p { font-size: .82rem; color: #fff; margin-top: .38rem; }
.disc-panel-body { padding: 1.4rem 1.6rem 1.6rem; }
.disc-cat { margin-bottom: 1.5rem; }
.disc-cat:last-child { margin-bottom: 0; }
.disc-cat-label { font-size: .65rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: var(--muted); margin-bottom: .65rem; display: flex; align-items: center; gap: 8px; }
.disc-cat-label::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.disc-tags-grid { display: flex; flex-wrap: wrap; gap: .45rem; }
.dtag-new { display: inline-flex; align-items: center; gap: 6px; padding: .38rem 1rem; background: var(--cream); border: 1.5px solid var(--border); border-radius: 30px; font-size: .8rem; font-weight: 600; color: var(--navy); cursor: pointer; transition: all .2s var(--ease); position: relative; overflow: hidden; }
.dtag-new::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, var(--navy), var(--blue)); opacity: 0; transition: opacity .2s; }
.dtag-new:hover::before { opacity: 1; }
.dtag-new:hover { color: var(--white); border-color: var(--blue); transform: translateY(-2px); }
.dtag-new:hover .dtag-icon { color: var(--gold-lt); }
.dtag-icon { font-size: .68rem; color: var(--blue); position: relative; z-index: 1; transition: color .2s; }
.dtag-new span { position: relative; z-index: 1; }
.dtag-new.health { background: rgba(27,79,138,.05); border-color: rgba(27,79,138,.25); }
.dtag-new.health .dtag-icon { color: var(--blue); }
.dtag-new.eng { background: rgba(200,149,44,.06); border-color: rgba(200,149,44,.3); }
.dtag-new.eng .dtag-icon { color: var(--gold); }
.dtag-new.mgmt { background: rgba(158,37,48,.05); border-color: rgba(158,37,48,.22); }
.dtag-new.mgmt .dtag-icon { color: var(--crimson); }

/* ═══════════════════════════════════════════
   12. PROGRAMS SECTION (filterable)
═══════════════════════════════════════════ */
.ps-root {
    font-family: 'Manrope', 'DM Sans', sans-serif;
    background: #fff;
    padding: 3.5rem 2rem 3rem;
    position: relative;
    overflow-x: hidden;
  }

  .ps-inner { max-width: 1340px; margin: 0 auto; }

  .ps-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 2.25rem;
    flex-wrap: wrap;
    gap: 1rem;
  }

  .ps-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #C8952C;
    margin-bottom: 0.65rem;
  }
  .ps-eyebrow::before { content: ''; width: 20px; height: 1.5px; background: #C8952C; }

  .ps-title {
    font-family: 'Manrope', 'Fraunces', Georgia, serif;
    font-size: clamp(1.9rem, 3vw, 2.6rem);
    font-weight: 700;
    color: #0B1F3A;
    line-height: 1.08;
  }
  .ps-title em { font-style: italic; color: #C8952C; }

  .ps-subtitle { font-size: 13px; color: #7a8599; margin-top: 0.4rem; }

  .ps-viewall {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1.5px solid #0B1F3A;
    color: #0B1F3A;
    padding: 0.5rem 1.15rem;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    background: transparent;
    transition: all 0.18s;
    white-space: nowrap;
    text-decoration: none;
  }
  .ps-viewall:hover { background: #0B1F3A; color: #E8AE42; }

  .ps-filter-card {
    background: #f8f6f2;
    border: 1.5px solid #E2D9C8;
    border-radius: 16px;
    overflow: visible;
    margin-bottom: 1.75rem;
  }

  .ps-filter-head {
    background: linear-gradient(135deg, #0B1F3A, #1B4F8A);
    padding: 1rem 1.5rem;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .ps-filter-head-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 7px;
  }
  .ps-filter-head-label svg { color: #E8AE42; }
  .ps-result-badge {
    font-size: 12px;
    font-weight: 700;
    color: #E8AE42;
    background: rgba(200,149,44,0.18);
    border: 1px solid rgba(200,149,44,0.3);
    border-radius: 20px;
    padding: 0.15rem 0.7rem;
  }

  .ps-filter-body { padding: 1.25rem 1.5rem; }

  .ps-filter-row {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    align-items: flex-end;
  }

  .ps-dd-group { display: flex; flex-direction: column; gap: 0.35rem; min-width: 180px; }
  .ps-dd-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7a8599;
    display: flex;
    align-items: center;
    gap: 5px;
  }

  .ps-dd-wrap { position: relative; display: inline-block; width: 100%; }

  .ps-dd-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0.55rem 1rem;
    background: #fff;
    border: 1.5px solid #E2D9C8;
    border-radius: 10px;
    font-family: 'Manrope', 'DM Sans', sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    color: #0B1F3A;
    cursor: pointer;
    width: 100%;
    transition: border-color 0.18s;
    white-space: nowrap;
    user-select: none;
  }
  .ps-dd-btn:hover { border-color: #1B4F8A; }
  .ps-dd-btn.selected { background: #0B1F3A; color: #E8AE42; border-color: #0B1F3A; }
  .ps-dd-btn.selected .dd-arrow { color: #E8AE42; }
  .dd-arrow { font-size: 10px; opacity: 0.5; transition: transform 0.2s; flex-shrink: 0; }
  .ps-dd-wrap.open .dd-arrow { transform: rotate(180deg); }

  .ps-dd-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 100%;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(11,31,58,0.15), 0 0 0 1px rgba(226,217,200,0.6);
    padding: 0.4rem 0;
    z-index: 200;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.16s, transform 0.16s, visibility 0.16s;
  }
  .ps-dd-wrap.open .ps-dd-menu { opacity: 1; visibility: visible; transform: translateY(0); }

  .ps-dd-opt {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0.48rem 1rem;
    font-size: 13px;
    font-weight: 500;
    color: #0B1F3A;
    cursor: pointer;
    transition: background 0.12s;
    white-space: nowrap;
  }
  .ps-dd-opt:hover { background: #f8f6f2; }
  .ps-dd-opt.active { background: rgba(27,79,138,0.07); color: #1B4F8A; font-weight: 700; }
  .ps-dd-opt .opt-icon { width: 16px; font-size: 13px; color: #1B4F8A; opacity: 0.65; flex-shrink: 0; }
  .ps-dd-opt.active .opt-icon { opacity: 1; }
  .ps-dd-opt .opt-check { margin-left: auto; color: #1B4F8A; font-size: 11px; display: none; }
  .ps-dd-opt.active .opt-check { display: block; }

  .ps-search-row {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
  }

  .ps-search-wrap {
    flex: 1;
    min-width: 200px;
    position: relative;
    display: flex;
    align-items: center;
    background: #fff;
    border: 1.5px solid #E2D9C8;
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
  }
  .ps-search-wrap:focus-within { border-color: #1B4F8A; box-shadow: 0 0 0 3px rgba(27,79,138,0.09); }
  .ps-search-icon { padding: 0 0.9rem; color: #aab0bc; flex-shrink: 0; display: flex; }
  .ps-search {
    flex: 1;
    padding: 0.58rem 1rem 0.58rem 0;
    border: none;
    background: transparent;
    color: #0B1F3A;
    font-family: 'Manrope', 'DM Sans', sans-serif;
    font-size: 13.5px;
    outline: none;
  }
  .ps-search::placeholder { color: #aab0bc; }

  .ps-clear-btn {
    background: #f0ece5;
    border: none;
    padding: 0.55rem 1rem;
    border-radius: 8px;
    font-family: 'Manrope', 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #7a8599;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
  }
  .ps-clear-btn:hover { background: #e5ddd0; color: #0B1F3A; }

  .ps-results-area { position: relative; }

  .ps-empty-state {
    text-align: center;
    padding: 4rem 1rem;
    color: #aab0bc;
  }
  .ps-empty-state svg { opacity: 0.35; display: block; margin: 0 auto 1rem; }
  .ps-empty-state p { font-size: 15px; font-weight: 500; margin-bottom: 0.4rem; color: #7a8599; }
  .ps-empty-state small { font-size: 13px; }

  .ps-idle-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3.5rem 1rem;
    text-align: center;
    border: 1.5px dashed #E2D9C8;
    border-radius: 14px;
    background: #faf8f5;
  }
  .ps-idle-icon {
    width: 56px; height: 56px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0B1F3A, #1B4F8A);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
  }
  .ps-idle-icon svg { color: #E8AE42; }
  .ps-idle-state h4 {
    font-family: 'Manrope', 'Fraunces', serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: #0B1F3A;
    margin-bottom: 0.4rem;
  }
  .ps-idle-state p { font-size: 13px; color: #7a8599; max-width: 320px; }

  .ps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }

  .ps-card {
    background: #fff;
    border: 1.5px solid #E2D9C8;
    border-radius: 14px;
    padding: 1.25rem 1.35rem 1.5rem;
    cursor: pointer;
    transition: all 0.22s;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    text-decoration: none;
    position: relative;
    overflow: hidden;
  }
  .ps-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
  }
  .ps-card:hover { border-color: #1B4F8A; transform: translateY(-3px); box-shadow: 0 8px 30px rgba(11,31,58,0.12); }
  .ps-card:hover::before { transform: scaleX(1); }

  .ps-card.fac-health::before { background: linear-gradient(90deg,#1B4F8A,#4A90D9); }
  .ps-card.fac-eng::before    { background: linear-gradient(90deg,#C8952C,#E8AE42); }
  .ps-card.fac-mgmt::before   { background: linear-gradient(90deg,#9E2530,#C0535E); }
  .ps-card.fac-sci::before    { background: linear-gradient(90deg,#1D9E75,#5DCAA5); }
  .ps-card.fac-law::before    { background: linear-gradient(90deg,#534AB7,#7F77DD); }

  .ps-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
  }

  .ps-fac-tag {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    padding: 0.18rem 0.6rem;
    border-radius: 4px;
  }
  .ps-fac-tag.health { background: rgba(27,79,138,0.1); color: #1B4F8A; }
  .ps-fac-tag.eng    { background: rgba(200,149,44,0.12); color: #8B6318; }
  .ps-fac-tag.mgmt   { background: rgba(158,37,48,0.1); color: #9E2530; }
  .ps-fac-tag.sci    { background: rgba(29,158,117,0.1); color: #0F6E56; }
  .ps-fac-tag.law    { background: rgba(83,74,183,0.1); color: #3C3489; }

  .ps-level-badge {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 0.18rem 0.55rem;
    border-radius: 4px;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .ps-level-badge.ug      { background: rgba(27,79,138,0.1); color: #1B4F8A; }
  .ps-level-badge.pg      { background: rgba(200,149,44,0.12); color: #8B6318; }
  .ps-level-badge.phd     { background: rgba(46,125,50,0.1); color: #2E7D32; }
  .ps-level-badge.diploma { background: rgba(158,37,48,0.1); color: #9E2530; }
  .ps-level-badge.certificate { background: rgba(83,74,183,0.1); color: #3C3489; }

  .ps-card-name {
    font-size: 14px;
    font-weight: 700;
    color: #0B1F3A;
    line-height: 1.4;
    padding-right: 22px;
    padding-bottom: 0.5rem;
  }

  .ps-card-arrow {
    position: absolute;
    bottom: 1rem; right: 1.1rem;
    color: #ccc;
    transition: color 0.2s, transform 0.2s;
  }
  .ps-card:hover .ps-card-arrow { color: #1B4F8A; transform: translate(2px,-2px); }

  .ps-no-results { display: none; }

  .ps-bottom {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 2rem;
  }

  .ps-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.65rem 1.75rem;
    border-radius: 10px;
    font-family: 'Manrope', 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
  }
  .ps-cta-primary { background: #0B1F3A; color: #E8AE42; border: none; }
  .ps-cta-primary:hover { background: #1B4F8A; transform: translateY(-2px); }
  .ps-cta-ghost { background: transparent; border: 1.5px solid #0B1F3A; color: #0B1F3A; }
  .ps-cta-ghost:hover { background: #0B1F3A; color: #E8AE42; }

  @media (max-width: 720px) {
    .ps-grid { grid-template-columns: 1fr 1fr; }
    .ps-filter-row { flex-direction: column; }
    .ps-dd-group { min-width: unset; width: 100%; }
  }
  @media (max-width: 480px) {
    .ps-grid { grid-template-columns: 1fr; }
    .ps-head { flex-direction: column; align-items: flex-start; }
  }

/* ═══════════════════════════════════════════
   13. RANKINGS & ACCREDITATIONS
═══════════════════════════════════════════ */
.rank-acc-sec { background: #fff; overflow: hidden; }
.ra-intro-band { background: linear-gradient(135deg,#0B1F3A 0%,#122744 50%,#1B4F8A 100%); padding: 4.5rem 0 4rem; position: relative; overflow: hidden; }
.ra-intro-band::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 10% 60%,rgba(200,149,44,.1) 0%,transparent 45%), radial-gradient(ellipse at 90% 30%,rgba(27,79,138,.25) 0%,transparent 45%); pointer-events: none; }
.ra-intro-band::after { content: 'EXCELLENCE'; position: absolute; right: -1%; top: 50%; transform: translateY(-50%); font-family: var(--FD); font-size: clamp(5rem,11vw,13rem); font-weight: 700; color: rgba(255,255,255,.025); pointer-events: none; white-space: nowrap; letter-spacing: .06em; line-height: 1; }
.ra-intro-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 2.5rem; position: relative; z-index: 1; }
.ra-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-lt); margin-bottom: .85rem; }
.ra-eyebrow::before { content: ''; width: 24px; height: 1.5px; background: var(--gold-lt); }
.ra-intro-left h2 { font-family: var(--FD); font-size: clamp(2rem,3.8vw,3.4rem); font-weight: 700; color: #fff; line-height: 1.08; }
.ra-intro-left h2 em { font-style: italic; color: var(--gold-lt); }
.ra-intro-left p { font-size: .95rem; color: rgb(255, 255, 255); margin-top: .7rem; max-width: 420px; line-height: 1.75; }
.ra-hero-stats { display: flex; gap: 1px; background: rgba(255,255,255,.08); border-radius: 18px; overflow: hidden; flex-shrink: 0; }
.ra-hs { padding: 1.6rem 2.2rem; background: rgba(255,255,255,.04); text-align: center; transition: background .2s; min-width: 120px; }
.ra-hs:hover { background: rgba(255,255,255,.09); }
.ra-hs-num { font-family: var(--FD); font-size: 2.1rem; font-weight: 700; line-height: 1; margin-bottom: .28rem; }
.ra-hs-num.gold  { color: var(--gold-lt); }
.ra-hs-num.blue  { color: #7EB3E8; }
.ra-hs-num.green { color: #7de07d; }
.ra-hs-num.red   { color: #E88888; }
.ra-hs-lbl { font-size: .65rem; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: .07em; }
.ra-marquee-section { background: #F7F7F7; border-top: 1.5px solid #EBEBEB; padding: 2.2rem 0; overflow: hidden; }
.ra-marquee-label { text-align: center; font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #bbb; margin-bottom: 1.5rem; }
.ra-marquee-track-wrap { overflow: hidden; position: relative; }
.ra-marquee-track-wrap::before, .ra-marquee-track-wrap::after { content: ''; position: absolute; top: 0; bottom: 0; width: 100px; z-index: 2; pointer-events: none; }
.ra-marquee-track-wrap::before { left: 0; background: linear-gradient(to right,#F7F7F7,transparent); }
.ra-marquee-track-wrap::after  { right: 0; background: linear-gradient(to left,#F7F7F7,transparent); }
.ra-marquee-track { display: flex; align-items: center; width: max-content; animation: raMarquee 55s linear infinite; }
.ra-marquee-track:hover { animation-play-state: paused; }
@keyframes raMarquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.ra-marquee-item { display: flex; flex-direction: column; align-items: center; gap: .6rem; padding: 0 2rem; border-right: 1px solid #E8E8E8; cursor: pointer; transition: opacity .2s, transform .2s; min-width: 130px; text-decoration: none; }
.ra-marquee-item:hover { opacity: .75; transform: translateY(-3px); }
.rmi-logo { width: 150px; height: 80px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.rmi-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rmi-logo .rmi-abbr { font-family: var(--FD); font-size: .85rem; font-weight: 800; color: #333; display: none; }
.ra-marquee-item span { font-size: .82rem; font-weight: 900; color: #112641; text-transform: uppercase; letter-spacing: .07em; white-space: nowrap; }
.rmi-logo img.failed { display: none; }
.rmi-logo img.failed + .rmi-abbr { display: block; }

/* ═══════════════════════════════════════════
   14. MoU SECTION
═══════════════════════════════════════════ */
.mou-sec { padding: 7rem 0; background: var(--navy); position: relative; overflow: hidden; }
.mou-sec::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 0%,rgba(27,79,138,.5) 0%,transparent 65%); pointer-events: none; }
.mou-sec::after { content: ''; position: absolute; right: -80px; bottom: -80px; width: 400px; height: 400px; border-radius: 50%; border: 60px solid rgba(200,149,44,.05); pointer-events: none; }
.mou-header { text-align: center; margin-bottom: 3rem; position: relative; z-index: 1; }
.mou-header .sl { justify-content: center; color: rgba(232,174,66,.75); }
.mou-header .sl::after { background: var(--gold-lt); opacity: .4; }
.mou-header .sh2 { color: var(--white); }
.mou-header p { color: rgba(255,255,255,.5); font-size: .97rem; margin-top: .8rem; }
.mou-stats-bar { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(255,255,255,.07); border-radius: 16px; overflow: hidden; margin-bottom: 2.75rem; position: relative; z-index: 1; }
.mou-stat { background: rgba(255,255,255,.04); padding: 1.75rem 1.5rem; text-align: center; transition: background .2s; }
.mou-stat:hover { background: rgba(255,255,255,.08); }
.mou-stat-num { font-family: var(--FD); font-size: 2.7rem; font-weight: 700; color: var(--gold-lt); line-height: 1; }
.mou-stat-lbl { font-size: .77rem; color: #fff; margin-top: .32rem; font-weight: 500; }
.mou-cta { text-align: center; margin-top: 2.5rem; position: relative; z-index: 1; }
.mou-cta a { display: inline-flex; align-items: center; gap: 8px; background: transparent; border: 1.5px solid rgba(200,149,44,.45); color: var(--gold-lt); border-radius: 9px; padding: .7rem 2rem; font-weight: 700; font-size: .9rem; transition: background .2s, border-color .2s; }
.mou-cta a:hover { background: var(--gold-pale); border-color: var(--gold); }

/* ═══════════════════════════════════════════
   15. RESEARCH SECTION
═══════════════════════════════════════════ */
.research-sec { padding: 0; overflow: hidden; background: var(--cream); }
.rs-header-band { background: linear-gradient(135deg,#060F1E 0%,#0B1F3A 45%,#1a3a6e 100%); padding: 4.5rem 0 3.5rem; position: relative; overflow: hidden; }
.rs-header-band::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 80% 0%,rgba(200,149,44,.12) 0%,transparent 50%), radial-gradient(ellipse at 0% 100%,rgba(27,79,138,.2) 0%,transparent 50%); pointer-events: none; }
.rs-header-band::after { content: 'RESEARCH'; position: absolute; left: -1%; top: 50%; transform: translateY(-50%); font-family: var(--FD); font-size: clamp(5rem,12vw,14rem); font-weight: 700; color: rgba(255,255,255,.025); pointer-events: none; white-space: nowrap; letter-spacing: .06em; line-height: 1; }
.rs-header-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 2rem; position: relative; z-index: 1; }
.rs-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-lt); margin-bottom: .85rem; }
.rs-eyebrow::before { content: ''; width: 24px; height: 1.5px; background: var(--gold-lt); }
.rs-header-left h2 { font-family: var(--FD); font-size: clamp(2rem,3.8vw,3.4rem); font-weight: 700; color: #fff; line-height: 1.08; }
.rs-header-left h2 em { font-style: italic; color: var(--gold-lt); }
.rs-header-left p { font-size: .94rem; color: rgba(255,255,255,.48); margin-top: .75rem; max-width: 450px; line-height: 1.75; }
.rs-header-ctas { display: flex; gap: .85rem; flex-wrap: wrap; margin-top: 1.75rem; }
.rs-btn-primary { display: inline-flex; align-items: center; gap: 8px; background: var(--gold); color: var(--navy); border: none; border-radius: 9px; padding: .62rem 1.6rem; font-family: var(--F); font-size: .88rem; font-weight: 700; cursor: pointer; box-shadow: 0 4px 18px rgba(200,149,44,.35); transition: all .2s; }
.rs-btn-primary:hover { background: var(--gold-lt); transform: translateY(-2px); }
.rs-btn-ghost { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.8); border: 1.5px solid rgba(255,255,255,.18); border-radius: 9px; padding: .6rem 1.4rem; font-family: var(--F); font-size: .88rem; font-weight: 600; cursor: pointer; transition: all .2s; }
.rs-btn-ghost:hover { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.35); }
.rs-dsir-badge { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 1.4rem 1.8rem; text-align: center; backdrop-filter: blur(12px); flex-shrink: 0; transition: background .2s; }
.rs-dsir-badge:hover { background: rgba(255,255,255,.1); }
.rs-dsir-badge img { height: 52px; width: auto; object-fit: contain; margin: 0 auto .65rem; filter: brightness(0) invert(1); opacity: .7; }
.rs-dsir-badge .dsir-label { font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fff; margin-bottom: .2rem; }
.rs-dsir-badge .dsir-text { font-size: .82rem; font-weight: 700; color: var(--gold-lt); }
.rs-scroll-section { background: var(--navy2); border-top: 3px solid rgba(200,149,44,.25); border-bottom: 3px solid rgba(200,149,44,.15); overflow: hidden; position: relative; }
.rs-scroll-section::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg,rgba(200,149,44,.04) 0%,transparent 50%,rgba(27,79,138,.06) 100%); pointer-events: none; }
.rs-scroll-label { background: var(--gold); color: var(--navy); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: .7rem 1.2rem; text-align: center; border-bottom: 1px solid rgba(200,149,44,.3); display: flex; align-items: center; justify-content: center; gap: 8px; }
.rs-scroll-label i { font-size: .8rem; }
.rs-scroll-inner { position: relative; }
.rs-scroll-inner::before, .rs-scroll-inner::after { content: ''; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none; }
.rs-scroll-inner::before { left: 0; background: linear-gradient(to right,var(--navy2),transparent); }
.rs-scroll-inner::after  { right: 0; background: linear-gradient(to left,var(--navy2),transparent); }
.rs-scroll-track { display: flex; width: max-content; animation: rsScroll 50s linear infinite; padding: .6rem 0; }
.rs-scroll-track:hover { animation-play-state: paused; }
@keyframes rsScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.rs-scroll-item { display: flex; flex-direction: column; align-items: center; padding: 1.4rem 1.8rem; border-right: 1px solid rgba(255,255,255,.07); min-width: 175px; cursor: default; transition: background .18s; }
.rs-scroll-item:hover { background: rgba(255,255,255,.04); }
.rss-num { font-family: var(--FD); font-size: 2.4rem; font-weight: 700; color: #fff; line-height: 1; margin-bottom: .3rem; }
.rss-label { font-size: .7rem; font-weight: 800; color: #c5942e; text-align: center; line-height: 1.4; max-width: 130px; }
.rss-icon { width: 32px; height: 32px; border-radius: 8px; background: rgba(200,149,44,.15); display: flex; align-items: center; justify-content: center; font-size: .8rem; color: var(--gold-lt); margin-bottom: .6rem; }

/* ═══════════════════════════════════════════
   16. NEWS & GALLERY
═══════════════════════════════════════════ */
.news-sec { padding: 3rem 0; background: var(--cream2); overflow-x: hidden; }
.news-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 1.75rem; align-items: start; }
.news-card { background: var(--white); border-radius: 18px; border: 1px solid var(--border); box-shadow: var(--sh-sm); overflow: hidden; }
.news-card-hdr { display: flex; align-items: center; justify-content: space-between; padding: 1.4rem 1.6rem 1rem; border-bottom: 1px solid var(--border); }
.news-card-ttl { font-family: var(--FD); font-size: 1.2rem; font-weight: 700; color: var(--navy); display: flex; align-items: center; gap: 9px; }
.news-card-ttl::before { content: ''; width: 4px; height: 20px; background: var(--gold); border-radius: 2px; flex-shrink: 0; }
.news-nav { display: flex; gap: .4rem; }
.news-arr { width: 32px; height: 32px; border-radius: 8px; background: var(--cream); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; color: var(--navy); font-size: .72rem; cursor: pointer; transition: all .15s; }
.news-arr:hover { background: var(--navy); color: var(--gold-lt); border-color: var(--navy); }
.news-items-wrap { padding: .5rem 0; height: 400px; overflow: hidden; position: relative; }
.news-slide-panel { position: absolute; width: 100%; transition: transform .4s var(--ease), opacity .4s; }
.news-slide-panel.hidden { transform: translateY(30px); opacity: 0; pointer-events: none; }
.ni2 { padding: .9rem 1.6rem; border-bottom: 1px solid var(--border); cursor: pointer; transition: background .15s; display: flex; gap: .7rem; align-items: flex-start; }
.ni2:hover { background: var(--cream); }
.ni2-bullet { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); flex-shrink: 0; margin-top: .4rem; }
.ni2-date { font-size: .68rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--crimson); margin-bottom: .2rem; }
.ni2-ttl { font-size: .87rem; font-weight: 600; color: var(--navy); line-height: 1.45; }
.ni2-ttl .ntag { background: var(--crimson); color: #fff; font-size: .58rem; font-weight: 800; padding: .08rem .4rem; border-radius: 3px; text-transform: uppercase; margin-left: 5px; vertical-align: middle; }
.news-pagination { display: flex; align-items: center; justify-content: space-between; padding: .75rem 1.6rem; border-top: 1px solid var(--border); background: var(--cream); }
.news-page-dots { display: flex; gap: .35rem; }
.np-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--border); cursor: pointer; transition: background .15s, transform .15s; }
.np-dot.on { background: var(--gold); transform: scale(1.3); }
.news-pg-num { font-size: .75rem; color: var(--muted); font-weight: 600; }
.img-show { border-radius: 18px; overflow: hidden; height: 520px; position: relative; box-shadow: var(--sh); }
.is-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.8s var(--ease); }
.is-slide.on { opacity: 1; }
.is-slide img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.8); }
.is-cap { position: absolute; bottom: 0; left: 0; right: 0; padding: 2rem; background: linear-gradient(transparent,rgba(11,31,58,.85)); }
.is-cap h4 { font-family: var(--FD); font-size: 1.35rem; color: var(--white); font-weight: 600; margin-bottom: .25rem; }
.is-cap p { font-size: .82rem; color: rgba(255,255,255,.65); }
.gallery-nav { position: absolute; bottom: 1.4rem; right: 1.4rem; z-index: 5; display: flex; gap: .45rem; }
.g-arr { width: 36px; height: 36px; border-radius: 8px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3); backdrop-filter: blur(8px); color: white; font-size: .8rem; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all .18s; }
.g-arr:hover { background: var(--gold); border-color: var(--gold); color: var(--navy); }

/* ═══════════════════════════════════════════
   17. EVENTS
═══════════════════════════════════════════ */
.events-sec { padding: 3rem 0; background: var(--cream); overflow-x: hidden; }
.sec-row { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 1rem; margin-bottom: 2.5rem; }
.ev-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.ev-card { background: var(--white); border-radius: 16px; overflow: hidden; border: 1px solid var(--border); box-shadow: var(--sh-sm); display: flex; flex-direction: column; transition: transform .25s var(--ease), box-shadow .25s; }
.ev-card:hover { transform: translateY(-5px); box-shadow: var(--sh); }
.ev-img { height: 175px; position: relative; overflow: hidden; }
.ev-img img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.75); }
.ev-date-b { position: absolute; top: .9rem; left: .9rem; background: var(--gold); color: var(--navy); border-radius: 9px; padding: .35rem .62rem; text-align: center; font-weight: 700; line-height: 1.1; }
.ev-date-b .day { font-size: 1.3rem; }
.ev-date-b .mon { font-size: .64rem; text-transform: uppercase; letter-spacing: .05em; }
.ev-body { padding: 1.35rem; flex: 1; }
.ev-type { font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); margin-bottom: .38rem; }
.ev-body h4 { font-weight: 700; font-size: .94rem; color: var(--navy); line-height: 1.4; margin-bottom: .38rem; }
.ev-body p { font-size: .82rem; color: var(--muted); line-height: 1.6; }
.ev-foot { display: flex; justify-content: space-between; align-items: center; padding: .9rem 1.35rem; border-top: 1px solid var(--border); }
.ev-loc { font-size: .77rem; color: var(--muted); display: flex; align-items: center; gap: 4px; }
.ev-loc i { color: var(--gold); }
.ev-lnk { font-size: .77rem; font-weight: 700; color: var(--blue); display: flex; align-items: center; gap: 4px; transition: color .13s, gap .13s; }
.ev-lnk:hover { color: var(--gold); gap: 7px; }

/* ═══════════════════════════════════════════
   18. ALUMNI
═══════════════════════════════════════════ */
.alumni-sec { padding: 3rem 0; background: var(--cream2); overflow-x: hidden; }
.sec-hdr { text-align: center; margin-bottom: 2.75rem; }
.alumni-scroll-wrap { position: relative; }
.alumni-grid { display: flex; gap: 1.75rem; overflow-x: auto; scroll-snap-type: x proximity; scroll-behavior: smooth; padding: .25rem .25rem 1.25rem; margin: 0 -.25rem; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--gold) transparent; }
.alumni-grid::-webkit-scrollbar { height: 7px; }
.alumni-grid::-webkit-scrollbar-track { background: transparent; }
.alumni-grid::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 10px; }
.a-card { flex: 0 0 clamp(270px,32%,360px); scroll-snap-align: start; background: var(--white); border-radius: 16px; padding: 2.15rem 1.85rem; border: 1px solid var(--border); box-shadow: var(--sh-sm); position: relative; overflow: hidden; transition: transform .25s var(--ease), box-shadow .25s; }
.a-card::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg,var(--gold),var(--blue)); }
.a-card:hover { transform: translateY(-6px); box-shadow: var(--sh); }
.a-q-icon { font-family: var(--FD); font-size: 3.8rem; line-height: 1; color: var(--gold); opacity: .18; margin-bottom: .2rem; }
.a-quote { font-size: .92rem; line-height: 1.75; color: var(--muted); font-style: italic; margin-bottom: 1.35rem; }
.a-person { display: flex; align-items: center; gap: .85rem; border-top: 1px solid var(--border); padding-top: 1rem; }
.a-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 2px solid var(--gold); flex-shrink: 0; }
.a-name { font-weight: 700; font-size: .88rem; color: var(--navy); }
.a-pos { font-size: .78rem; color: #555; font-weight: 500; }
.a-deg { font-size: .76rem; color: var(--crimson); font-weight: 500; }
.alumni-nav { display: flex; align-items: center; justify-content: center; gap: .85rem; margin-top: 1.25rem; }
.alumni-nav-btn { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--border); background: var(--white); color: var(--navy); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s, color .2s, transform .2s; box-shadow: var(--sh-sm); }
.alumni-nav-btn:hover { background: var(--gold); color: var(--white); transform: translateY(-2px); }

/* ═══════════════════════════════════════════
   19. PAGE HERO / BREADCRUMB (inner pages)
═══════════════════════════════════════════ */
.page-hero { background: linear-gradient(135deg,#060F1E 0%,var(--navy) 50%,#1a3a6e 100%); padding: 6rem 0 4rem; position: relative; overflow: hidden; }
.page-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 80% 0%,rgba(200,149,44,.13) 0%,transparent 55%), radial-gradient(ellipse at 5% 100%,rgba(27,79,138,.25) 0%,transparent 50%); pointer-events: none; }
.page-hero::after { content: attr(data-bg-text); position: absolute; right: -1%; top: 50%; transform: translateY(-50%); font-family: var(--FD); font-size: clamp(6rem,14vw,16rem); font-weight: 700; color: rgba(255,255,255,.025); pointer-events: none; white-space: nowrap; letter-spacing: .06em; line-height: 1; }
.hero-inner { position: relative; z-index: 1; }
.breadcrumb { display: flex; align-items: center; gap: .5rem; font-size: .78rem; color: rgba(255,255,255,.45); margin-bottom: 1.2rem; margin-top: 1rem; flex-wrap: wrap; }
.breadcrumb a { color: rgba(255,255,255,.45); transition: color .15s; }
.breadcrumb a:hover { color: var(--gold-lt); }
.breadcrumb i { font-size: .55rem; }
.breadcrumb .current { color: var(--gold-lt); font-weight: 600; }
.hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-lt); margin-bottom: .85rem; }
.hero-eyebrow::before { content: ''; width: 24px; height: 1.5px; background: var(--gold-lt); }
.page-hero h1 { font-family: var(--FD); font-size: clamp(2.2rem,5vw,4.2rem); font-weight: 700; color: #fff; line-height: 1.08; margin-bottom: .85rem; }
.page-hero h1 em { font-style: italic; color: var(--gold-lt); }
.page-hero p { font-size: .97rem; color: rgba(255,255,255,.52); max-width: 560px; line-height: 1.75; }

/* ═══════════════════════════════════════════
   20. ABOUT PAGE — Specific Sections
═══════════════════════════════════════════ */
.info-card { background: var(--white); border-radius: 22px; border: 2px solid var(--border); box-shadow: var(--sh-card); overflow: hidden; }
.ic-hdr { background: linear-gradient(135deg,var(--navy),var(--blue)); padding: 1.6rem 1.8rem 1.4rem; position: relative; overflow: hidden; }
.ic-hdr::after { content: ''; position: absolute; right: -25px; bottom: -25px; width: 100px; height: 100px; border-radius: 50%; border: 24px solid rgba(200,149,44,.12); }
.ic-hdr .eyebrow { font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-lt); display: flex; align-items: center; gap: 7px; margin-bottom: .4rem; }
.ic-hdr h3 { font-family: var(--FD); font-size: 1.5rem; font-weight: 700; color: #fff; line-height: 1.15; }
.ic-hdr p { font-size: .82rem; color: rgba(255,255,255,.5); margin-top: .35rem; }
.ic-body { padding: 1.4rem 1.6rem 1.6rem; }
.ic-row { display: flex; align-items: flex-start; gap: .9rem; padding: .85rem 0; border-bottom: 1px solid var(--border); }
.ic-row:last-child { border-bottom: none; }
.ic-icon { width: 38px; height: 38px; border-radius: 10px; background: var(--cream); display: flex; align-items: center; justify-content: center; font-size: .85rem; color: var(--blue); flex-shrink: 0; transition: background .2s, color .2s; }
.ic-row:hover .ic-icon { background: var(--navy); color: var(--gold-lt); }
.ic-text strong { display: block; font-size: .88rem; font-weight: 700; color: var(--navy); margin-bottom: .15rem; }
.ic-text span { font-size: .8rem; color: var(--muted); line-height: 1.5; }
.ic-badge { display: inline-flex; align-items: center; gap: 5px; background: rgba(200,149,44,.1); border: 1px solid rgba(200,149,44,.25); border-radius: 20px; padding: .18rem .7rem; font-size: .72rem; font-weight: 700; color: #7A5A10; margin-top: .3rem; }

.highlights-band { background: linear-gradient(135deg,var(--navy),var(--navy2) 50%,#1a3a6e 100%); padding: 4rem 0; position: relative; overflow: hidden; }
.highlights-band::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 10% 50%,rgba(200,149,44,.08),transparent 55%), radial-gradient(ellipse at 90% 50%,rgba(27,79,138,.2),transparent 55%); pointer-events: none; }
.hb-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(255,255,255,.07); border-radius: 18px; overflow: hidden; }
.hb-item { background: rgba(255,255,255,.04); padding: 2rem 1.5rem; text-align: center; transition: background .2s; }
.hb-item:hover { background: rgba(255,255,255,.09); }
.hb-item i { font-size: 1.6rem; color: var(--gold-lt); margin-bottom: .75rem; display: block; }
.hb-num { font-family: var(--FD); font-size: 2.4rem; font-weight: 700; color: #fff; line-height: 1; margin-bottom: .3rem; }
.hb-label { font-size: .77rem; color: rgba(255,255,255,.5); font-weight: 500; line-height: 1.5; }

.disciplines-sec { padding: 5rem 0; background: var(--cream2); }
.disc-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; margin-top: 2.5rem; }
.disc-card { background: var(--white); border-radius: 16px; border: 1px solid var(--border); box-shadow: var(--sh-sm); padding: 1.75rem; position: relative; overflow: hidden; transition: transform .25s var(--ease), box-shadow .25s; }
.disc-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
.disc-card.health::before { background: linear-gradient(90deg,var(--blue),#4A90D9); }
.disc-card.eng::before    { background: linear-gradient(90deg,var(--gold),var(--gold-lt)); }
.disc-card.mgmt::before   { background: linear-gradient(90deg,var(--crimson),#C0535E); }
.disc-card.sci::before    { background: linear-gradient(90deg,#2E7D32,#66BB6A); }
.disc-card:hover { transform: translateY(-5px); box-shadow: var(--sh); }
.disc-icon { width: 50px; height: 50px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; margin-bottom: 1rem; }
.disc-card.health .disc-icon { background: rgba(27,79,138,.1);  color: var(--blue); }
.disc-card.eng .disc-icon    { background: rgba(200,149,44,.1); color: var(--gold); }
.disc-card.mgmt .disc-icon   { background: rgba(158,37,48,.08); color: var(--crimson); }
.disc-card.sci .disc-icon    { background: rgba(46,125,50,.1);  color: #2E7D32; }
.disc-card h4 { font-family: var(--FD); font-size: 1.15rem; font-weight: 700; color: var(--navy); margin-bottom: .5rem; }
.disc-card p  { font-size: .84rem; color: var(--muted); line-height: 1.65; margin-bottom: 1rem; }
.disc-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.dtag { display: inline-flex; padding: .2rem .7rem; border-radius: 20px; font-size: .72rem; font-weight: 600; }
.health .dtag { background: rgba(27,79,138,.07);  color: var(--blue); }
.eng .dtag    { background: rgba(200,149,44,.08); color: #7A5A10; }
.mgmt .dtag   { background: rgba(158,37,48,.07);  color: var(--crimson); }
.sci .dtag    { background: rgba(46,125,50,.07);  color: #2E7D32; }

.accred-sec { padding: 4.5rem 0; background: var(--cream); border-top: 1px solid var(--border); }
.accred-header { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 1rem; margin-bottom: 2.5rem; }
.accred-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.25rem; }
.acc-card { background: var(--white); border: 1.5px solid var(--border); border-radius: 16px; padding: 1.5rem 1.25rem; text-align: center; box-shadow: var(--sh-sm); transition: transform .22s var(--ease), box-shadow .22s, border-color .22s; }
.acc-card:hover { transform: translateY(-4px); box-shadow: var(--sh); border-color: var(--gold); }
.acc-num { font-family: var(--FD); font-size: 2.2rem; font-weight: 700; line-height: 1; margin-bottom: .3rem; }
.acc-num.gold  { color: var(--gold); }
.acc-num.navy  { color: var(--navy); }
.acc-num.blue  { color: var(--blue); }
.acc-num.green { color: #2E7D32; }
.acc-label { font-size: .75rem; font-weight: 700; color: var(--muted); letter-spacing: .05em; text-transform: uppercase; margin-bottom: .4rem; }
.acc-sub { font-size: .78rem; color: var(--text); font-weight: 500; line-height: 1.45; }

.campuses-sec { padding: 5rem 0; background: linear-gradient(155deg,#f8f4ec,#eee6d4 50%,#f0e8d5); }
.campus-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; margin-top: 2.5rem; }
.campus-card { background: var(--white); border-radius: 18px; overflow: hidden; border: 1px solid var(--border); box-shadow: var(--sh-sm); display: flex; flex-direction: column; transition: transform .25s var(--ease), box-shadow .25s; }
.campus-card:hover { transform: translateY(-5px); box-shadow: var(--sh); }
.campus-img { height: 350px; position: relative; overflow: hidden; }
.campus-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 6s linear; }
.campus-card:hover .campus-img img { transform: scale(1.05); }
.campus-badge { position: absolute; top: .9rem; left: .9rem; background: var(--gold); color: var(--navy); border-radius: 9px; padding: .3rem .75rem; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.campus-body { padding: 1.4rem; flex: 1; }
.campus-body h4 { font-family: var(--FD); font-size: 1.2rem; font-weight: 700; color: var(--navy); margin-bottom: .4rem; }
.campus-body p { font-size: .85rem; color: var(--muted); line-height: 1.65; margin-bottom: 1rem; }
.campus-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.ctag { display: inline-flex; align-items: center; gap: 4px; padding: .18rem .65rem; border-radius: 20px; background: var(--cream2); border: 1px solid var(--border); font-size: .72rem; font-weight: 600; color: var(--navy); }
.campus-foot { display: flex; justify-content: space-between; align-items: center; padding: .9rem 1.4rem; border-top: 1px solid var(--border); }
.campus-foot a { display: inline-flex; align-items: center; gap: 5px; font-size: .8rem; font-weight: 700; color: var(--blue); transition: color .13s, gap .13s; }
.campus-foot a:hover { color: var(--gold); gap: 8px; }
.campus-loc { display: flex; align-items: center; gap: 4px; font-size: .78rem; color: var(--muted); }
.campus-loc i { color: var(--gold); }

.leadership-sec { padding: 5rem 0; background: var(--navy); position: relative; overflow: hidden; }
.leadership-sec::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 0%,rgba(27,79,138,.5),transparent 60%); pointer-events: none; }
.leadership-sec .sl { color: rgba(232,174,66,.7); }
.leadership-sec .sl::after { background: var(--gold-lt); opacity: .4; }
.leadership-sec .sh2 { color: #fff; }
.lead-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; margin-top: 2.5rem; }
.lead-card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.09); border-radius: 16px; padding: 1.6rem 1.4rem; text-align: center; transition: background .2s, border-color .2s, transform .25s; }
.lead-card:hover { background: rgba(255,255,255,.09); border-color: rgba(200,149,44,.3); transform: translateY(-4px); }
.lead-avatar { width: 70px; height: 70px; border-radius: 50%; background: linear-gradient(135deg,var(--gold),#B8820F); display: flex; align-items: center; justify-content: center; font-family: var(--FD); font-size: 1.8rem; font-weight: 700; color: var(--navy); margin: 0 auto 1rem; border: 3px solid rgba(200,149,44,.3); }
.lead-card h4 { font-family: var(--FD); font-size: 1.1rem; font-weight: 700; color: #fff; margin-bottom: .25rem; }
.lead-card p { font-size: .8rem; color: rgba(255,255,255,.45); font-weight: 500; }
.lead-card a { display: inline-flex; align-items: center; gap: 5px; margin-top: .9rem; font-size: .78rem; font-weight: 700; color: var(--gold-lt); transition: gap .15s; }
.lead-card a:hover { gap: 8px; }
.lead-see-all { text-align: center; margin-top: 2.25rem; }
.lead-see-all a { display: inline-flex; align-items: center; gap: 8px; background: transparent; border: 1.5px solid rgba(200,149,44,.4); color: var(--gold-lt); border-radius: 9px; padding: .7rem 2rem; font-weight: 700; font-size: .9rem; transition: background .2s, border-color .2s; }
.lead-see-all a:hover { background: var(--gold-pale); border-color: var(--gold); }

.research-strip { background: linear-gradient(90deg,var(--navy),var(--blue) 50%,var(--navy)); padding: 2.5rem 0; border-top: 3px solid var(--gold); border-bottom: 3px solid rgba(200,149,44,.3); }
.rs-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; }
.rs-text h3 { font-family: var(--FD); font-size: 1.6rem; font-weight: 700; color: #fff; }
.rs-text h3 em { font-style: italic; color: var(--gold-lt); }
.rs-text p { font-size: .88rem; color: rgba(255,255,255,.5); margin-top: .3rem; }
.rs-badges { display: flex; gap: .75rem; flex-wrap: wrap; }
.rs-badge { display: inline-flex; align-items: center; gap: 7px; padding: .45rem 1.1rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 8px; font-size: .8rem; font-weight: 700; color: rgba(255,255,255,.8); transition: background .18s; }
.rs-badge i { color: var(--gold-lt); }
.rs-badge:hover { background: rgba(255,255,255,.15); }
.rs-cta a { display: inline-flex; align-items: center; gap: 8px; background: var(--gold); color: var(--navy); border: none; border-radius: 9px; padding: .65rem 1.7rem; font-weight: 700; font-size: .9rem; transition: background .2s, transform .2s; }
.rs-cta a:hover { background: var(--gold-lt); transform: translateY(-2px); }

.timeline-sec { padding: 5rem 0; background: var(--cream); }
.timeline { position: relative; margin-top: 3rem; padding-left: 2.5rem; }
.timeline::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: linear-gradient(to bottom,var(--gold),rgba(200,149,44,.1)); }
.tl-item { position: relative; margin-bottom: 2.5rem; }
.tl-item:last-child { margin-bottom: 0; }
.tl-dot { position: absolute; left: -2.5rem; top: .2rem; width: 16px; height: 16px; border-radius: 50%; background: var(--gold); border: 3px solid var(--cream); box-shadow: 0 0 0 2px var(--gold); transform: translateX(-7px); }
.tl-year { font-family: var(--FD); font-size: 1.7rem; font-weight: 700; color: var(--gold); line-height: 1; margin-bottom: .4rem; }
.tl-item h4 { font-size: 1rem; font-weight: 700; color: var(--navy); margin-bottom: .3rem; }
.tl-item p { font-size: .87rem; color: var(--muted); line-height: 1.7; max-width: 560px; }

.heritage-badge { display: inline-flex; align-items: center; gap: 1.1rem; background: linear-gradient(135deg,var(--navy),var(--blue)); border-radius: 14px; padding: 1.1rem 1.6rem; box-shadow: var(--sh-sm); margin-bottom: 2rem; border: 1px solid rgba(200,149,44,.2); }
.hb-year { font-family: var(--FD); font-size: 2.8rem; font-weight: 700; color: var(--gold-lt); line-height: 1; }
.hb-info strong { display: block; font-size: .82rem; font-weight: 700; color: #fff; letter-spacing: .04em; }
.hb-info small { font-size: .68rem; color: rgba(255,255,255,.5); text-transform: uppercase; letter-spacing: .08em; }
.about-desc { margin-top: 1.2rem; }
.about-desc p { font-size: .97rem; line-height: 1.9; color: var(--muted); margin-bottom: 1.1rem; }
.about-desc p strong { color: var(--text); }
.about-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 4rem; align-items: start; }
.about-right-sticky { position: sticky; top: 100px; }

/* ═══════════════════════════════════════════
   21. FOOTER
═══════════════════════════════════════════ */
.footer { background: var(--navy); padding: 5rem 0 2.25rem; border-top: 1px solid rgba(255,255,255,.05); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3.5rem; }
.fb .logo { font-family: var(--FD); font-size: 1.9rem; font-weight: 700; background: linear-gradient(135deg,var(--gold-lt),#C47A1A); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: .5rem; }
.fb p { font-size: .83rem; color: rgb(255, 255, 255); line-height: 1.78; max-width: 270px; margin-bottom: 1.4rem; }
.socials { display: flex; gap: .5rem; }
.sb { width: 37px; height: 37px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.09); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.36); font-size: .84rem; transition: all .18s; }
.sb:hover { background: var(--gold); color: var(--navy); border-color: var(--gold); transform: translateY(-2px); }
.fc h5 { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.1rem; }
.fc ul li { margin-bottom: .6rem; }
.fc ul li a { font-size: .84rem; color: rgb(255, 255, 255); transition: color .13s; }
.fc ul li a:hover { color: var(--gold-lt); }
.footer-bot { border-top: 1px solid rgba(255,255,255,.05); padding-top: 1.75rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.footer-bot p { font-size: .78rem; color: rgb(255, 255, 255); }
.fbot-links { display: flex; gap: 1.25rem; }
.fbot-links a { font-size: .78rem; color: rgb(255, 255, 255); transition: color .13s; }
.fbot-links a:hover { color: var(--gold-lt); }

/* ═══════════════════════════════════════════
   22. RESPONSIVE BREAKPOINTS (merged)
═══════════════════════════════════════════ */
@media(max-width:1200px){
  .stats-grid{ grid-template-columns:repeat(4,1fr); }
  .stat:nth-child(4)::after{ display:none; }
  .stat:nth-child(5){ grid-column:span 2; }
  .stat:nth-child(6){ grid-column:span 1; }
  .stat:nth-child(7){ grid-column:span 1; }
}
@media(max-width:1180px){
  .about-main-grid, .about-grid{ grid-template-columns:1fr; gap:2.5rem; }
  .about-right, .about-right-sticky{ position:static; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .prog-results-grid{ grid-template-columns:repeat(2,1fr); }
  .accred-grid{ grid-template-columns:repeat(2,1fr); }
  .lead-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:1080px){
  .stats-grid{ grid-template-columns:repeat(4,1fr); }
  .slide-left{ flex:0 0 52%; max-width:52%; padding:calc(100px + 2rem) 4% 6rem 2.5rem; }
}
@media(max-width:960px){
  .nav-cta{ display:none; }
  .ham{ display:flex; position:relative; z-index:1201; }

  .navbar.mobile-open{ z-index:1200; }
  .nav-menu{
    position:fixed; top:0; right:-100%; height:100vh; width:min(340px,88vw);
    background:var(--white); flex-direction:column; align-items:stretch;
    overflow-y:auto; padding:70px 0 2rem; margin:0; gap:0;
    box-shadow:-16px 0 50px rgba(11,31,58,.25);
    transition:right .32s var(--ease);
    z-index:1200;
  }
  .navbar.mobile-open .nav-menu{ right:0; }
  .ni{ height:auto; width:100%; flex-direction:column; align-items:stretch; }
  .nl{ height:auto; width:100%; padding:1rem 1.5rem; color:var(--navy); justify-content:space-between; border-bottom:1px solid var(--border); }
  .nl:hover{ background:var(--cream2); color:var(--navy); }
  .ni.open > .nl{ background:var(--cream2); color:var(--blue); }
  .ni.open .nl .ch{ transform:rotate(180deg); }

  .mega-wrap{ pointer-events:none; z-index:1250; }
  .mega{
    position:fixed !important; top:0 !important; left:0 !important;
    width:100% !important; max-width:100% !important; height:100vh;
    max-height:none; border-radius:0; border-top:none;
    transform:translateX(100%); opacity:1; visibility:hidden;
    transition:transform .3s var(--ease), visibility .3s;
    overflow-y:auto; z-index:1250;
  }
  .mega.open{ transform:translateX(0); visibility:visible; }
  .mega-layout{ min-height:0; }
  .mega-mob-back{ display:flex; }

  .news-grid{ grid-template-columns:1fr; }
  .ev-grid{ grid-template-columns:1fr 1fr; }
  .mou-stats-bar{ grid-template-columns:repeat(2,1fr); }
  .ra-intro-inner, .rs-header-inner{ flex-direction:column; align-items:flex-start; }
  .ra-hero-stats{ width:100%; }
  .ra-hs{ flex:1; }
  .stats-grid{ grid-template-columns:repeat(4,1fr); }
  .hb-grid{ grid-template-columns:repeat(2,1fr); }
  .disc-grid{ grid-template-columns:repeat(2,1fr); }
  .campus-grid{ grid-template-columns:repeat(2,1fr); }
  body { padding-bottom: 64px; }
  .mob-quicknav { display: block; }
}
@media(max-width:768px){
  .slide-body{ flex-direction:column; }
  .slide-left{ flex:0 0 auto; max-width:100%; width:100%; padding:5.5rem 1.4rem 4rem; justify-content:flex-start; padding-top:calc(100px + 2rem); }
  .slide-left::after{ display:none; }
  .slide-right{ display:none; }
  .slide-ov{ background: linear-gradient(to top,rgba(11,31,58,.96) 0%,rgba(11,31,58,.70) 40%,rgba(11,31,58,.25) 70%,rgba(11,31,58,.1) 100%); }
  .slide-h1{ font-size:clamp(1.9rem,7vw,2.7rem); }
  .slide-desc{ font-size:.83rem; }
  .slide-btns{ gap:.6rem; }
  .sbtn-gold, .sbtn-ghost{ font-size:.78rem; padding:.6rem 1.1rem; }
  .slider-bar{ padding:0 1.4rem 1rem; gap:1rem; }
  .slide-counter{ display:none; }
  .arr{ width:38px; height:38px; }
  .stats-grid{ grid-template-columns:repeat(3,1fr); }
  .prog-results-grid{ grid-template-columns:1fr 1fr; }
  .prog-dropdowns-row{ gap:.75rem; }
  .prog-search-row{ flex-direction:column; }
  .rs-inner{ flex-direction:column; align-items:flex-start; }
}
@media(max-width:640px){
  .topbar{ display:none; }
  .navbar{ top:0; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .ev-grid{ grid-template-columns:1fr; }
  .a-card{ flex-basis:82%; }
  .campus-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; gap:2rem; }
  .mou-stats-bar{ grid-template-columns:1fr 1fr; }
  .ra-hero-stats{ display:grid; grid-template-columns:1fr 1fr; }
  .prog-results-grid{ grid-template-columns:1fr; }
  .slide-left{ padding:4.5rem 1rem 3rem; padding-top:calc(255px + 1.5rem); }
  .prog-dropdowns-row{ flex-direction:column; }
  .pf-dropdown-btn{ min-width:unset; width:100%; }
  .disc-grid{ grid-template-columns:1fr; }
  .lead-grid{ grid-template-columns:1fr; }
  .accred-grid{ grid-template-columns:1fr 1fr; }
  .hb-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:480px){
  .sbtn-ghost{ display:none; }
  .ra-hero-stats{ grid-template-columns:1fr 1fr; }
  .accred-grid{ grid-template-columns:1fr; }
}
@media(max-width:960px){
  body{ padding-bottom:64px; }
  .mob-quicknav{ display:block; }
  .footer{ padding-bottom:calc(5rem + 64px); }
}

.prog-tab-row { flex-wrap: wrap; }
.prog-tab {
  flex: 1; min-width: 140px;
  padding: .7rem 1rem;
  border: none; background: transparent; cursor: pointer;
  font-size: .88rem; font-weight: 600; color: #666;
  border-radius: 10px; transition: all .2s;
  display: flex; align-items: center; gap: .5rem; justify-content: center;
}
.prog-tab:hover { background: white; color: var(--navy); }
.prog-tab.active { background: var(--navy); color: white; }
.tab-pill {
  font-size: .75rem; padding: 2px 8px;
  border-radius: 20px; background: rgba(255,255,255,.2);
}
.prog-tab:not(.active) .tab-pill { background: #e0dbd0; color: #666; }

  .dean-section {
  padding: 5rem 0;
  background: #f9fafc;
}

.dean-card {
  max-width: 1000px;
  margin: auto;
  background: #fff;
  border-radius: 18px;
  padding: 2.5rem;
  display: flex;
  gap: 2.5rem;
  flex-wrap: wrap;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  transition: 0.3s ease;
}

.dean-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 45px rgba(0,0,0,0.12);
}

/* Profile */
.dean-profile {
  text-align: center;
  min-width: 160px;
}

.dean-profile img {
  width: 130px;
  height: 130px;
  object-fit: cover;
  border-radius: 50%;
  border: 5px solid var(--gold);
  margin-bottom: 1rem;
  transition: 0.3s;
}

.dean-profile img:hover {
  transform: scale(1.05);
}

.dean-profile h4 {
  margin: .4rem 0;
  color: var(--navy);
  font-size: 1rem;
}

.dean-profile p {
  font-size: .85rem;
  color: #777;
}

/* Content */
.dean-content {
  flex: 1;
  min-width: 260px;
}

.dean-content p {
  line-height: 1.8;
  margin-bottom: 1rem;
  color: #444;
}

.quote {
  font-size: 1.8rem;
  color: var(--gold);
  margin-bottom: .8rem;
  display: block;
}

.signature {
  margin-top: 1.5rem;
  font-weight: 600;
  color: var(--navy);
}

/* small helper */
.center {
  justify-content: center;
}

.text-center {
  text-align: center;
}

.mb-5 {
  margin-bottom: 2.5rem;
}
  .filter-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: .48rem 1.1rem;
    border-radius: 8px;
    border: 1.5px solid var(--border);
    background: var(--white);
    color: var(--muted);
    font-family: var(--F);
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .18s var(--ease);
    white-space: nowrap;
  }
  .filter-tab:hover {
    border-color: var(--navy);
    color: var(--navy);
    background: var(--cream);
  }
  .filter-tab.active {
    background: var(--navy);
    color: var(--gold-lt);
    border-color: var(--navy);
  }
  .tab-pill {
    background: rgba(200,149,44,.18);
    color: var(--gold);
    border-radius: 20px;
    font-size: .72rem;
    padding: .08rem .5rem;
    font-weight: 700;
  }
  .filter-tab.active .tab-pill {
    background: rgba(255,255,255,.18);
    color: #fff;
  }
  .campus-card[data-category] {
    transition: opacity .3s var(--ease), transform .3s var(--ease), box-shadow .25s;
  }
  .campus-card.hidden-card {
    display: none;
  }
  /* ═══════════════════════════════════════════
    accreditations
═══════════════════════════════════════════ */
.ranking-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:25px;
}

.ranking-card{
    background:#fff;
    border-radius:16px;
    padding:25px;
    text-align:center;
    text-decoration:none;
    transition:.35s ease;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.ranking-card:hover{
    transform:translateY(-8px);
    box-shadow:0 14px 35px rgba(0,0,0,.15);
}

.ranking-card img{
    width:100%;
    height:120px;
    object-fit:contain;
    margin-bottom:15px;
}

.ranking-card h4{
    margin:10px 0 6px;
    color:#8B0000;
    font-weight:700;
}

.ranking-card span{
    color:#666;
    font-size:14px;
    line-height:1.5;
    display:block;
}

/* DEMO-NAV - UPDATED - NEW - 18-06-2-23 - Dev Anand */

.bg-setup-1 {
  background: linear-gradient(to bottom, #192c56a8 86%, transparent 99%);
}

.navbar.scrolled-1{
    top: 0;
    background: linear-gradient(to bottom, #ffffff80 86%, transparent 99%);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 2px 40px rgba(0, 0, 0, .12);
}

.bg-setup-2 {
  background: linear-gradient(to bottom, #192c56db 86%, transparent 99%);
}

.navbar.scrolled-2 {
    top: 0;
    background: rgb(190 195 219 / 47%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 2px 40px rgba(0, 0, 0, .12);
}

/* Prospectus - UPDATED - NEW - 23-06-2-23 - Dev Anand */
#book {
    margin: 0 auto;
}

.page {
    background: white;
    border: 1px solid #ddd;
    padding: 30px;
    overflow: hidden;
}

.page h1,
.page h2 {
    text-align: center;
}


/* DEV */
.about-grid-3fr {display: grid; column-count: 3; grid-template-columns: 3fr 3fr 3fr; gap: 4rem; align-items: start;}
.back-btn {margin-left: 9%;padding: 0.5%;border-radius: 12px;background: var(--navy);color: white; cursor: pointer;}
.photo-cat-btn{border: 2px solid var(--navy);border-radius: 6px;padding: 5px 20px;}
.bg-navy{background: var(--navy); color: white; border-radius: 6px; padding: 13px 20px; margin-top: 14px;}

.hero-date-note { display: inline-flex; align-items: center; gap: 6px; background: rgba(255, 255, 255, .08); padding: .4rem .85rem; border-radius: 20px; font-size: .75rem; color: rgba(255, 255, 255, .6); margin-top: 1.5rem; }


/* ═══════════════════════════════════════════════════════════════
   SECTION-PAGE COMPONENTS (shared by research.blade.php,
   academics.blade.php, international-relations/* pages)
   — centralised here instead of duplicating per page.
═══════════════════════════════════════════════════════════════ */
.hero-cta { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.6rem; }
.btn {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: var(--F); font-weight: 700; font-size: .85rem;
    padding: .8rem 1.5rem; border-radius: 9px; transition: transform .15s, box-shadow .15s;
}
.btn-gold { background: linear-gradient(135deg, var(--gold), #B8820F); color: var(--navy); }
.btn-gold:hover { transform: translateY(-2px); box-shadow: 0 10px 22px -8px rgba(200, 149, 44, .55); }
.btn-outline { border: 1.5px solid rgba(255, 255, 255, .4); color: #fff; }
.btn-outline:hover { background: rgba(255, 255, 255, .1); }

.stats-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }

/* LAYOUT */
.main-layout {
    display: grid; grid-template-columns: 260px 1fr; gap: 2.5rem; padding: 3rem 0 5rem; align-items: start;
}
.main-layout--no-sidebar, .main-layout.no-sidebar { grid-template-columns: 1fr; }
.sidebar {
    position: sticky; top: 20px; align-self: start;
    max-height: calc(100vh - 40px); overflow-y: auto;
    background: var(--white); border: 1.5px solid var(--border);
    border-radius: 18px; box-shadow: var(--sh-sm);
}
.sidebar-hdr {
    background: linear-gradient(135deg, var(--navy), var(--blue)); padding: 1.2rem 1.4rem;
    position: sticky; top: 0; z-index: 1;
}
.sidebar-hdr h4 {
    font-family: var(--FD); font-size: 1.1rem; font-weight: 700; color: #fff;
    display: flex; align-items: center; gap: 9px;
}
.sidebar-hdr h4 i { color: var(--gold-lt); font-size: .9rem; }
.sidebar-nav { padding: .5rem 0; }
.sb-item {
    display: flex; align-items: center; gap: 10px; padding: .62rem 1.2rem;
    font-size: .84rem; font-weight: 600; color: var(--muted); cursor: pointer;
    border-left: 3px solid transparent; transition: all .15s;
}
.sb-item i { width: 16px; font-size: .75rem; color: var(--blue); opacity: .6; flex-shrink: 0; }
.sb-item:hover, .sb-item.active {
    background: var(--cream); color: var(--navy); border-left-color: var(--gold); font-weight: 700;
}
.sb-item:hover i, .sb-item.active i { opacity: 1; color: var(--gold); }
.sb-sep { height: 1px; background: var(--border); margin: .35rem 0; }

/* CONTENT SECTIONS */
.content-area { display: flex; flex-direction: column; gap: 3rem; }
.section-card {
    background: var(--white); border-radius: 20px; border: 1.5px solid var(--border);
    box-shadow: var(--sh-sm); overflow: hidden; scroll-margin-top: 100px;
}
.section-card [id], .content-area [id] { scroll-margin-top: 100px; }
.sc-hdr {
    background: linear-gradient(135deg, var(--navy), var(--blue)); padding: 1.6rem 2rem 1.4rem;
    position: relative; overflow: hidden;
}
.sc-hdr::after {
    content: ''; position: absolute; right: -30px; bottom: -30px; width: 120px; height: 120px;
    border-radius: 50%; border: 28px solid rgba(200, 149, 44, .12);
}
.sc-eyebrow {
    font-size: .63rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase;
    color: var(--gold-lt); display: flex; align-items: center; gap: 7px; margin-bottom: .45rem;
}
.sc-hdr h2 { font-family: var(--FD); font-size: 1.65rem; font-weight: 700; color: #fff; line-height: 1.15; }
.sc-hdr p { font-size: .84rem; color: rgba(255, 255, 255, .55); margin-top: .38rem; max-width: 640px; line-height: 1.65; }
.sc-body { padding: 2rem; }

.prose { font-size: .95rem; line-height: 1.9; color: var(--muted); }
.prose strong { color: var(--text); }
.prose p { margin: 0 0 1rem; }
.prose p:last-child { margin-bottom: 0; }

h3.blk { font-family: var(--FD); font-size: 1.3rem; font-weight: 700; color: var(--navy); margin: 1.6rem 0 .8rem; }
h3.blk:first-child { margin-top: 0; }

/* CARD GRIDS */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.vm-card {
    background: var(--cream); border: 1.5px solid var(--border); border-radius: 14px; padding: 1.5rem;
}
.vm-card .vm-icon {
    width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, var(--navy), var(--blue));
    display: flex; align-items: center; justify-content: center; color: var(--gold-lt); font-size: .95rem; margin-bottom: 1rem;
}
.vm-card h4 { font-family: var(--FD); font-size: 1.15rem; font-weight: 700; color: var(--navy); margin-bottom: .65rem; }
.vm-card p, .vm-card li { font-size: .88rem; color: var(--muted); line-height: 1.75; }

ul.check { display: grid; gap: .7rem; }
ul.check.two { grid-template-columns: 1fr 1fr; gap: .7rem 1.75rem; }
ul.check li { padding-left: 28px; position: relative; font-size: .88rem; color: var(--muted); line-height: 1.7; }
ul.check li::before {
    content: "\2713"; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%;
    background: var(--gold); color: var(--navy); font-size: .68rem; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
}
ul.check li strong { color: var(--text); }

.band {
    background: linear-gradient(155deg, var(--navy), var(--blue)); color: #fff; border-radius: 16px; padding: 1.8rem;
}
.band h3 { font-family: var(--FD); font-size: 1.4rem; color: #fff; margin-bottom: .5rem; }
.band p { color: rgba(255, 255, 255, .7); font-size: .9rem; line-height: 1.75; }
.band .tag {
    color: var(--gold-lt); font-weight: 700; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
    margin-bottom: .6rem; display: block;
}
.band.center { text-align: center; }
.band.center p { max-width: 640px; margin: 0 auto 1.2rem; }

.hub-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.hub-card {
    display: block; background: var(--white); border: 1.5px solid var(--border); border-radius: 14px;
    padding: 1.5rem; transition: transform .18s, box-shadow .18s, border-color .18s;
}
.hub-card:hover { transform: translateY(-3px); box-shadow: var(--sh-sm); border-color: var(--gold); }
.hub-card .vm-icon {
    width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, var(--navy), var(--blue));
    display: flex; align-items: center; justify-content: center; color: var(--gold-lt); font-size: .95rem; margin-bottom: 1rem;
}
.hub-card h4 { font-family: var(--FD); font-size: 1.1rem; font-weight: 700; color: var(--navy); margin-bottom: .5rem; }
.hub-card p { font-size: .85rem; color: var(--muted); line-height: 1.65; margin: 0 0 .8rem; }
.hub-card .hub-link { font-size: .78rem; font-weight: 700; color: var(--blue); }
.hub-card .hub-link i { margin-left: .3rem; font-size: .7rem; transition: transform .15s; }
.hub-card:hover .hub-link i { transform: translateX(3px); }

.pill {
    display: inline-block; font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
    background: rgba(27, 79, 138, .1); color: var(--blue); padding: .3rem .7rem; border-radius: 999px; margin-bottom: .7rem;
}
.quote-card {
    background: var(--cream); border-left: 4px solid var(--gold); border-radius: 0 14px 14px 0; padding: 1.4rem 1.6rem;
}
.quote-card p { color: var(--text); font-size: .92rem; line-height: 1.8; margin: 0 0 .8rem; }
.quote-card .signee { margin-top: .8rem; font-weight: 700; color: var(--navy); font-size: .88rem; }
.quote-card .signee small { display: block; font-weight: 400; color: var(--muted); }

.team-card {
    display: flex; gap: 14px; align-items: flex-start; background: var(--cream);
    border: 1.5px solid var(--border); border-radius: 14px; padding: 1.2rem;
}
.team-card .avatar {
    width: 52px; height: 52px; border-radius: 50%; flex: none;
    background: linear-gradient(135deg, var(--navy), var(--blue));
    display: flex; align-items: center; justify-content: center; color: var(--gold-lt);
    font-family: var(--FD); font-weight: 700; font-size: 1.1rem;
}
.team-card h4 { font-size: 1rem; color: var(--navy); margin-bottom: 2px; }
.team-card .role { color: var(--gold); font-size: .78rem; font-weight: 700; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .05em; }
.team-card .contact { font-size: .84rem; color: var(--muted); line-height: 1.6; }
.team-card .contact a { color: var(--blue); font-weight: 600; }

.alumni-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; }
.alumni-card {
    background: #fff; border: 1.5px solid var(--border); border-radius: 16px;
    padding: 1.6rem 1.4rem 1.4rem; text-align: center; position: relative;
    box-shadow: 0 8px 20px -10px rgba(11,31,58,.15); transition: transform .2s, box-shadow .2s;
}
.alumni-card:hover { transform: translateY(-4px); box-shadow: 0 14px 28px -10px rgba(11,31,58,.25); }
.alumni-photo {
    width: 84px; height: 84px; border-radius: 50%; object-fit: cover; margin: 0 auto .9rem;
    border: 3px solid var(--gold-pale); display: block;
}
.alumni-quote-mark { color: var(--gold-pale); font-size: 1.3rem; display: block; margin-bottom: .4rem; }
.alumni-quote { font-size: .85rem; color: var(--muted); line-height: 1.65; font-style: italic; margin-bottom: .9rem; min-height: 60px; }
.alumni-name { font-weight: 700; color: var(--navy); font-size: .92rem; }
.alumni-role { font-size: .76rem; color: var(--gold); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-top: 2px; }

.recognition-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 1rem; }
.recognition-card {
    background: var(--cream); border: 1px solid var(--border); border-radius: 12px;
    padding: 1.1rem .8rem; display: flex; flex-direction: column; align-items: center; gap: .6rem;
    transition: border-color .2s, transform .2s;
}
.recognition-card:hover { border-color: var(--gold); transform: translateY(-2px); }
.recognition-card img { height: 48px; width: auto; max-width: 100%; object-fit: contain; }
.recognition-card span { font-size: .72rem; font-weight: 700; color: var(--navy); text-align: center; letter-spacing: .02em; }

.subnav { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.6rem; }
.subnav a {
    font-size: .8rem; font-weight: 700; padding: .5rem 1rem; border-radius: 999px;
    background: var(--cream); border: 1px solid var(--border); color: var(--navy);
}
.subnav a:hover { border-color: var(--gold); color: var(--gold); }

ol.step-list { counter-reset: step; display: grid; gap: 1rem; margin: 1rem 0 0; padding: 0; }
ol.step-list li { counter-increment: step; position: relative; padding-left: 46px; color: var(--muted); font-size: .88rem; line-height: 1.7; list-style: none; }
ol.step-list li::before {
    content: counter(step); position: absolute; left: 0; top: -2px; width: 32px; height: 32px; border-radius: 9px;
    background: var(--cream); border: 1.5px solid var(--border); color: var(--navy); font-weight: 700; font-size: .85rem;
    display: flex; align-items: center; justify-content: center;
}
ol.step-list li strong { color: var(--text); }

.prog-intro {
    background: var(--cream); border: 1.5px solid var(--border); border-radius: 16px; padding: 1.6rem 1.8rem;
    display: flex; justify-content: space-between; gap: 1.2rem; flex-wrap: wrap; align-items: center; margin-bottom: 1.6rem;
}
.prog-intro .tagline { font-style: italic; color: var(--blue); font-weight: 600; }

.faq { border: 1.5px solid var(--border); border-radius: 14px; overflow: hidden; background: var(--white); }
.faq details { border-bottom: 1px solid var(--border); }
.faq details:last-child { border-bottom: none; }
.faq summary {
    list-style: none; cursor: pointer; padding: 1rem 1.3rem; font-weight: 700; font-size: .9rem; color: var(--navy);
    display: flex; justify-content: space-between; align-items: center; gap: 14px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; color: var(--gold); font-size: 1.2rem; font-weight: 700; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details[open] summary { background: var(--cream); }
.faq .a { padding: 0 1.3rem 1.1rem; color: var(--muted); font-size: .88rem; line-height: 1.75; }
.faq-group-label { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 1.8rem 0 .8rem; }
.faq-group-label:first-child { margin-top: 0; }

.more-link {
    display: inline-flex; align-items: center; gap: 7px; margin-top: 1.4rem;
    font-size: .82rem; font-weight: 700; color: var(--blue);
}
.more-link:hover { color: var(--gold); }

.cta-card {
    display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap;
    background: var(--cream); border: 1.5px solid var(--border); border-radius: 16px; padding: 1.8rem 2rem;
}

/* SCROLL TO TOP (shared button used by research/academics/international pages) */
.ir-scroll-top, .scroll-top {
    position: fixed; bottom: 2rem; right: 2rem; z-index: 900;
    width: 48px; height: 48px; border-radius: 12px;
    background: var(--gold); color: var(--navy); border: none; cursor: pointer;
    font-size: 1rem; display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 18px rgba(200, 149, 44, .4);
    opacity: 0; pointer-events: none; transition: opacity .3s, transform .3s;
}
.ir-scroll-top.visible, .scroll-top.visible { opacity: 1; pointer-events: all; }
.ir-scroll-top:hover, .scroll-top:hover { transform: translateY(-3px); }

@media (max-width: 1100px) {
    .main-layout { grid-template-columns: 220px 1fr; }
    .main-layout--no-sidebar, .main-layout.no-sidebar { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .main-layout { grid-template-columns: 1fr; }
    .sidebar { position: static; max-height: none; overflow: visible; }
    .sidebar-hdr { position: static; }
    .sidebar-nav { display: flex; flex-wrap: wrap; padding: .5rem; }
    .sb-item { border-left: none; border-bottom: 2px solid transparent; flex: 1; min-width: 130px; justify-content: center; font-size: .78rem; }
    .sb-item:hover, .sb-item.active { border-left: none; border-bottom-color: var(--gold); }
    .grid-2, .grid-3, ul.check.two { grid-template-columns: 1fr; }
    .stats-grid.cols-4 { grid-template-columns: repeat(2, 1fr); row-gap: 1.2rem; }
    .hub-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .sc-body { padding: 1.25rem; }
    .hub-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   PHD / RESEARCH PAGE COMPONENTS (shared by research.blade.php,
   phd_program.blade.php) — migrated out of phd_program.blade.php's
   local <style> block; research.blade.php still keeps its own
   near-identical local copy (left untouched, out of scope).
═══════════════════════════════════════════════════════════════ */

/* OVERVIEW / VISION-MISSION */
.overview-text { font-size: .97rem; line-height: 1.9; color: var(--muted); margin-bottom: 1.5rem; }
.overview-text strong { color: var(--text); }

.vm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 1rem; }
.vm-card ul { padding-left: 0; }
.vm-card ul li { display: flex; gap: 8px; align-items: flex-start; margin-bottom: .45rem; }
.vm-card ul li::before { content: '→'; color: var(--gold); font-size: .85rem; flex-shrink: 0; margin-top: 2px; }

/* RDC ACTIVITIES */
.activities-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .85rem; margin-top: 1.2rem; }
.act-item {
    display: flex; gap: 12px; align-items: flex-start; padding: .9rem 1.1rem;
    background: var(--cream); border: 1px solid var(--border); border-radius: 12px; transition: all .2s var(--ease);
}
.act-item:hover { background: var(--white); border-color: var(--blue); transform: translateY(-2px); box-shadow: var(--sh-sm); }
.act-icon {
    width: 36px; height: 36px; border-radius: 9px; flex-shrink: 0;
    background: linear-gradient(135deg, var(--navy), var(--blue));
    display: flex; align-items: center; justify-content: center; color: var(--gold-lt); font-size: .78rem;
}
.act-text { font-size: .85rem; color: var(--text); line-height: 1.55; font-weight: 500; }

/* OFFICERS */
.officers-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.officer-card {
    background: var(--cream); border: 1.5px solid var(--border); border-radius: 16px; overflow: hidden;
    transition: transform .25s var(--ease), box-shadow .25s; position: relative;
}
.officer-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--gold), var(--blue));
}
.officer-card:hover { transform: translateY(-4px); box-shadow: var(--sh); }
.officer-img-wrap {
    height: 180px; overflow: hidden; position: relative;
    background: linear-gradient(135deg, var(--navy), var(--blue));
    display: flex; align-items: center; justify-content: center;
}
.officer-img-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.officer-img-wrap .avatar-fallback {
    width: 80px; height: 80px; border-radius: 50%; background: rgba(200, 149, 44, .25);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--FD); font-size: 2rem; font-weight: 700; color: var(--gold-lt);
}
.officer-body { padding: 1.25rem 1.4rem; }
.officer-role { font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: .35rem; }
.officer-body h4 { font-family: var(--FD); font-size: 1.1rem; font-weight: 700; color: var(--navy); margin-bottom: .6rem; line-height: 1.25; }
.officer-bio {
    font-size: .82rem; color: var(--muted); line-height: 1.7;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.officer-bio-full { font-size: .82rem; color: var(--muted); line-height: 1.7; }
.read-more-btn {
    display: inline-flex; align-items: center; gap: 5px; font-size: .78rem; font-weight: 700; color: var(--blue);
    background: none; border: none; cursor: pointer; margin-top: .5rem; transition: color .15s, gap .15s;
}
.read-more-btn:hover { color: var(--gold); gap: 8px; }

/* COMMITTEES */
.committee-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.comm-card {
    background: var(--cream); border: 1.5px solid var(--border); border-radius: 14px; padding: 1.4rem;
    text-align: center; transition: all .2s var(--ease); cursor: default;
}
.comm-card:hover { background: var(--white); border-color: var(--gold); transform: translateY(-3px); box-shadow: var(--sh-sm); }
.comm-icon {
    width: 52px; height: 52px; border-radius: 14px; margin: 0 auto .85rem;
    background: linear-gradient(135deg, var(--navy), var(--blue));
    display: flex; align-items: center; justify-content: center; font-size: 1.2rem; color: var(--gold-lt);
}
.comm-card h4 { font-size: .9rem; font-weight: 700; color: var(--navy); line-height: 1.35; }
.comm-card p { font-size: .78rem; color: var(--muted); margin-top: .4rem; line-height: 1.55; }

/* RESEARCH POLICY */
.policy-list { display: flex; flex-direction: column; gap: .75rem; margin-top: 1rem; }
.policy-item {
    display: flex; gap: 14px; align-items: center; padding: 1rem 1.4rem;
    background: var(--cream); border: 1px solid var(--border); border-radius: 12px; transition: all .18s;
}
.policy-item:hover { background: var(--white); border-color: var(--blue); }
.policy-item i.fa-file-pdf { color: var(--crimson); font-size: 1.3rem; flex-shrink: 0; }
.policy-item .pol-text strong { display: block; font-size: .92rem; font-weight: 700; color: var(--navy); }
.policy-item .pol-text span { font-size: .78rem; color: var(--muted); }
.pol-dl {
    margin-left: auto; display: inline-flex; align-items: center; gap: 6px;
    background: var(--navy); color: var(--gold-lt); border-radius: 8px; padding: .42rem 1rem;
    font-size: .78rem; font-weight: 700; flex-shrink: 0; transition: background .15s; text-decoration: none;
}
.pol-dl:hover { background: var(--blue); }

/* PUBLICATIONS TABLE */
.pub-filter-row { display: flex; gap: .85rem; align-items: center; flex-wrap: wrap; margin-bottom: 1.25rem; }
.pub-search {
    flex: 1; min-width: 200px; display: flex; align-items: center;
    border: 1.5px solid var(--border); border-radius: 10px; background: var(--cream); overflow: hidden; transition: border-color .2s;
}
.pub-search:focus-within { border-color: var(--blue); }
.pub-search input {
    flex: 1; padding: .7rem 1rem; border: none; background: transparent;
    font-family: var(--F); font-size: .88rem; outline: none; color: var(--text);
}
.pub-search input::placeholder { color: var(--muted); }
.pub-search i { padding: 0 1rem; color: var(--muted); }
.pub-count { background: var(--navy); color: var(--gold-lt); border-radius: 20px; padding: .3rem 1rem; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.pub-table-wrap { overflow-x: auto; border-radius: 12px; border: 1px solid var(--border); }
.pub-table { width: 100%; border-collapse: collapse; font-size: .83rem; }
.pub-table thead { background: var(--navy); }
.pub-table thead th {
    padding: .85rem 1rem; text-align: left; color: rgba(255, 255, 255, .75);
    font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
}
.pub-table thead th:first-child { border-radius: 0; }
.pub-table tbody tr { border-bottom: 1px solid var(--border); transition: background .13s; }
.pub-table tbody tr:last-child { border-bottom: none; }
.pub-table tbody tr:hover { background: var(--cream); }
.pub-table td { padding: .8rem 1rem; color: var(--text); vertical-align: top; }
.pub-table td:first-child { font-weight: 600; color: var(--navy); font-size: .78rem; }
.pub-table .dept-badge {
    display: inline-block; padding: .15rem .55rem; background: rgba(27, 79, 138, .1); color: var(--blue);
    border-radius: 5px; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
}
.pub-table .journal-tag { color: var(--crimson); font-size: .78rem; font-style: italic; }
.pub-show-more { text-align: center; padding: 1.25rem; border-top: 1px solid var(--border); }
.pub-show-btn {
    display: inline-flex; align-items: center; gap: 7px; border: 1.5px solid var(--navy); color: var(--navy);
    background: transparent; border-radius: 9px; padding: .6rem 1.6rem; font-family: var(--F);
    font-size: .88rem; font-weight: 700; cursor: pointer; transition: all .18s;
}
.pub-show-btn:hover { background: var(--navy); color: var(--gold-lt); }
.pub-row-hidden { display: none; }

/* PATENT STATS */
.patent-stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-bottom: 2rem; }
.patent-stat-card {
    background: linear-gradient(135deg, var(--navy), var(--blue)); border-radius: 16px; padding: 1.6rem;
    text-align: center; position: relative; overflow: hidden;
}
.patent-stat-card::before {
    content: ''; position: absolute; right: -20px; bottom: -20px; width: 90px; height: 90px;
    border-radius: 50%; border: 22px solid rgba(200, 149, 44, .15);
}
.patent-num { font-family: var(--FD); font-size: 3rem; font-weight: 700; color: var(--gold-lt); line-height: 1; }
.patent-plus { font-size: 1.5rem; color: var(--gold); }
.patent-lbl { font-size: .75rem; font-weight: 700; color: rgba(255, 255, 255, .6); margin-top: .4rem; text-transform: uppercase; letter-spacing: .08em; }

/* ACHIEVEMENTS */
.achieve-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.ach-card {
    display: block; background: var(--cream); border: 1.5px solid var(--border); border-radius: 16px; padding: 1.5rem;
    text-align: center; color: var(--navy); text-decoration: none; cursor: pointer; transition: all .22s var(--ease);
}
.ach-card:hover { background: var(--navy); border-color: var(--gold); transform: translateY(-4px); box-shadow: var(--sh-sm); color: white; }
.ach-card.active { background: var(--blue); border-color: var(--gold); color: #fff; box-shadow: var(--sh-sm); }
.ach-icon {
    width: 50px; height: 50px; border-radius: 14px; margin: 0 auto .9rem;
    background: linear-gradient(135deg, var(--gold), #B8820F);
    display: flex; align-items: center; justify-content: center; font-size: 1.1rem; color: var(--navy);
}
.ach-num { font-family: var(--FD); font-size: 2.2rem; font-weight: 700; color: var(--navy); line-height: 1; margin-bottom: .3rem; }
.ach-label { font-size: .8rem; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }

/* EXTRAMURAL */
.extra-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.extra-card {
    background: var(--cream); border: 1.5px solid var(--border); border-radius: 16px; padding: 1.75rem;
    text-align: center; position: relative; overflow: hidden;
}
.extra-card::after {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
    background: linear-gradient(90deg, var(--gold), var(--blue));
}
.extra-rupee { font-family: var(--FD); font-size: 1.4rem; color: var(--gold); font-weight: 700; margin-bottom: .25rem; }
.extra-amount { font-family: var(--FD); font-size: 2.5rem; font-weight: 700; color: var(--navy); line-height: 1; }
.extra-lakh { font-size: 1rem; color: var(--muted); margin-left: 4px; }
.extra-label { font-size: .78rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; margin-top: .5rem; }

/* CONTACT
   NOTE: phd_program.blade.php's original inline block defined .contact-info-card
   TWICE — once here (var(--cream)/var(--border), matching the design-token
   pattern used throughout this file) and again later using the undefined
   var(--light) token. The second definition was dead/conflicting leftover
   copy-paste CSS; only this first, correct definition is kept. */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem; }
.contact-info-card { background: var(--cream); border: 1.5px solid var(--border); border-radius: 16px; padding: 1.75rem; }
.contact-info-card h4 { font-family: var(--FD); font-size: 1.2rem; font-weight: 700; color: var(--navy); margin-bottom: 1.25rem; }
.contact-row {
    display: flex; gap: 12px; align-items: flex-start; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border);
}
.contact-row:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.cr-icon {
    width: 38px; height: 38px; border-radius: 10px; background: linear-gradient(135deg, var(--navy), var(--blue));
    display: flex; align-items: center; justify-content: center; color: var(--gold-lt); font-size: .85rem; flex-shrink: 0;
}
.cr-info strong { display: block; font-size: .85rem; font-weight: 700; color: var(--navy); margin-bottom: .2rem; }
.cr-info span { font-size: .83rem; color: var(--muted); line-height: 1.6; }
.contact-map {
    background: linear-gradient(135deg, var(--navy), var(--blue)); border-radius: 16px; padding: 2rem;
    display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; min-height: 220px;
}
.contact-map i { font-size: 2.5rem; color: var(--gold-lt); margin-bottom: 1rem; }
.contact-map h4 { font-family: var(--FD); font-size: 1.3rem; font-weight: 700; color: #fff; margin-bottom: .5rem; }
.contact-map p { font-size: .85rem; color: rgba(255, 255, 255, .55); line-height: 1.7; }

/* ACCORDION (Dev Anand) */
.accordion { max-width: 100%; margin: 20px auto; font-family: Arial, sans-serif; }
.accordion details { border: 1px solid #ddd; border-radius: 5px; margin-bottom: 10px; overflow: hidden; }
.accordion summary { padding: 15px 20px; background: #f5f5f5; cursor: pointer; font-weight: 600; list-style: none; position: relative; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary::after { content: "+"; position: absolute; right: 20px; font-size: 20px; transition: transform .3s; }
.accordion details[open] summary::after { content: "−"; }
.accordion .content { padding: 15px 20px; background: #fff; border-top: 1px solid #ddd; line-height: 1.6; }

.custom-table { width: 100%; border-collapse: collapse; }
.custom-table th { background: var(--navy); color: white; }
.custom-table, .custom-table th, .custom-table td { border: 1px solid #000; }
.custom-table th, .custom-table td { padding: 10px; }

/* PHD PROFILE / GALLERY */
.image-container img {
    display: block; margin: 0 auto; max-width: 20%; width: 184px; height: 234px;
    object-fit: cover; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); position: relative;
}
.gallery { width: 100%; max-width: 1245px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 16px; }
.gallery-item { position: relative; width: 100%; aspect-ratio: 1 / 1.18; overflow: hidden; border-radius: 10px; background: #eee; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* PHD/RESEARCH RESPONSIVE */
@media (max-width: 1100px) {
    .committee-grid { grid-template-columns: repeat(2, 1fr); }
    .achieve-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .officers-grid { grid-template-columns: 1fr 1fr; }
    .vm-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .officers-grid { grid-template-columns: 1fr; }
    .committee-grid { grid-template-columns: 1fr; }
    .achieve-grid { grid-template-columns: repeat(2, 1fr); }
    .patent-stat-row { grid-template-columns: 1fr; }
    .extra-grid { grid-template-columns: 1fr; }
    .contact-grid { grid-template-columns: 1fr; }
    .activities-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .gallery { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 400px) {
    .gallery { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════
   HOMEPAGE TYPOGRAPHY (merged from home-type.css)
═══════════════════════════════════════════ */


.home-type .loc-trigger .fa-map-marker-alt { font-size: 0.77rem; }
.home-type .loc-trigger .fa-chevron-down { font-size: 0.605rem; }
.home-type .sl { font-size: 0.781rem; }
.home-type .sh2 { font-size: clamp(2.145rem,3.3vw,3.3rem); }
.home-type .btn-p { font-size: 0.99rem; }
.home-type .btn-lnk { font-size: 0.968rem; }
.home-type .about-left .about-desc p { font-size: 1.056rem; }
.home-type .disc-panel-hdr .dh-eyebrow { font-size: 0.737rem; }
.home-type .disc-panel-hdr h3 { font-size: 1.705rem; }
.home-type .disc-panel-hdr p { font-size: 0.902rem; }
.home-type .ps-eyebrow { font-size: 12.1px; }
.home-type .ps-title { font-size: clamp(2.09rem, 3.3vw, 2.86rem); }
.home-type .ps-subtitle { font-size: 14.3px; }
.home-type .ps-viewall { font-size: 14.3px; }
.home-type .ps-filter-head-label { font-size: 12.1px; }
.home-type .ps-result-badge { font-size: 13.2px; }
.home-type .ps-dd-btn { font-size: 14.9px; }
.home-type .dd-arrow { font-size: 11px; }
.home-type .ps-dd-opt { font-size: 14.3px; }
.home-type .ps-dd-opt .opt-icon { font-size: 14.3px; }
.home-type .ps-dd-opt .opt-check { font-size: 12.1px; }
.home-type .ps-search { font-size: 14.9px; }
.home-type .ps-clear-btn { font-size: 14.3px; }
.home-type .ps-empty-state p { font-size: 16.5px; }
.home-type .ps-empty-state small { font-size: 14.3px; }
.home-type .ps-cta { font-size: 15.4px; }
.home-type .ra-intro-band::after { font-size: clamp(5.5rem,12.1vw,14.3rem); }
.home-type .ra-eyebrow { font-size: 0.748rem; }
.home-type .ra-intro-left h2 { font-size: clamp(2.2rem,4.18vw,3.74rem); }
.home-type .ra-intro-left p { font-size: 1.045rem; }
.home-type .ra-hs-num { font-size: 2.31rem; }
.home-type .ra-hs-lbl { font-size: 0.715rem; }
.home-type .ra-marquee-label { font-size: 0.704rem; }
.home-type .rmi-logo .rmi-abbr { font-size: 0.935rem; }
.home-type .ra-marquee-item span { font-size: 0.902rem; }
.home-type .rs-header-band::after { font-size: clamp(5.5rem,13.2vw,15.4rem); }
.home-type .rs-eyebrow { font-size: 0.748rem; }
.home-type .rs-header-left h2 { font-size: clamp(2.2rem,4.18vw,3.74rem); }
.home-type .rs-header-left p { font-size: 1.034rem; }
.home-type .rs-btn-primary { font-size: 0.968rem; }
.home-type .rs-btn-ghost { font-size: 0.968rem; }
.home-type .rs-dsir-badge .dsir-label { font-size: 0.737rem; }
.home-type .rs-dsir-badge .dsir-text { font-size: 0.902rem; }
.home-type .rs-scroll-label { font-size: 0.792rem; }
.home-type .rs-scroll-label i { font-size: 0.88rem; }
.home-type .rss-num { font-size: 2.64rem; }
.home-type .rss-label { font-size: 0.77rem; }
.home-type .rss-icon { font-size: 0.88rem; }
.home-type .news-card-ttl { font-size: 1.32rem; }
.home-type .news-arr { font-size: 0.792rem; }
.home-type .ni2-date { font-size: 0.748rem; }
.home-type .ni2-ttl { font-size: 0.957rem; }
.home-type .ni2-ttl .ntag { font-size: 0.638rem; }
.home-type .news-pg-num { font-size: 0.825rem; }
.home-type .is-cap h4 { font-size: 1.485rem; }
.home-type .is-cap p { font-size: 0.902rem; }
.home-type .g-arr { font-size: 0.88rem; }
.home-type .ev-date-b .day { font-size: 1.43rem; }
.home-type .ev-date-b .mon { font-size: 0.704rem; }
.home-type .ev-type { font-size: 0.737rem; }
.home-type .ev-body h4 { font-size: 1.034rem; }
.home-type .ev-body p { font-size: 0.902rem; }
.home-type .ev-loc { font-size: 0.847rem; }
.home-type .ev-lnk { font-size: 0.847rem; }
.home-type .policy-item i.fa-file-pdf { font-size: 1.43rem; }
.home-type .mn-eyebrow { font-size: 0.77rem; }
.home-type .mn-heading { font-size: clamp(2.09rem, 3.3vw, 2.86rem); }
.home-type .mn-lead { font-size: 1.067rem; }
.home-type .mn-cell-hero .mn-year { font-size: 2.86rem; }
.home-type .mn-cell-hero .mn-year-lbl { font-size: 0.792rem; }
.home-type .mn-cell-hero p { font-size: 0.935rem; }
.home-type .mn-cell-sm .mn-cell-ico { font-size: 1.1rem; }
.home-type .mn-cell-sm .mn-cell-num { font-size: 1.65rem; }
.home-type .mn-cell-sm .mn-cell-lbl { font-size: 0.858rem; }
.home-type .mn-pill { font-size: 0.858rem; }
.home-type .mn-pill i { font-size: 0.858rem; }
.home-type .dh-loc-city { font-size: 2.2rem; }
.home-type .dh-loc-cta { font-size: 0.748rem; }
.home-type .dh-loc-all { font-size: 0.88rem; }
.home-type .fc-count { font-size: 0.748rem; }
.home-type .fc-eyebrow { font-size: 0.726rem; }
.home-type .fc-name { font-size: 1.155rem; }
.home-type .fc-arrow { font-size: 0.792rem; }
.home-type .ps-results-heading i { font-size: 1.155rem; }
.home-type .ps-results-heading h4 { font-size: 1.265rem; }
.home-type .al-quote-badge { font-size: 0.88rem; }
.home-type .al-name { font-size: 1.188rem; }
.home-type .al-pos { font-size: 0.814rem; }
.home-type .al-deg { font-size: 0.682rem; }
.home-type .al-quote { font-size: 0.924rem; }
.home-type .plc-stat-num { font-size: 1.76rem; }
.home-type .plc-stat-lbl { font-size: 0.77rem; }
.home-type .plc-logo-fallback { font-size: 0.902rem; }
.home-type .xc-ico { font-size: 1.54rem; }
.home-type .xc-label { font-size: 1.1rem; }
.home-type .xc-sub { font-size: 0.836rem; }
.home-type .xc-arrow { font-size: 0.858rem; }
