/* ══════════════════════════════════════════════════════════════════
   style.css  |  PESIMSR — Design system based on research.pes.edu
   ══════════════════════════════════════════════════════════════════ */

/* ── Design Tokens (research.pes.edu) ── */
:root {
  --blue-dark:         #00338d;
  --blue-mid:          #00377b;
  --orange:            #FF6C00;
  --orange-dark:       #e05c00;
  --tan:               #c9c9bc;
  --grey-bg:           #F0F0ED;

  --brand-navy:        #00264d;
  --brand-orange:      #FF6C00;
  --brand-blue-light:  #61B9F0;
  --brand-pale-blue:   #F2F8FD;
  --brand-soft-blue:   #E4F3FD;
  --primary-gradient:  linear-gradient(135deg,#00377B 0%,#0055B3 100%);
  --accent-gradient:   linear-gradient(135deg,#FF6C00 0%,#FF9240 100%);

  --bg-primary:        #ffffff;
  --bg-secondary:      #F0F0ED;
  --text-primary:      #0D1B2A;
  --text-secondary:    #2E4A6B;
  --text-tertiary:     #7B9BBF;
  --border-color:      #D3E4F2;

  --shadow-sm:  0 2px 8px  rgba(0,55,123,.06);
  --shadow-md:  0 8px 24px rgba(0,55,123,.10);
  --shadow-lg:  0 16px 48px rgba(0,55,123,.14);
  --shadow-xl:  0 24px 64px rgba(0,55,123,.18);

  --font-title: 'Playfair Display', serif;
  --font-body:  'Noto Sans', sans-serif;
  --radius-sm:  10px;
  --radius-md:  16px;
  --radius-lg:  20px;
  --blur-amount: 20px;
  --transition: all .3s ease;

  /* Shared tokens for department-page templates (department.css + inline dept styles) */
  --paper:             #ffffff;
  --paper-2:           #f6f8fb;
  --line:              #e2e8f0;
  --muted:             #5c6b80;
  --display:           "Playfair Display","Times New Roman",serif;
  --body:               "Noto Sans",-apple-system,sans-serif;
  --dept-navy:         #00264d;
  --dept-navy-pale:    #e9eff6;
  --dept-orange:       #ef7e1a;
  --dept-orange-light: #ff9a45;
  --dept-orange-pale:  #fef1e2;
  --dept-ink:          #0a1626;
}

/* ── Reset ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; overflow-x:clip; }
body { font-family:var(--font-body); color:var(--text-primary); background:var(--bg-primary); line-height:1.7; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-title); }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }

/* ══════════════════════════════════════
   TOP BAR
══════════════════════════════════════ */
.top-bar {
  background: var(--brand-navy);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.top-bar-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: .42rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* Left label */
.top-bar-left-label {
  color: rgba(255,255,255,.8);
  font-family: var(--font-body);
  font-size: .76rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  text-decoration: none;
  transition: color .2s;
}
.top-bar-left-label:hover { color: #fff; }
/* Right group */
.top-bar-right {
  display: flex;
  align-items: center;
  gap: 1.1rem;
}
.top-bar-right .top-bar-link {
  color: rgba(255,255,255,.72);
  font-family: var(--font-body);
  font-size: .76rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  text-decoration: none;
  transition: color .2s;
}
.top-bar-right .top-bar-link:hover { color: #fff; }
/* Apply Now pill */
.top-bar-apply-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: var(--orange);
  color: #fff;
  font-family: var(--font-body);
  font-size: .76rem;
  font-weight: 700;
  padding: 6px 22px;
  border-radius: 50px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s;
}
.top-bar-apply-btn:hover { background: #e05a00; color: #fff; }
.nav-apply-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: var(--orange);
  color: #fff;
  font-family: var(--font-body);
  font-size: .82rem;
  font-weight: 700;
  padding: .52rem 1.15rem;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  margin-left: .6rem;
  flex-shrink: 0;
  transition: background .2s, transform .15s;
}
.nav-apply-btn:hover { background: var(--orange-dark); color: #fff; transform: translateY(-1px); }

/* The JS-injected wrapper must not form its own box — otherwise its
   auto height (≈ top-bar + header height) caps how far position:sticky
   inside it can travel, and the sticky header falls off after that. */
#header-placeholder { display: contents; }

/* ══════════════════════════════════════
   MAIN HEADER
══════════════════════════════════════ */
.main-header {
  background: #fff;
  border-bottom: 1px solid var(--border-color);
  box-shadow: var(--shadow-sm);
  position: sticky;
  top: 0;
  z-index: 1000;
  overflow: visible;
  transition: box-shadow .3s;
}
.main-header.scrolled { box-shadow: var(--shadow-md); }
.header-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
}
.logo { display: flex; align-items: center; gap: 12px; }
.logo img { height: 40px; width: auto; transition: transform .3s; }
.logo img:hover { transform: scale(1.03); }

/* ── Nav ── */
.main-nav { display: flex; align-items: stretch; height: 100%; }
.main-nav > ul { display: flex; list-style: none; position: static; gap: .4rem; align-items: stretch; height: 100%; }
.main-nav > ul > li { position: relative; display: flex; align-items: stretch; }
.main-nav > ul > li > a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 1.1rem;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-secondary);
  transition: var(--transition);
  white-space: nowrap;
  letter-spacing: .02em;
  position: relative;
}
.main-nav > ul > li > a::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: var(--orange);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .3s;
}
.main-nav > ul > li > a span { position: relative; z-index: 2; }
.main-nav > ul > li:hover > a,
.main-nav > ul > li > a.active { color: var(--orange); }
.main-nav > ul > li:hover > a::before,
.main-nav > ul > li > a.active::before { transform: scaleX(1); }

/* ── Mega Menu ── */
.main-nav > ul > li > .mega-menu {
  position: fixed;
  margin-top: 0px;
  left: 0;
  width: 100%;
  background: #fff;
  border-bottom: 3px solid #c2bdb6;
  box-shadow: 0 10px 40px rgba(0,55,123,.13);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
.main-nav > ul > li.mega-open > .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Outer wrapper stays pointer-events:none even when open — the -48px
   overlap band sits over the nav link purely for visual continuity.
   Only the inner content (pushed down by that same 48px) is interactive,
   so the mouse never crosses a hoverable seam and the menu can't flicker. */
.mega-menu-inner {
  max-width: 1400px;
  margin: 48px auto 0;
  padding: 28px 2rem 32px;
  pointer-events: auto;
}

.mega-label {
  font-family: var(--font-body);
  font-size: .65rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: #8fa3bc;
  padding-bottom: 10px; margin-bottom: 18px;
  border-bottom: 1px solid #e4dfd9;
}

.mega-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px 12px;
}

.mega-item {
  display: flex; align-items: center; gap: 13px;
  padding: 12px 14px; border-radius: 10px;
  text-decoration: none;
  transition: background .15s;
}
.mega-item:hover { background: #f0f6ff; }

.mega-icon {
  width: 42px; height: 42px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-size: 18px;
}
.mega-icon.mi-blue   { background:#eff6ff; } .mi-blue   i { color:#1d4ed8; }
.mega-icon.mi-rose    { background:#fff1f2; } .mi-rose    i { color:#e11d48; }
.mega-icon.mi-red    { background:#fff1f2; } .mi-red    i { color:#dc2626; }
.mega-icon.mi-green   { background:#f0fdf4; } .mi-green   i { color:#15803d; }
.mega-icon.mi-amber   { background:#fef3c7; } .mi-amber   i { color:#d97706; }
.mega-icon.mi-amber2  { background:#fffbeb; } .mi-amber2  i { color:#b45309; }
.mega-icon.mi-slate   { background:#f8fafc; } .mi-slate   i { color:#475569; }
.mega-icon.mi-teal    { background:#f0fdfa; } .mi-teal    i { color:#0d9488; }
.mega-icon.mi-indigo  { background:#eef2ff; } .mi-indigo  i { color:#4338ca; }
.mega-icon.mi-purple  { background:#fdf4ff; } .mi-purple  i { color:#7c3aed; }
.mega-icon.mi-orange  { background:#fff7ed; } .mi-orange  i { color:#ea580c; }

.mega-item-name {
  font-family: var(--font-body);
  font-size: .9rem; font-weight: 600;
  color: var(--brand-navy); line-height: 1.3;
}

.mega-item-desc {
  font-family: var(--font-body);
  font-size: .74rem; color: #7a90a8;
  line-height: 1.4; margin-top: 2px;
}

/* ══════════════════════════════════════
   HOME HERO
══════════════════════════════════════ */
.home-hero {
  background: #002766;
  position: relative; overflow: hidden;
  border-bottom: 3px solid var(--orange);
}
.hh-bg-slide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0; z-index: 0;
  animation: hhFade 20s infinite;
}
.hh-bg-slide:nth-child(1) { animation-delay: 0s; }
.hh-bg-slide:nth-child(2) { animation-delay: 5s; }
.hh-bg-slide:nth-child(3) { animation-delay: 10s; }
.hh-bg-slide:nth-child(4) { animation-delay: 15s; }
.hh-bg-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(135deg, rgba(0,39,102,.62) 0%, rgba(0,55,123,.55) 50%, rgba(0,85,179,.48) 100%);
}
.home-hero-inner {
  max-width: 1400px; margin: 0 auto;
  padding: 84px 2rem 64px;
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
  position: relative; z-index: 2;
}
.home-hero-text { flex: 1; min-width: 0; max-width: 640px; }
.home-hero-chip {
  display: inline-flex; align-items: center; gap: .45rem;
  background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.88); font-size: .78rem; font-weight: 600;
  padding: .35rem .95rem; border-radius: 30px; margin-bottom: 20px;
  font-family: var(--font-body); letter-spacing: .04em;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.home-hero-h1 {
  font-family: var(--font-title);
  font-size: clamp(2.2rem, 4.8vw, 3.6rem);
  font-weight: 700; color: #fff; line-height: 1.1; margin-bottom: 18px;
}
.home-hero-h1 em { font-style: normal; color: var(--orange); }
.home-hero-sub {
  font-family: var(--font-body); font-size: 1rem;
  color: rgba(255,255,255,.72); line-height: 1.75;
  margin-bottom: 18px; max-width: 530px;
}
.home-hero-accent { width: 54px; height: 4px; background: var(--orange); border-radius: 3px; margin-bottom: 32px; }
.home-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.home-hero-btn-primary {
  display: inline-flex; align-items: center; gap: .45rem;
  background: var(--orange); color: #fff;
  font-family: var(--font-body); font-size: .9rem; font-weight: 700;
  padding: .78rem 1.8rem; border-radius: 8px; text-decoration: none;
  transition: background .2s, transform .15s;
}
.home-hero-btn-primary:hover { background: #d96b00; color: #fff; transform: translateY(-2px); }
.home-hero-btn-secondary {
  display: inline-flex; align-items: center; gap: .45rem;
  background: rgba(255,255,255,.10); border: 1.5px solid rgba(255,255,255,.38);
  color: #fff; font-family: var(--font-body); font-size: .9rem; font-weight: 600;
  padding: .78rem 1.8rem; border-radius: 8px; text-decoration: none;
  transition: background .2s, transform .15s; backdrop-filter: blur(4px);
}
.home-hero-btn-secondary:hover { background: rgba(255,255,255,.2); color: #fff; transform: translateY(-2px); }

/* Hero image slideshow */
.home-hero-imgbox {
  position: relative;
  width: 460px; height: 320px;
  border-radius: 16px; overflow: hidden; flex-shrink: 0;
  box-shadow: 0 12px 48px rgba(0,0,0,.4), 0 0 0 3px rgba(255,255,255,.12);
}
.hh-slide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0;
  animation: hhFade 20s infinite;
}
.hh-slide:nth-child(1) { animation-delay: 0s; }
.hh-slide:nth-child(2) { animation-delay: 5s; }
.hh-slide:nth-child(3) { animation-delay: 10s; }
.hh-slide:nth-child(4) { animation-delay: 15s; }
@keyframes hhFade {
  0%   { opacity: 0; }
  5%   { opacity: 1; }
  22%  { opacity: 1; }
  27%  { opacity: 0; }
  100% { opacity: 0; }
}
.hh-overlay {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(0,30,80,.45) 0%, transparent 55%);
}
.hh-dots {
  position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 6px; z-index: 2;
}
.hh-dot {
  height: 6px; border-radius: 3px; background: rgba(255,255,255,.4);
  animation: hhDot 20s infinite;
}
.hh-dot:nth-child(1) { animation-delay: 0s; }
.hh-dot:nth-child(2) { animation-delay: 5s; }
.hh-dot:nth-child(3) { animation-delay: 10s; }
.hh-dot:nth-child(4) { animation-delay: 15s; }
@keyframes hhDot {
  0%   { width: 6px;  background: rgba(255,255,255,.4); }
  5%   { width: 20px; background: #fff; }
  22%  { width: 20px; background: #fff; }
  27%  { width: 6px;  background: rgba(255,255,255,.4); }
  100% { width: 6px;  background: rgba(255,255,255,.4); }
}

/* Stats bar */
.home-hero-stats { background: rgba(0,0,0,.22); border-top: 1px solid rgba(255,255,255,.1); position: relative; z-index: 2; }
.home-hero-stats-inner {
  max-width: 1400px; margin: 0 auto; padding: 0 2rem;
  display: flex; align-items: stretch;
}
.home-hero-stat {
  flex: 1; padding: 22px 16px; border-right: 1px solid rgba(255,255,255,.1);
  text-align: center;
}
.home-hero-stat:last-child { border-right: none; }
.home-hero-stat-num { font-family: var(--font-title); font-size: 2rem; font-weight: 700; color: #fff; line-height: 1; margin-bottom: 5px; }
.home-hero-stat-num sup { font-size: 1.1rem; color: var(--orange); }
.home-hero-stat-label { font-family: var(--font-body); font-size: .68rem; font-weight: 700; color: rgba(255,255,255,.58); letter-spacing: .1em; text-transform: uppercase; }

/* ══════════════════════════════════════
   HERO SLIDER (kept for reference)
══════════════════════════════════════ */
.hero-slider { position:relative; overflow:hidden; height:520px; }
.slide { position:absolute; inset:0; overflow:hidden; }
.slider-nav { position:absolute; right:20px; top:50%; transform:translateY(-50%); z-index:100; display:flex; flex-direction:column; gap:8px; }
.slider-dot { width:5px; height:30px; background:rgba(255,255,255,.4); border-radius:3px; cursor:pointer; transition:background .3s,height .3s; }
.slider-dot.active { background:#fff; height:50px; }

@keyframes s1TextDrop { 0%{transform:translateY(-80px);opacity:0;} 100%{transform:translateY(0);opacity:1;} }
@keyframes s1TextRise { 0%{transform:translateY(0);opacity:1;} 100%{transform:translateY(-80px);opacity:0;} }
@keyframes panRightLeft { 0%{transform:translateX(6%) scale(1.05);} 100%{transform:translateX(-3%) scale(1.05);} }
@keyframes exitLeft { 0%{transform:translateX(0);opacity:1;} 100%{transform:translateX(-80px);opacity:0;} }
@keyframes enterFromRight { 0%{transform:translateY(-52%) translateX(120px);opacity:0;} 100%{transform:translateY(-52%) translateX(0);opacity:1;} }
@keyframes exitToLeft { 0%{transform:translateY(-52%) translateX(0);opacity:1;} 100%{transform:translateY(-52%) translateX(-120px);opacity:0;} }
@keyframes riseFromBottom { 0%{transform:translateX(-50%) translateY(120px);opacity:0;} 100%{transform:translateX(-50%) translateY(0);opacity:1;} }
@keyframes fallToBottom { 0%{transform:translateX(-50%) translateY(0);opacity:1;} 100%{transform:translateX(-50%) translateY(120px);opacity:0;} }
@keyframes popUp { 0%{transform:scale(.85);opacity:0;} 60%{transform:scale(1.03);opacity:1;} 100%{transform:scale(1);opacity:1;} }
@keyframes bgZoomIn { 0%{transform:scale(1.12);opacity:0;} 100%{transform:scale(1);opacity:1;} }
@keyframes popOut { 0%{transform:scale(1);opacity:1;} 100%{transform:scale(.88);opacity:0;} }
@keyframes dropFromTop { 0%{transform:translateY(calc(-50% - 80px));opacity:0;} 100%{transform:translateY(-50%);opacity:1;} }
@keyframes riseToTop { 0%{transform:translateY(-50%);opacity:1;} 100%{transform:translateY(calc(-50% - 80px));opacity:0;} }
@keyframes riseUp { 0%{transform:translateY(calc(-50% + 80px));opacity:0;} 100%{transform:translateY(-50%);opacity:1;} }
@keyframes fallDown { 0%{transform:translateY(-50%);opacity:1;} 100%{transform:translateY(calc(-50% + 80px));opacity:0;} }
@keyframes popUpLeft { 0%{transform:translateY(-50%) scale(.82);opacity:0;} 60%{transform:translateY(-50%) scale(1.03);opacity:1;} 100%{transform:translateY(-50%) scale(1);opacity:1;} }
@keyframes btnPop { 0%{transform:translateX(-50%) scale(.7);opacity:0;} 70%{transform:translateX(-50%) scale(1.06);opacity:1;} 100%{transform:translateX(-50%) scale(1);opacity:1;} }

/* Slide 1 */
.slide-1 { background:linear-gradient(135deg,#0a1f5c 0%,#1a3a8a 50%,#0d2d6b 100%); }
.s1-bg { position:absolute; inset:0; background:url('https://pes.edu/wp-content/uploads/revslider/slider-1/PESSAT2024Bannerbg1.jpg') center/cover no-repeat; opacity:0; transform-origin:center; }
.s1-text { position:absolute; top:8%; left:0; right:0; z-index:3; text-align:center; opacity:0; transform:translateY(-80px); }
.s1-headline { font-family:var(--font-title); font-size:clamp(58px,6.5vw,94px); font-weight:900; color:var(--orange); line-height:.94; letter-spacing:-1px; text-shadow:0 2px 20px rgba(0,0,0,.3); }
.s1-student { position:absolute; bottom:0; left:50%; transform:translateX(-50%) translateY(120px); height:92%; width:auto; object-fit:contain; z-index:4; opacity:0; }
.s1-btn { display:inline-flex; align-items:center; gap:10px; background:var(--orange); color:#fff; font-family:var(--font-title); font-size:15px; font-weight:700; padding:14px 44px; border-radius:var(--radius-sm); position:absolute; bottom:12%; left:50%; transform:translateX(-50%) scale(.7); white-space:nowrap; z-index:5; opacity:0; letter-spacing:1px; transition:background .2s; }
.s1-btn:hover { background:#e05a00; color:#fff; }
.slide-1.active .s1-bg      { animation:panRightLeft 8s ease-out forwards; opacity:1; }
.slide-1.active .s1-text    { animation:s1TextDrop .75s .2s cubic-bezier(.22,1,.36,1) forwards; }
.slide-1.active .s1-student { animation:riseFromBottom .85s .5s cubic-bezier(.22,1,.36,1) forwards; }
.slide-1.active .s1-btn     { animation:btnPop .6s .9s cubic-bezier(.22,1,.36,1) forwards; }
.slide-1.exiting .s1-text    { animation:s1TextRise .45s ease-in forwards; }
.slide-1.exiting .s1-student { animation:fallToBottom .5s .08s ease-in forwards; }
.slide-1.exiting .s1-btn     { animation:popOut .4s ease-in forwards; }
.slide-1.exiting .s1-bg      { animation:exitLeft .55s ease-in forwards; }

/* Slide 2 */
.s2-bg { position:absolute; inset:0; background:url('https://pes.edu/wp-content/uploads/revslider/slider-1/mdes-slider.jpg') center/cover no-repeat; transform:scale(1.1); opacity:0; }
.s2-overlay { position:absolute; inset:0; background:rgba(0,0,0,.2); z-index:1; opacity:0; }
.s2-content { position:absolute; top:33%; left:5%; z-index:2; text-align:left; max-width:500px; transform:scale(.85); opacity:0; }
.s2-tag { font-family:var(--font-body); font-size:13px; font-weight:700; color:rgba(255,255,255,.9); letter-spacing:5px; text-transform:uppercase; margin-bottom:10px; display:block; }
.s2-title { font-family:var(--font-title); font-size:clamp(24px,3vw,36px); font-weight:900; color:#fff; line-height:1.15; margin-bottom:14px; }
.s2-sub { font-family:var(--font-body); font-size:15px; font-style:italic; color:#fff; background:var(--orange); padding:10px 16px; display:block; margin-bottom:20px; line-height:1.55; max-width:380px; }
.s2-btn { display:inline-flex; align-items:center; gap:8px; color:#fff; font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:6px 12px; border:2px solid rgba(255,255,255,.7); transition:background .2s,color .2s; }
.s2-btn:hover { background:var(--orange); border-color:var(--orange); color:#fff; }
.slide-2.active .s2-bg      { animation:bgZoomIn .9s 0s cubic-bezier(.22,1,.36,1) forwards; }
.slide-2.active .s2-overlay { animation:popUp .5s .2s ease forwards; }
.slide-2.active .s2-content { animation:popUp .75s .3s cubic-bezier(.22,1,.36,1) forwards; }
.slide-2.exiting .s2-content { animation:popOut .45s ease-in forwards; }
.slide-2.exiting .s2-bg      { animation:popOut .5s .05s ease-in forwards; }

/* Slide 3 */
.s3-bg { position:absolute; inset:0; background:url('https://pes.edu/wp-content/uploads/revslider/slider-1/PESSAT2024Bannerbg1.jpg') center/cover no-repeat; transform:translateX(6%) scale(1.04); opacity:0; }
.s3-overlay { position:absolute; inset:0; background:rgba(0,25,80,.58); z-index:1; opacity:0; }
.s3-badge { position:absolute; left:26%; top:50%; transform:translateY(calc(-50% + 80px)); width:230px; height:auto; z-index:3; opacity:0; }
.s3-text { position:absolute; top:50%; left:48%; transform:translateY(calc(-50% - 80px)); z-index:3; opacity:0; max-width:480px; }
.s3-headline { font-family:var(--font-title); font-size:clamp(32px,4vw,54px); font-weight:900; color:#fff; line-height:1.1; text-transform:uppercase; }
.s3-headline span { color:var(--orange); }
.slide-3.active .s3-bg      { animation:panRightLeft 8s ease-out forwards; opacity:1; }
.slide-3.active .s3-overlay { animation:popUp .4s .1s ease forwards; }
.slide-3.active .s3-text    { animation:dropFromTop .7s .3s cubic-bezier(.22,1,.36,1) forwards; }
.slide-3.active .s3-badge   { animation:riseUp .8s .5s cubic-bezier(.22,1,.36,1) forwards; }
.slide-3.exiting .s3-text  { animation:riseToTop .5s ease-in forwards; }
.slide-3.exiting .s3-badge { animation:fallDown .5s .08s ease-in forwards; }
.slide-3.exiting .s3-bg    { animation:exitLeft .55s ease-in forwards; }

/* ── Unified Slide Caption ── */
.slide-caption { position:absolute; bottom:15%; left:8%; max-width:600px; opacity:0; z-index:5; }
.slide-headline { display:block; font-family:var(--font-title); font-size:clamp(22px,3vw,44px); font-weight:700; color:#fff; background:#002060; padding:8px 16px; line-height:1.4; margin:0 0 8px; width:fit-content; }
.slide-subtitle { display:block; font-family:var(--font-body); font-size:clamp(13px,1.5vw,18px); font-weight:400; color:#fff; background:var(--orange); padding:8px 16px; line-height:1.5; width:fit-content; margin:0; }
@keyframes captionEnter { 0%{transform:translateY(30px);opacity:0;} 100%{transform:translateY(0);opacity:1;} }
@keyframes captionExit  { 0%{transform:translateY(0);opacity:1;} 100%{transform:translateY(-20px);opacity:0;} }
.slide.active  .slide-caption { animation:captionEnter .7s .3s cubic-bezier(.22,1,.36,1) forwards; }
.slide.exiting .slide-caption { animation:captionExit .4s ease-in forwards; }

/* ══════════════════════════════════════
   INFO CARDS
══════════════════════════════════════ */
.info-cards-section { padding: 70px 0; background: var(--bg-primary); }
.info-cards-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.info-card {
  background: #fff; border: 1px solid #a8d4f5;
  border-radius: 14px; padding: 30px 28px 32px;
  box-shadow: 0 2px 12px rgba(0,55,123,.07);
  transition: transform .2s, box-shadow .2s;
  display: flex; flex-direction: column;
}
.info-card:hover { transform: translateY(-4px); box-shadow: 0 8px 28px rgba(0,55,123,.13); }
.info-card-icon {
  width: 50px; height: 50px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; color: #fff; margin-bottom: 18px; flex-shrink: 0;
}
.info-card-title {
  font-family: var(--font-title); font-size: 1.1rem; font-weight: 700;
  color: var(--brand-navy); margin-bottom: 10px;
}
.info-card-text {
  font-family: var(--font-body); font-size: .9rem;
  color: #4a5568; line-height: 1.75; margin-bottom: 18px; flex: 1;
}
.info-card-links { display: flex; flex-direction: column; gap: 6px; margin-top: auto; border-top: 1px solid #e4eaf3; padding-top: 14px; }
.info-card-links a {
  display: flex; align-items: center; gap: 4px;
  font-family: var(--font-body); font-size: .875rem; font-weight: 600;
  color: var(--brand-navy); text-decoration: none;
  transition: color .15s, gap .15s;
}
.info-card-links a i { font-size: 1.1rem; color: var(--orange); }
.info-card-links a:hover { color: var(--orange); gap: 8px; }

/* ══════════════════════════════════════
   VIDEO SECTION
══════════════════════════════════════ */
.video-section { padding:70px 0; background:var(--bg-primary); }
.video-wrap { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.video-wrap iframe { position:absolute; top:0; left:0; width:100%; height:100%; border-radius:var(--radius-lg); }

/* ══════════════════════════════════════
   ABOUT + ANNOUNCEMENTS
══════════════════════════════════════ */
.about-announce-section {
  background: linear-gradient(to right, #eef4fb 60%, var(--brand-navy) 60%);
}
.about-announce-section .container { max-width: 1400px; padding: 0; }
.about-announce-grid { display:grid; grid-template-columns:3fr 2fr; min-height:460px; }
.about-panel { background: transparent; display:flex; align-items:center; }
.about-panel-inner { padding: 60px 2rem; width: 100%; box-sizing: border-box; }
.about-label { font-family:var(--font-body); font-size:11px; font-weight:700; letter-spacing:3px; color:var(--orange); text-transform:uppercase; display:block; margin-bottom:12px; }
.about-heading { font-family:var(--font-title); font-size:30px; font-weight:700; color:var(--brand-navy); margin:0 0 16px; }
.about-accent { width:50px; height:4px; background:var(--accent-gradient); border-radius:2px; margin-bottom:24px; }
.about-text { font-family:var(--font-body); font-size:15px; color:var(--text-secondary); line-height:1.9; margin-bottom:28px; }
.about-readmore { display:inline-flex; align-items:center; gap:10px; font-family:var(--font-body); font-size:14px; font-weight:700; color:var(--brand-navy); border-bottom:2px solid var(--brand-navy); padding-bottom:3px; transition:color .2s,border-color .2s; }
.about-readmore:hover { color:var(--orange); border-color:var(--orange); }
.announce-panel { background: transparent; display:flex; align-items:center; padding: 60px 4rem; }
.announce-panel-inner { padding:60px 2rem; width:100%; box-sizing:border-box; text-align:center; }
.announce-heading { font-family:var(--font-title); font-size:20px; font-weight:700; color:#fff; margin:0 0 30px; display:flex; align-items:center; justify-content:center; gap:12px; }
.announce-heading i { color:var(--orange); font-size:18px; }
.announce-list { list-style:none; padding:0; margin:0; }
.announce-list li { border-bottom:1px solid rgba(255,255,255,.1); }
.announce-list li:last-child { border-bottom:none; }
.announce-list li a { display:block; font-family:var(--font-body); font-size:13px; font-weight:600; color:var(--orange); padding:15px 0; letter-spacing:.5px; text-transform:uppercase; transition:color .2s; text-align:center; }
.announce-list li a:hover { color:#fff; }

/* ══════════════════════════════════════
   CTA BANNER
══════════════════════════════════════ */
.cta-banner { display:flex; }
.cta-left { flex:1; background:var(--orange); display:flex; align-items:center; justify-content:center; padding:30px 50px; }
.cta-left span { font-family:var(--font-title); font-size:18px; font-weight:700; color:#fff; text-align:center; letter-spacing:1px; }
.cta-right { flex:0 0 320px; background:var(--brand-navy); display:flex; align-items:center; justify-content:center; padding:30px 40px; }
.cta-apply { display:flex; align-items:center; gap:14px; font-family:var(--font-title); font-size:20px; font-weight:700; color:#fff; transition:opacity .2s; }
.cta-apply:hover { opacity:.8; }
.cta-logo { width:40px; height:40px; border-radius:50%; background:#fff; padding:2px; }

/* ══════════════════════════════════════
   COMMON
══════════════════════════════════════ */
.section { padding:70px 0; }
.container { max-width:1400px; margin:0 auto; padding:0 2rem; }
.section-title { font-size:2rem; font-weight:700; color:var(--brand-navy); font-family:var(--font-title); margin-bottom:6px; }
.section-subtitle { font-size:1.3rem; font-weight:300; color:var(--text-secondary); font-family:var(--font-title); margin-bottom:0; }

/* ══════════════════════════════════════
   CAMPUSES — 3-D AUTO CAROUSEL
══════════════════════════════════════ */

/* Stage: regular section, no sticky magic */
.campuses-section { background: transparent; }
.campuses-stage {
  background: linear-gradient(160deg, #0d1a2e 0%, #080f1c 100%);
  padding: 56px 0 52px;
  position: relative; overflow: hidden;
}
.campuses-stage::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 90% 55% at 50% -10%, rgba(0,55,123,.32) 0%, transparent 68%);
  pointer-events: none; z-index: 0;
}

/* Header text */
.campuses-section .section-eyebrow  { color: rgba(255,255,255,.48); }
.campuses-section .section-title    { color: #fff; }
.campuses-section .section-subtitle { color: rgba(255,255,255,.4); }

.campuses-header {
  margin-bottom: 40px;
  display: flex; align-items: flex-end; justify-content: space-between;
  position: relative; z-index: 2;
}

.campus-track-wrap { position: relative; overflow: hidden; }

/* Marquee row — the card set is duplicated once in the DOM (2nd copy is
   aria-hidden) and the whole track is scrolled by a CSS animation from
   translateX(0) to translateX(-<one set's width>), set by JS as
   --campus-loop-distance. Since the duplicate picks up exactly where the
   first set ends, the animation can loop instantly with no visible seam,
   and the browser compositor drives it instead of per-frame JS. */
.campus-h-track {
  display: flex;
  gap: 16px;
  width: max-content;
  padding: 0 1.5rem 4px;
  position: relative; z-index: 1;
  animation: campus-marquee 38s linear infinite;
}
.campus-track-wrap:hover .campus-h-track { animation-play-state: paused; }

@keyframes campus-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(var(--campus-loop-distance, -2400px)); }
}

/* ── Card shell — fixed 316×316 at every breakpoint ── */
.campus-card {
  flex: 0 0 316px;
  width: 316px;
  height: 316px;
  border-radius: 14px; overflow: hidden;
  position: relative; cursor: pointer;
  box-shadow: 0 8px 28px rgba(0,0,0,.5);
  transition: transform .25s, box-shadow .25s;
}
.campus-card:hover { box-shadow: 0 18px 48px rgba(0,0,0,.65); transform: translateY(-3px); }

/* ── Full-bleed image ── */
.campus-card > a { display: block; position: absolute; inset: 0; text-decoration: none; color: #fff; }
.campus-card-bg  { position: absolute; inset: 0; overflow: hidden; }
.campus-card-bg img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s ease; display: block;
}
.campus-card:hover .campus-card-bg img { transform: scale(1.07); }

/* ── Gradient overlay ── */
.campus-card-body {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,6,20,.97) 0%, rgba(0,6,20,.5) 42%, transparent 68%);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 16px;
  transition: background .35s ease;
}
.campus-card:hover .campus-card-body {
  background: linear-gradient(to top, rgba(0,6,20,.99) 0%, rgba(0,6,20,.8) 55%, rgba(0,6,20,.22) 100%);
}

/* ── City badge ── */
.campus-card-tag {
  position: absolute; top: 10px; left: 10px;
  display: inline-flex; align-items: center; gap: 4px;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.88);
  font-family: var(--font-body); font-size: .55rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  padding: .2rem .6rem; border-radius: 20px; z-index: 3;
}
.campus-card-tag.tag--here { background: rgba(255,108,0,.78); border-color: var(--orange); color: #fff; }

/* ── Card info text ── */
.campus-card-info { min-width: 0; }
.campus-card-info h3 {
  font-family: var(--font-title); font-size: .95rem; font-weight: 700;
  color: #fff; margin-bottom: 3px; line-height: 1.3;
}
.campus-card-info p {
  font-family: var(--font-body); font-size: .63rem;
  color: rgba(255,255,255,.5);
  display: flex; align-items: center; gap: 3px;
  margin: 0;
}
.campus-card-info p i { font-size: .6rem; color: var(--orange); }

/* ── Visit link ── */
.campus-card-visit {
  display: inline-flex; align-items: center; gap: 5px;
  color: var(--orange); font-family: var(--font-body);
  font-size: .7rem; font-weight: 700; margin-top: 8px;
  transition: gap .2s ease;
}
.campus-card:hover .campus-card-visit { gap: 8px; }

/* ── Mobile ── */
@media (max-width: 767px) {
  .campuses-stage { padding: 36px 0 44px; }
  .campus-h-track { gap: 12px; padding: 0 1rem 4px; }
}

/* ══════════════════════════════════════
   ACADEMICS / PROMO CARDS
══════════════════════════════════════ */
.academics-section { background:var(--bg-primary); padding:70px 0; position:relative; }
.academics-bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:.15; }
.academics-inner { position:relative; z-index:1; }
.academics-intro { margin-bottom:40px; }
.subtext { font-size:1.2rem; color:var(--brand-navy); font-family:var(--font-title); line-height:1.9; max-width:300px; }
.promo-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-bottom:50px; align-items:stretch; height:600px; }
.promo-card { background:var(--bg-primary); border:2px solid var(--border-color); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); overflow:hidden; display:flex; flex-direction:column; position:relative; transition:var(--transition); }
.promo-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--primary-gradient); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.promo-card:hover { box-shadow:var(--shadow-md); transform:translateY(-4px); }
.promo-card:hover::before { transform:scaleX(1); }
.promo-card img { width:100%; object-fit:cover; flex-shrink:0; }
.promo-card-body { padding:24px 24px 0; display:flex; flex-direction:column; flex:1; }
.promo-card-body h3 { font-size:18px; color:var(--brand-navy); font-family:var(--font-title); font-weight:700; margin-bottom:10px; }
.promo-card-body p { font-size:15px; color:var(--text-secondary); font-family:var(--font-body); line-height:1.8; flex:1; }
.promo-card-body .arrow-link { display:inline-block; color:var(--brand-navy); font-size:17px; margin-top:12px; transition:transform .2s; padding-bottom:24px; }
.promo-card-body .arrow-link:hover { transform:translateX(6px); color:var(--orange); }

/* FACULTY */
.faculty-title { font-size:2rem; font-weight:700; color:var(--brand-navy); font-family:var(--font-title); margin-bottom:24px; }
.faculty-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-bottom:40px; align-items:stretch; }
.faculty-card { border-radius:var(--radius-lg); overflow:hidden; display:flex; flex-direction:column; border:2px solid var(--border-color); box-shadow:var(--shadow-sm); transition:var(--transition); }
.faculty-card:hover { box-shadow:var(--shadow-md); transform:translateY(-4px); }
.faculty-photo-wrap { position:relative; overflow:hidden; height:260px; flex-shrink:0; }
.faculty-photo-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.faculty-card:hover .faculty-photo-wrap img { transform:scale(1.03); }
.faculty-play-icon { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:60px; height:60px; background:rgba(255,255,255,.88); border-radius:50%; display:flex; align-items:center; justify-content:center; pointer-events:none; transition:background .2s,transform .2s; }
.faculty-card:hover .faculty-play-icon { background:rgba(255,108,0,.92); transform:translate(-50%,-50%) scale(1.1); }
.faculty-play-icon i { color:var(--brand-navy); font-size:22px; margin-left:4px; }
.faculty-card:hover .faculty-play-icon i { color:#fff; }
.faculty-card-body { background:var(--brand-navy); padding:22px 22px 16px; box-shadow:none; display:flex; flex-direction:column; flex:1; }
.faculty-card-body h3 { font-size:17px; color:#fff; font-family:var(--font-title); font-weight:700; margin-bottom:8px; }
.faculty-card-body p { font-size:13px; color:rgba(255,255,255,.9); font-family:var(--font-body); line-height:1.7; flex:1; }
.faculty-card-body .arrow-link { display:inline-block; color:#fff; font-size:17px; margin-top:12px; transition:transform .2s; }
.faculty-card-body .arrow-link:hover { transform:translateX(6px); color:var(--orange); }

/* RANKINGS */
.rankings-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ranking-card { background:var(--bg-primary); border:2px solid var(--border-color); border-radius:var(--radius-md); padding:24px 16px; text-align:center; box-shadow:var(--shadow-sm); transition:var(--transition); }
.ranking-card:hover { box-shadow:var(--shadow-md); transform:translateY(-4px); }
.ranking-card img { width:60px; margin:0 auto 16px; }
.ranking-card h5 { font-size:16px; color:var(--brand-navy); font-family:var(--font-title); font-weight:700; margin-bottom:8px; }
.ranking-card p { font-size:13px; color:var(--text-secondary); font-family:var(--font-body); line-height:1.7; }

/* ══════════════════════════════════════
   PLACEMENTS
══════════════════════════════════════ */
.placements-section { position:relative; overflow:hidden; min-height:600px; background-size:cover; background-position:center; }
.placements-inner { display:grid; grid-template-columns:1fr 1fr; min-height:600px; }
.placements-left { position:relative; display:flex; align-items:flex-end; padding:40px 100px 60px; }
.placements-left-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.placements-card { position:relative; z-index:2; background:var(--bg-primary); border-top:4px solid var(--orange); border-radius:var(--radius-md); padding:28px; max-width:340px; box-shadow:var(--shadow-lg); }
.placements-card h1 { font-size:24px; color:var(--brand-navy); font-family:var(--font-title); font-weight:700; margin-bottom:10px; }
.placements-card p { font-size:14px; color:var(--text-secondary); font-family:var(--font-body); line-height:1.7; }
.placements-right { padding:100px 120px 80px 80px; display:flex; flex-direction:column; }
.placements-right-title { font-size:2rem; font-weight:700; color:var(--brand-navy); font-family:var(--font-title); margin-bottom:6px; }
.placements-right-sub { font-size:1.3rem; font-weight:300; color:var(--text-secondary); font-family:var(--font-title); margin-bottom:40px; }
.placements-logos { max-width:100%; }

/* ══════════════════════════════════════
   RESEARCH
══════════════════════════════════════ */
.research-section { padding:70px 0; background:var(--bg-primary); position:relative; }
.research-bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:.1; }
.research-inner { position:relative; z-index:1; }
.research-intro { margin-bottom:40px; }
.research-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; align-items:stretch; }
.research-card { border-radius:var(--radius-lg); border:2px solid var(--border-color); background:var(--bg-primary); box-shadow:var(--shadow-sm); overflow:hidden; display:flex; flex-direction:column; position:relative; transition:var(--transition); }
.research-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--accent-gradient); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.research-card:hover { box-shadow:var(--shadow-md); transform:translateY(-4px); }
.research-card:hover::before { transform:scaleX(1); }
.research-card img { width:100%; object-fit:cover; flex-shrink:0; }
.research-card-body { padding:24px 20px 24px; display:flex; flex-direction:column; flex:1; }
.research-card-body p { font-size:15px; color:var(--text-secondary); font-family:var(--font-body); line-height:1.8; flex:1; }
.research-card-body .arrow-link { display:inline-block; color:var(--brand-navy); font-size:17px; margin-top:12px; transition:transform .2s,color .2s; }
.research-card-body .arrow-link:hover { transform:translateX(6px); color:var(--orange); }

/* ══════════════════════════════════════
   CAMPUS LIFE (legacy)
══════════════════════════════════════ */
.campus-life-section { padding:70px 0; background:var(--bg-primary); position:relative; }
.campus-life-bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:.1; }
.campus-life-inner { position:relative; z-index:1; }
.campus-life-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.campus-life-main { position:relative; min-height:480px; overflow:hidden; border-radius:var(--radius-lg); }
.campus-life-main-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.campus-life-main-card { position:absolute; bottom:30px; left:50px; right:50px; background:var(--bg-primary); border-top:4px solid var(--orange); border-radius:var(--radius-sm); padding:20px; }
.campus-life-main-card p { font-size:13px; color:var(--brand-navy); font-family:var(--font-body); line-height:1.7; }
.campus-life-main-card .arrow { color:var(--brand-navy); font-size:17px; display:inline-block; margin-top:8px; }
.campus-life-news { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.news-tile { position:relative; overflow:hidden; min-height:220px; border-radius:var(--radius-lg); }
.news-tile-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.news-tile-card { position:absolute; bottom:12px; left:12px; right:12px; background:var(--bg-primary); border-top:4px solid var(--orange); border-radius:var(--radius-sm); padding:12px 14px; }
.news-tile-card p { font-size:12px; color:var(--brand-navy); font-family:var(--font-body); line-height:1.6; }
.news-tile-card .arrow { color:var(--brand-navy); font-size:15px; display:inline-block; margin-top:6px; }

/* ══════════════════════════════════════
   NEWS & EVENTS
══════════════════════════════════════ */
.news-section { padding:70px 0; background:var(--bg-primary); }
.news-header { display:flex; align-items:flex-start; gap:24px; margin-bottom:50px; }
.news-header-left { flex-shrink:0; }
.news-title { font-family:var(--font-title); font-size:1.6rem; font-weight:700; color:var(--brand-navy); margin:0 0 8px; letter-spacing:.5px; text-transform:uppercase; }
.news-read-all { font-family:var(--font-body); font-size:13px; color:var(--text-secondary); text-decoration:none; display:block; }
.news-read-all:hover { color:var(--orange); }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:stretch; }
.news-card { border:2px solid var(--border-color); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); overflow:hidden; background:var(--bg-primary); display:flex; flex-direction:column; transition:var(--transition); }
.news-card:hover { box-shadow:var(--shadow-md); transform:translateY(-5px); }
.news-card > a { display:flex; flex-direction:column; flex:1; color:inherit; text-decoration:none; }
.news-card-img { overflow:hidden; height:200px; flex-shrink:0; }
.news-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.news-card:hover .news-card-img img { transform:scale(1.06); }
.news-card-body { padding:22px 22px 16px; display:flex; flex-direction:column; flex:1; }
.news-card-date { font-family:var(--font-body); font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--orange); display:block; margin-bottom:8px; }
.news-card-title { font-family:var(--font-title); font-size:16px; font-weight:700; color:var(--brand-navy); line-height:1.55; margin:0; flex:1; }
.news-card-arrow { color:var(--brand-navy); font-size:17px; margin-top:14px; display:block; transition:transform .2s,color .2s; }
.news-card:hover .news-card-arrow { transform:translateX(6px); color:var(--orange); }

/* ALSO INTERESTED */
.also-interested { padding:70px 0; background:var(--bg-primary); }
.also-interested > .container > h3 { font-size:1.3rem; color:var(--brand-navy); font-family:var(--font-title); font-weight:400; margin-bottom:30px; }
.interest-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; align-items:stretch; }
.interest-card { border:2px solid var(--border-color); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); overflow:hidden; background:var(--bg-primary); display:flex; flex-direction:column; transition:var(--transition); }
.interest-card:hover { box-shadow:var(--shadow-md); transform:translateY(-4px); }
.interest-card img { width:100%; object-fit:cover; flex-shrink:0; }
.interest-card-body { padding:22px 22px 16px; display:flex; flex-direction:column; flex:1; }
.interest-card-body h3 { font-size:18px; color:var(--brand-navy); font-family:var(--font-title); font-weight:700; margin-bottom:10px; }
.interest-card-body p { font-size:15px; color:var(--text-secondary); font-family:var(--font-body); line-height:1.8; flex:1; }
.interest-card-body .arrow-link { display:inline-block; color:var(--brand-navy); font-size:17px; margin-top:12px; transition:transform .2s,color .2s; }
.interest-card-body .arrow-link:hover { transform:translateX(6px); color:var(--orange); }

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
footer {
  background: #001830;
  color: rgba(255, 255, 255, 0.7);
  padding: 70px 0 30px;
  font-family: var(--font-body);
  position: relative;
  z-index: 1;
}
.footer-grid {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem 2.5rem;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 3rem;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.footer-col { padding: 0; border-right: none; }
.footer-col h3 {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 16px;
  padding-bottom: 0;
  border-bottom: none;
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--font-body);
}
.footer-contact p {
  margin-top: 16px;
  font-size: 13.5px;
  font-family: var(--font-body);
  line-height: 1.7;
  max-width: 32ch;
  color: rgba(255, 255, 255, 0.55);
}
.footer-contact p i { color: var(--orange); margin-right: .4rem; }
.footer-ragging { padding-top: 14px; margin-top: 14px !important; border-top: 2px solid var(--orange); font-weight: 600; letter-spacing: .01em; }
.footer-col ul { list-style: none; margin-top: 0; padding: 0; }
.footer-col ul li { margin-bottom: .65rem; }
.footer-col ul li a {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.75);
  font-family: var(--font-body);
  transition: color .2s ease;
}
.footer-col ul li a:hover { color: #fff; }
.footer-bottom {
  background: #001830;
}
.footer-bottom-inner {
  max-width: 1400px;
  padding: 26px 2rem 0;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.footer-copyright { font-size: 12px; color: rgba(255, 255, 255, 0.4); font-family: var(--font-body); }
.footer-copyright a { color: #4a6280; transition: color .18s; }
.footer-copyright a:hover { color: #8aaecb; }
.footer-social { display: flex; gap: .5rem; }
.footer-social a {
  width: 34px;
  height: 34px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8aaecb;
  font-size: .9rem;
  transition: background .2s, color .2s, transform .2s;
}
.footer-social a:hover { background: var(--orange); color: #fff; border-color: var(--orange); transform: translateY(-3px); }
.footer-social a:hover i { color: #fff !important; }

/* ══════════════════════════════════════
   BACK TO TOP
══════════════════════════════════════ */
.back-to-top{
  position:fixed;bottom:28px;right:28px;width:40px;height:40px;border-radius:50%;
  background:var(--brand-navy);color:#fff;border:1px solid rgba(255, 255, 255, 0.1);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 10px 26px rgba(0,38,77,0.32), 0 2px 8px rgba(0,0,0,0.12);
  opacity:0;visibility:hidden;transform:translateY(14px) scale(.9);
  transition:opacity .25s ease, visibility .25s ease, transform .25s ease, background-color .2s ease, box-shadow .2s ease;
  z-index:150;
}
.back-to-top svg{width:19px;height:19px;}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.back-to-top:hover{background:#004a9e;transform:translateY(-3px) scale(1.05);box-shadow:0 14px 32px rgba(0,38,77,0.42), 0 4px 10px rgba(0,0,0,0.14);}
.back-to-top:active{transform:translateY(-1px) scale(1.0);}
@media (max-width:640px){.back-to-top{bottom:18px;right:18px;width:44px;height:44px;}}

/* ══════════════════════════════════════
   MOBILE HEADER
══════════════════════════════════════ */
.mobile-header {
  display: none;
  background: #fff;
  border-bottom: 2px solid var(--border-color);
  padding: 0 16px;
  align-items: center; justify-content: space-between;
  height: 60px;
  position: sticky; top: 0; z-index: 1000;
  box-shadow: 0 2px 12px rgba(0,0,0,.07);
}
.mobile-logo img { height: 44px; }
.hamburger {
  background: none; border: 2px solid var(--border-color);
  border-radius: 8px; cursor: pointer;
  width: 38px; height: 38px;
  display: flex; align-items: center; justify-content: center;
  font-size: 19px; color: var(--brand-navy);
  transition: border-color .2s, background .2s;
}
.hamburger:hover { border-color: var(--brand-navy); background: var(--brand-pale-blue); }

/* ── Overlay ── */
.mm-overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.46);
  z-index: 9998;
  opacity: 0;
  transition: opacity .3s;
}
.mm-overlay.active { opacity: 1; }

/* ── Drawer (slides from LEFT) ── */
.mobile-menu {
  position: fixed; top: 0; left: 0; bottom: 0;
  width: 300px; max-width: 88vw;
  background: #fff;
  z-index: 9999;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  display: flex; flex-direction: column;
  box-shadow: 4px 0 32px rgba(0,0,0,.18);
}
.mobile-menu.open { transform: translateX(0); }

/* Drawer header */
.mm-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px;
  background: var(--brand-navy);
  border-bottom: 2px solid rgba(255,255,255,.08);
  flex-shrink: 0;
}
.mm-head-logo { height: 38px; }
.mm-close {
  background: rgba(255,255,255,.12); border: none; color: #fff;
  width: 34px; height: 34px; border-radius: 8px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; transition: background .2s;
}
.mm-close:hover { background: rgba(255,255,255,.24); }

/* Nav area */
.mm-nav { flex: 1; overflow-y: auto; }

/* Item row */
.mm-item { border-bottom: 1px solid #edf1f7; }

.mm-row {
  display: flex; align-items: center;
  width: 100%; padding: 0; background: none; border: none;
  cursor: pointer; text-decoration: none;
  transition: background .15s;
}
.mm-row:hover { background: var(--brand-pale-blue); }

/* Icon badge */
.mm-row-icon {
  width: 44px; height: 50px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; color: var(--brand-navy);
}
.mm-row-label {
  flex: 1; text-align: left;
  font-family: var(--font-body); font-size: .88rem; font-weight: 600;
  color: var(--text-primary); padding: 14px 0;
}
.mm-row-end {
  width: 44px; display: flex; align-items: center; justify-content: center;
  font-size: 13px; color: #b0bec8;
}

/* Accordion chevron rotate */
.mm-item.mm-open > .mm-row .mm-row-end .bi-chevron-down { transform: rotate(180deg); }
.mm-row-end .bi-chevron-down { transition: transform .25s; display: block; }

/* Sub menu */
.mm-sub {
  list-style: none; background: #f7f9fc;
  max-height: 0; overflow: hidden;
  transition: max-height .32s ease;
}
.mm-item.mm-open .mm-sub { max-height: 600px; }
.mm-sub li { border-bottom: 1px solid #edf1f7; }
.mm-sub li:last-child { border-bottom: none; }
.mm-sub li a {
  display: flex; align-items: center; gap: 8px;
  padding: 11px 16px 11px 44px;
  font-family: var(--font-body); font-size: .83rem; font-weight: 500;
  color: var(--text-secondary); text-decoration: none;
  transition: background .15s, color .15s;
}
.mm-sub li a::before {
  content: ''; width: 5px; height: 5px; border-radius: 50%;
  background: var(--border-color); flex-shrink: 0;
}
.mm-sub li a:hover { background: #eef3fb; color: var(--brand-navy); }
.mm-sub li a:hover::before { background: var(--orange); }


/* ══════════════════════════════════════
   MOBILE SECTION DROPDOWN (replaces sidebar)
══════════════════════════════════════ */
.mobile-section-nav { display: none; }
@media (max-width: 768px) {
  aside { display: none; }
  .mobile-section-nav {
    display: block;
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 1001;
  }
}

/* ── Bar (always visible) ── */
.msn-bar {
  display: flex; align-items: center; gap: 14px;
  background: var(--brand-navy); padding: 12px 22px;
  cursor: pointer; border-radius: 0;
  transition: background .15s; user-select: none;
  border: none; width: 100%; text-align: left;
}

/* Orange icon box (left) */
.msn-icon-box {
  width: 40px; height: 40px; border-radius: 8px;
  background: var(--orange);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-size: 19px; color: #fff;
}

/* Text block */
.msn-text { flex: 1; min-width: 0; }
.msn-title {
  display: block;
  font-family: var(--font-body); font-size: .9rem; font-weight: 700;
  color: #fff; line-height: 1.3;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.msn-subtitle {
  display: block;
  font-family: var(--font-body); font-size: .6rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.42); margin-top: 2px;
}

/* Chevron (right) */
.msn-chevron { font-size: 14px; color: rgba(255,255,255,.5); transition: transform .28s; flex-shrink: 0; }
.mobile-section-nav.msn-open .msn-chevron { transform: rotate(180deg); }

/* ── Dropdown list ── */
.msn-list {
  background: #fff;
  border-bottom: 2px solid var(--border-color);
  overflow: hidden; max-height: 0;
  transition: max-height .32s ease;
  box-shadow: 0 6px 20px rgba(0,55,123,.13);
}
.mobile-section-nav.msn-open .msn-list { max-height: 600px; }

.msn-list a {
  display: flex; align-items: center; gap: 12px;
  padding: 13px 16px;
  font-family: var(--font-body); font-size: .875rem; font-weight: 500;
  color: var(--text-secondary); text-decoration: none;
  border-bottom: 1px solid #edf1f7;
  border-left: 3px solid transparent;
  transition: background .15s, color .15s;
}
.msn-list a:last-child { border-bottom: none; }

/* Dot bullet */
.msn-list a::before {
  content: ''; width: 7px; height: 7px; border-radius: 50%;
  background: #ccd8e4; flex-shrink: 0;
  transition: background .15s;
}
.msn-list a:hover { background: var(--brand-pale-blue); color: var(--brand-navy); }
.msn-list a:hover::before { background: var(--brand-navy); }

/* Active item */
.msn-list a.msn-active {
  color: var(--orange); font-weight: 700;
  border-left-color: var(--orange);
  background: #fff8f3;
}
.msn-list a.msn-active::before { background: var(--orange); }

/* ══════════════════════════════════════
   PAGE HERO  (research.pes.edu style)
══════════════════════════════════════ */
.page-hero {
  background: linear-gradient(135deg, #002766 0%, #00377B 45%, #0055B3 100%);
  padding: 130px 0 60px;
  position: relative;
  overflow: hidden;
  border-bottom: 3px solid var(--orange);
}
.page-hero-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
/* Left text block */
.page-hero-text { flex: 1; min-width: 0; }
/* Category chip */
.page-hero-chip {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(0,0,0,.30);
  border: 1px solid rgba(255,255,255,.24);
  color: rgba(255,255,255,.92);
  font-size: .78rem;
  font-weight: 600;
  padding: .36rem .95rem;
  border-radius: 30px;
  margin-bottom: 16px;
  font-family: var(--font-body);
  letter-spacing: .03em;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.page-hero-chip i { font-size: .88rem; }
/* Page title */
.page-hero h1 {
  font-family: var(--font-title);
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
  line-height: 1.12;
}
/* Subtitle */
.page-hero-sub {
  font-family: var(--font-body);
  font-size: .97rem;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  margin-bottom: 22px;
  max-width: 580px;
}
/* Orange accent bar */
.page-hero-accent {
  width: 54px;
  height: 4px;
  background: var(--orange);
  border-radius: 3px;
}
/* Right decorative block */
.page-hero-deco {
  position: relative;
  width: 320px;
  height: 220px;
  flex-shrink: 0;
  pointer-events: none;
}
/* Circles */
.deco-card {
  position: absolute;
  border-radius: 50%;
  background: transparent;
}
.deco-card-1 {
  width: 175px; height: 175px;
  top: -20px; right: -20px;
  border: 2px solid rgba(255,108,0,.65);
  box-shadow: 0 0 22px rgba(255,108,0,.18);
}
.deco-card-2 {
  width: 115px; height: 115px;
  top: 115px; left: 0;
  border: 2px solid rgba(97,185,240,.60);
  box-shadow: 0 0 18px rgba(97,185,240,.14);
}
.deco-card-3 {
  width: 80px; height: 80px;
  top: 10px; left: 25px;
  border: 2px solid rgba(97,185,240,.42);
  box-shadow: 0 0 12px rgba(97,185,240,.10);
}
/* Page-specific large background icon */
.deco-icon {
  position: absolute;
  right: 50%;
  top: 50%;
  transform: translate(50%, -50%);
  font-size: 120px;
  color: rgba(255,255,255,.13);
  line-height: 1;
  z-index: 1;
  pointer-events: none;
}
/* Keep old breadcrumb hidden */
.page-hero .breadcrumb { display: none; }
/* Auto-hide duplicate inner title on pages with a preceding hero */
.page-hero + .pes-inner-layout .pes-inner-title,
.page-hero + .pes-inner-layout .pes-inner-rule,
.about-hero + .pes-inner-layout .pes-inner-title,
.about-hero + .pes-inner-layout .pes-inner-rule { display: none; }
/* With the title/rule hidden, give the page's first content block some breathing room below the hero */
.page-hero + .pes-inner-layout,
.about-hero + .pes-inner-layout { padding-top: 60px; }

/* ══════════════════════════════════════
   ABOUT PAGE HERO  (image bg + pop-up card)
══════════════════════════════════════ */
.about-hero {
  position: relative;
  min-height: 650px;
  overflow: visible;
  margin-bottom: 105px;
  background: var(--brand-navy);
}
.about-hero-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.about-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  animation: aboutHeroSlideDown .9s cubic-bezier(.22,1,.36,1) both;
}
.about-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(0,20,50,.72) 0%, rgba(0,20,50,.42) 42%, rgba(0,20,50,.12) 68%, rgba(0,20,50,0) 85%);
  z-index: 1;
}
/* Card straddles the hero's bottom edge — half over the image, half over the page below */
.hero-card {
  position: absolute;
  left: max(2rem, calc((100vw - 1400px) / 2 + 2rem));
  bottom: 0;
  z-index: 2;
  width: min(640px, calc(100% - 2.5rem));
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  padding: 44px;
  background: var(--brand-navy);
  border-radius: 24px 24px;
  box-shadow: var(--shadow-xl);
  animation: aboutHeroCardPop .65s cubic-bezier(.22,1,.36,1) .65s both;
}
.about-hero-eyebrow {
  display: flex; align-items: center; gap: 9px;
  font-family: var(--font-body); font-size: .75rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--orange); margin-bottom: 14px;
}
.about-hero-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); flex-shrink: 0; }
.hero-card h1 {
  font-family: var(--font-title);
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 12px;
}
.hero-card p {
  font-family: var(--font-body);
  font-size: 1.15rem;
  line-height: 1.6;
  color: rgba(255,255,255,.82);
  margin: 0;
}
@keyframes aboutHeroSlideDown {
  from { transform: translateY(-100%); }
  to   { transform: translateY(0); }
}
@keyframes aboutHeroCardPop {
  from { opacity: 0; transform: translateY(calc(25% + 30px)); }
  to   { opacity: 1; transform: translateY(25%); }
}
@media (prefers-reduced-motion: reduce) {
  .about-hero-media img { animation: none; }
  .hero-card { animation: none; transform: translateY(25%); }
}
@media (max-width: 768px) {
  .about-hero { min-height: 300px; margin-bottom: 90px; }
  .hero-card { left: 1.25rem; padding: 26px 22px 30px; width: calc(100% - 2.5rem); height: auto; }
  .hero-card h1 { font-size: 1.6rem; }
  @keyframes aboutHeroCardPop {
    from { opacity: 0; transform: translateY(calc(25% + 24px)); }
    to   { opacity: 1; transform: translateY(25%); }
  }
}

/* ══════════════════════════════════════
   SPLIT HERO
══════════════════════════════════════ */
.split-hero { display:grid; grid-template-columns:1fr 1fr; min-height:420px; }
.split-hero-left { background:var(--primary-gradient); display:flex; flex-direction:column; justify-content:center; padding:60px 56px; }
.split-hero-left h1 { font-family:var(--font-title); font-size:2rem; font-weight:700; color:#fff; line-height:1.2; margin-bottom:20px; }
.split-hero-left p { font-family:var(--font-body); font-size:15px; color:rgba(255,255,255,.85); line-height:1.7; max-width:440px; }
.split-hero-right { position:relative; overflow:hidden; }
.split-hero-right img { width:100%; height:100%; object-fit:cover; display:block; }
.split-hero-card { position:absolute; bottom:0; left:0; right:0; background:var(--bg-primary); padding:24px 28px; border-top:4px solid var(--orange); }
.split-hero-card h3 { font-family:var(--font-title); font-size:18px; font-weight:700; color:var(--brand-navy); margin-bottom:12px; line-height:1.35; }
.split-hero-card a.apply-btn { display:inline-flex; align-items:center; gap:8px; border:2px solid var(--brand-navy); color:var(--brand-navy); font-family:var(--font-body); font-size:13px; font-weight:600; padding:8px 18px; border-radius:var(--radius-sm); text-decoration:none; transition:background .2s,color .2s; }
.split-hero-card a.apply-btn:hover { background:var(--brand-navy); color:#fff; }

/* ══════════════════════════════════════
   PAGE CONTENT
══════════════════════════════════════ */
.page-content { padding:70px 0; }
.page-content .container { max-width:1400px; margin:0 auto; padding:0 2rem; }
.content-wrap { max-width:960px; }
.btn-pill {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: var(--primary-gradient);
  color: #fff;
  padding: .65rem 1.4rem;
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: var(--transition);
  margin-top: 6px;
  box-shadow: var(--shadow-sm);
}
.btn-pill:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); background: var(--accent-gradient); }

/* ══════════════════════════════════════
   GLOBAL TEXT COLOR
══════════════════════════════════════ */
p { color: var(--text-secondary); font-family: var(--font-body); font-size: 1rem; line-height: 1.8; margin-top: 0; margin-bottom: 1.2rem; }
h3, h4, h5, h6 { color: var(--brand-navy); }
.pes-inner-main ul { padding-left: 22px; margin-bottom: 1.25rem; }
.pes-inner-main ul li { color: var(--text-secondary); font-family: var(--font-body); font-size: 1rem; line-height: 1.8; margin-bottom: 8px; }
.pes-inner-main ul li a { color: var(--text-secondary); text-decoration: none; transition: color .2s; }
.pes-inner-main ul li a:hover { color: var(--orange); }

/* ══════════════════════════════════════
   PES INNER PAGE LAYOUT
══════════════════════════════════════ */
.pes-inner-layout { background: var(--bg-primary); }
.pes-inner-layout > .container {
  display: grid;
  grid-template-columns: 1fr 240px;
  gap: 60px;
  align-items: start;
}
.pes-inner-main { padding: 0; min-width: 0; }
.pes-block { max-width: 1400px; margin: 0 auto; padding: 70px 2rem; }
@media (max-width: 600px) { .pes-block { padding: 44px 22px; } }
.pes-inner-title {
  font-family: var(--font-title);
  font-size: 2rem;
  font-weight: 700;
  color: var(--brand-navy);
  line-height: 1.2;
  margin-bottom: 20px;
}
.pes-inner-lead {
  font-size: 1.1rem;
  font-weight: 300;
  color: var(--text-secondary);
  line-height: 1.7;
  font-family: var(--font-title);
  margin-bottom: 24px;
}
.pes-inner-rule {
  border: none;
  border-top: 3px solid var(--orange);
  margin: 0 0 2rem;
}
/* ── Sidebar Nav ── */
.pes-inner-layout aside {
  align-self: start;
  position: sticky;
  top: 80px;
}
.pes-sidebar-nav {
  background: var(--bg-primary);
  border: 2px solid var(--border-color);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  max-height: calc(100vh - 100px);
  overflow-y: auto;
}
/* Section header */
.pes-sidebar-nav::before {
  content: attr(data-title);
  display: block;
  background: var(--primary-gradient);
  color: #fff;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 11px 16px 11px 20px;
}
.pes-sidebar-nav ul { list-style: none; padding: 6px 0; }
.pes-sidebar-nav ul li a {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-family: var(--font-body);
  font-size: .875rem;
  font-weight: 500;
  color: var(--text-secondary);
  padding: .62rem 1.1rem .62rem 1.1rem;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid rgba(211,228,242,.6);
  margin: 0;
  transition: color .2s, background .2s, padding-left .2s;
}
.pes-sidebar-nav ul li:last-child a { border-bottom: none; }
/* Dot bullet */
.pes-sidebar-nav ul li a::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--border-color);
  flex-shrink: 0;
  transition: background .2s, transform .2s;
}
.pes-sidebar-nav ul li a:hover {
  background: var(--brand-pale-blue);
  color: var(--brand-navy);
  padding-left: 1.4rem;
  border-color: rgba(211,228,242,.6);
}
.pes-sidebar-nav ul li a:hover::before { background: var(--orange); }
.pes-sidebar-nav ul li a.active {
  background: var(--brand-pale-blue);
  color: var(--brand-navy);
  font-weight: 700;
  border-color: rgba(211,228,242,.6);
}
.pes-sidebar-nav ul li a.active::before { background: var(--orange); transform: scale(1.2); }
/* Sidebar heading override */
.pes-sidebar-heading {
  background: var(--primary-gradient);
  color: #fff;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 11px 16px 11px 20px;
}
/* Group label inside sidebar */
.pes-sidebar-nav ul li.pes-sidebar-group-label {
  font-family: var(--font-body);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-tertiary);
  padding: 10px 20px 4px;
  pointer-events: none;
}

/* ── Department full-width layout ── */
.pes-inner-layout.dept-layout > .container { grid-template-columns: 1fr; }

/* Zig-zag section row */
.dept-section {
  display: flex;
  align-items: flex-start;
  gap: 48px;
  padding: 40px 0;
  border-bottom: 1px solid var(--border-color);
}
.dept-section:last-child { border-bottom: none; }

/* Odd sections: text left, image right */
.dept-section:nth-child(odd)  { flex-direction: row; }
/* Even sections: image left, text right */
.dept-section:nth-child(even) { flex-direction: row-reverse; }

.dept-sec-text { flex: 1; min-width: 0; }
.dept-sec-img {
  width: 340px;
  height: 260px;
  object-fit: cover;
  border-radius: 14px;
  flex-shrink: 0;
  box-shadow: var(--shadow-md);
  transition: transform .35s, box-shadow .35s;
}
.dept-sec-img:hover { transform: scale(1.03); box-shadow: var(--shadow-lg); }

/* Paragraph-style section headings */
.dept-sec-text h3 {
  font-size: 21px !important;
  font-weight: 700 !important;
  color: var(--brand-navy) !important;
  background: none !important;
  margin: 0 0 10px !important;
  padding: 0 0 10px !important;
  border: none !important;
  border-bottom: 3px solid var(--orange) !important;
  border-radius: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: block;
}
/* Hide orange underline divs */
.dept-sec-text > div[style*="border-top:2px solid var(--orange)"] { display: none !important; }

/* Natural paragraph/list flow */
.dept-sec-text p  { margin-bottom: 1rem; color: var(--text-secondary); line-height: 1.8; }
.dept-sec-text ul { list-style: none !important; padding-left: 0 !important; margin: 0; }
.dept-sec-text ul li {
  position: relative;
  padding-left: 22px !important;
  margin-bottom: 9px;
  color: var(--text-secondary);
  line-height: 1.75;
}
.dept-sec-text ul li::before {
  content: '▸';
  color: var(--orange);
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 2px;
}

@media (max-width: 900px) {
  .dept-sec-img { width: 260px; height: 210px; }
}
@media (max-width: 768px) {
  .dept-section,
  .dept-section:nth-child(even) { flex-direction: column !important; gap: 0; padding: 24px 0; }
  .dept-sec-img { display: none; }
  .dept-layout { background: var(--bg-primary); }
  .pes-inner-layout.dept-layout { padding: 24px 0 40px; }
}

/* Vision / Mission / Goal — three-column card row */
.dept-vmg-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 28px 0 36px;
}
.dept-vmg-card,
.dept-vmg-card:nth-child(odd),
.dept-vmg-card:nth-child(even) {
  flex-direction: column !important;
  gap: 0 !important;
  padding: 24px 22px !important;
  background: #f8fafc !important;
  border: 1px solid var(--border-color) !important;
  border-bottom: 1px solid var(--border-color) !important;
  border-radius: 14px !important;
  align-items: stretch !important;
}
.dept-vmg-row .dept-section:last-child { border-bottom: 1px solid var(--border-color) !important; }
@media (max-width: 768px) {
  .dept-vmg-row { grid-template-columns: 1fr; gap: 12px; margin: 16px 0 20px; }
  .dept-vmg-card,
  .dept-vmg-card:nth-child(odd),
  .dept-vmg-card:nth-child(even) { padding: 18px 16px !important; border-radius: 10px !important; }
}
[data-theme="dark"] .dept-vmg-card { background: #1a2740 !important; border-color: #2e3d58 !important; }

/* ── Department category cards grid ── */
.dept-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 24px;
}
@media (max-width: 768px) {
  .dept-cards-grid { grid-template-columns: 1fr; gap: 16px; }
}
.dept-page-heading { font-size: 35px; font-weight: 700; }
.dept-heading-rule { border-top: 2px solid #ff6c00; margin: 12px 0 24px; }
.dept-card-group { background: var(--bg-primary); border: 2px solid var(--border-color); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); overflow: hidden; }
.dept-card-group-title { font-size: 13px; font-weight: 700; color: #fff; background: var(--brand-navy); margin: 0; padding: 12px 18px; text-transform: uppercase; letter-spacing: .06em; }
.dept-card-group-list { list-style: none; padding: 14px 18px 18px; margin: 0; }
.dept-page-note { margin-top: 28px; color: var(--text-secondary); font-size: 15px; }

/* ── Department faculty table ── */
.dept-faculty-table-wrap { overflow-x: auto; margin: 8px 0 16px; }
.dept-faculty-table {
  width: 100%; border-collapse: collapse;
  font-family: var(--font-body); font-size: .875rem;
}
.dept-faculty-table th {
  background: var(--brand-navy); color: #fff;
  font-weight: 600; text-align: left;
  padding: 11px 16px; font-size: .8rem;
  letter-spacing: .04em; text-transform: uppercase;
}
.dept-faculty-table td {
  padding: 10px 16px;
  border-bottom: 1px solid var(--border-color);
  color: var(--text-secondary);
}
.dept-faculty-table tbody tr:last-child td { border-bottom: none; }
.dept-faculty-table tbody tr:nth-child(even) { background: var(--brand-pale-blue); }

/* ══════════════════════════════════════
   ABOUT PAGE
══════════════════════════════════════ */
/* Full-bleed stats band (breaks out of the container). */
.about-stats-band {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: 60px;
  margin-bottom: 48px;
  z-index: 2;
  background: var(--brand-navy);
  padding-top: 0;
  padding-bottom: 0;
  padding-left: max(40px, calc((100vw - 1400px) / 2 + 40px));
  padding-right: max(40px, calc((100vw - 1400px) / 2 + 40px));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255,255,255,.16);
}
/* Pop in left-to-right on scroll, driven by initPopReveal() in main.js */
.about-stat-item.reveal-hidden {
  opacity: 0;
  transform: translateY(22px) scale(.94);
  transition: opacity .5s ease, transform .5s cubic-bezier(.22,1,.36,1);
}
.about-stat-item.reveal-hidden.in-view { opacity: 1; transform: translateY(0) scale(1); }
.about-stat-item {
  padding: 38px 26px 30px;
  border-right: 1px solid rgba(255,255,255,.16);
}
.about-stat-item:last-child { border-right: none; }
.about-stat-num {
  font-family: var(--font-title);
  font-size: clamp(18px, 2.1vw, 27px);
  font-weight: 700;
  color: #fff;
  line-height: 1.28;
  margin-bottom: 0;
}
.about-stat-label {
  font-family: var(--font-body);
  font-size: 12.5px;
  font-weight: 500;
  color: rgba(255,255,255,.6);
  margin-top: 12px;
  max-width: 22ch;
  line-height: 1.5;
}
@media (max-width: 900px) {
  .about-stats-band { grid-template-columns: 1fr 1fr; padding-left: 40px; padding-right: 40px; }
  .about-stat-item { padding: 28px 18px 24px; }
}
@media (max-width: 560px) {
  .about-stats-band { grid-template-columns: 1fr; padding-left: 24px; padding-right: 24px; }
}

/* ══════════════════════════════════════
   LEADERSHIP PAGE
══════════════════════════════════════ */
.leadership-lead { font-family:var(--font-body); font-size:1rem; color:var(--text-secondary); font-weight:400; line-height:1.7; margin-bottom:24px; }
.leadership-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:40px; }

/* Card — image always visible, details reveal on hover */
.leadership-card {
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 1 / 1;
  position: relative;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .4s, transform .4s;
  cursor: pointer;
}
.leadership-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-5px); }
.leadership-card > a { display: block; height: 100%; text-decoration: none; }

/* Image — visible by default */
.leadership-card-img {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.leadership-card-img img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .5s ease; }
.leadership-card:hover .leadership-card-img img { transform: scale(1.06); }

/* Gradient overlay — subtle default, stronger on hover */
.leadership-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0,15,50,.75) 30%, transparent 70%);
  transition: background .4s ease;
}
.leadership-card:hover::after {
  background: linear-gradient(to top, rgba(0,15,50,.92) 40%, rgba(0,15,50,.25) 100%);
}

/* Info block — always at bottom */
.leadership-card-info {
  position: absolute;
  z-index: 3;
  left: 0; right: 0;
  bottom: 0;
  padding: 22px 22px 20px;
  text-align: left;
}

/* Name — always visible */
.leadership-card-name {
  font-family: var(--font-title);
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  margin: 0;
  line-height: 1.4;
}

/* Role — hidden by default, slides up on hover */
.leadership-card-role {
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(255,255,255,.85);
  margin: 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(8px);
  transition: max-height .4s ease, opacity .35s .08s, transform .35s .08s;
}
.leadership-card:hover .leadership-card-role {
  max-height: 40px;
  opacity: 1;
  transform: translateY(0);
  margin-top: 6px;
}

/* Arrow — removed */
.leadership-card-arrow { display: none; }

/* ══════════════════════════════════════
   NMC / DEPARTMENT LIST
══════════════════════════════════════ */
.nmc-section { margin-bottom:40px; }
.nmc-section-title { font-family:var(--font-title); font-size:1.2rem; font-weight:700; color:var(--brand-navy); border-left:4px solid var(--brand-navy); padding:4px 0 4px 14px; margin:0 0 16px; }
.nmc-list { list-style:none; padding:0; margin:0; }
.nmc-list li { font-family:var(--font-body); font-size:15px; color:var(--text-secondary); padding:9px 0; border-bottom:1px solid var(--border-color); }
.nmc-list li:last-child { border-bottom:none; }
.nmc-list li a { color:var(--brand-navy); text-decoration:none; transition:color .2s; }
.nmc-list li a:hover { color:var(--orange); }
.nmc-list-grid { columns:2; column-gap:40px; }
.nmc-list-grid-3 { columns:3; column-gap:40px; }

/* ══════════════════════════════════════
   HERO MAGAZINE
══════════════════════════════════════ */
.hero-mag {
  position: relative;
  height: 92vh; min-height: 900px;
  overflow: hidden;
  background: #06090f;
  display: flex; align-items: center;
}

/* Full-bleed background per slide */
.hm-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0;
  will-change: opacity;
}
.hm-bg.active  { opacity: 1; }
.hm-bg.leaving { opacity: 0; transition: opacity .5s ease .1s; }

/* Directional gradient overlay */
.hm-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(
    to right,
    rgba(3,7,18,.88) 0%,
    rgba(3,7,18,.62) 32%,
    rgba(3,7,18,.2)  60%,
    transparent 82%
  );
  pointer-events: none;
}

/* Left content column */
.hm-left {
  position: relative; z-index: 3;
  padding: 0 0 200px max(8vw, calc((100vw - 1400px)/2 + 40px));
  flex: 0 0 54%; min-height: 300px;
}

/* Slide text panels — all absolute, .active one is relative to claim height */
.hm-slide {
  position: absolute; top: 0; left: 0; right: 0;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .55s ease, transform .55s ease;
  pointer-events: none;
}
.hm-slide.active {
  position: relative;
  opacity: 1; transform: translateY(0); pointer-events: auto;
}
.hm-slide.leaving {
  opacity: 0; transform: translateY(-22px);
  transition: opacity .28s ease, transform .28s ease;
}

.hm-eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--font-body); font-size: .72rem; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
  color: var(--orange); margin-bottom: 14px;
}
.hm-eyebrow .hm-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--orange); flex: 0 0 auto; }

.hm-title {
  font-family: var(--font-title);
  font-size: clamp(1.9rem, 3.6vw, 3.2rem);
  font-weight: 900; line-height: 1.0;
  color: #fff; margin-bottom: 18px;
  letter-spacing: -.01em; text-transform: none;
}

.hm-desc {
  font-family: var(--font-body); font-size: .88rem;
  color: rgba(255,255,255,.6);
  max-width: 400px; line-height: 1.78; margin-bottom: 30px;
}

.hm-btns { display: flex; gap: 12px; flex-wrap: wrap; }


.hm-btn-primary {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--orange); color: #fff;
  font-family: var(--font-body); font-size: .82rem; font-weight: 700;
  padding: .72rem 1.6rem; border-radius: 40px; text-decoration: none;
  transition: background .2s, transform .2s;
}
.hm-btn-primary:hover { background: var(--orange-dark); transform: translateY(-2px); color: #fff; }

.hm-btn-ghost {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.1); color: #fff;
  border: 1.5px solid rgba(255,255,255,.26);
  font-family: var(--font-body); font-size: .82rem; font-weight: 600;
  padding: .72rem 1.4rem; border-radius: 40px; text-decoration: none;
  backdrop-filter: blur(8px);
  transition: background .2s;
}
.hm-btn-ghost:hover { background: rgba(255,255,255,.2); color: #fff; }

/* Preview cards strip — bottom-right */
.hm-cards {
  position: absolute; bottom: 130px; right: max(48px, calc((100vw - 1400px)/2 + 8px));
  display: flex; gap: 14px;
  z-index: 3; overflow: visible;
}

.hm-card {
  flex: 0 0 140px; height: 175px;
  border-radius: 14px; overflow: hidden;
  position: relative; cursor: pointer;
  box-shadow: 0 8px 28px rgba(0,0,0,.48);
  transition: transform .35s ease, box-shadow .35s ease;
}
.hm-card:hover { transform: translateY(-7px) scale(1.03); box-shadow: 0 18px 40px rgba(0,0,0,.6); }

.hm-card-img {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transition: transform .5s ease;
}
.hm-card:hover .hm-card-img { transform: scale(1.08); }

/* Gradient on card */
.hm-card::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.85) 0%, transparent 55%);
  z-index: 1;
}

.hm-card-body {
  position: absolute; bottom: 13px; left: 13px; right: 13px; z-index: 2;
}
.hm-card-eyebrow {
  display: block;
  font-family: var(--font-body); font-size: .54rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.55); margin-bottom: 4px;
}
.hm-card-title {
  font-family: var(--font-title); font-size: .72rem; font-weight: 700;
  color: #fff; line-height: 1.25; margin: 0;
}

/* Prev/Next nav */
.hm-nav {
  position: absolute; bottom: 128px; left: max(8vw, calc((100vw - 1400px)/2 + 40px));
  display: flex; gap: 10px; z-index: 6;
}
.hm-nav-btn {
  width: 40px; height: 40px; border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.1); backdrop-filter: blur(8px);
  color: #fff; font-size: 14px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background .2s, border-color .2s, transform .15s;
}
.hm-nav-btn:hover { background: var(--orange); border-color: var(--orange); transform: scale(1.1); }

/* Slide counter */
.hm-counter {
  position: absolute; bottom: 136px; right: max(52px, calc((100vw - 1400px)/2 + 12px)); z-index: 6;
  font-family: var(--font-body); font-weight: 800;
  font-size: 1.1rem; color: rgba(255,255,255,.42);
  letter-spacing: .06em;
}

/* Slide dots — mobile only */
.hm-dots {
  position: absolute; bottom: 32px; left: 0; right: 0;
  display: none; justify-content: center; gap: 8px; z-index: 6;
}
.hm-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,.35); cursor: pointer; flex-shrink: 0;
  transition: background .25s, width .25s, border-radius .25s;
  border: none; padding: 0;
}
.hm-dot.active { background: var(--orange); width: 24px; border-radius: 4px; }

/* Mobile */
@media (max-width: 767px) {
  .hero-mag { align-items: flex-end; }
  .hm-left  { padding: 0 1.5rem 210px; flex: 0 0 100%; }
  .hm-title { font-size: 1.75rem; }
  .hm-overlay {
    background: linear-gradient(to top,
      rgba(3,7,18,.92) 0%, rgba(3,7,18,.55) 42%, rgba(3,7,18,.18) 100%);
  }
  .hm-cards  { bottom: 24px; gap: 10px; padding: 0 16px 0 0; }
  .hm-card   { flex: 0 0 108px; height: 150px; }
  .hm-nav    { display: none; }
  .hm-dots   { display: flex; bottom: 182px; }
  .hm-counter { display: none; }
}

/* ══════════════════════════════════════
   ACCREDITATION BAND
══════════════════════════════════════ */
.accred-band {
  background: #fff;
  border-bottom: 1px solid #e4eaf3;
}
.accred-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.accred-item {
  display: flex; align-items: center; gap: 14px;
  padding: 20px 24px;
  border-right: 1px solid #e4eaf3;
  transition: background .15s;
}
.accred-item:last-child { border-right: none; }
.accred-item:hover { background: #f8fafc; }
.accred-icon-wrap {
  width: 44px; height: 44px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; flex-shrink: 0;
}
.accred-name {
  font-family: var(--font-body);
  font-size: .875rem; font-weight: 700;
  color: var(--brand-navy); line-height: 1.3;
}
.accred-sub {
  font-family: var(--font-body);
  font-size: .72rem; color: var(--text-secondary);
  margin-top: 2px; line-height: 1.4;
}

/* ── Info card accent top borders ── */
.info-card--orange { border-top: 3px solid var(--orange); }
.info-card--blue   { border-top: 3px solid #1d4ed8; }
.info-card--teal   { border-top: 3px solid #0d9488; }

/* ══════════════════════════════════════
   VIDEO SECTION — 2-COLUMN LAYOUT
══════════════════════════════════════ */
.video-section { padding: 70px 0; background: var(--bg-primary); }
.video-layout {
  display: grid;
  grid-template-columns: 1fr 1.7fr;
  gap: 72px;
  align-items: center;
}
.section-eyebrow {
  font-family: var(--font-body);
  font-size: .65rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--orange); display: block; margin-bottom: 14px;
}
.video-heading {
  font-family: var(--font-title);
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  font-weight: 700; color: var(--brand-navy);
  line-height: 1.12; margin: 0;
}
.video-accent-bar {
  width: 44px; height: 4px;
  background: var(--orange); border-radius: 2px;
  margin: 22px 0 22px;
}
.video-desc {
  font-family: var(--font-body);
  font-size: .95rem; color: var(--text-secondary);
  line-height: 1.85; margin-bottom: 30px;
}
.video-cta-row { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.video-link {
  display: inline-flex; align-items: center; gap: .45rem;
  font-family: var(--font-body); font-size: .875rem; font-weight: 700;
  color: var(--brand-navy);
  border-bottom: 2px solid var(--brand-navy);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.video-link:hover { color: var(--orange); border-color: var(--orange); }
.video-link--ghost {
  color: var(--text-secondary);
  border-bottom-color: var(--border-color);
  font-weight: 600;
}
.video-link--ghost:hover { color: var(--orange); border-color: var(--orange); }
.video-embed-col .video-wrap {
  border-radius: 16px;
  box-shadow: 0 16px 56px rgba(0,55,123,.14);
  overflow: hidden;
}

/* ══════════════════════════════════════
   SECTION CHIP + HEADING PATTERN
══════════════════════════════════════ */
.section-chip {
  display: inline-flex; align-items: center; gap: .45rem;
  background: rgba(234,88,12,.1); color: var(--orange);
  font-family: var(--font-body); font-size: .65rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  padding: .32rem 1rem; border-radius: 20px;
  margin-bottom: 10px;
}
.section-h2 {
  font-family: var(--font-title);
  font-size: clamp(1.5rem, 2.5vw, 1.9rem);
  font-weight: 700; color: var(--brand-navy); margin: 0;
}
.news-section-header {
  display: flex; align-items: flex-end;
  justify-content: space-between; margin-bottom: 44px;
}
.section-more {
  display: inline-flex; align-items: center; gap: .2rem;
  font-family: var(--font-body); font-size: .875rem; font-weight: 600;
  color: var(--text-secondary); white-space: nowrap; margin-bottom: 2px;
  transition: color .2s;
}
.section-more:hover { color: var(--orange); }
.section-more .bi { font-size: 1.1rem; }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */

/* ── Tablet (≤ 1024px) ── */
@media (max-width: 1024px) {
  .video-layout { grid-template-columns: 1fr; gap: 40px; }
  .promo-cards, .faculty-cards { grid-template-columns: 1fr 1fr; }
  .rankings-grid { grid-template-columns: 1fr 1fr; }
  .news-grid { grid-template-columns: 1fr 1fr; }
  .research-cards { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; padding: 0 1.5rem 2rem; }
  .pes-inner-layout > .container { grid-template-columns: 1fr 200px; gap: 40px; }
  .home-hero-imgbox { width: 380px; height: 270px; }
}

/* ── Mobile (≤ 768px) ── */
@media (max-width: 768px) {
  /* ─ Header ─ */
  .main-header { display: none; }
  .mobile-header { display: flex; }
  .top-bar { display: block; }
  .top-bar-inner { padding: 7px 16px; }
  .top-bar-right .top-bar-link { display: none; }
  .top-bar-right .top-bar-apply-btn { padding: 7px 22px; font-size: .8rem; }

  /* ─ Home Hero ─ */
  .home-hero-inner { flex-direction: column; align-items: flex-start; padding: 44px 1.5rem 40px; }
  .home-hero-imgbox { display: none; }
  .home-hero-sub { max-width: 100%; }

  /* ─ Info cards ─ */
  .info-cards-grid { grid-template-columns: 1fr; }
  .info-cards-section { padding: 36px 0; }

  /* ─ Video ─ */
  .video-section { padding: 40px 0; }

  /* ─ About + announcements ─ */
  .about-announce-section { background: none; }
  .about-announce-grid { grid-template-columns: 1fr; }
  .about-panel { background: #eef4fb; }
  .announce-panel { background: var(--brand-navy); }
  .about-panel-inner { padding: 36px 1.5rem; }
  .announce-panel-inner { padding: 32px 1.5rem; }

  /* ─ Campus section: scroll-driven, no tablet overrides needed ─ */

  /* ─ Accred band ─ */
  .accred-inner { grid-template-columns: 1fr 1fr; }
  .accred-item { padding: 14px 16px; }
  .accred-item:nth-child(2) { border-right: none; }
  .accred-item:nth-child(3) { border-top: 1px solid #e4eaf3; }
  .accred-item:nth-child(4) { border-top: 1px solid #e4eaf3; border-right: none; }

  /* ─ Video layout ─ */
  .video-layout { grid-template-columns: 1fr; gap: 32px; }
  .video-section { padding: 52px 0; }

  /* ─ News ─ */
  .news-section { padding: 44px 0; }
  .news-section-header { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 28px; }
  .news-grid { grid-template-columns: 1fr; }

  /* ─ CTA banner ─ */
  .cta-banner { flex-direction: column; }
  .cta-right { flex: none; }
  .cta-left span { font-size: 15px; }

  /* ─ Hero slider (legacy) ─ */
  .hero-slider { height: 420px; }

  /* ─ Common sections ─ */
  .section { padding: 44px 0; }
  .section-title { font-size: 1.5rem; }
  .section-subtitle { font-size: 1.1rem; }

  /* ─ Promo / faculty / research cards ─ */
  .promo-cards, .faculty-cards { grid-template-columns: 1fr; height: auto; }
  .rankings-grid { grid-template-columns: 1fr 1fr; }
  .research-cards { grid-template-columns: 1fr; }
  .interest-cards { grid-template-columns: 1fr; }
  .campus-life-grid { grid-template-columns: 1fr; }
  .campus-life-news { grid-template-columns: 1fr 1fr; }
  .placements-inner { grid-template-columns: 1fr; }
  .news-tile-card { position: absolute; bottom: 12px; left: 12px; right: 12px; padding: 12px 14px; }

  /* ─ Footer ─ */
  .footer-grid { grid-template-columns: 1fr; padding:0 2rem 1.25rem; }
  .footer-bottom-inner { padding: 1rem 1.25rem; flex-direction: column; gap: .75rem; text-align: center; }

  /* ─ Page hero ─ */
  .page-hero { padding: 110px 0 36px; }
  .page-hero h1 { font-size: 1.6rem; }
  .page-hero-deco { display: none; }
  .page-hero-inner { flex-direction: column; align-items: flex-start; }
  .page-hero-text { max-width: 100%; }

  /* ─ Inner page layout ─ */
  .pes-inner-layout { padding: 36px 0; }
  .pes-inner-layout > .container { grid-template-columns: 1fr; padding: 0 1.25rem; }
  .pes-inner-main { padding: 0 0 1.5rem 0; }
  .pes-inner-layout aside { position: static; }
  .pes-sidebar-nav { max-height: none; overflow-y: visible; margin-bottom: 28px; }
  .pes-inner-title { font-size: 1.5rem; }
  .dept-sec-text h3 { font-size: 17px !important; }
  .dept-sec-text p, .dept-sec-text ul li { font-size: .93rem; }

  /* ─ Split hero ─ */
  .split-hero { grid-template-columns: 1fr; }
  .split-hero-right { min-height: 260px; }
  .split-hero-left { padding: 40px 24px; }
  .split-hero-left h1 { font-size: 1.5rem; }


  /* ─ Leadership ─ */
  .leadership-grid { grid-template-columns: 1fr 1fr; gap: 16px; }

  /* ─ NMC multi-column lists ─ */
  .nmc-list-grid, .nmc-list-grid-3 { columns: 1; }

  /* ─ Admissions doc items ─ */
  .doc-item { flex-wrap: wrap; }

  /* ─ Govt Approval ─ */
  .ga-intro { padding: 18px 16px; gap: 14px; margin-bottom: 20px; }
  .ga-intro i { font-size: 1.5rem; }
  .ga-intro-desc { font-size: .8rem; }
  .ga-table-wrap { border-radius: 8px; }
}

/* ── Small mobile (≤ 480px) ── */
@media (max-width: 480px) {
  .container { padding: 0 1rem; }
  .header-inner { padding: 0 1rem; }
  .footer-grid { padding: 0 2rem 1rem; }

  /* Hero buttons stack vertically */
  .home-hero-btns { flex-direction: column; }
  .home-hero-btn-primary,
  .home-hero-btn-secondary { width: 100%; justify-content: center; padding: .72rem 1.4rem; }

  /* Info card compact */
  .info-card { padding: 22px 18px 24px; }
  .info-card-icon { width: 44px; height: 44px; font-size: 18px; }

  /* Leadership single column */
  .leadership-grid { grid-template-columns: 1fr; }

  /* Inner page padding */
  .pes-inner-layout { padding: 28px 0; }
}

/* ══════════════════════════════════════
   THEME TOGGLE BUTTON
══════════════════════════════════════ */
.theme-toggle {
  background: none;
  border: 2px solid var(--border-color);
  border-radius: 14px;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  font-size: 1rem;
  color: var(--brand-navy);
  flex-shrink: 0;
  transition: background .2s, border-color .2s, color .2s;
}
.theme-toggle:hover { background: var(--brand-navy); border-color: var(--brand-navy); color: #fff; }
.theme-toggle-mobile { margin-left: auto; margin-right: 8px; }
/* Show/hide icons based on mode */
.theme-icon-light { display: none; }
.theme-icon-dark  { display: block; }
[data-theme="dark"] .theme-icon-light { display: block; }
[data-theme="dark"] .theme-icon-dark  { display: none; }

/* Logo switching */
.logo-dark         { display: none; }
.logo-light        { display: block; }
[data-theme="dark"] .logo-light { display: none; }
[data-theme="dark"] .logo-dark  { display: block; filter: brightness(0) invert(1); }

/* Footer logo — always white (footer background is always dark) */
.footer-logo-wrap { margin-bottom: 20px; }
.footer-logo-light { display: none; }
.footer-logo-dark  { height: 36px; width: auto; display: block; }

/* ══════════════════════════════════════
   DARK MODE  — Rich navy palette
   Base:    #12182b  (page bg)
   Surface: #1a2236  (cards / panels)
   Raised:  #222d42  (elevated elements)
   Border:  #2e3d58  (dividers)
   Text1:   #ffffff  (headings)
   Text2:   #9aaabb  (body)
   Text3:   #6277a0  (muted)
   Accent:  orange stays (#ff6c00)
══════════════════════════════════════ */
[data-theme="dark"] {
  --bg-primary:      #1a2236;
  --bg-secondary:    #12182b;
  --text-primary:    #ffffff;
  --text-secondary:  #9aaabb;
  --text-tertiary:   #6277a0;
  --border-color:    #2e3d58;
  --brand-pale-blue: #1e2d47;
  --shadow-sm:  0 1px 4px rgba(0,0,0,.45);
  --shadow-md:  0 4px 18px rgba(0,0,0,.55);
  --shadow-lg:  0 12px 44px rgba(0,0,0,.65);

  --paper:             #080c14;
  --paper-2:           #0e1420;
  --line:              rgba(255,255,255,0.09);
  --muted:             #93a0b8;
  --dept-navy:         #132a46;
  --dept-navy-pale:    #152238;
  --dept-orange:       #ff8f45;
  --dept-orange-light: #ffb37a;
  --dept-orange-pale:  rgba(255,143,69,0.14);
  --dept-ink:          #eef1f7;
}

/* ─ Base ─ */
[data-theme="dark"] body { background: #12182b; color: #ffffff; }
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,
[data-theme="dark"] h4,[data-theme="dark"] h5,[data-theme="dark"] h6 { color: #ffffff; }
[data-theme="dark"] p { color: #9aaabb; }

/* ─ Top bar ─ */
[data-theme="dark"] .top-bar { background: #0b1020; border-bottom-color: #1e2d47; }
[data-theme="dark"] .top-bar-right .top-bar-link { color: rgba(232,238,246,.6); }
[data-theme="dark"] .top-bar-right .top-bar-link:hover { color: #ffffff; }
[data-theme="dark"] .top-bar-left-label { color: rgba(232,238,246,.7); }

/* ─ Header ─ */
[data-theme="dark"] .main-header {
  background: rgba(18,24,43,.96);
  border-bottom-color: #2e3d58;
  box-shadow: 0 2px 16px rgba(0,0,0,.4);
}
[data-theme="dark"] .main-nav > ul > li > a { color: #c8d8e8; }
[data-theme="dark"] .main-nav > ul > li > a:hover,
[data-theme="dark"] .main-nav > ul > li > a.active { color: var(--orange); }
[data-theme="dark"] .theme-toggle { border-color: #2e3d58; color: #ffffff; background: #1a2236; }
[data-theme="dark"] .theme-toggle:hover { background: #222d42; border-color: var(--orange); }

/* ─ Mobile header ─ */
[data-theme="dark"] .mobile-header { background: #12182b; border-bottom-color: #2e3d58; }
[data-theme="dark"] .hamburger { border-color: #2e3d58; color: #ffffff; }
[data-theme="dark"] .hamburger:hover { background: #1a2236; border-color: var(--orange); }

/* ─ Mega menu ─ */
[data-theme="dark"] .mega-menu { background: #1a2236 !important; border-color: #2e3d58 !important; box-shadow: 0 8px 32px rgba(0,0,0,.6); }
[data-theme="dark"] .mega-menu-inner { background: #1a2236; }
[data-theme="dark"] .mega-label { color: #6277a0; border-bottom-color: #2e3d58; }
[data-theme="dark"] .mega-item { border-color: #2e3d58 !important; }
[data-theme="dark"] .mega-item:hover { background: #222d42 !important; }
[data-theme="dark"] .mega-item-name { color: #ffffff !important; }
[data-theme="dark"] .mega-item-desc { color: #9aaabb !important; }
[data-theme="dark"] .mega-icon { background: #222d42 !important; }

/* ─ Mobile menu drawer ─ */
[data-theme="dark"] .mobile-menu { background: #12182b; border-color: #2e3d58; }
[data-theme="dark"] .mm-head { background: #1a2236; border-bottom-color: #2e3d58; }
[data-theme="dark"] .mm-close { color: #ffffff; }
[data-theme="dark"] .mm-row { color: #c8d8e8; border-bottom-color: #2e3d58; }
[data-theme="dark"] .mm-row:hover { background: #1a2236; }
[data-theme="dark"] .mm-sub { background: #0f1525; }
[data-theme="dark"] .mm-sub li a { color: #9aaabb; border-bottom-color: #1e2d47; }
[data-theme="dark"] .mm-sub li a:hover { color: var(--orange); }
[data-theme="dark"] .mm-overlay { background: rgba(0,0,0,.7); }

/* ─ Page hero ─ */
[data-theme="dark"] .page-hero {
  background: linear-gradient(135deg, #0e1424 0%, #162040 50%, #1a2d5a 100%);
}
[data-theme="dark"] .page-hero-chip { background: rgba(255,108,0,.15); border-color: rgba(255,108,0,.3); color: var(--orange); }
[data-theme="dark"] .page-hero-text h1 { color: #ffffff; }
[data-theme="dark"] .page-hero-sub { color: #9aaabb; }
[data-theme="dark"] .deco-card-1 { background: rgba(255,108,0,.12); }
[data-theme="dark"] .deco-card-2 { background: rgba(30,60,100,.4); }
[data-theme="dark"] .deco-card-3 { background: rgba(20,40,80,.35); }

/* ─ Hero slider ─ */
[data-theme="dark"] .home-hero { background: #0b1020; }
[data-theme="dark"] .hero-stat-card { background: rgba(26,34,54,.9); border-color: #2e3d58; }
[data-theme="dark"] .hero-stat-num { color: var(--orange); }
[data-theme="dark"] .hero-stat-label { color: #9aaabb; }

/* ─ Accreditation band ─ */
[data-theme="dark"] .accred-band { background: #1a2236; border-bottom-color: #2e3d58; }
[data-theme="dark"] .accred-item { border-right-color: #2e3d58; }
[data-theme="dark"] .accred-item:hover { background: #222d42; }
[data-theme="dark"] .accred-name { color: #ffffff; }
[data-theme="dark"] .accred-sub { color: #9aaabb; }

/* ─ Info cards ─ */
[data-theme="dark"] .info-cards-section { background: #1a2236; }
[data-theme="dark"] .info-card { background: #222d42; border-color: #2e3d58; }
[data-theme="dark"] .info-card:hover { border-color: var(--orange); }
[data-theme="dark"] .info-card-title { color: #ffffff; }
[data-theme="dark"] .info-card-text { color: #9aaabb; }
[data-theme="dark"] .info-card-links { border-top-color: #2e3d58; }
[data-theme="dark"] .info-card-links a { color: #9aaabb; }
[data-theme="dark"] .info-card-links a:hover { color: var(--orange); }

/* ─ About + announcements ─ */
[data-theme="dark"] .about-announce-section { background: linear-gradient(to right, #1a2236 60%, #0e1424 60%) !important; }
[data-theme="dark"] .about-panel { background: #1a2236 !important; }
[data-theme="dark"] .about-heading { color: #ffffff !important; }
[data-theme="dark"] .about-text { color: #9aaabb !important; }
[data-theme="dark"] .announce-panel { background: #0e1424 !important; }
[data-theme="dark"] .section-title { color: #ffffff !important; }
[data-theme="dark"] .section-subtitle { color: #9aaabb !important; }
[data-theme="dark"] .about-readmore { color: var(--orange); border-color: var(--orange); }

/* ─ Video section ─ */
[data-theme="dark"] .video-section { background: #12182b; }
[data-theme="dark"] .video-text h2 { color: #ffffff; }

/* ─ Academics / promo cards ─ */
[data-theme="dark"] .academics-section { background: #1a2236; }
[data-theme="dark"] .promo-card { background: #222d42; border-color: #2e3d58; }
[data-theme="dark"] .promo-card:hover { border-color: var(--orange); }
[data-theme="dark"] .promo-card-title { color: #ffffff; }
[data-theme="dark"] .promo-card-desc { color: #9aaabb; }

/* ─ Rankings ─ */
[data-theme="dark"] .ranking-card { background: #222d42; border-color: #2e3d58; }
[data-theme="dark"] .ranking-card-label { color: #9aaabb; }

/* ─ News section ─ */
[data-theme="dark"] .news-section { background: #12182b; }
[data-theme="dark"] .news-card { background: #1a2236; border-color: #2e3d58; }
[data-theme="dark"] .news-card:hover { border-color: var(--orange); }
[data-theme="dark"] .news-card-title { color: #ffffff; }
[data-theme="dark"] .news-card-meta { color: #6277a0; }
[data-theme="dark"] .news-card-excerpt { color: #9aaabb; }
[data-theme="dark"] .news-title { color: #ffffff; }

/* ─ Research section ─ */
[data-theme="dark"] .research-section { background: #1a2236; }
[data-theme="dark"] .research-card { background: #222d42; border-color: #2e3d58; }
[data-theme="dark"] .research-card-title { color: #ffffff; }

/* ─ Campus / footer top ─ */
[data-theme="dark"] .campuses-stage { background: linear-gradient(160deg, #09111e 0%, #050c14 100%) !important; }

/* ─ Inner page layout ─ */
[data-theme="dark"] .pes-inner-layout { background: #12182b; }
[data-theme="dark"] .pes-inner-main { color: #9aaabb; }
[data-theme="dark"] .pes-inner-main h1,
[data-theme="dark"] .pes-inner-main h2,
[data-theme="dark"] .pes-inner-main h3,
[data-theme="dark"] .pes-inner-main h4 { color: #ffffff !important; }
[data-theme="dark"] .pes-inner-rule { border-color: #2e3d58; }

/* ─ Sidebar ─ */
[data-theme="dark"] .pes-sidebar-nav { background: #1a2236; border-color: #2e3d58; box-shadow: none; }
[data-theme="dark"] .pes-sidebar-nav::before { background: linear-gradient(90deg, #1a3660, #1e2d47); }
[data-theme="dark"] .pes-sidebar-nav ul li a { color: #9aaabb; border-bottom-color: #2e3d58; }
[data-theme="dark"] .pes-sidebar-nav ul li a:hover { color: #ffffff; background: #222d42; padding-left: 1.4rem; }
[data-theme="dark"] .pes-sidebar-nav ul li a.active { color: var(--orange); background: rgba(255,108,0,.08); }
[data-theme="dark"] .pes-sidebar-nav ul li a::before { background: #2e3d58; }
[data-theme="dark"] .pes-sidebar-nav ul li a.active::before { background: var(--orange); }
[data-theme="dark"] .pes-sidebar-group-label { color: #6277a0 !important; }

/* ─ Dept zig-zag pages ─ */
[data-theme="dark"] .dept-section { border-bottom-color: #2e3d58; }
[data-theme="dark"] .dept-sec-text h3 { color: #ffffff !important; border-bottom-color: var(--orange) !important; }
[data-theme="dark"] .dept-sec-text p,
[data-theme="dark"] .dept-sec-text ul li { color: #9aaabb; }
[data-theme="dark"] .dept-sec-text ul li::before { color: var(--orange); }

/* ─ Tables ─ */
[data-theme="dark"] .infra-table th,
[data-theme="dark"] .ga-table thead tr,
[data-theme="dark"] .dept-faculty-table th { background: #0e1424 !important; }
[data-theme="dark"] .infra-table td,
[data-theme="dark"] .ga-table td,
[data-theme="dark"] .dept-faculty-table td { border-color: #2e3d58; color: #9aaabb; }
[data-theme="dark"] .infra-table tbody tr:nth-child(even) td,
[data-theme="dark"] .ga-table tbody tr:nth-child(even) td { background: #1a2236; }
[data-theme="dark"] .infra-table tbody tr:hover td,
[data-theme="dark"] .ga-table tbody tr:hover td { background: #222d42; }

/* ─ Footer ─ */
[data-theme="dark"] footer { background: #090e1a; }
[data-theme="dark"] .footer-bottom { background: #090e1a; border-top-color: #1e2d47; }
[data-theme="dark"] .footer-copyright { color: #6277a0; }
[data-theme="dark"] footer h3 { color: #ffffff; }
[data-theme="dark"] footer a { color: #9aaabb; }
[data-theme="dark"] footer a:hover { color: var(--orange); }

/* ─ Back to top ─ */
[data-theme="dark"] .back-to-top { background: #1a2236; border-color: #2e3d58; color: #ffffff; }

/* ─ Section headings (inner) ─ */
[data-theme="dark"] .dept-sec-text h3 {
  border-bottom-color: var(--orange) !important;
  background: none !important;
  color: #ffffff !important;
}

/* ─ Page-specific cards ─ */
[data-theme="dark"] .leadership-card { background: #1a2236; }
[data-theme="dark"] .adm-prog-card,
[data-theme="dark"] .adm-step,
[data-theme="dark"] .adm-link-item,
[data-theme="dark"] .adm-hours-card { background: #1a2236; border-color: #2e3d58; }
[data-theme="dark"] .adm-link-label { color: #ffffff; }
[data-theme="dark"] .adm-link-sub { color: #9aaabb; }
[data-theme="dark"] .adm-step-label { color: #ffffff; }
[data-theme="dark"] .adm-step-desc { color: #9aaabb; }
[data-theme="dark"] .adm-hours-row { border-bottom-color: #2e3d58; }
[data-theme="dark"] .adm-hours-heading { color: #ffffff; }
[data-theme="dark"] .adm-hours-day { color: #ffffff; }
[data-theme="dark"] .adm-hours-badge { background: rgba(234,88,12,.18); color: var(--orange); }
[data-theme="dark"] .adm-hours-time { color: #6b7e99; }

/* ─ Marb / careers cards ─ */
[data-theme="dark"] .marb-card,
[data-theme="dark"] .car-job,
[data-theme="dark"] .car-why-card { background: #1a2236; border-color: #2e3d58; }
[data-theme="dark"] .car-job-title { color: #ffffff; }
[data-theme="dark"] .car-dept-tag { background: #222d42; border-color: #2e3d58; color: #9aaabb; }
[data-theme="dark"] .car-why-title { color: #ffffff; }
[data-theme="dark"] .car-why-desc { color: #9aaabb; }
[data-theme="dark"] .car-why-icon { background: #222d42; }
[data-theme="dark"] .car-intro { background: #1a2236; border-left-color: var(--orange); }
[data-theme="dark"] .car-intro p { color: #9aaabb; }
[data-theme="dark"] .marb-card-title { color: #ffffff; }
[data-theme="dark"] .marb-card-desc { color: #9aaabb; }
[data-theme="dark"] .marb-card-icon { background: #222d42; color: #9aaabb; }
[data-theme="dark"] .marb-card-btn { border-color: #9aaabb; color: #9aaabb; }
[data-theme="dark"] .marb-card-btn:hover { background: var(--orange); border-color: var(--orange); color: #fff; }
[data-theme="dark"] .marb-card-btn.pdf i { color: #f87171; }
[data-theme="dark"] .marb-card:hover .marb-card-btn.pdf i { color: #fff; }

/* ─ Accordion (Undergraduate / Postgraduate) ─ */
[data-theme="dark"] .acc-item { border-color: #2e3d58; }
[data-theme="dark"] .acc-header { background: #1a2236; color: #ffffff; }
[data-theme="dark"] .acc-header:hover { background: #222d42; }
[data-theme="dark"] .acc-header.open { background: var(--orange); color: #fff; }
[data-theme="dark"] .acc-body { background: #12182b; border-top-color: #2e3d58; }
[data-theme="dark"] .acc-body p { color: #9aaabb; }

/* ─ Infrastructure cards ─ */
[data-theme="dark"] .infra-vm-card,
[data-theme="dark"] .infra-detail-row,
[data-theme="dark"] .infra-info-row { background: #1a2236; border-color: #2e3d58; }
[data-theme="dark"] .infra-vm-card p,
[data-theme="dark"] .infra-vm-card li { color: #9aaabb; }
[data-theme="dark"] .infra-detail-row span,
[data-theme="dark"] .infra-info-row span { color: #9aaabb; }

/* ─ Vision Mission cards ─ */
[data-theme="dark"] .vm-card { background: #1a2236; border-color: #2e3d58; box-shadow: 0 2px 12px rgba(0,0,0,.25); }
[data-theme="dark"] .vm-card-title { color: #a8c8f0; }
[data-theme="dark"] .vm-card-body { color: #9aaabb; }

/* ─ Dr H R Krishna Rao ─ */
[data-theme="dark"] .kr-profile,
[data-theme="dark"] .kr-card { background: #1a2236; border-color: #2e3d58; }
[data-theme="dark"] .kr-card li,
[data-theme="dark"] .kr-card p { color: #9aaabb; }
[data-theme="dark"] .kr-contact li { color: #9aaabb; }
[data-theme="dark"] .kr-contact a { color: #a8c8f0; }
[data-theme="dark"] .kr-tl-item { background: #1a2236; border-color: #2e3d58; }
[data-theme="dark"] .kr-tl-role { background: #222d42; border-left-color: #2e3d58; }
[data-theme="dark"] .kr-tl-role-name { color: #a8c8f0; }
[data-theme="dark"] .kr-section-title { color: #a8c8f0; }

/* ─ Citizen's Charter ─ */
[data-theme="dark"] .cc-card { background: #1a2236; border-color: #2e3d58; }
[data-theme="dark"] .cc-card li { background: #222d42; color: #9aaabb; }
[data-theme="dark"] .cc-card li:hover { background: #263350; }
[data-theme="dark"] .cc-card p { color: #9aaabb; }
[data-theme="dark"] .cc-content-box { background: #1a2236; }
[data-theme="dark"] .cc-content-box p { color: #9aaabb; }
[data-theme="dark"] .cc-info { background: #1a2236; }
[data-theme="dark"] .cc-info-row span { color: #9aaabb; }
[data-theme="dark"] .cc-info-row i { color: #a8c8f0; }
[data-theme="dark"] .cc-section-title { color: #a8c8f0; }

/* ─ Contact ─ */
[data-theme="dark"] .ct-card,
[data-theme="dark"] .ct-dept-card { background: #1a2236; border-color: #2e3d58; }
[data-theme="dark"] .ct-card-title { color: #ffffff; }
[data-theme="dark"] .ct-card-desc { color: #9aaabb; }
[data-theme="dark"] .ct-card-value a { color: var(--orange); }
[data-theme="dark"] .ct-dept-name { color: #ffffff; }
[data-theme="dark"] .ct-dept-row span { color: #9aaabb; }

/* ══════════════════════════════════════
   PAGE-SPECIFIC STYLES
══════════════════════════════════════ */

/* ── Video Tour (Home) ── */
.vt-layout { display:grid; grid-template-columns:1fr 2fr 1fr; gap:14px; align-items:stretch; min-height:460px; }
.vt-img-col { display:flex; flex-direction:column; gap:14px; }
.vt-img-big { flex:2; border-radius:12px; overflow:hidden; min-height:0; box-shadow:0 8px 32px rgba(0,55,123,.18); }
.vt-img-small { flex:1; border-radius:12px; overflow:hidden; min-height:0; box-shadow:0 8px 32px rgba(0,55,123,.18); }
.vt-img-big img, .vt-img-small img { width:100%; height:100%; object-fit:cover; display:block; }
.vt-video-col { display:flex; flex-direction:column; }
.vt-video-wrap { position:relative; width:100%; flex:1; min-height:0; border-radius:14px; overflow:hidden; box-shadow:0 8px 32px rgba(0,55,123,.18); }
.vt-video-wrap iframe { position:absolute; inset:0; width:100%; height:100%; border:none; display:block; }
@media (max-width:900px) {
  .vt-layout { grid-template-columns:1fr; min-height:auto; }
  .vt-img-col { flex-direction:row; height:180px; }
  .vt-img-big, .vt-img-small { flex:1; }
  .vt-video-wrap { padding-top:56.25%; }
}

/* ── Dr H R Krishna Rao ── */
.kr-section-title { font-family:var(--font-title); font-size:1.05rem; font-weight:700; color:#00377b; padding-left:14px; border-left:3px solid #ea580c; margin-bottom:16px; }
.kr-profile { display:grid; grid-template-columns:200px 1fr; gap:36px; background:#fff; border:1px solid #a8d4f5; border-radius:14px; padding:32px; margin-bottom:28px; }
.kr-photo { width:100%; border-radius:10px; object-fit:cover; display:block; }
.kr-name { font-family:var(--font-title); font-size:1.7rem; font-weight:700; color:#00377b; margin-bottom:4px; }
.kr-role { font-size:.97rem; color:#ea580c; font-weight:600; margin-bottom:20px; }
.kr-bar { height:3px; width:56px; background:#ea580c; border:none; border-radius:2px; margin-bottom:22px; }
.kr-contact { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.kr-contact li { display:flex; align-items:center; gap:10px; font-size:.9rem; color:#4a5568; }
.kr-contact li i { color:#00377b; width:18px; font-size:1rem; }
.kr-contact a { color:#00377b; text-decoration:none; }
.kr-contact a:hover { text-decoration:underline; }
.kr-2col { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:28px; }
.kr-card { background:#fff; border:1px solid #a8d4f5; border-radius:12px; padding:24px 26px; }
.kr-card ul { padding-left:18px; margin-bottom:10px; }
.kr-card li { color:#4a5568; font-size:.93rem; line-height:1.75; margin-bottom:4px; }
.kr-card p { color:#4a5568; font-size:.93rem; line-height:1.75; margin:0; }
.kr-timeline { position:relative; padding-left:36px; margin-bottom:32px; }
.kr-timeline::before { content:''; position:absolute; left:13px; top:8px; bottom:8px; width:2px; background:linear-gradient(to bottom,#00377b,#a8d4f5); }
.kr-tl-item { position:relative; margin-bottom:28px; background:#fff; border:1px solid #e2e8f0; border-radius:14px; overflow:hidden; box-shadow:0 2px 8px rgba(0,55,123,.07); transition:box-shadow .25s,transform .25s; }
.kr-tl-item:hover { box-shadow:0 6px 24px rgba(0,55,123,.13); transform:translateX(4px); }
.kr-tl-item::before { content:''; position:absolute; left:-29px; top:22px; width:14px; height:14px; border-radius:50%; background:#ea580c; border:3px solid #fff; box-shadow:0 0 0 2px #00377b; z-index:1; }
.kr-tl-header { display:flex; align-items:center; gap:14px; background:#00377b; padding:14px 20px; border-left:5px solid #ea580c; }
.kr-tl-num { flex-shrink:0; width:28px; height:28px; border-radius:50%; background:#ea580c; color:#fff; font-size:.72rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.kr-tl-institution { font-size:.9rem; font-weight:700; color:#fff; line-height:1.4; }
.kr-tl-right { padding:14px 20px; display:flex; flex-direction:column; gap:8px; }
.kr-tl-role { display:flex; align-items:center; justify-content:space-between; padding:8px 14px; border-radius:8px; background:#f4f8fd; border-left:3px solid #a8d4f5; gap:12px; }
.kr-tl-role-name { font-size:.88rem; font-weight:600; color:#00377b; }
.kr-tl-period { font-size:.76rem; color:#fff; white-space:nowrap; flex-shrink:0; background:#00377b; padding:3px 10px; border-radius:20px; }
.kr-dark { display:grid; grid-template-columns:1fr 1fr; gap:20px; background:#00377b; border-radius:14px; padding:32px; }
.kr-dark-title { font-family:var(--font-title); font-size:1.05rem; font-weight:700; color:#fff; margin-bottom:14px; padding-left:14px; border-left:3px solid #ea580c; }
.kr-dark ul { padding-left:18px; margin:0; }
.kr-dark li { color:#fff !important; font-size:.9rem; line-height:1.8; margin-bottom:6px; }
.kr-dark p { color:#fff !important; font-size:.93rem; line-height:1.8; margin:0; }
@media (max-width:768px) {
  .kr-profile { grid-template-columns:1fr; }
  .kr-2col { grid-template-columns:1fr; }
  .kr-dark { grid-template-columns:1fr; }
  .kr-photo { max-width:180px; }
}

/* ── Dr M R Doreswamy ── */
.dm-wrap { display:flex; gap:32px; align-items:flex-start; }
.dm-person-col { flex:0 0 420px; display:flex; flex-direction:column; gap:14px; position:relative; }
.dm-photo-card { border-radius:12px; overflow:hidden; border:1px solid #e2e8f0; position:relative; cursor:pointer; }
.dm-photo-card img { width:100%; aspect-ratio:1/1; display:block; object-fit:cover; object-position:top; transition:transform .3s; }
.dm-photo-card:hover img { transform:scale(1.04); }
.dm-photo-overlay { position:absolute; top:10px; right:10px; z-index:10; }
.dm-photo-overlay-btn { width:38px; height:38px; background:rgba(255,255,255,.82); border:none; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; text-decoration:none; box-shadow:0 2px 8px rgba(0,0,0,.18); transition:background .2s; }
.dm-photo-overlay-btn:hover { background:#fff; }
.dm-photo-overlay-btn i { font-size:15px; color:#1a73e8; }
.dm-info-card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:16px 18px 18px; }
.dm-badge { font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#ea580c; margin-bottom:6px; }
.dm-name { font-family:var(--font-title); font-size:1rem; font-weight:700; color:var(--brand-navy); line-height:1.4; margin-bottom:6px; }
.dm-sub { font-size:.82rem; color:#718096; line-height:1.5; }
.dm-content-col { flex:1; min-width:0; }
.dm-title { font-family:var(--font-title); font-size:1.55rem; font-weight:700; color:var(--brand-navy); margin:0 0 22px; }
.dm-content-col p { font-size:.96rem; color:var(--text-secondary); line-height:1.9; margin-bottom:18px; }
.dm-quote { background:#00377b; border-radius:12px; padding:28px 32px; margin-top:8px; margin-bottom:28px; }
.dm-quote p { color:#fff !important; font-size:.97rem; font-weight:600; line-height:1.85; margin:0; }
@media (max-width:768px) {
  .dm-wrap { flex-direction:column; }
  .dm-person-col { flex:none; width:100%; max-width:420px; }
}

/* ── Vision Mission ── */
.vm-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:32px 0 8px; }
.vm-card { background:#fff; border:1px solid #a8d4f5; border-radius:14px; padding:32px 28px 36px; box-shadow:0 2px 12px rgba(0,55,123,.07); transition:transform .2s,box-shadow .2s; }
.vm-card:hover { transform:translateY(-4px); box-shadow:0 8px 28px rgba(0,55,123,.13); }
.vm-card-icon { width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:20px; background:#00377b !important; }
.vm-card-icon i { color:#fff !important; }
.vm-card-title { font-family:var(--font-title); font-size:1.15rem; font-weight:700; color:#00377b; margin-bottom:12px; }
.vm-card-body { font-size:.95rem; color:#4a5568; line-height:1.75; margin:0; }
@media (max-width:768px) { .vm-cards { grid-template-columns:1fr; } }

/* ── Citizen's Charter ── */
.cc-section-title { font-family:var(--font-title); font-size:1.05rem; font-weight:700; color:#00377b; padding-left:14px; border-left:3px solid #ea580c; margin-bottom:14px; }
.cc-section-title.cc-mb-16 { margin-bottom:16px; }
.cc-section-title.cc-mb-18 { margin-bottom:18px; }
.cc-intro-last { margin-bottom:28px; }
.cc-2col { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:28px; }
.cc-card { background:#fff; border:1px solid #a8d4f5; border-radius:12px; padding:26px 28px; }
.cc-card-accent { font-size:.88rem; color:#ea580c; font-weight:600; margin-bottom:14px; }
.cc-card ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.cc-card li { display:flex; align-items:flex-start; gap:10px; background:#f4f8fd; border-left:3px solid #ea580c; border-radius:0 8px 8px 0; padding:10px 14px; color:#2d3748; font-size:.9rem; line-height:1.65; transition:background .2s,transform .2s; }
.cc-card li:hover { background:#e8f0fb; transform:translateX(3px); }
.cc-card li::before { content:'\2714'; color:#ea580c; font-size:.85rem; font-weight:700; margin-top:2px; flex-shrink:0; }
.cc-card p { color:#4a5568; font-size:.93rem; line-height:1.8; margin:0; }
.cc-dark { display:grid; grid-template-columns:1fr 1fr; gap:20px; background:#00377b; border-radius:14px; padding:32px; margin-bottom:28px; }
.cc-dark-title { font-family:var(--font-title); font-size:1.05rem; font-weight:700; color:#fff; margin-bottom:12px; padding-left:14px; border-left:3px solid #ea580c; }
.cc-dark p { color:rgba(255,255,255,.85); font-size:.93rem; line-height:1.8; margin-bottom:10px; }
.cc-dark p:last-child { margin-bottom:0; }
.cc-image-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:28px; align-items:stretch; }
.cc-image-box { border-radius:12px; overflow:hidden; min-height:280px; background-size:cover; background-position:center; }
.cc-image-box.cc-image-box-responsibilities { background-image:url(/assets/img/9.jpg); }
.cc-content-box { background:#f0f6ff; border-radius:12px; padding:28px; }
.cc-content-box p { color:#4a5568; font-size:.93rem; line-height:1.8; margin:0; }
.cc-info { background:#f8fafc; border-radius:14px; padding:28px 32px; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.cc-info-row { display:flex; gap:11px; margin-bottom:10px; }
.cc-info-row i { color:#00377b; font-size:1rem; margin-top:2px; flex-shrink:0; }
.cc-info-row span { font-size:.9rem; color:#4a5568; line-height:1.7; }
@media (max-width:768px) { .cc-2col,.cc-dark,.cc-image-grid,.cc-info { grid-template-columns:1fr; } }

/* ── MARB ── */
.marb-intro { background:linear-gradient(135deg,var(--brand-navy) 60%,#1e4fa0); border-radius:14px; padding:28px 32px; display:flex; align-items:center; gap:24px; margin-bottom:36px; border-left:6px solid var(--orange); }
.marb-intro-icon { font-size:2.4rem; color:var(--orange); flex-shrink:0; }
.marb-intro-title { font-family:var(--font-title); font-size:1.1rem; font-weight:700; color:#fff; margin:0 0 6px; }
.marb-intro-desc { font-family:var(--font-body); font-size:.87rem; color:rgba(255,255,255,.8); line-height:1.65; margin:0; }
.marb-heading { font-family:var(--font-title); font-size:1.1rem; font-weight:700; color:var(--brand-navy); display:inline-block; padding-bottom:10px; border-bottom:3px solid var(--orange); margin-bottom:24px; }
.marb-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:12px; }
.marb-card { background:#fff; border:1px solid var(--border-color); border-radius:14px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.06); transition:transform .28s,box-shadow .28s,border-color .28s; display:flex; flex-direction:column; }
.marb-card:hover { transform:translateY(-4px); box-shadow:0 10px 30px rgba(0,0,0,.11); border-color:var(--orange); }
.marb-card-img { height:140px; background-size:cover; background-position:center; position:relative; overflow:hidden; flex-shrink:0; }
.marb-card-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,15,50,.65) 0%,transparent 60%); }
.marb-card-num { position:absolute; top:12px; left:14px; z-index:2; background:var(--orange); color:#fff; font-family:var(--font-body); font-size:.7rem; font-weight:700; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.marb-card-body { padding:20px 20px 16px; flex:1; display:flex; flex-direction:column; }
.marb-card-icon { width:40px; height:40px; border-radius:10px; background:#eff6ff; display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--brand-navy); margin-bottom:12px; transition:background .25s; }
.marb-card:hover .marb-card-icon { background:var(--orange); color:#fff; }
.marb-card-title { font-family:var(--font-body); font-size:.9rem; font-weight:700; color:var(--brand-navy); margin:0 0 8px; line-height:1.4; }
.marb-card-desc { font-family:var(--font-body); font-size:.8rem; color:var(--text-secondary); line-height:1.6; margin:0 0 16px; flex:1; }
.marb-card-btn { display:inline-flex; align-items:center; gap:7px; align-self:flex-start; font-family:var(--font-body); font-size:.78rem; font-weight:700; padding:7px 16px; border-radius:6px; text-decoration:none; border:2px solid var(--brand-navy); color:var(--brand-navy); transition:background .2s,color .2s; }
.marb-card-btn:hover { background:var(--brand-navy); color:#fff; }
.marb-card-btn.pdf i { color:#e53e3e; }
.marb-card:hover .marb-card-btn.pdf i { color:#fff; }
@media (max-width:768px) { .marb-grid { grid-template-columns:1fr; } }

/* ── Govt Approval ── */
.ga-intro { background:linear-gradient(135deg,var(--brand-navy) 60%,#1e4fa0); border-radius:14px; padding:24px 28px; display:flex; align-items:center; gap:20px; margin-bottom:32px; border-left:6px solid var(--orange); }
.ga-intro i { font-size:2rem; color:var(--orange); flex-shrink:0; }
.ga-intro-title { font-family:var(--font-title); font-size:1rem; font-weight:700; color:#fff; margin:0 0 4px; }
.ga-intro-desc { font-family:var(--font-body); font-size:.83rem; color:rgba(255,255,255,.8); line-height:1.6; margin:0; }
.ga-heading { font-family:var(--font-title); font-size:1.1rem; font-weight:700; color:#9aaabb; display:inline-block; padding-bottom:10px; border-bottom:3px solid var(--orange); margin-bottom:22px; }
.ga-table-wrap { overflow-x:auto; border-radius:12px; border:1px solid var(--border-color); box-shadow:0 2px 10px rgba(0,0,0,.06); }
.ga-table { width:100%; min-width:680px; border-collapse:collapse; font-family:var(--font-body); font-size:.84rem; }
.ga-table thead tr { background:var(--brand-navy); }
.ga-table th { padding:13px 14px; text-align:left; color:#fff; font-weight:600; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; border-right:1px solid rgba(255,255,255,.12); white-space:nowrap; }
.ga-table th:last-child { border-right:none; }
.ga-table td { padding:10px 14px; border-bottom:1px solid var(--border-color); color:var(--text-secondary); vertical-align:middle; line-height:1.55; }
.ga-table tbody tr:last-child td { border-bottom:none; }
.ga-table tbody tr:nth-child(even) td { background:#f8fafc; }
.ga-table tbody tr:hover td { background:#f1f5f9; }
.ga-table td:first-child { font-weight:700; color:#9aaabb; text-align:center; width:48px; }
.ga-table th:first-child { width:48px; }
.ga-table th.ga-col-doc { width:90px; }
.ga-unavailable { font-size:.78rem; color:#999; }
.ga-table td:nth-child(2) { font-weight:600; color:#9aaabb; }
.ga-table td:nth-child(3) { font-size:.8rem; }
.ga-table a { display:inline-flex; align-items:center; gap:4px; background:#f1f5f9; color:#9aaabb; font-size:.75rem; font-weight:600; padding:3px 10px; border-radius:20px; text-decoration:none; margin:2px 3px 2px 0; border:1px solid #cbd5e1; transition:background .2s,color .2s; white-space:nowrap; }
.ga-table a:hover { background:var(--orange); color:#fff; border-color:var(--orange); }
.ga-table a::before { content:'\f1c1'; font-family:FontAwesome; font-size:.7rem; }

/* ── Careers ── */
.car-intro { font-size:1rem; color:var(--text-secondary); line-height:1.85; margin-bottom:40px; padding:24px 28px; background:#eff6ff; border-left:5px solid var(--brand-navy); border-radius:0 10px 10px 0; }
.car-heading { font-family:var(--font-title); font-size:1.15rem; font-weight:700; color:var(--brand-navy); display:inline-block; padding-bottom:10px; border-bottom:3px solid var(--orange); margin-bottom:24px; }
.car-jobs { display:flex; flex-direction:column; gap:18px; }
.car-job { background:#fff; border:1px solid var(--border-color); border-radius:14px; padding:0; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.06); transition:transform .25s,box-shadow .25s,border-color .25s; }
.car-job:hover { transform:translateY(-3px); box-shadow:0 8px 28px rgba(0,0,0,.1); border-color:var(--orange); }
.car-job-head { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid var(--border-color); gap:16px; }
.car-job-title-wrap { display:flex; align-items:center; gap:14px; }
.car-job-icon { width:44px; height:44px; border-radius:10px; background:#eff6ff; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--brand-navy); flex-shrink:0; }
.car-job-title { font-family:var(--font-body); font-size:.98rem; font-weight:700; color:var(--brand-navy); margin:0; }
.car-job-badge { font-family:var(--font-body); font-size:.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; padding:4px 12px; border-radius:20px; flex-shrink:0; }
.badge-faculty { background:#eff6ff; color:#1d4ed8; }
.badge-clinical { background:#fff1f2; color:#be123c; }
.badge-support { background:#f0fdf4; color:#15803d; }
.badge-allied { background:#fef3c7; color:#b45309; }
.car-job-body { padding:16px 22px; }
.car-job-depts { display:flex; flex-wrap:wrap; gap:8px; }
.car-dept-tag { font-family:var(--font-body); font-size:.78rem; color:var(--text-secondary); background:#f8fafc; border:1px solid var(--border-color); padding:4px 12px; border-radius:6px; transition:background .2s,color .2s,border-color .2s; }
.car-job:hover .car-dept-tag { background:#fff7ed; border-color:#fed7aa; color:#c2410c; }
.car-why { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.car-why-card { background:#fff; border:1px solid var(--border-color); border-radius:14px; padding:24px 20px; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,.05); transition:transform .25s,box-shadow .25s; }
.car-why-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,.1); }
.car-why-icon { width:52px; height:52px; border-radius:14px; background:#eff6ff; display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:var(--brand-navy); margin:0 auto 14px; }
.car-why-title { font-family:var(--font-body); font-size:.9rem; font-weight:700; color:var(--brand-navy); margin-bottom:8px; }
.car-why-desc { font-family:var(--font-body); font-size:.8rem; color:var(--text-secondary); line-height:1.65; }
.car-apply { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:8px; }
.car-apply-card { background:var(--brand-navy); border-radius:14px; padding:28px 26px; border-left:5px solid var(--orange); }
.car-apply-heading { font-family:var(--font-title); font-size:1rem; font-weight:700; color:#fff; margin:0 0 18px; }
.car-apply-row { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; }
.car-apply-row:last-child { margin-bottom:0; }
.car-apply-row i { color:var(--orange); font-size:1rem; margin-top:2px; flex-shrink:0; }
.car-apply-row span, .car-apply-row a { font-family:var(--font-body); font-size:.87rem; color:rgba(255,255,255,.85); line-height:1.65; text-decoration:none; }
.car-apply-row a:hover { color:#fff; text-decoration:underline; }
.car-nmc-note { background:#fef3c7; border:1px solid #fcd34d; border-radius:10px; padding:14px 18px; margin-bottom:28px; display:flex; align-items:flex-start; gap:12px; }
.car-nmc-note i { color:#b45309; font-size:1rem; margin-top:2px; flex-shrink:0; }
.car-nmc-note span { font-family:var(--font-body); font-size:.85rem; color:#78350f; line-height:1.6; }
@media (max-width:768px) {
  .car-why { grid-template-columns:1fr 1fr; }
  .car-apply { grid-template-columns:1fr; }
  .car-job-head { flex-direction:column; align-items:flex-start; }
}

/* ── Infrastructure shared (Library / Hostels / Faculty Apartments) ── */
.infra-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:36px; }
.infra-stat { background:var(--brand-navy); border-radius:14px; padding:22px 18px; text-align:center; border-bottom:4px solid var(--orange); }
.infra-stat-num { font-family:var(--font-title); font-size:1.8rem; font-weight:700; color:#fff; line-height:1.1; }
.infra-stat-label { font-family:var(--font-body); font-size:.75rem; color:rgba(255,255,255,.7); margin-top:6px; text-transform:uppercase; letter-spacing:.06em; }
.infra-section-title { font-family:var(--font-title); font-size:1.1rem; font-weight:700; color:#9aaabb; padding-left:14px; border-left:4px solid var(--orange); margin:32px 0 18px; }
.infra-vm-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:36px; }
.infra-vm-card { background:#fff; border:1px solid var(--border-color); border-radius:12px; padding:22px 24px; border-top:4px solid var(--orange); box-shadow:0 2px 8px rgba(0,0,0,.05); }
.infra-vm-card h4 { font-family:var(--font-body); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--orange); margin:0 0 10px; }
.infra-vm-card p, .infra-vm-card li { font-size:.9rem; color:var(--text-secondary); line-height:1.75; margin:0; }
.infra-vm-card ul { padding-left:16px; margin:0; }
.infra-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:32px; }
.infra-detail-row { display:flex; align-items:flex-start; gap:12px; background:#f8fafc; border:1px solid var(--border-color); border-radius:10px; padding:12px 16px; }
.infra-detail-row i { color:var(--orange); font-size:1rem; margin-top:2px; flex-shrink:0; }
.infra-detail-row span { font-size:.87rem; color:var(--text-secondary); line-height:1.65; }
.infra-detail-row strong { color:#9aaabb; }
.infra-table { width:100%; border-collapse:collapse; margin-bottom:28px; font-family:var(--font-body); font-size:.88rem; }
.infra-table th { background:var(--brand-navy); color:#fff; padding:11px 14px; text-align:left; font-weight:600; }
.infra-table td { padding:10px 14px; border-bottom:1px solid var(--border-color); color:var(--text-secondary); }
.infra-table tbody tr:nth-child(even) { background:#f8fafc; }
.infra-table tbody tr:hover { background:#eff6ff; }
.infra-btn { display:inline-flex; align-items:center; gap:8px; background:var(--brand-navy); color:#fff; font-family:var(--font-body); font-size:.88rem; font-weight:600; padding:11px 26px; border-radius:8px; text-decoration:none; border-left:4px solid var(--orange); transition:background .2s; }
.infra-btn:hover { background:#002a5e; }
.infra-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:32px; }
.infra-info-row { display:flex; align-items:flex-start; gap:13px; background:#f8fafc; border:1px solid var(--border-color); border-radius:10px; padding:14px 18px; }
.infra-info-row i { color:var(--orange); font-size:1rem; margin-top:2px; flex-shrink:0; }
.infra-info-row span { font-size:.87rem; color:var(--text-secondary); line-height:1.65; }
.infra-info-row strong { color:#9aaabb; }
/* NOTE: .hostel-cards/.hostel-card/.hostel-row (dead legacy block) removed here —
   superseded by the sl-token version further below, used by /hostels/. */
/* ── Student Life hub — ported 1:1 from the "student-life-overview.html" concept file ── */
:root{
  --sl-navy:#00264d;
  --sl-orange:#ef7e1a;
  --sl-orange-light:#ff9a45;
  --sl-orange-pale:#fef1e2;
  --sl-muted:#5c6b80;
  --sl-line:#e2e8f0;
  --sl-line-strong:#cbd6e3;
  --sl-paper-2:#f6f8fb;
  --sl-display:"Playfair Display","Times New Roman",serif;
  --sl-body:"Noto Sans",-apple-system,sans-serif;
  --sl-shadow-sm: 0 2px 10px rgba(0,38,77,0.06);
  --sl-shadow-md: 0 12px 34px rgba(0,38,77,0.10);
  --sl-shadow-lg: 0 24px 60px rgba(0,38,77,0.16);
  --sl-ink:#0a1626;
}

.sl-eyebrow{ font-family:var(--sl-body); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sl-orange); display:flex; align-items:center; gap:9px; }
.sl-eyebrow::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--sl-orange); flex-shrink:0; }
.sl-eyebrow.sl-center{ justify-content:center; }
.sl-eyebrow.sl-eyebrow-light{ color:var(--sl-orange-light); }
.sl-eyebrow.sl-eyebrow-light::before{ background:var(--sl-orange-light); }

.sl-btn{ display:inline-flex; align-items:center; gap:8px; font-family:var(--sl-body); font-weight:700; font-size:14px; padding:10px 20px; border-radius:999px; border:1.5px solid transparent; transition:background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease; white-space:nowrap; }
.sl-btn.sl-sm{ padding:10px 20px; font-size:13px; }
.sl-btn.sl-solid{ background:var(--sl-orange); color:#fff; box-shadow:0 8px 22px rgba(239,126,26,.32); }
.sl-btn.sl-solid:hover{ background:#d96e0f; transform:translateY(-2px); box-shadow:0 12px 26px rgba(239,126,26,.4); }
.sl-btn.sl-outline{ border-color:var(--sl-navy); color:var(--sl-navy); }
.sl-btn.sl-outline:hover{ background:var(--sl-navy); color:#fff; transform:translateY(-2px); }
[data-theme="dark"] .pes-inner-main .sl-btn.sl-outline{ border-color:#6f88a8; color:#ffffff; }
[data-theme="dark"] .pes-inner-main .sl-btn.sl-outline:hover{ background:#ffffff; color:var(--sl-navy); }

.sl-page-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:end; }
.sl-page-title{ font-family:var(--sl-display); font-weight:700; font-size:clamp(36px,4.4vw,56px); line-height:1.12; letter-spacing:-.01em; color:var(--sl-navy); margin-top:18px; max-width:16ch; }
.sl-page-title em{ font-style:italic; font-weight:500; color:var(--sl-orange); }
.sl-page-intro{ font-family:var(--sl-body); font-size:17px; line-height:1.7; color:var(--sl-muted); max-width:44ch; padding-bottom:8px; }
.sl-page-intro p + p{ margin-top:14px; }
@media (max-width:900px){ .sl-page-grid{ grid-template-columns:1fr; gap:28px; } }

/* Two-column paragraph layout — used when the eyebrow/title sit centered
   above the body copy instead of beside it in a split grid. */
.ab-two-col{ display:grid; grid-template-columns:1fr 1fr; gap:56px; max-width:1100px; margin:36px auto 0; }
.ab-two-col .sl-page-intro{ max-width:none; }
@media (max-width:800px){ .ab-two-col{ grid-template-columns:1fr; gap:20px; } }

/* Staggered 3-column photo gallery — columns offset vertically, images open from the top.
   The tallest (middle) column overlaps down onto whatever section follows (e.g. .sl-vitals). */
.sl-gallery{ position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start; max-width:1400px; margin:0 auto -120px; padding:0 2rem; box-sizing:border-box; }
.sl-gallery-col{ margin-top:30%; justify-content:flex-start; }
.sl-gallery-col.sl-gallery-col-mid{ margin-top:70%; justify-content:center; }
.sl-gallery-col.sl-gallery-col-top{ margin-top:0; justify-content:flex-end; }
.sl-gallery-img{ width:309.99px; height:492.04px; max-width:100%; overflow:hidden; box-shadow:var(--sl-shadow-md); }
.sl-gallery-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.sl-gallery-img.reveal-hidden{ clip-path:inset(0 0 100% 0); transition:clip-path 1.2s cubic-bezier(.22,1,.36,1); }
.sl-gallery-img.reveal-hidden.in-view{ clip-path:inset(0 0 0 0); }
/* Vitals band directly after the gallery needs less top padding than the vitals-media overlap (below) */
.sl-gallery + .sl-vitals{ padding-top:160px; }
@media (max-width:768px){
  .sl-gallery{ grid-template-columns:1fr 1fr; margin:0 auto 70px; }
  .sl-gallery-col.sl-gallery-col-mid, .sl-gallery-col.sl-gallery-col-top{ margin-top:0; }
  .sl-gallery + .sl-vitals{ padding-top:265px; }
}
@media (max-width:500px){ .sl-gallery{ grid-template-columns:1fr; } .sl-gallery-col{ margin-top:0; } }

/* Vitals media — plain image, sized to the content container (not full-bleed), no background
   layer of its own; opens upward from the bottom edge once scrolled into view. Overlaps 75%
   of its own height down onto the navy band below (image stacks in front, z-index 2). */
.sl-vitals-media{ position:relative; z-index:2; overflow:hidden; max-width:1400px; margin:0 auto -345px; padding:0 2rem; box-sizing:border-box; }
.sl-vitals-media img{ width:100%; height:460px; object-fit:cover; display:block; }
.sl-vitals-media.reveal-hidden{ clip-path:inset(100% 0 0 0); transition:clip-path 1.2s cubic-bezier(.22,1,.36,1); }
.sl-vitals-media.reveal-hidden.in-view{ clip-path:inset(0 0 0 0); }
@media (max-width:768px){ .sl-vitals-media img{ height:300px; } .sl-vitals-media{ margin:0 auto -225px; } }

/* Vitals / stat strip (full-bleed navy band) — extra top padding absorbs the image overlap
   while keeping the stat numbers clear of it. */
.sl-vitals{ position:relative; z-index:1; left:50%; right:50%; width:100vw; margin-left:-50vw; margin-right:-50vw; padding:385px 0 70px; background:var(--sl-navy); color:#fff; }
@media (max-width:768px){ .sl-vitals{ padding-top:265px; } }
/* Not every .sl-vitals is preceded by the .sl-vitals-media overlap image — pages like about-college
   place it right after a normal content section, so it needs no padding of its own (matching the
   departments page's band exactly, where .vital's own padding is the only spacing). */
#about-intro + .sl-vitals{ padding:0; }
#tt-intro + .sl-vitals{ padding:0; }
#pgd-intro + .sl-vitals{ padding:0; }
#mb-intro + .sl-vitals{ padding:0; }
#pub-intro + .sl-vitals{ padding:0; }
.sl-vitals-grid{ max-width:1400px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.16); }
.sl-vital{ padding:38px 26px 30px; border-right:1px solid rgba(255,255,255,.16); }
.sl-vital:last-child{ border-right:none; }
.sl-vital.reveal-hidden{ opacity:0; transform:translateY(22px); transition:opacity .5s ease, transform .5s cubic-bezier(.22,1,.36,1); }
.sl-vital.reveal-hidden.in-view{ opacity:1; transform:translateY(0); }
.sl-vital-num{ font-family:var(--sl-display); font-weight:700; font-size:clamp(18px,2.1vw,27px); color:#fff; line-height:1.28; }
.sl-vital-lbl{ font-size:12.5px; font-weight:500; color:rgba(255,255,255,.6); margin-top:12px; max-width:22ch; line-height:1.5; }
@media (max-width:850px){ .sl-vitals-grid{ grid-template-columns:repeat(2,1fr); } .sl-vital{ padding:28px 18px 24px; } }

/* Section head */
.sl-section-head{ max-width:680px; margin:0 auto; padding:0 0 30px; text-align:center; }
.sl-section-head.sl-pt-lg{ padding-top:60px; }
.sl-section-head h2{ font-family:var(--sl-display); font-weight:700; font-size:clamp(28px,3.4vw,42px); margin-top:14px; color:var(--sl-navy); line-height:1.18; }
.sl-section-head p{ color:var(--sl-muted); font-size:16px; line-height:1.7; margin-top:16px; }
.sl-section-head.sl-left{ margin:0; text-align:left; max-width:none; padding:70px 0 36px; }
.sl-section-head.sl-left p{ margin-left:0; margin-right:0; }

/* Homepage — News & Milestones (text-only cards) */
.hp-news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.hp-news-card{ position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--sl-line); border-radius:20px; overflow:hidden; color:inherit; text-decoration:none; transition:transform .3s ease, box-shadow .3s ease; }
.hp-news-card:hover{ transform:translateY(-6px); box-shadow:var(--sl-shadow-md); }
.hp-news-img{ aspect-ratio:16/10; overflow:hidden; background:var(--sl-line); }
.hp-news-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.hp-news-card:hover .hp-news-img img{ transform:scale(1.06); }
.hp-news-body{ position:relative; padding:24px 60px 62px 24px; flex:1; }
.hp-news-date{ font-family:var(--sl-body); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--sl-orange); display:block; }
.hp-news-title{ font-family:var(--sl-display); font-weight:700; font-size:17px; color:var(--sl-navy); line-height:1.4; margin:12px 0 0; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hp-news-arrow{ position:absolute; right:18px; bottom:18px; width:36px; height:36px; border-radius:50%; background:var(--sl-orange-pale); color:var(--sl-orange); display:flex; align-items:center; justify-content:center; transition:background .2s ease, color .2s ease; }
.hp-news-card:hover .hp-news-arrow{ background:var(--sl-orange); color:#fff; }
.hp-news-more{ text-align:center; margin-top:48px; }
@media (max-width:900px){ .hp-news-grid{ grid-template-columns:1fr; } }
[data-theme="dark"] .hp-news-card{ background:#1a2236; border-color:#2e3d58; }
[data-theme="dark"] .hp-news-title{ color:#ffffff; }

/* Tile grid (facility / feature cards) */
.sl-tile-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.sl-tile{ background:#fff; border:1px solid var(--sl-line); border-radius:20px; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.sl-tile:hover{ transform:translateY(-6px); box-shadow:var(--sl-shadow-md); border-color:transparent; }
.sl-tile-img{ aspect-ratio:16/10; overflow:hidden; }
.sl-tile-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.sl-tile:hover .sl-tile-img img{ transform:scale(1.06); }
.sl-tile-body{ padding:22px 24px 26px; }
.sl-tile-tag{ display:inline-block; font-family:var(--sl-body); font-size:11.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--sl-orange); background:var(--sl-orange-pale); padding:5px 12px; border-radius:999px; }
.sl-tile-title{ font-family:var(--sl-display); font-weight:700; font-size:19px; line-height:1.28; color:var(--sl-navy); margin:14px 0 10px; }
.sl-tile-body p{ font-family:var(--sl-body); color:var(--sl-muted); font-size:14px; line-height:1.65; margin:0; }
[data-theme="dark"] .sl-tile{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .sl-tile-title{ color:#ffffff; }
@media (max-width:950px){ .sl-tile-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:650px){ .sl-tile-grid{ grid-template-columns:1fr; } }

/* Faculty Apartments — total banner + apartment/quarters card grid */
.apt-total{ background:var(--sl-navy); border-radius:20px; padding:28px 32px; display:flex; align-items:center; gap:22px; border-left:6px solid var(--sl-orange); color:#fff; margin-bottom:44px; }
.apt-total-icon{ width:56px; height:56px; border-radius:14px; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.apt-total-icon svg{ width:26px; height:26px; stroke:var(--sl-orange-light); }
.apt-total-num{ font-family:var(--sl-display); font-weight:700; font-size:36px; line-height:1; }
.apt-total-label{ font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.62); margin-top:7px; }
@media (max-width:600px){ .apt-total{ flex-direction:column; text-align:center; } }

.apt-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.apt-card{ background:#fff; border:1px solid var(--sl-line); border-radius:20px; padding:24px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; display:flex; flex-direction:column; }
.apt-card:hover{ transform:translateY(-5px); box-shadow:var(--sl-shadow-md); border-color:transparent; }
.apt-card .apt-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.apt-card .apt-ic{ width:44px; height:44px; border-radius:12px; background:rgba(0,38,77,.06); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.apt-card .apt-ic svg{ width:21px; height:21px; stroke:var(--sl-navy); }
.apt-card.apt-lead .apt-ic{ background:var(--sl-orange-pale); }
.apt-card.apt-lead .apt-ic svg{ stroke:var(--sl-orange); }
.apt-card.apt-staff .apt-ic{ background:#eaf5ee; }
.apt-card.apt-staff .apt-ic svg{ stroke:#1f8a4c; }
.apt-card-tag{ font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:4px 10px; border-radius:999px; color:var(--sl-navy); background:rgba(0,38,77,.06); }
.apt-card.apt-lead .apt-card-tag{ color:var(--sl-orange); background:var(--sl-orange-pale); }
.apt-card.apt-staff .apt-card-tag{ color:#1f8a4c; background:#eaf5ee; }
.apt-card h3{ font-family:var(--sl-display); font-weight:700; font-size:17px; color:var(--sl-navy); line-height:1.3; margin-bottom:16px; }
.apt-card-stat{ display:flex; align-items:baseline; gap:8px; margin-bottom:14px; }
.apt-card-count{ font-family:var(--sl-display); font-weight:700; font-size:32px; color:var(--sl-navy); line-height:1; }
.apt-card-unit{ font-size:12px; color:var(--sl-muted); font-weight:600; }
.apt-card-divider{ height:1px; background:var(--sl-line); margin-bottom:12px; }
.apt-card-desc{ font-size:12.5px; color:var(--sl-muted); line-height:1.65; flex:1; margin:0; }
.apt-card-note{ font-size:11px; color:var(--sl-orange); margin-top:8px; font-style:italic; font-weight:700; }
[data-theme="dark"] .apt-card{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .apt-card h3,
[data-theme="dark"] .apt-card-count{ color:#ffffff; }
[data-theme="dark"] .apt-card .apt-ic{ background:#222d42; }
[data-theme="dark"] .apt-card .apt-ic svg{ stroke:#ffffff; }
[data-theme="dark"] .apt-card-tag{ background:#222d42; color:#ffffff; }
@media (max-width:950px){ .apt-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .apt-grid{ grid-template-columns:1fr; } }

/* Hostels — capacity cards */
.hostel-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.hostel-card{ background:#fff; border:1px solid var(--sl-line); border-radius:20px; padding:24px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.hostel-card:hover{ transform:translateY(-5px); box-shadow:var(--sl-shadow-md); border-color:transparent; }
.hostel-card .top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.hostel-card .ic{ width:44px; height:44px; border-radius:12px; background:rgba(0,38,77,.06); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hostel-card .ic svg{ width:21px; height:21px; stroke:var(--sl-navy); }
.hostel-card.pg .ic{ background:var(--sl-orange-pale); }
.hostel-card.pg .ic svg{ stroke:var(--sl-orange); }
.hostel-card.interns .ic{ background:#eaf5ee; }
.hostel-card.interns .ic svg{ stroke:#1f8a4c; }
.hostel-card-tag{ font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:4px 10px; border-radius:999px; color:var(--sl-navy); background:rgba(0,38,77,.06); }
.hostel-card.pg .hostel-card-tag{ color:var(--sl-orange); background:var(--sl-orange-pale); }
.hostel-card.interns .hostel-card-tag{ color:#1f8a4c; background:#eaf5ee; }
.hostel-card h3{ font-family:var(--sl-display); font-weight:700; font-size:17px; color:var(--sl-navy); line-height:1.3; }
.hostel-rows{ margin-top:16px; display:flex; flex-direction:column; }
.hostel-row{ display:flex; justify-content:space-between; align-items:center; padding:9px 0; border-bottom:1px solid var(--sl-line); font-size:13px; gap:10px; }
.hostel-row:last-child{ border-bottom:none; }
.hostel-row .lbl{ color:var(--sl-muted); font-weight:600; }
.hostel-row .val{ color:var(--sl-navy); font-weight:700; font-family:var(--sl-display); white-space:nowrap; }
[data-theme="dark"] .hostel-card{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .hostel-card h3,
[data-theme="dark"] .hostel-row .val{ color:#ffffff; }
[data-theme="dark"] .hostel-row{ border-color:#2e3d58; }
[data-theme="dark"] .hostel-card .ic{ background:#222d42; }
[data-theme="dark"] .hostel-card .ic svg{ stroke:#ffffff; }
[data-theme="dark"] .hostel-card-tag{ background:#222d42; color:#ffffff; }
@media (max-width:950px){ .hostel-cards{ grid-template-columns:1fr; } }

/* Hostels — facilities & supervision grid */
.facility-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.facility-item{ display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--sl-line); border-radius:14px; padding:18px 20px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.facility-item:hover{ transform:translateY(-3px); box-shadow:var(--sl-shadow-sm); border-color:transparent; }
.facility-item .fic{ width:38px; height:38px; border-radius:10px; background:rgba(0,38,77,.06); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.facility-item .fic svg{ width:18px; height:18px; stroke:var(--sl-navy); }
.facility-item .ft{ font-size:13.5px; color:var(--sl-muted); line-height:1.65; padding-top:2px; }
.facility-item .ft strong{ color:var(--sl-navy); font-weight:700; }
[data-theme="dark"] .facility-item{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .facility-item .ft strong{ color:#ffffff; }
[data-theme="dark"] .facility-item .fic{ background:#222d42; }
[data-theme="dark"] .facility-item .fic svg{ stroke:#ffffff; }
@media (max-width:700px){ .facility-grid{ grid-template-columns:1fr; } }

/* Library — vision / mission / goal / objectives cards.
   Named lib-purpose-* (not .vm-card) since .vm-card is already a distinct,
   actively-used component across the department pages. */
.lib-purpose-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.lib-purpose-card{ background:#fff; border:1px solid var(--sl-line); border-top:4px solid var(--sl-orange); border-radius:16px; padding:26px; transition:transform .3s ease, box-shadow .3s ease; }
.lib-purpose-card:hover{ transform:translateY(-3px); box-shadow:var(--sl-shadow-sm); }
.lib-purpose-card .sl-eyebrow{ margin-bottom:12px; }
.lib-purpose-card p{ font-size:14px; color:var(--sl-muted); line-height:1.75; margin:0; }
.lib-purpose-card ul{ margin:0; padding-left:18px; display:flex; flex-direction:column; gap:6px; }
.lib-purpose-card li{ font-size:14px; color:var(--sl-muted); line-height:1.7; }
[data-theme="dark"] .lib-purpose-card{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .lib-purpose-card p,
[data-theme="dark"] .lib-purpose-card li{ color:#9aaabb; }
@media (max-width:700px){ .lib-purpose-grid{ grid-template-columns:1fr; } }

/* Section tint — full-bleed wash background for an alternating block; the .sl-split
   grid inside stays readable at a contained max-width. */
.sl-tint{ position:relative; left:50%; right:50%; width:100vw; margin-left:-50vw; margin-right:-50vw; padding:70px 0; background:var(--sl-paper-2); }
[data-theme="dark"] .sl-tint{ background:#1a2236; }
.sl-tint .sl-split{ max-width:1400px; margin:0 auto; padding:0 40px; }
.sl-tint .sl-proc-grid{ max-width:1400px; margin:0 auto; padding:0 40px; }
.sl-tint .facility-grid{ max-width:1400px; margin:0 auto; padding:0 40px; }
.sl-tint .am-approvals-wrap{ max-width:1400px; margin:0 auto; padding:0 40px; }
.sl-tint .am-doc-grid{ max-width:1400px; margin:24px auto 0; padding:0 40px; }

/* Split layout (image + copy, two-up) */
.sl-split{ display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; max-width:1400px; margin:0 auto; padding:70px 2rem; }
.sl-split.sl-rev{ grid-template-columns:1.15fr .85fr; }
.sl-split.sl-rev .sl-split-media{ order:2; }
.sl-split-media .sl-ph{ aspect-ratio:4/5; border-radius:24px; box-shadow:var(--sl-shadow-lg); overflow:hidden; }
.sl-split-media .sl-ph img{ width:100%; height:100%; object-fit:cover; }

/* "Our History" decorative photo treatment (dots + backdrop shape), ported for reuse here */
.sl-history-photo{ position:relative; padding:20px 24px 60px 24px; }
.sl-history-dots{ position:absolute; top:0; left:0; display:grid; grid-template-columns:repeat(4,10px); gap:12px; z-index:0; }
.sl-history-dots span{ width:8px; height:8px; background:#c7d2f0; opacity:.5; transform:rotate(45deg); display:block; }
.sl-history-dots span:nth-child(9){ grid-column:1; }
.sl-history-dots span:nth-child(10){ grid-column:2; }
.sl-history-dots span:nth-child(11){ grid-column:1; }
.sl-history-dots span:nth-child(12){ grid-column:2; }
.sl-history-photo-card{ position:relative; z-index:2; width:100%; aspect-ratio:4/5; border-radius:0; overflow:hidden; box-shadow:0 20px 40px rgba(0,38,77,.15); }
.sl-history-photo-card img{ width:100%; height:100%; object-fit:cover; display:block; }
.sl-history-backdrop{ position:absolute; right:-2%; bottom:3%; width:56%; height:40%; background:#f5b833; z-index:1; }
/* Reversed (mirrored) variant — dots move to top-right, backdrop to bottom-left */
.sl-history-photo.sl-history-rev .sl-history-dots{ left:auto; right:0; }
.sl-history-photo.sl-history-rev .sl-history-backdrop{ right:auto; left:-3%; }
@media (max-width:900px){ .sl-history-photo{ padding-left:24px; } .sl-history-photo-card{ width:100%; } }
.sl-split h2{ font-family:var(--sl-display); font-weight:700; font-size:clamp(26px,3.2vw,38px); line-height:1.2; margin:14px 0 20px; color:var(--sl-navy); max-width:15ch; }
.sl-split p{ font-family:var(--sl-body); color:var(--sl-muted); font-size:15.5px; line-height:1.8; margin:0 0 16px; max-width:54ch; }
@media (max-width:900px){ .sl-split, .sl-split.sl-rev{ grid-template-columns:1fr; } .sl-split.sl-rev .sl-split-media{ order:0; } }
@media (max-width:425px){
.sl-history-backdrop{ position:absolute; right:-2%; bottom:7%; width:56%; height:40%; background:#f5b833; z-index:1; }
.sl-history-photo.sl-history-rev .sl-history-backdrop{ right:auto; left:-2%; }
}

/* Checklist */
.sl-checklist{ list-style:none; margin:22px 0 26px; padding:0; display:flex; flex-direction:column; gap:12px; }
.sl-checklist.sl-checklist-block{ margin-bottom:0; }
.sl-checklist li{ display:flex; align-items:flex-start; gap:12px; font-family:var(--sl-body); font-size:14.5px; color:var(--sl-ink); line-height:1.6; }
.sl-checklist .sl-tick{ width:20px; height:20px; border-radius:50%; background:var(--sl-orange-pale); color:var(--sl-orange); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; flex-shrink:0; margin-top:1px; }
[data-theme="dark"] .sl-checklist li{ color:#9aaabb; }

/* Procedure / timeline list */
.sl-proc-grid{ display:grid; grid-template-columns:.7fr 1.3fr; gap:60px; max-width:1400px; margin:0 auto; padding:70px 2rem; }
.sl-proc-title{ font-family:var(--sl-display); font-weight:700; font-size:clamp(26px,3.2vw,38px); line-height:1.2; margin:14px 0 0; color:var(--sl-navy); max-width:15ch; }
.sl-proc-intro{ font-family:var(--sl-body); color:var(--sl-muted); font-size:15px; margin-top:18px; line-height:1.7; }
.sl-proc-intro.sl-standalone{ margin-top:0; margin-bottom:24px; max-width:70ch; }
.sl-proc-list{ display:flex; flex-direction:column; }
.sl-proc-item{ padding:26px 0; border-bottom:1px solid var(--sl-line); display:grid; grid-template-columns:52px 1fr; gap:20px; }
.sl-proc-item:first-child{ padding-top:0; }
.sl-proc-item:last-child{ border-bottom:none; }
.sl-proc-item .sl-step{ font-family:var(--sl-display); font-weight:700; color:var(--sl-orange); font-size:21px; }
.sl-proc-item h4{ font-family:var(--sl-display); font-weight:700; font-size:18px; margin-bottom:6px; color:var(--sl-navy); }
.sl-proc-item p{ font-family:var(--sl-body); color:var(--sl-muted); font-size:14.5px; line-height:1.7; margin:0; }
[data-theme="dark"] .sl-proc-item{ border-color:#2e3d58; }
[data-theme="dark"] .sl-page-title{ color:#ffffff; }
[data-theme="dark"] .sl-section-head h2{ color:#ffffff; }
[data-theme="dark"] .sl-split h2{ color:#ffffff; }
[data-theme="dark"] .sl-proc-title{ color:#ffffff; }
[data-theme="dark"] .sl-proc-item h4{ color:#ffffff; }
[data-theme="dark"] .sl-cta-band h2{ color:#ffffff; }
[data-theme="dark"] .sl-btn.sl-outline{ border-color:#6f88a8; color:#ffffff; }
@media (max-width:900px){ .sl-proc-grid{ grid-template-columns:1fr; } }

/* Contact / helpline card */
.sl-contact-card{ background:var(--sl-navy); color:#fff; border-radius:24px; padding:44px 40px; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.sl-contact-card .sl-c-lbl{ font-family:var(--sl-body); font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--sl-orange-light); }
.sl-contact-card .sl-c-val{ font-family:var(--sl-display); font-weight:700; font-size:20px; margin-top:10px; }
.sl-contact-card .sl-c-sub{ font-family:var(--sl-body); font-size:13px; color:rgba(255,255,255,.6); margin-top:6px; }
.sl-contact-card + .sl-info-grid{ margin-top:32px; }
@media (max-width:850px){ .sl-contact-card{ grid-template-columns:1fr; } }

/* Quote band (full-bleed navy gradient) */
.sl-quote-band{
  position:relative; left:50%; right:50%; width:100vw; margin-left:-50vw; margin-right:-50vw;
  background:
    radial-gradient(ellipse 700px 400px at 85% 20%, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(135deg, var(--sl-navy) 0%, #001830 100%);
  color:#fff; text-align:center; padding:70px 40px;
}
.sl-quote-band blockquote{ font-family:var(--sl-display); font-weight:500; font-style:italic; font-size:clamp(21px,2.8vw,30px); max-width:800px; margin:0 auto 22px; line-height:1.45; }
.sl-quote-band cite{ font-style:normal; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--sl-orange-light); }

/* Final CTA band */
.sl-cta-band{ padding:70px 20px; text-align:center; }
.sl-cta-band h2{ font-family:var(--sl-display); font-weight:700; font-size:clamp(30px,4vw,48px); max-width:16ch; margin:16px auto 34px; color:var(--sl-navy); line-height:1.18; }
.sl-cta-band.sl-cta-wide h2{ max-width:23ch; }
.sl-cta-sub{ font-family:var(--sl-body); color:var(--sl-muted); font-size:15.5px; max-width:52ch; margin:0 auto 34px; }
.sl-cta-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

@media (max-width:768px) {
  .infra-stats { grid-template-columns:1fr 1fr; }
  .infra-vm-grid,.infra-detail-grid,.infra-info-grid { grid-template-columns:1fr; }
}

/* ══════════════════════════════════════
   ADMISSIONS — big program picks, quick-link tiles, enquiry/contact
══════════════════════════════════════ */
.am-program-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.am-program-card{ background:#fff; border:1px solid var(--sl-line); border-radius:24px; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease; display:flex; flex-direction:column; }
.am-program-card:hover{ transform:translateY(-6px); box-shadow:var(--sl-shadow-md); }
.am-program-img{ aspect-ratio:16/9; overflow:hidden; }
.am-program-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.am-program-card:hover .am-program-img img{ transform:scale(1.05); }
.am-program-body{ padding:30px 32px 34px; display:flex; flex-direction:column; flex:1; }
.am-program-tag{ display:inline-block; font-family:var(--sl-body); font-size:11.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--sl-orange); background:var(--sl-orange-pale); padding:6px 13px; border-radius:999px; align-self:flex-start; }
.am-program-body h3{ font-family:var(--sl-display); font-weight:700; font-size:26px; color:var(--sl-navy); margin:16px 0 6px; line-height:1.25; }
.am-program-yr{ font-family:var(--sl-body); font-size:13.5px; font-weight:600; color:var(--sl-muted); margin-bottom:14px; }
.am-program-desc{ font-family:var(--sl-body); font-size:14.5px; color:var(--sl-muted); line-height:1.7; margin-bottom:22px; }
.am-program-body > .sl-btn{ margin-top:auto; align-self:flex-start; }
[data-theme="dark"] .am-program-card{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .am-program-body h3{ color:#ffffff; }
[data-theme="dark"] .am-program-facts .f-num{ color:#ffffff; }
@media (max-width:900px){ .am-program-grid{ grid-template-columns:1fr; } }

.am-qtile-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px;  }
.am-qtile{ display:block; background:#fff; border:1px solid var(--sl-line); border-radius:18px; padding:26px 24px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.am-qtile:hover{ transform:translateY(-5px); box-shadow:var(--sl-shadow-md); border-color:transparent; }
.am-qtile-num{ width:38px; height:38px; border-radius:10px; background:var(--sl-orange-pale); color:var(--sl-orange); display:flex; align-items:center; justify-content:center; font-family:var(--sl-display); font-weight:700; font-size:15px; margin-bottom:16px; }
.am-qtile h4{ font-family:var(--sl-display); font-weight:700; font-size:16.5px; color:var(--sl-navy); line-height:1.3; margin-bottom:8px; }
.am-qtile p{ font-family:var(--sl-body); font-size:13px; color:var(--sl-muted); line-height:1.6; margin-bottom:14px; }
.am-qtile-go{ font-family:var(--sl-body); font-size:12.5px; font-weight:700; color:var(--sl-orange); }
[data-theme="dark"] .am-qtile{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .am-qtile h4{ color:#ffffff; }
@media (max-width:950px){ .am-qtile-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .am-qtile-grid{ grid-template-columns:1fr; } }

.am-enquiry-grid{ display:grid; grid-template-columns:1fr .8fr; gap:40px; align-items:stretch;  }
.am-enquiry-grid + .sl-cta-actions{ margin-top:50px; }
.am-enquiry-panel{ background:#fff; border:1px solid var(--sl-line); border-radius:24px; padding:38px; box-shadow:var(--sl-shadow-sm); height:600px; }
.am-enquiry-panel h3{ font-family:var(--sl-display); font-weight:700; font-size:22px; color:var(--sl-navy); margin-bottom:8px; }
.am-enquiry-panel .am-sub{ font-family:var(--sl-body); font-size:14px; color:var(--sl-muted); margin-bottom:26px; }
.am-enquiry-frame{ width:100%; height:490px; border:0; border-radius:12px; }
[data-theme="dark"] .am-enquiry-panel{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .am-enquiry-panel h3{ color:#ffffff !important; }

/* Real HTML enquiry/contact form fields (demo submit — no backend) */
.am-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.am-form-field{ display:flex; flex-direction:column; gap:8px; }
.am-form-field.am-full{ grid-column:1 / -1; }
.am-form-field label{ font-family:var(--sl-body); font-size:12.5px; font-weight:700; color:var(--sl-navy); }
.am-form-field input, .am-form-field select, .am-form-field textarea{
  border:1.5px solid var(--sl-line-strong); border-radius:12px; padding:12px 14px; font-family:var(--sl-body);
  font-size:14px; color:var(--sl-ink); background:var(--sl-paper-2); width:100%;
}
.am-form-field textarea{ resize:vertical; min-height:90px; }
.am-form-field input:focus, .am-form-field select:focus, .am-form-field textarea:focus{ outline:none; border-color:var(--sl-orange); background:#fff; }
[data-theme="dark"] .am-form-field label{ color:#ffffff; }
[data-theme="dark"] .am-form-field input, [data-theme="dark"] .am-form-field select, [data-theme="dark"] .am-form-field textarea{ background:#1a2236; border-color:#2e3d58; color:#ffffff; }
[data-theme="dark"] .am-form-field input:focus, [data-theme="dark"] .am-form-field select:focus, [data-theme="dark"] .am-form-field textarea:focus{ background:#222d42; border-color:var(--sl-orange); }
@media (max-width:600px){ .am-form-row{ grid-template-columns:1fr; } }

.sl-btn.sl-btn-block{ width:100%; justify-content:center; }

.am-contact-panel{ background:var(--sl-navy); color:#fff; border-radius:24px; padding:38px 34px; display:flex; flex-direction:column; gap:26px; height:600px; }
.am-contact-panel h3{ font-family:var(--sl-display); font-weight:700; font-size:20px; color:#fff; }
.am-c-row{ display:flex; gap:14px; align-items:flex-start; }
.am-c-row .am-ic{ width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,.1); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:15px; }
.am-c-row .am-lbl{ font-family:var(--sl-body); font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.45); }
.am-c-row .am-val{ font-family:var(--sl-body); font-size:14.5px; font-weight:600; margin-top:4px; line-height:1.5; }
.am-c-row .am-val a{ color:inherit; }
.am-office-hours{ border-top:1px solid rgba(255,255,255,.15); padding-top:22px; }
.am-office-hours .am-row{ display:flex; justify-content:space-between; font-family:var(--sl-body); font-size:13.5px; padding:7px 0; color:rgba(255,255,255,.8); }
.am-office-hours .am-row b{ color:#fff; font-weight:700; }
.am-c-row-hdr{ margin-bottom:14px; }
.am-tint-wrap{ max-width:1400px; margin:0 auto; padding:0 2rem; }
@media (max-width:900px){ .am-enquiry-grid{ grid-template-columns:1fr; } }

/* Spec cards (UG allied / PG specialty program listings) */
.am-spec-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.am-spec-grid.am-single{ grid-template-columns:1fr; max-width:760px; margin-left:auto; margin-right:auto; }
.am-spec-card{ background:#fff; border:1px solid var(--sl-line); border-radius:18px; padding:24px 24px 22px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.am-spec-card:hover{ transform:translateY(-4px); box-shadow:var(--sl-shadow-md); border-color:transparent; }
.am-spec-card.am-flagship{ border-color:var(--sl-orange); background:var(--sl-orange-pale); }
.am-spec-card h4{ font-family:var(--sl-display); font-weight:700; font-size:18px; color:var(--sl-navy); line-height:1.3; }
.am-spec-meta{ display:flex; gap:18px; margin-top:14px; flex-wrap:wrap; }
.am-spec-meta .am-m{ display:flex; flex-direction:column; }
.am-spec-meta .am-m .am-k{ font-family:var(--sl-body); font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--sl-muted); }
.am-spec-meta .am-m .am-v{ font-family:var(--sl-display); font-weight:700; font-size:15px; color:var(--sl-navy); margin-top:4px; }
.am-spec-card .am-elig{ font-family:var(--sl-body); margin-top:14px; font-size:13px; color:var(--sl-muted); line-height:1.6; padding-top:14px; border-top:1px solid var(--sl-line); }
.am-spec-card.am-flagship .am-elig{ border-top-color:rgba(239,126,26,.25); }
[data-theme="dark"] .am-spec-card{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .am-spec-card.am-flagship{ background:#2e2210; }
[data-theme="dark"] .am-spec-card h4{ color:#ffffff; }
[data-theme="dark"] .am-spec-meta .am-m .am-v{ color:#ffffff; }
[data-theme="dark"] .am-spec-meta .am-m .am-k,
[data-theme="dark"] .am-spec-card .am-elig{ color:#9aaabb; }
@media (max-width:950px){ .am-spec-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:650px){ .am-spec-grid{ grid-template-columns:1fr; } }

/* Clause grid (related-page link cards) */
.am-clause-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.am-clause{ display:flex; background:#fff; border:1px solid var(--sl-line); border-radius:16px; padding:22px 24px; gap:16px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.am-clause:hover{ transform:translateY(-3px); box-shadow:var(--sl-shadow-sm, var(--sl-shadow-md)); border-color:transparent; }
.am-clause .am-num{ font-family:var(--sl-display); font-weight:700; font-size:20px; color:var(--sl-orange); flex-shrink:0; min-width:28px; }
.am-clause p{ font-family:var(--sl-body); font-size:14.5px; color:var(--sl-ink); line-height:1.65; margin:0; }
[data-theme="dark"] .am-clause{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .am-clause p{ color:#9aaabb; }
@media (max-width:800px){ .am-clause-grid{ grid-template-columns:1fr; } }

/* Simple contact grid (label / value / sub, 3-up on navy) */
.am-contact-grid{ background:var(--sl-navy); color:#fff; border-radius:24px; padding:44px 40px; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.am-contact-grid .am-c-lbl{ font-family:var(--sl-body); font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--sl-orange-light); }
.am-contact-grid .am-c-val{ font-family:var(--sl-display); font-weight:700; font-size:19px; margin-top:10px; line-height:1.35; }
.am-contact-grid .am-c-sub{ font-family:var(--sl-body); font-size:13px; color:rgba(255,255,255,.6); margin-top:6px; }
@media (max-width:850px){ .am-contact-grid{ grid-template-columns:1fr; } }

/* Photo gallery grid with captions */
.am-gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.am-gph{ border-radius:18px; overflow:hidden; box-shadow:var(--sl-shadow-md); }
.am-gph img{ width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .5s ease; }
.am-gph:hover img{ transform:scale(1.06); }
.am-gph .am-cap{ padding:12px 4px 0; font-family:var(--sl-body); font-size:12.5px; font-weight:600; color:var(--sl-muted); }
@media (max-width:900px){ .am-gallery-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .am-gallery-grid{ grid-template-columns:1fr; } }

/* Vitals band with no image/gallery overlapping it — flush top padding */
.sl-vitals.sl-vitals-plain{ padding:0; }

/* Pillar cards (Vision / Mission / Quality, or compact person cards) */
.sl-pillar-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.sl-pillar-grid.sl-cols-4{ grid-template-columns:repeat(4,1fr); }
.sl-pillar-grid.sl-cols-2{ grid-template-columns:repeat(2,1fr); }
.sl-pillar{ background:#fff; border:1px solid var(--sl-line); border-radius:22px; padding:36px 32px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.sl-pillar:hover{ transform:translateY(-6px); box-shadow:var(--sl-shadow-md); border-color:transparent; }
.sl-pillar-glyph{ width:46px; height:46px; border-radius:12px; background:var(--sl-orange-pale); color:var(--sl-orange); display:flex; align-items:center; justify-content:center; font-family:var(--sl-display); font-weight:700; font-size:19px; margin-bottom:20px; }
.sl-pillar h3{ font-family:var(--sl-display); font-weight:700; font-size:22px; color:var(--sl-navy); margin-bottom:14px; }
.sl-pillar p{ font-family:var(--sl-body); font-size:14.5px; color:var(--sl-muted); line-height:1.75; margin:0; }
.sl-pillar.sl-pillar-person h3{ font-size:18px; margin-bottom:4px; }
.sl-pillar-role{ font-family:var(--sl-body); font-size:12px; font-weight:700; color:var(--sl-orange); text-transform:uppercase; letter-spacing:.03em; margin-bottom:12px; }
[data-theme="dark"] .sl-pillar{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .sl-pillar h3{ color:#ffffff !important; }
[data-theme="dark"] .sl-pillar p{ color:#9aaabb; }
@media (max-width:900px){ .sl-pillar-grid, .sl-pillar-grid.sl-cols-4{ grid-template-columns:1fr; } }

/* Leadership cards (photo + name + role + bio) */
.sl-leader-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px;  }
.sl-leader{ background:#fff; border:1px solid var(--sl-line); border-radius:20px; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.sl-leader:hover{ transform:translateY(-6px); box-shadow:var(--sl-shadow-md); border-color:transparent; }
.sl-leader-img{ aspect-ratio:4/5; overflow:hidden; }
.sl-leader-img img{ width:100%; height:100%; object-fit:cover; }
.sl-leader-body{ padding:20px 20px 24px; }
.sl-leader-body h4{ font-family:var(--sl-display); font-weight:700; font-size:17px; color:var(--sl-navy); line-height:1.3; }
.sl-leader-role{ font-family:var(--sl-body); font-size:12.5px; font-weight:700; color:var(--sl-orange); text-transform:uppercase; letter-spacing:.03em; margin-top:6px; }
.sl-leader-bio{ font-family:var(--sl-body); font-size:13px; color:var(--sl-muted); line-height:1.6; margin-top:12px; }
[data-theme="dark"] .sl-leader{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .sl-leader-body h4{ color:#ffffff !important; }
[data-theme="dark"] .sl-leader-bio{ color:#9aaabb; }
@media (max-width:950px){ .sl-leader-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .sl-leader-grid{ grid-template-columns:1fr; } }

/* Info cards (namespaced sl- to avoid clashing with the sitewide .info-card component) */
.sl-info-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.sl-info-card{ background:#fff; border:1px solid var(--sl-line); border-radius:18px; padding:28px 30px; }
.sl-info-card h4{ font-family:var(--sl-display); font-weight:700; font-size:18px; color:var(--sl-navy); margin-bottom:10px; }
.sl-info-card p{ font-family:var(--sl-body); font-size:14.5px; color:var(--sl-muted); line-height:1.75; margin:0; }
[data-theme="dark"] .sl-info-card{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .sl-info-card h4{ color:#ffffff !important; }
[data-theme="dark"] .sl-info-card p{ color:#9aaabb; }
@media (max-width:800px){ .sl-info-grid{ grid-template-columns:1fr; } }

/* Notice / warning box */
.sl-notice{ background:var(--sl-orange-pale); border:1.5px solid rgba(239,126,26,.35); border-radius:20px; padding:32px 34px; }
.sl-notice h4{ font-family:var(--sl-display); font-weight:700; font-size:19px; color:var(--sl-navy); margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.sl-notice ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.sl-notice li{ font-family:var(--sl-body); font-size:14px; color:var(--sl-ink); line-height:1.6; display:flex; gap:10px; }
.sl-notice li::before{ content:"!"; font-weight:800; color:var(--sl-orange); flex-shrink:0; }
[data-theme="dark"] .sl-notice h4{ color:var(--sl-navy) !important; }

/* Contact tiles (icon + heading + desc + value) */
.sl-contact-tile-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.sl-contact-tile{ background:#fff; border:1px solid var(--sl-line); border-radius:20px; padding:30px 28px; text-align:center; transition:transform .3s ease, box-shadow .3s ease; }
.sl-contact-tile:hover{ transform:translateY(-5px); box-shadow:var(--sl-shadow-md); }
.sl-contact-tile-ic{ width:48px; height:48px; border-radius:14px; background:var(--sl-navy-pale,#e9eff6); color:var(--sl-navy); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; }
.sl-contact-tile-ic svg{ width:22px; height:22px; stroke:var(--sl-navy); }
.sl-contact-tile h4{ font-family:var(--sl-display); font-weight:700; font-size:17px; color:var(--sl-navy); margin-bottom:8px; }
.sl-contact-tile p{ font-family:var(--sl-body); font-size:13.5px; color:var(--sl-muted); line-height:1.6; margin-bottom:14px; }
.sl-contact-tile-val{ font-family:var(--sl-display); font-weight:700; font-size:16px; color:var(--sl-navy); }
[data-theme="dark"] .sl-contact-tile{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .sl-contact-tile h4, [data-theme="dark"] .sl-contact-tile-val{ color:#ffffff !important; }
[data-theme="dark"] .sl-contact-tile p{ color:#9aaabb; }
@media (max-width:900px){ .sl-contact-tile-grid{ grid-template-columns:1fr; } }

/* Embedded map */
.sl-map-wrap{ border-radius:24px; overflow:hidden; box-shadow:var(--sl-shadow-lg); border:1px solid var(--sl-line); height:100%; min-height:420px; min-width:0; }
.sl-map-wrap iframe{ width:100%; height:100%; border:0; display:block; }

/* External-service band (e.g. linking out to the PES Hospital website) */
.sl-external-band{ background:radial-gradient(ellipse 700px 400px at 15% 20%, rgba(255,255,255,.08), transparent 60%), linear-gradient(135deg, var(--sl-navy) 0%, #001830 100%); color:#fff; padding:90px 0; border-radius:28px; width:calc(100% - 4rem); max-width:1400px; margin:70px auto; box-sizing:border-box; }
.sl-external-band .sl-ext-inner{ display:grid; grid-template-columns:1.2fr .8fr; gap:50px; align-items:center; padding:0 50px; }
.sl-external-band h2{ font-family:var(--sl-display); font-weight:700; font-size:clamp(26px,3.2vw,38px); line-height:1.2; margin:14px 0 16px; color:#fff; max-width:16ch; }
.sl-external-band p{ font-family:var(--sl-body); font-size:15.5px; line-height:1.75; color:rgba(255,255,255,.75); max-width:52ch; }
.sl-ext-go{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15); border-radius:20px; padding:30px 28px; text-align:center; }
.sl-ext-go-url{ font-family:var(--sl-display); font-weight:700; font-size:20px; color:#fff; margin-bottom:18px; word-break:break-all; }
.sl-ext-go .sl-btn{ width:100%; justify-content:center; }
@media (max-width:900px){ .sl-external-band .sl-ext-inner{ grid-template-columns:1fr; padding:0 26px; } }
@media (max-width:600px){ .sl-external-band{ padding:60px 22px; border-radius:20px; } .sl-external-band .sl-ext-inner{ padding:0; } }

/* Rounded info/notice pill (e.g. "Faculty eligibility as per NMC criteria") */
.sl-info-banner{ display:inline-flex; align-items:center; gap:10px; background:var(--sl-navy-pale,#e9eff6); border:1px solid var(--sl-line-strong); color:var(--sl-navy); border-radius:999px; padding:10px 20px; font-family:var(--sl-body); font-size:13px; font-weight:700; margin-top:26px; }
.sl-info-banner-dot{ width:7px; height:7px; border-radius:50%; background:var(--sl-navy); flex-shrink:0; }
[data-theme="dark"] .sl-info-banner{ background:#1a2740; border-color:#2e3d58; color:#ffffff; }

/* Job listing rows (Careers) */
.sl-job-rows{ display:flex; flex-direction:column; }
.sl-job-row{ display:grid; grid-template-columns:280px 1fr; gap:36px; padding:34px 0; border-bottom:1px solid var(--sl-line); align-items:start; }
.sl-job-row:first-child{ padding-top:0; }
.sl-job-row:last-child{ border-bottom:none; }
.sl-job-cat{ display:inline-block; font-family:var(--sl-body); font-size:11.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--sl-orange); background:var(--sl-orange-pale); padding:5px 12px; border-radius:999px; }
.sl-job-row h3{ font-family:var(--sl-display); font-weight:700; font-size:21px; color:var(--sl-navy); margin-top:14px; line-height:1.3; }
.sl-job-chips{ display:flex; flex-wrap:wrap; gap:9px; }
.sl-chip{ font-family:var(--sl-body); font-size:12.5px; font-weight:600; color:var(--sl-navy); background:var(--sl-paper-2); border:1px solid var(--sl-line); padding:7px 14px; border-radius:999px; }
[data-theme="dark"] .sl-job-row h3{ color:#ffffff !important; }
[data-theme="dark"] .sl-chip{ background:#1a2740; border-color:#2e3d58; color:#9aaabb; }
@media (max-width:800px){ .sl-job-row{ grid-template-columns:1fr; gap:14px; } }

/* Related tiles (small link cards with an arrow) */
.sl-related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sl-related-tile{ background:#fff; border:1px solid var(--sl-line); border-radius:16px; padding:22px 24px; display:block; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.sl-related-tile:hover{ transform:translateY(-4px); box-shadow:var(--sl-shadow-sm); border-color:transparent; }
.sl-related-tile-lbl{ font-family:var(--sl-display); font-weight:700; font-size:16px; color:var(--sl-navy); }
.sl-related-tile-go{ margin-top:10px; font-family:var(--sl-body); font-size:12.5px; font-weight:700; color:var(--sl-orange); display:inline-block; }
[data-theme="dark"] .sl-related-tile{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .sl-related-tile-lbl{ color:#ffffff !important; }
@media (max-width:800px){ .sl-related-grid{ grid-template-columns:1fr; } }

/* Document / download list (MARB disclosures etc.) */
.am-doc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.am-doc-item{ background:#fff; border:1px solid var(--sl-line); border-radius:16px; padding:20px 22px; display:flex; align-items:center; gap:16px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.am-doc-item:hover{ transform:translateY(-3px); box-shadow:var(--sl-shadow-sm); border-color:transparent; }
.am-doc-ic{ width:42px; height:42px; border-radius:11px; background:var(--sl-navy-pale,#e9eff6); color:var(--sl-navy); flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.am-doc-ic svg{ width:19px; height:19px; stroke:var(--sl-navy); }
.am-doc-dt{ flex:1; }
.am-doc-name{ font-family:var(--sl-body); font-size:14.5px; font-weight:700; color:var(--sl-navy); }
.am-doc-meta{ font-family:var(--sl-body); font-size:12px; color:var(--sl-muted); margin-top:3px; }
.am-doc-go{ font-family:var(--sl-body); font-size:12px; font-weight:700; color:var(--sl-orange); flex-shrink:0; }
[data-theme="dark"] .am-doc-item{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .am-doc-name{ color:#ffffff; }
[data-theme="dark"] .am-doc-meta{ color:#9aaabb; }
@media (max-width:700px){ .am-doc-grid{ grid-template-columns:1fr; } }

/* Document item with separate View / Download actions */
.am-doc-actions{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.am-doc-actions .am-doc-go{ padding:7px 14px; border-radius:999px; border:1px solid var(--sl-navy); color:var(--sl-navy); transition:background .25s ease, color .25s ease; }
.am-doc-actions .am-doc-go:hover{ background:var(--sl-navy); color:#fff; }
.am-doc-actions .am-doc-go.dl{ border-color:var(--sl-orange); background:var(--sl-orange); color:#fff; }
.am-doc-actions .am-doc-go.dl:hover{ background:#d96e0f; border-color:#d96e0f; }
[data-theme="dark"] .am-doc-actions .am-doc-go{ border-color:#6f88a8; color:#ffffff; }
[data-theme="dark"] .am-doc-actions .am-doc-go:hover{ background:#ffffff; color:var(--sl-navy); }
[data-theme="dark"] .am-doc-actions .am-doc-go.dl{ border-color:var(--sl-orange); background:var(--sl-orange); color:#fff; }
[data-theme="dark"] .am-doc-actions .am-doc-go.dl:hover{ background:#d96e0f; }
@media (max-width:420px){ .am-doc-actions{ flex-direction:column; align-items:flex-start; gap:8px; } }
.am-doc-grid + .am-doc-grid{ margin-top:18px; }

/* Course-wise approvals table (Government Approval page) */
.am-approvals-wrap{ overflow-x:auto; border:1px solid var(--sl-line); border-radius:20px; background:#fff; box-shadow:var(--sl-shadow-sm); }
table.am-approvals{ width:100%; border-collapse:collapse; font-family:var(--sl-body); font-size:13px; min-width:960px; }
table.am-approvals thead th{ background:var(--sl-navy); color:#fff; font-weight:700; font-size:11px; letter-spacing:.05em; text-transform:uppercase; padding:15px 18px; text-align:left; white-space:nowrap; }
table.am-approvals thead th:first-child{ border-top-left-radius:19px; }
table.am-approvals thead th:last-child{ border-top-right-radius:19px; }
table.am-approvals tbody td{ padding:13px 18px; border-bottom:1px solid var(--sl-line); vertical-align:top; color:var(--sl-ink); line-height:1.6; }
table.am-approvals tbody tr:last-child td{ border-bottom:none; }
table.am-approvals tbody tr:hover td{ background:var(--sl-paper-2); }
table.am-approvals td.sno{ color:var(--sl-muted); font-weight:700; white-space:nowrap; }
table.am-approvals td.course{ font-weight:700; color:var(--sl-navy); white-space:nowrap; }
table.am-approvals td.intake{ white-space:nowrap; color:var(--sl-ink); font-weight:600; }
table.am-approvals td .lnk{ display:inline-block; font-family:var(--sl-body); font-size:11.5px; font-weight:700; color:var(--sl-orange); background:var(--sl-orange-pale); padding:3px 10px; border-radius:999px; white-space:nowrap; margin:2px 4px 2px 0; transition:background .2s ease, color .2s ease; }
table.am-approvals td .lnk:hover{ background:var(--sl-orange); color:#fff; }
table.am-approvals td .plain{ display:inline-block; font-family:var(--sl-body); font-size:11.5px; font-weight:700; color:var(--sl-muted); background:var(--sl-paper-2); padding:3px 10px; border-radius:999px; margin:2px 4px 2px 0; }
table.am-approvals td .dash{ color:var(--sl-line-strong); font-weight:700; }
.am-approvals-note{ font-family:var(--sl-body); font-size:12.5px; color:var(--sl-muted); margin-top:16px; line-height:1.7; }
[data-theme="dark"] .am-approvals-wrap{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] table.am-approvals tbody td{ border-color:#2e3d58; color:#9aaabb; }
[data-theme="dark"] table.am-approvals tbody tr:hover td{ background:#222d42; }
[data-theme="dark"] table.am-approvals td.course{ color:#ffffff; }
[data-theme="dark"] table.am-approvals td.intake{ color:#ffffff; }
[data-theme="dark"] table.am-approvals td .plain{ background:#222d42; color:#9aaabb; }
[data-theme="dark"] table.am-approvals td .dash{ color:#2e3d58; }

/* Public-disclosure accordion (NMC page) — distinct from the FAQ .acc-* accordion below */
.sl-disc-accordion{ display:flex; flex-direction:column; gap:14px; margin-bottom:40px; }
.sl-disc-item{ background:#fff; border:1px solid var(--sl-line); border-radius:18px; overflow:hidden; transition:border-color .25s ease, box-shadow .25s ease; }
.sl-disc-item.is-open{ border-color:var(--sl-line-strong); box-shadow:var(--sl-shadow-sm); }
.sl-disc-head{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; background:none; border:none; cursor:pointer; text-align:left; font-family:var(--sl-body); }
.sl-disc-head-left{ display:flex; align-items:center; gap:14px; }
.sl-disc-ic{ width:38px; height:38px; border-radius:10px; background:var(--sl-navy-pale,#e9eff6); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sl-disc-ic svg{ width:18px; height:18px; stroke:var(--sl-navy); }
.sl-disc-title{ font-family:var(--sl-display); font-weight:700; font-size:17px; color:var(--sl-navy); }
.sl-disc-sub{ font-size:12.5px; color:var(--sl-muted); margin-top:2px; font-weight:500; display:block; }
.sl-disc-head-right{ display:flex; align-items:center; gap:14px; flex-shrink:0; }
.sl-disc-count{ font-size:11.5px; font-weight:700; color:var(--sl-muted); background:var(--sl-paper-2); padding:4px 11px; border-radius:999px; white-space:nowrap; }
.sl-disc-chevron{ width:18px; height:18px; stroke:var(--sl-muted); transition:transform .3s ease; flex-shrink:0; }
.sl-disc-item.is-open .sl-disc-chevron{ transform:rotate(180deg); stroke:var(--sl-orange); }
.sl-disc-body{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.sl-disc-item.is-open .sl-disc-body{ max-height:2400px; }
.sl-disc-body-inner{ padding:0 24px 24px; }
.sl-disc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.sl-disc-row{ display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:11px; background:var(--sl-paper-2); font-family:var(--sl-body); font-size:13.5px; font-weight:600; color:var(--sl-ink); transition:background .2s ease, color .2s ease; }
a.sl-disc-row:hover{ background:var(--sl-navy); color:#fff; }
a.sl-disc-row:hover .sl-disc-row-ic svg{ stroke:#fff; }
.sl-disc-row.disabled{ color:var(--sl-muted); font-weight:500; }
.sl-disc-row-ic{ width:15px; height:15px; flex-shrink:0; display:flex; }
.sl-disc-row-ic svg{ width:100%; height:100%; stroke:var(--sl-orange); transition:stroke .2s ease; }
.sl-disc-row.disabled .sl-disc-row-ic svg{ stroke:var(--sl-line-strong); }
.sl-disc-row-label{ flex:1; line-height:1.4; }
.sl-disc-tag{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--sl-muted); background:#fff; border:1px solid var(--sl-line); padding:2px 8px; border-radius:999px; white-space:nowrap; }
[data-theme="dark"] .sl-disc-item{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .sl-disc-title{ color:#ffffff !important; }
[data-theme="dark"] .sl-disc-count{ background:#222d42; }
[data-theme="dark"] .sl-disc-row{ background:#222d42; color:#ffffff; }
[data-theme="dark"] .sl-disc-tag{ background:#1a2740; border-color:#2e3d58; color:#9aaabb; }
@media (max-width:900px){ .sl-disc-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .sl-disc-grid{ grid-template-columns:1fr; } .sl-disc-head{ padding:17px 18px; } .sl-disc-body-inner{ padding:0 18px 20px; } }

/* Compact disclosure-grid variant (SSR / DVV criteria — short codes, no icon, 5-up) */
.sl-disc-grid.sl-disc-compact{ grid-template-columns:repeat(5,1fr); gap:9px; }
.sl-disc-row.sl-disc-row-compact{ justify-content:center; padding:10px 10px; font-size:12.5px; }
.sl-disc-ic.sl-disc-ic-text{ font-family:var(--sl-display); font-weight:700; font-size:13px; color:var(--sl-navy); }
[data-theme="dark"] .sl-disc-ic.sl-disc-ic-text{ color:var(--sl-navy); }
@media (max-width:950px){ .sl-disc-grid.sl-disc-compact{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:700px){ .sl-disc-grid.sl-disc-compact{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:500px){ .sl-disc-grid.sl-disc-compact{ grid-template-columns:repeat(2,1fr); } }

/* Pill tab switcher (NAAC page) */
.sl-tabs{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-bottom:52px; }
.sl-tabs.sl-left{ justify-content:flex-start; }
.sl-tab{ background:#fff; border:1.5px solid var(--sl-line-strong); color:var(--sl-navy); font-family:var(--sl-body); font-size:13.5px; font-weight:700; padding:12px 24px; border-radius:999px; cursor:pointer; transition:all .2s ease; display:inline-flex; align-items:center; gap:8px; }
.sl-tab-count{ font-size:11px; font-weight:700; color:var(--sl-muted); background:var(--sl-paper-2); padding:2px 8px; border-radius:999px; }
.sl-tab:hover{ border-color:var(--sl-orange); color:var(--sl-orange); }
.sl-tab.is-active{ background:var(--sl-navy); border-color:var(--sl-navy); color:#fff; }
.sl-tab.is-active .sl-tab-count{ background:rgba(255,255,255,.15); color:#fff; }
.sl-tab-panel{ display:none; }
.sl-tab-panel.is-active{ display:block; animation:slTabFadeIn .35s ease; }
@keyframes slTabFadeIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:translateY(0); } }
[data-theme="dark"] .sl-tab{ background:#1a2740; border-color:#2e3d58; color:#ffffff; }
[data-theme="dark"] .sl-tab-count{ background:#222d42; color:#9aaabb; }

/* ── Accordion (Undergraduate / Postgraduate) ── */
.acc-wrap { width:100%; font-family:var(--font-body); }
.acc-item { border:1px solid #d8e4f0; border-radius:4px; margin-bottom:10px; overflow:hidden; }
.acc-header { display:flex; align-items:center; justify-content:space-between; padding:20px 32px; cursor:pointer; user-select:none; background:#f0f4f8; font-size:17px; font-weight:700; color:#1a3a6b; transition:background .2s; }
.acc-header:hover { background:#e0eaf5; }
.acc-header.open { background:#3b7dd8; color:#fff; }
.acc-header.open .acc-icon { color:#fff; }
.acc-icon { font-size:24px; font-weight:300; line-height:1; min-width:24px; text-align:right; }
.acc-body { display:none; padding:26px 32px; background:#fff; border-top:1px solid #d8e4f0; }
.acc-body.open { display:block; }
.acc-body p { margin:0 0 10px; font-size:16px; color:#333; line-height:1.7; }
.acc-body p:last-child { margin-bottom:0; }

/* ── NAAC — AQAR / Accreditation Outcomes ── */
.naac-section-title { font-size:35px; font-weight:700; color:#00377b; margin-bottom:18px; font-family:var(--font-title); }
.naac-btn { display:inline-block; background:linear-gradient(135deg,#ff6c00,#e05a00); color:#fff; padding:12px 28px; border-radius:4px; font-family:var(--font-body); font-size:15px; font-weight:600; text-decoration:none; transition:opacity .2s; margin-bottom:28px; }
.naac-btn:hover { opacity:.88; }
.naac-divider { border:none; border-top:2px solid #ff6c00; margin:0 0 40px; }
.naac-item { margin-bottom:0; }

/* ── NAAC IQAC ── */
.iqac-criterion-title { font-size:25px; font-weight:500; color:#00377b; margin-bottom:30px; font-family:var(--font-body); }
.iqac-table-wrap { overflow-y:auto; margin-bottom:40px; }
.iqac-table { min-width:600px; width:100%; border-collapse:collapse; font-family:var(--font-body); font-size:15px; }
.iqac-table th { background:#00337b; color:#fff; padding:12px 16px; text-align:left; font-weight:600; }
.iqac-table th:first-child { width:72px; }
.iqac-table td { padding:12px 16px; border-bottom:1px solid #ddd; vertical-align:top; }
.iqac-table tr:nth-child(even) td { background:#f7f7f7; }
.iqac-table a { color:#00337b; text-decoration:underline; }
.iqac-table a:hover { color:#ff6c00; }
.iqac-breadcrumb { font-family:var(--font-body); font-size:14px; color:#555; padding:10px 0; border-bottom:1px solid #ddd; margin-bottom:30px; }
.iqac-breadcrumb a { color:#00337b; }
.iqac-breadcrumb a:hover { color:#ff6c00; }

/* ── Contact Page ── */
.ct-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:0; background:var(--brand-navy); border-radius:16px; overflow:hidden; margin-bottom:36px; }
.ct-card { padding:44px 36px; display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.1); transition:background .2s; }
.ct-card:last-child { border-right:none; }
.ct-card:hover { background:rgba(255,255,255,.04); }
.ct-card-icon { width:56px; height:56px; border-radius:50%; background:rgba(234,88,12,.15); border:2px solid rgba(234,88,12,.4); display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:var(--orange); margin-bottom:22px; }
.ct-card-title { font-family:var(--font-title); font-size:1.6rem; font-weight:700; color:#fff; margin-bottom:14px; letter-spacing:.01em; }
.ct-card-desc { font-family:var(--font-body); font-size:.94rem; color:rgba(255,255,255,.65); line-height:1.7; margin-bottom:18px; flex:1; }
.ct-card-value { font-family:var(--font-body); font-size:.95rem; font-weight:600; color:#fff; line-height:1.75; }
.ct-card-value.ct-card-value-strong { font-weight:700; font-size:.98rem; margin-bottom:6px; }
.pes-inner-layout.ct-layout > .container { grid-template-columns:1fr; }
.ct-map { position:relative; border-radius:16px; overflow:hidden; height:560px; margin-top:8px; }
.ct-map-frame { border:none; display:block; }
.ct-map-overlay { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); z-index:10; display:flex; align-items:center; gap:12px; white-space:nowrap; }
.ct-map-label { font-family:var(--font-body); font-size:.92rem; font-weight:600; color:#fff; background:rgba(0,0,0,.55); padding:10px 20px; border-radius:50px; backdrop-filter:blur(4px); }
.ct-map-label i { margin-right:7px; }
.ct-map-directions { display:inline-flex; align-items:center; gap:8px; background:#ea580c; color:#fff; font-family:var(--font-body); font-size:.9rem; font-weight:700; padding:11px 22px; border-radius:50px; text-decoration:none; box-shadow:0 4px 18px rgba(234,88,12,.5); border:2px solid rgba(255,255,255,.25); }
.ct-card-value a { color:#fff; text-decoration:none; }
.ct-card-value a:hover { color:var(--orange); }
.ct-card-link { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-body); font-size:.88rem; font-weight:600; color:var(--orange); text-decoration:none; margin-top:12px; }
.ct-card-link:hover { text-decoration:underline; }
.ct-bottom { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ct-address-card { background:var(--brand-navy); border-radius:14px; padding:34px 30px; display:flex; flex-direction:column; gap:16px; }
.ct-address-title { font-family:var(--font-title); font-size:1.15rem; font-weight:700; color:#fff; margin-bottom:6px; }
.ct-address-row { display:flex; align-items:flex-start; gap:12px; font-family:var(--font-body); font-size:.9rem; color:rgba(255,255,255,.75); line-height:1.6; }
.ct-address-row i { color:var(--orange); font-size:1rem; margin-top:2px; flex-shrink:0; }
.ct-address-row a { color:rgba(255,255,255,.85); text-decoration:none; }
.ct-address-row a:hover { color:var(--orange); }
.ct-map { border-radius:14px; overflow:hidden; min-height:360px; }
.ct-map iframe { width:100%; height:100%; min-height:360px; border:none; display:block; }
.ct-dept-title { font-family:var(--font-title); font-size:1.3rem; font-weight:700; color:var(--brand-navy); margin-bottom:20px; padding-bottom:10px; border-bottom:2px solid var(--orange); display:inline-block; }
.ct-dept-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ct-dept-card { background:#fff; border:1px solid var(--border-color); border-radius:12px; padding:22px 20px; display:flex; flex-direction:column; gap:10px; box-shadow:0 2px 10px rgba(0,0,0,.06); transition:box-shadow .2s, transform .2s; }
.ct-dept-card:hover { box-shadow:0 6px 20px rgba(0,0,0,.1); transform:translateY(-2px); }
.ct-dept-name { font-family:var(--font-body); font-size:.95rem; font-weight:700; color:var(--brand-navy); display:flex; align-items:center; margin-bottom:4px; }
.ct-dept-row { display:flex; align-items:center; gap:9px; font-family:var(--font-body); font-size:.86rem; color:var(--text-secondary); }
.ct-dept-row i { color:var(--orange); font-size:.9rem; flex-shrink:0; }
.ct-dept-row a { color:var(--brand-navy); text-decoration:none; }
.ct-dept-row a:hover { color:var(--orange); }
@media (max-width:900px) {
  .ct-cards { grid-template-columns:1fr; }
  .ct-card { border-right:none; border-bottom:1px solid rgba(255,255,255,.1); }
  .ct-card:last-child { border-bottom:none; }
  .ct-bottom { grid-template-columns:1fr; }
  .ct-dept-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .ct-dept-grid { grid-template-columns:1fr; }
  .ct-card { padding:32px 24px; }
}

/* ── Admissions Page ── */
.adm-intro { font-family:var(--font-body); font-size:1.02rem; color:var(--text-secondary); line-height:1.8; margin-bottom:10px; }
.adm-programs { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:28px 0 36px; }
.adm-prog-card { position:relative; border-radius:14px; overflow:hidden; min-height:260px; display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none; box-shadow:0 4px 18px rgba(0,0,0,.18); transition:transform .25s, box-shadow .25s; }
.adm-prog-card:hover { transform:translateY(-4px); box-shadow:0 10px 30px rgba(0,0,0,.25); }
.adm-prog-bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .4s; }
.adm-prog-card:hover .adm-prog-bg { transform:scale(1.04); }
.adm-programs .adm-prog-card:nth-child(1) .adm-prog-bg { background-image:url(/assets/img/7.jpg); }
.adm-programs .adm-prog-card:nth-child(2) .adm-prog-bg { background-image:url(/assets/img/6.jpg); }
.adm-prog-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,30,70,.88) 0%, rgba(0,30,70,.3) 60%, transparent 100%); }
.adm-prog-body { position:relative; z-index:1; padding:24px 26px; }
.adm-prog-badge { display:inline-block; font-family:var(--font-body); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; background:var(--orange); color:#fff; padding:3px 10px; border-radius:20px; margin-bottom:10px; }
.adm-prog-title { font-family:var(--font-title); font-size:1.5rem; font-weight:700; color:#fff; margin:0 0 6px; }
.adm-prog-sub { font-family:var(--font-body); font-size:.88rem; color:rgba(255,255,255,.75); margin:0 0 14px; }
.adm-prog-btn { display:inline-flex; align-items:center; gap:7px; font-family:var(--font-body); font-size:.84rem; font-weight:600; color:#fff; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); padding:6px 14px; border-radius:20px; backdrop-filter:blur(4px); transition:background .2s; }
.adm-prog-card:hover .adm-prog-btn { background:var(--orange); border-color:var(--orange); }
.adm-links-title { font-family:var(--font-title); font-size:1.15rem; font-weight:700; color:#9aaabb; margin:0 0 14px; padding-bottom:8px; border-bottom:2px solid var(--orange); display:inline-block; }
.adm-links { display:grid; grid-template-columns:1fr; gap:14px; margin-bottom:0; }
.adm-link-item { display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--border-color); border-radius:12px; padding:18px 20px; text-decoration:none; box-shadow:0 2px 8px rgba(0,0,0,.05); transition:box-shadow .2s, transform .2s, border-color .2s; }
.adm-link-item:hover { box-shadow:0 6px 20px rgba(0,0,0,.1); transform:translateY(-2px); border-color:var(--orange); }
.adm-link-icon { width:44px; height:44px; border-radius:10px; background:rgba(234,88,12,.1); display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--orange); flex-shrink:0; }
.adm-link-label { font-family:var(--font-body); font-size:.93rem; font-weight:700; color:#9aaabb; margin-bottom:3px; }
.adm-link-sub { font-family:var(--font-body); font-size:.8rem; color:var(--text-secondary); }
.adm-mid-row { display:grid; grid-template-columns:1fr 1.4fr; gap:28px; align-items:start; margin:32px 0 24px; }
.adm-links-col { display:flex; flex-direction:column; }
.adm-enquiry-wrap { display:flex; flex-direction:column; }
.adm-enquiry-heading { font-family:var(--font-title); font-size:1rem; font-weight:700; color:#9aaabb; display:inline-flex; align-items:center; gap:8px; padding-bottom:10px; border-bottom:2px solid var(--orange); margin-bottom:18px; }
.adm-enquiry-frame { width:100%; height:480px; border:none; border-radius:12px; display:block; box-shadow:0 2px 12px rgba(0,0,0,.08); overflow:hidden; }
@media (max-width:768px) {
  .adm-mid-row { grid-template-columns:1fr; }
  .adm-enquiry-frame { height:495px; }
}
.adm-bottom { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:10px; }
.adm-contact-card { background:var(--brand-navy); border-radius:14px; padding:28px 26px; display:flex; flex-direction:column; gap:14px; }
.adm-contact-heading { font-family:var(--font-title); font-size:1.1rem; font-weight:700; color:#fff; margin-bottom:4px; }
.adm-contact-row { display:flex; align-items:flex-start; gap:12px; font-family:var(--font-body); font-size:.9rem; color:rgba(255,255,255,.78); line-height:1.55; }
.adm-contact-row i { color:var(--orange); font-size:1rem; margin-top:2px; flex-shrink:0; }
.adm-contact-row a { color:rgba(255,255,255,.9); text-decoration:none; }
.adm-contact-row a:hover { color:var(--orange); }
.adm-hours-card { background:#fff; border:1px solid var(--border-color); border-radius:14px; padding:28px 26px; box-shadow:0 2px 10px rgba(0,0,0,.06); }
.adm-hours-heading { font-family:var(--font-title); font-size:1.1rem; font-weight:700; color:#9aaabb; margin-bottom:16px; }
.adm-hours-row { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid var(--border-color); }
.adm-hours-row:last-child { border-bottom:none; }
.adm-hours-day { font-family:var(--font-body); font-size:.9rem; color:#444; }
.adm-hours-badge { font-family:var(--font-body); font-size:.82rem; font-weight:700; background:rgba(234,88,12,.1); color:var(--orange); padding:3px 12px; border-radius:20px; }
.adm-hours-time { font-family:var(--font-body); font-size:.88rem; color:#999; }
@media (max-width:768px) {
  .adm-programs { grid-template-columns:1fr; }
  .adm-bottom { grid-template-columns:1fr; }
}

/* ══════════════════════════════════════
   DEPARTMENT CONTENT PAGE
══════════════════════════════════════ */
.dept-page-wrap { display: flex; flex-direction: column; gap: 0; }

/* Each major section block */
.dept-topic { padding: 32px 0; border-bottom: 1px solid var(--border-color); }
.dept-topic:last-child { border-bottom: none; padding-bottom: 8px; }

/* Section heading */
.dept-topic-title {
  font-family: var(--font-title);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--brand-navy);
  margin: 0 0 6px;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--orange);
  display: inline-block;
}
[data-theme="dark"] .dept-topic-title { color: #ffffff; }
[data-theme="dark"] .dept-topic-list-intro { color: #9aaabb; }
[data-theme="dark"] .dept-topic-list li { color: #9aaabb; }

/* Vision — quote-style block */
.dept-vision-box {
  background: linear-gradient(135deg, #eff6ff 0%, #f0fdf4 100%);
  border-left: 5px solid var(--brand-navy);
  border-radius: 0 12px 12px 0;
  padding: 20px 24px;
  margin-top: 18px;
  font-family: var(--font-title);
  font-size: 1.05rem;
  font-style: italic;
  color: var(--brand-navy);
  line-height: 1.7;
}
[data-theme="dark"] .dept-vision-box { background: #1a2740; border-left-color: var(--orange); color: #c8d8ee; }
.dept-topic .infra-btn { margin-top: 18px; }

/* Mission / Objectives — styled list */
.dept-topic-list-intro { color: var(--brand-navy); font-family: var(--font-body); font-size: .95rem; margin-bottom: 12px; }
.dept-topic-list { list-style: none; padding: 0; margin: 18px 0 0; display: flex; flex-direction: column; gap: 10px; }
.dept-topic-list li {
  position: relative;
  padding-left: 26px;
  color: var(--brand-navy);
  font-family: var(--font-body);
  font-size: .95rem;
  line-height: 1.75;
}
.dept-topic-list li::before {
  content: '▸';
  color: var(--orange);
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 2px;
}

/* UG / PG Teaching — inner layout */
.dept-teaching-wrap { display: grid; grid-template-columns: 260px 1fr; gap: 24px; margin-top: 20px; align-items: start; }

/* Goal box */
.dept-goal-box {
  background: var(--brand-navy);
  border-radius: 14px;
  padding: 24px 22px;
  color: #fff;
}
.dept-goal-label {
  font-family: var(--font-title);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 10px;
  display: block;
}
.dept-goal-text {
  font-family: var(--font-body);
  font-size: .95rem;
  line-height: 1.75;
  color: rgba(255,255,255,.88);
}

/* Objectives box */
.dept-objectives-box { display: flex; flex-direction: column; gap: 0; }
.dept-objectives-box.dept-mt { margin-top: 24px; }
.dept-obj-label {
  font-family: var(--font-title);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin-bottom: 6px;
}

@media (max-width: 768px) {
  .dept-teaching-wrap { grid-template-columns: 1fr; gap: 16px; }
  .dept-topic-title { font-size: 1.1rem; }
  .dept-vision-box { font-size: .97rem; padding: 16px 18px; }
}

/* ── Department detail page (redesigned layout) ── */
.dept-content-grid { display: grid; grid-template-columns: 1fr 320px; gap: 48px; align-items: start; }
.dept-side-stack { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 110px; }
.dept-admissions-card { background: var(--sl-navy); color: #fff; border-radius: 20px; padding: 26px 24px; }
.dept-admissions-card h4 { font-family: var(--sl-display); font-weight: 700; font-size: 14.5px; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 16px; color: #fff; }
.dept-admissions-card p { font-size: 13px; line-height: 1.7; color: rgba(255,255,255,.75); margin-bottom: 18px; }
[data-theme="dark"] .dept-admissions-card { background: #10203a; }
.dept-lede { font-family: var(--sl-body); font-size: 17px; line-height: 1.85; color: var(--sl-muted); margin-bottom: 8px; }
@media (max-width: 900px) {
  .dept-content-grid { grid-template-columns: 1fr; gap: 28px; }
  .dept-side-stack { position: static; flex-direction: row; flex-wrap: wrap; }
  .dept-side-stack .sl-profile-side-card { flex: 1; min-width: 260px; }
}

/* Numbered list used inside Teaching Objectives tabs */
.dept-obj-num-list { list-style: none; counter-reset: deptobj; margin: 10px 0 26px; padding: 0; }
.dept-obj-num-list li { counter-increment: deptobj; position: relative; padding: 14px 0 14px 42px; border-top: 1px solid var(--sl-line); font-family: var(--sl-body); font-size: 14.5px; line-height: 1.7; color: var(--sl-muted); }
.dept-obj-num-list li:first-child { border-top: none; }
.dept-obj-num-list li::before { content: counter(deptobj, decimal-leading-zero); position: absolute; left: 0; top: 14px; font-family: var(--sl-display); font-weight: 700; color: var(--sl-orange); font-size: 14px; }
[data-theme="dark"] .dept-obj-num-list li { color: #9aaabb; border-color: #2e3d58; }

/* ── Accreditation Outcomes ── */
.ao-doc-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ao-doc-item { display:flex; flex-direction:row; align-items:center; gap:12px; background:#fff; border:1px solid var(--border-color); border-radius:12px; padding:14px 16px; box-shadow:0 2px 8px rgba(0,0,0,.05); transition:box-shadow .2s,border-color .2s; }
.ao-doc-item:hover { box-shadow:0 4px 16px rgba(0,0,0,.1); border-color:var(--orange); }
.ao-doc-icon { width:36px; height:36px; border-radius:8px; background:rgba(234,88,12,.08); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ao-doc-icon i { font-size:1.1rem; color:var(--orange); }
.ao-doc-info { flex:1; min-width:0; }
.ao-doc-label { font-family:var(--font-title); font-size:.82rem; font-weight:600; color:var(--brand-navy); line-height:1.35; }
.ao-doc-link { flex-shrink:0; display:inline-flex; align-items:center; gap:5px; font-family:var(--font-body); font-size:.78rem; font-weight:600; color:#fff !important; background:var(--orange); padding:6px 13px; border-radius:7px; text-decoration:none; transition:background .2s; white-space:nowrap; }
.ao-doc-link:hover { background:var(--brand-navy); color:#fff !important; }
[data-theme="dark"] .ao-doc-item { background:var(--card-bg); border-color:var(--border-color); }
[data-theme="dark"] .ao-doc-label { color:#ffffff; }
@media (max-width:600px) {
  .ao-doc-list { grid-template-columns:1fr; gap:10px; }
  .ao-doc-item {
    flex-wrap:wrap; align-items:center; gap:10px 12px;
    padding:14px 16px; border-radius:10px;
    border:1px solid var(--border-color);
    border-left:4px solid var(--orange);
    box-shadow:0 2px 10px rgba(0,0,0,.07);
  }
  .ao-doc-icon { width:38px; height:38px; flex-shrink:0; }
  .ao-doc-info { flex:1; min-width:0; }
  .ao-doc-label { font-size:.86rem; }
  .ao-doc-link { flex-basis:100%; width:auto; margin:0 auto; padding:7px 18px; border-radius:8px; font-size:.84rem; justify-content:center; text-align:center; }
}

/* ── About College ── */
:root{
  --ac-navy:#00264d;
  --ac-orange:#ef7e1a;
  --ac-orange-light:#ff9a45;
  --ac-orange-pale:#fef1e2;
  --ac-muted:#5c6b80;
  --ac-navy-pale:#e9eff6;
  --ac-line-strong:#cbd6e3;
  --ac-paper-2:#f6f8fb;
  --ac-line:#e2e8f0;
  --ac-display:"Playfair Display","Times New Roman",serif;
  --ac-body:"Noto Sans",-apple-system,sans-serif;
}
.ac-eyebrow{ font-family:var(--ac-body); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ac-orange); display:flex; align-items:center; gap:9px; margin-bottom:0; }
.ac-eyebrow::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--ac-orange); flex-shrink:0; }
.ac-eyebrow.ac-center{ justify-content:center; }

.ac-title{ font-family:var(--ac-display); font-weight:700; font-size:clamp(38px,4.6vw,60px); line-height:1.1; letter-spacing:-.01em; color:var(--ac-navy); margin:18px 0 20px; max-width:15ch; }
.ac-title em{ font-style:italic; font-weight:500; color:var(--ac-orange); }
.ac-copy{ font-family:var(--ac-body); font-size:17px; line-height:1.7; color:var(--ac-muted); max-width:44ch; margin:0 0 20px; }
.ac-meta{ display:flex; gap:10px; flex-wrap:wrap; font-family:var(--ac-body); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ac-navy); }
.ac-meta span:not(.ac-dv){ background:var(--ac-navy-pale); padding:6px 12px; border-radius:999px; }
.ac-meta .ac-dv{ color:var(--ac-line-strong); align-self:center; }

.ac-hero-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:end; }
.ac-hero-grid .ac-title, .ac-hero-grid .ac-copy{ margin-top:0; }
@media (max-width:900px){ .ac-hero-grid{ grid-template-columns:1fr; gap:28px; } }

.ac-collage{ margin-top:40px; display:grid; grid-template-columns:1.3fr 1fr 1fr; grid-template-rows:220px 170px; gap:16px; }
.ac-collage .ac-ph{ border-radius:20px; position:relative; overflow:hidden; box-shadow:0 12px 34px rgba(0,38,77,.10); }
.ac-collage .ac-ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.ac-collage .ac-ph .ac-cap{ position:absolute; left:16px; bottom:14px; z-index:1; font-family:var(--ac-body); font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#fff; }
.ac-collage .ac-ph::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 45%, rgba(0,18,36,.55)); }
.ac-collage .ac-ph-a{ grid-row:1 / span 2; }
.ac-collage .ac-ph-d{ grid-column:2 / span 2; }
@media (max-width:900px){
  .ac-collage{ grid-template-columns:1fr 1fr; grid-template-rows:170px 140px; }
  .ac-collage .ac-ph-a{ grid-row:auto; }
  .ac-collage .ac-ph-d{ grid-column:auto; }
}

.ac-mv-split{ display:grid; grid-template-columns:1.94fr 1fr; align-items:stretch; min-height:520px; }
.ac-mv-card{ background:#f6f8fb; padding:64px 56px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.ac-mv-title{ font-family:var(--ac-display); font-weight:700; font-size:clamp(28px,3.4vw,42px); line-height:1.18; color:var(--ac-navy); margin:14px 0 22px; max-width:14ch; }
.ac-mv-body{ font-family:var(--ac-body); font-size:16px; line-height:1.8; color:var(--ac-muted); max-width:62ch; margin:0 0 24px; }
.ac-mv-link{ font-family:var(--ac-body); font-weight:700; font-size:15px; color:var(--ac-navy); text-decoration:underline; text-underline-offset:4px; }
.ac-mv-link:hover{ color:var(--ac-orange); }
.ac-mv-media{ position:relative; overflow:hidden; z-index:2; box-shadow:0 24px 60px rgba(0,0,0,.2); }
.ac-mv-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ac-mv-media.ac-mv-overlap{ margin-left:-40%; transform:translateY(-10%); }
.ac-mv-card .ac-pull{ background:#fff; max-width:44ch; }
/* Same scroll-triggered reveal mechanism as the gallery images above (driven
   by initGalleryReveal() in main.js), but opening left-to-right and slower. */
.ac-mv-media.reveal-hidden{ clip-path:inset(0 100% 0 0); transition:clip-path 4.2s cubic-bezier(.22,1,.36,1); }
.ac-mv-media.reveal-hidden.in-view{ clip-path:inset(0 0% 0 0); }
@media (max-width:900px){ .ac-mv-split{ grid-template-columns:1fr; min-height:auto; } .ac-mv-card{ padding:48px 32px; } .ac-mv-media{ min-height:280px; } .ac-mv-media.ac-mv-overlap{ margin-left:0; transform:none; } }

.ac-btn{ display:inline-flex; align-items:center; gap:8px; font-family:var(--ac-body); font-weight:700; font-size:14px; padding:14px 26px; border-radius:999px; border:1.5px solid transparent; transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease; white-space:nowrap; cursor:pointer; text-decoration:none; }
.ac-btn.ac-solid{ background:var(--ac-orange); color:#fff; box-shadow:0 8px 22px rgba(239,126,26,.32); }
.ac-btn.ac-solid:hover{ background:#d96e0f; transform:translateY(-2px); box-shadow:0 12px 26px rgba(239,126,26,.4); }
.ac-btn.ac-outline{ border-color:var(--ac-navy); color:var(--ac-navy); }
.ac-btn.ac-outline:hover{ background:var(--ac-navy); color:#fff; transform:translateY(-2px); }

.ac-section{ max-width:1400px; margin:0 auto; padding:70px 2rem; }
.ac-section.ac-section-notop{ padding:0 2rem 70px; }
.ac-copy.ac-copy-pad{ padding-bottom:8px; }
.ac-mv-title.ac-mv-title-wide{ max-width:16ch; }
.ac-proc-head h2{ font-family:var(--ac-display); font-weight:700; font-size:clamp(28px,3.4vw,42px); color:var(--ac-navy); margin:14px 0 12px; line-height:1.18; }
.ac-proc-head p{ font-family:var(--ac-body); color:var(--ac-muted); font-size:15px; line-height:1.7; }
.ac-section.ac-paper2{
  position:relative; left:50%; right:50%;
  max-width:none; width:100vw; margin-left:-50vw; margin-right:-50vw;
  background:var(--ac-paper-2); border-radius:0; padding:70px 0;
}
.ac-section.ac-paper2 .ac-proc-grid{ max-width:1280px; margin:0 auto; padding:0 48px; }

.ac-split{ display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:center; }
.ac-split.ac-rev{ grid-template-columns:1.15fr .85fr; }
.ac-split.ac-rev .ac-split-media{ order:2; }
.ac-split-media .ac-ph{ aspect-ratio:4/5; border-radius:24px; overflow:hidden; box-shadow:0 24px 60px rgba(0,38,77,.16); }
.ac-split-media .ac-ph img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Decorative profile-photo composition — dot grid, photo card, offset backing panel */
.ac-history-photo{ position:relative; padding:36px 40px 100px 40px; margin-top:60px; }
.ac-history-dots{ position:absolute; top:0; left:0; display:grid; grid-template-columns:repeat(4,10px); gap:12px; z-index:0; }
.ac-history-dots span{ width:8px; height:8px; background:#c7d2f0; opacity:.5; transform:rotate(45deg); display:block; }
.ac-history-dots span:nth-child(9){ grid-column:1; }
.ac-history-dots span:nth-child(10){ grid-column:2; }
.ac-history-dots span:nth-child(11){ grid-column:1; }
.ac-history-dots span:nth-child(12){ grid-column:2; }
.ac-history-photo-card{ position:relative; z-index:2; width:100%; aspect-ratio:4/5; border-radius:0; overflow:hidden; box-shadow:0 20px 40px rgba(0,38,77,.15); }
.ac-history-photo-card img{ width:100%; height:100%; object-fit:cover; display:block; }
.ac-history-backdrop{ position:absolute; right:8px; bottom:60px; width:56%; height:34%; background:#f5b833; z-index:1; }
@media (max-width:900px){ .ac-history-photo{ padding-left:24px; } .ac-history-photo-card{ width:100%; } }
.ac-split h2{ font-family:var(--ac-display); font-weight:700; font-size:clamp(28px,3.4vw,42px); line-height:1.18; margin:14px 0 22px; color:var(--ac-navy); max-width:13ch; }
.ac-split p{ font-family:var(--ac-body); color:var(--ac-muted); font-size:16px; line-height:1.8; margin:0 0 16px; max-width:54ch; }
.ac-split p:last-of-type{ margin-bottom:26px; }
.ac-pull{ font-family:var(--ac-display); font-style:italic; font-weight:500; font-size:21px; line-height:1.5; color:var(--ac-navy); margin:0 0 26px; padding:22px 26px; background:#fff; border-left:4px solid var(--ac-orange); border-radius:0 16px 16px 0; box-shadow:0 2px 10px rgba(0,38,77,.06); }
@media (max-width:900px){ .ac-split, .ac-split.ac-rev{ grid-template-columns:1fr; } .ac-split.ac-rev .ac-split-media{ order:0; } }

.ac-cards-head{ max-width:640px; margin:0 auto 56px; text-align:center; }
.ac-cards-head h2{ font-family:var(--ac-display); font-weight:700; font-size:clamp(30px,3.6vw,44px); margin-top:14px; color:var(--ac-navy); line-height:1.16; }
.ac-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ac-card{ background:#fff; border:1px solid var(--ac-line); border-radius:20px; overflow:hidden; transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.ac-card:hover{ transform:translateY(-6px); box-shadow:0 12px 34px rgba(0,38,77,.1); border-color:transparent; }
.ac-card-img{ aspect-ratio:16/10; overflow:hidden; }
.ac-card-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.ac-card:hover .ac-card-img img{ transform:scale(1.07); }
.ac-card-body{ padding:26px 28px 28px; }
.ac-card .ac-idx{ display:inline-block; font-family:var(--ac-body); font-size:11.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--ac-orange); background:var(--ac-orange-pale); padding:5px 12px; border-radius:999px; }
.ac-card h3{ font-family:var(--ac-display); font-weight:700; font-size:21px; margin:18px 0 12px; color:var(--ac-navy); line-height:1.3; }
.ac-card p{ font-family:var(--ac-body); color:var(--ac-muted); font-size:14.5px; line-height:1.7; margin:0 0 20px; }
.ac-card .ac-go{ font-family:var(--ac-body); font-size:13px; font-weight:700; color:var(--ac-navy); display:inline-flex; align-items:center; gap:6px; }
.ac-card:hover .ac-go{ color:var(--ac-orange); }
@media (max-width:900px){ .ac-cards{ grid-template-columns:1fr; } }

.ac-proc-grid{ display:grid; grid-template-columns:.7fr 1.3fr; gap:56px; }
.ac-proc-list{ display:flex; flex-direction:column; }
.ac-proc-item{ padding:26px 0; border-bottom:1px solid var(--ac-line); display:grid; grid-template-columns:52px 1fr; gap:18px; }
.ac-proc-item:first-child{ padding-top:0; }
.ac-proc-item:last-child{ border-bottom:none; }
.ac-proc-item .ac-step{ font-family:var(--ac-display); font-weight:700; color:var(--ac-orange); font-size:22px; }
.ac-proc-item h4{ font-family:var(--ac-display); font-weight:700; font-size:19px; margin-bottom:8px; color:var(--ac-navy); }
.ac-proc-item p{ font-family:var(--ac-body); color:var(--ac-muted); font-size:14.5px; line-height:1.7; margin:0; }
@media (max-width:900px){ .ac-proc-grid{ grid-template-columns:1fr; } }

.ac-quote-band{
  position:relative; left:50%; right:50%;
  width:100vw; margin-left:-50vw; margin-right:-50vw;
  background:linear-gradient(135deg,var(--ac-navy) 0%,#001830 100%); color:#fff; text-align:center; padding:140px 48px; border-radius:0;
}
.ac-quote-band blockquote{ font-family:var(--ac-display); font-weight:500; font-style:italic; font-size:clamp(22px,3vw,32px); max-width:820px; margin:0 auto 22px; line-height:1.45; }
.ac-quote-band cite{ font-family:var(--ac-body); font-style:normal; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ac-orange-light); }

.ac-cta-band{ padding:0 20px 70px; text-align:center; }
.ac-cta-band h2{ font-family:var(--ac-display); font-weight:700; font-size:clamp(30px,4vw,50px); max-width:16ch; margin:16px auto 34px; color:var(--ac-navy); line-height:1.16; }
.ac-cta-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* Dark mode: the site forces all h1-h4 in .pes-inner-main to a light color
   for readability against the page's dark background — but several of our
   headings sit on cards/sections that stay light regardless of theme, so
   forcing them white makes the text disappear. Restore navy there. Also fix
   the "Meet our leadership" outline button, which sits directly on the
   page background (unlike its counterpart in the Mission card). */
[data-theme="dark"] .ac-mv-card h2,
[data-theme="dark"] .ac-card h3,
[data-theme="dark"] .ac-section.ac-paper2 h2,
[data-theme="dark"] .ac-proc-item h4 {
  color: var(--ac-navy) !important;
}
[data-theme="dark"] .ac-cards-head h2 {
  color: #ffffff !important;
}
[data-theme="dark"] .sl-split .sl-btn.sl-outline,
[data-theme="dark"] .sl-cta-band .sl-btn.sl-outline {
  border-color: #6f88a8; color: #ffffff;
}
[data-theme="dark"] .sl-split .sl-btn.sl-outline:hover,
[data-theme="dark"] .sl-cta-band .sl-btn.sl-outline:hover {
  background: #ffffff; color: var(--ac-navy);
}
[data-theme="dark"] .ac-mv-card .sl-btn.sl-outline {
  border-color: var(--ac-navy); color: var(--ac-navy);
}
[data-theme="dark"] .ac-mv-card .sl-btn.sl-outline:hover {
  background: var(--ac-navy); color: #fff;
}

/* ══════════════════════════════════════
   HOMEPAGE — island card (merged accreditation + stats, floats over hero)
══════════════════════════════════════ */
.hp-island-shell{ position:relative; z-index:30; }
.hp-island-wrap{ max-width:1400px; margin:0 auto; padding:0 40px; position:relative; margin-top:-108px; }
.hp-island-card{
  background:radial-gradient(ellipse 640px 320px at 12% 0%, rgba(255,154,69,.14), transparent 60%), linear-gradient(150deg, var(--sl-navy) 0%, #001830 100%);
  border-radius:28px; box-shadow:0 30px 70px -20px rgba(0,20,42,.45), 0 1px 0 rgba(255,255,255,.06) inset;
  border:1px solid rgba(255,255,255,.08); overflow:hidden;
}
.hp-isl-grid{ display:flex; flex-direction:column; }
.hp-isl-row{ display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid rgba(255,255,255,.12); }
.hp-isl-row:last-child{ border-bottom:none; }
.hp-isl-item{ padding:30px 22px 26px; border-right:1px solid rgba(255,255,255,.12); }
.hp-isl-row .hp-isl-item:last-child{ border-right:none; }
.hp-isl-item-h{ font-family:var(--sl-display); font-weight:700; font-size:25px; color:#fff; line-height:1.25; }
.hp-isl-item-s{ font-family:var(--sl-body); font-size:12px; font-weight:500; color:rgba(255,255,255,.62); margin-top:8px; line-height:1.45; }
@media (max-width:900px){
  .hp-island-wrap{ margin-top:-88px; padding:0 22px; }
  .hp-isl-row{ grid-template-columns:repeat(2,1fr); }
  .hp-isl-item{ border-bottom:1px solid rgba(255,255,255,.12); }
  .hp-isl-row .hp-isl-item:nth-child(2n){ border-right:none; }
  .hp-isl-row .hp-isl-item:nth-last-child(-n+2){ border-bottom:none; }
}
@media (max-width:560px){ .hp-island-wrap{ margin-top:-70px; } .hp-isl-item{ padding:22px 16px 20px; } }
@media (max-width:767px){ .hp-island-wrap{ margin-top:-16px; } }

/* About split — photo collage with an embedded video tile */
.hp-about-collage{ display:grid; grid-template-columns:1fr 1fr; grid-template-rows:170px 170px; gap:14px; }
.hp-ph{ border-radius:18px; overflow:hidden; box-shadow:var(--sl-shadow-md); position:relative; }
.hp-ph img{ width:100%; height:100%; object-fit:cover; }
.hp-ph.hp-ph-play{ display:flex; align-items:center; justify-content:center; }
.hp-ph.hp-ph-play img{ position:absolute; inset:0; }
.hp-ph.hp-ph-play::before{ content:""; position:absolute; inset:0; background:rgba(0,20,42,.45); z-index:1; }
.hp-ph.hp-ph-play .hp-playbtn{ position:relative; z-index:2; width:56px; height:56px; border-radius:50%; background:var(--sl-orange); border:none; padding:0; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(239,126,26,.4); transition:transform .2s ease; }
.hp-ph.hp-ph-play .hp-playbtn:hover{ transform:scale(1.08); }
.hp-ph.hp-ph-play .hp-playbtn::after{ content:""; border-style:solid; border-width:9px 0 9px 15px; border-color:transparent transparent transparent #fff; margin-left:4px; }
.hp-stat-row{ display:flex; gap:34px; margin:26px 0 30px; flex-wrap:wrap; }
.hp-stat-row .hp-st-num{ font-family:var(--sl-display); font-weight:700; font-size:26px; color:var(--sl-navy); }
.hp-stat-row .hp-st-lbl{ font-family:var(--sl-body); font-size:12px; color:var(--sl-muted); margin-top:4px; }
@media (max-width:920px){ .hp-about-collage{ grid-template-columns:1fr 1fr; } }

/* Programme facts row (used inside .am-program-card on the homepage) */
.am-program-facts{ display:flex; gap:22px; flex-wrap:wrap; margin-bottom:16px; }
.am-program-facts .f-num{ font-weight:800; font-size:18px; color:var(--sl-navy); font-family:var(--sl-display); }
.am-program-facts .f-lbl{ font-family:var(--sl-body); font-size:11px; color:var(--sl-muted); }

/* Departments journey (pre-clinical → para-clinical → clinical, 3 linked stages) */
.hp-dept-total{ display:inline-flex; align-items:center; gap:8px; background:var(--sl-navy-pale,#e9eff6); color:var(--sl-navy); font-family:var(--sl-body); font-size:12.5px; font-weight:700; padding:8px 16px 8px 8px; border-radius:999px; margin-bottom:22px; }
.hp-dept-total-circ{ width:26px; height:26px; border-radius:50%; background:var(--sl-navy); color:#fff; font-family:var(--sl-display); font-weight:700; font-size:12px; display:flex; align-items:center; justify-content:center; }
.hp-dept-journey{ display:flex; align-items:stretch; gap:0; }
.hp-dept-stage{ flex:1; background:#fff; border:1px solid var(--sl-line); border-radius:22px; padding:32px 28px 30px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; position:relative; }
.hp-dept-stage:hover{ transform:translateY(-6px); box-shadow:var(--sl-shadow-md); border-color:transparent; }
.hp-dept-stage-top{ display:flex; align-items:center; gap:14px; }
.hp-dept-badge{ width:50px; height:50px; border-radius:50%; background:var(--sl-navy); color:#fff; font-family:var(--sl-display); font-weight:700; font-size:19px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hp-dept-stage:nth-child(3) .hp-dept-badge{ background:var(--sl-orange); }
.hp-dept-stage:nth-child(5) .hp-dept-badge{ background:#0a1626; }
.hp-dept-stage h3{ font-family:var(--sl-display); font-weight:700; font-size:19.5px; color:var(--sl-navy); line-height:1.2; }
.hp-dept-stage .hp-yr{ font-family:var(--sl-body); font-size:12px; color:var(--sl-muted); font-weight:600; margin-top:3px; }
.hp-dept-stage .hp-copy{ font-family:var(--sl-body); font-size:13.5px; color:var(--sl-muted); line-height:1.65; margin:18px 0 20px; }
.hp-dept-count{ font-family:var(--sl-body); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--sl-orange); margin-bottom:12px; }
.hp-dept-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.hp-dept-chip{ background:var(--sl-paper-2); border:1px solid var(--sl-line); color:var(--sl-navy); font-family:var(--sl-body); font-size:12px; font-weight:600; padding:7px 13px; border-radius:999px; white-space:nowrap; }
.hp-dept-arrow{ width:52px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:var(--sl-line-strong); }
.hp-dept-arrow svg{ width:22px; height:22px; }
@media (max-width:900px){ .hp-dept-journey{ flex-direction:column; gap:0; } .hp-dept-arrow{ width:100%; height:36px; } .hp-dept-arrow svg{ transform:rotate(90deg); } }

/* Hospital / community impact split */
.hp-impact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.hp-impact-stats{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:26px; }
.hp-imp{ background:#fff; border:1px solid var(--sl-line); border-radius:16px; padding:20px 22px; }
.hp-imp-num{ font-family:var(--sl-display); font-weight:700; font-size:24px; color:var(--sl-navy); }
.hp-imp-lbl{ font-family:var(--sl-body); font-size:12px; color:var(--sl-muted); margin-top:4px; }
.hp-community-list{ list-style:none; margin-top:22px; }
.hp-community-list li{ display:flex; gap:12px; padding:12px 0; border-top:1px solid var(--sl-line); font-family:var(--sl-body); font-size:14px; color:var(--sl-muted); }
.hp-community-list li:first-child{ border-top:none; }
.hp-community-list .hp-dot{ width:6px; height:6px; border-radius:50%; background:var(--sl-orange); margin-top:8px; flex-shrink:0; }
@media (max-width:920px){ .hp-impact-grid{ grid-template-columns:1fr; gap:36px; } }

/* Campus-life facility tiles */
/* Bento-style photo mosaic for Campus Facilities — one large featured tile
   plus smaller tiles, using real campus photography with a hover-zoom and
   gradient caption instead of a plain icon grid. */
.hp-bento{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; grid-auto-flow:dense; gap:16px; }
.hp-bento-item{ position:relative; border-radius:20px; overflow:hidden; display:block; box-shadow:0 10px 30px rgba(0,38,77,.12); }
.hp-bento-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.22,1,.36,1); }
.hp-bento-item:hover img{ transform:scale(1.08); }
.hp-bento-item::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 45%, rgba(0,20,42,.82) 100%); }
.hp-bento-body{ position:absolute; left:0; right:0; bottom:0; padding:18px 20px; z-index:2; color:#fff; }
.hp-bento-tag{ display:inline-block; font-family:var(--sl-body); font-size:10.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--sl-orange-light); margin-bottom:6px; }
.hp-bento-title{ font-family:var(--sl-display); font-weight:700; font-size:18px; line-height:1.2; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.hp-bento-title svg{ width:15px; height:15px; opacity:.85; flex-shrink:0; transition:transform .25s ease; }
.hp-bento-item:hover .hp-bento-title svg{ transform:translate(3px,-3px); }
.hp-bento-big{ grid-column:span 2; grid-row:span 2; }
.hp-bento-big .hp-bento-title{ font-size:25px; }
.hp-bento-big .hp-bento-tag{ font-size:11.5px; }
@media (max-width:900px){ .hp-bento{ grid-template-columns:repeat(2,1fr); grid-auto-rows:170px; } .hp-bento-big{ grid-column:span 2; grid-row:span 1; } .hp-bento-big .hp-bento-title{ font-size:19px; } }
@media (max-width:560px){ .hp-bento{ grid-template-columns:1fr; } .hp-bento-item{ grid-column:span 1 !important; } }

.hp-facility-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.hp-facility{ background:#fff; border:1px solid var(--sl-line); border-radius:18px; padding:26px 22px; text-align:center; transition:transform .3s ease, box-shadow .3s ease; }
.hp-facility:hover{ transform:translateY(-5px); box-shadow:var(--sl-shadow-md); }
.hp-facility-ic{ width:42px; height:42px; border-radius:11px; background:var(--sl-navy-pale,#e9eff6); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.hp-facility-ic svg{ width:20px; height:20px; stroke:var(--sl-navy); }
.hp-facility h4{ font-family:var(--sl-display); font-weight:700; font-size:15px; color:var(--sl-navy); margin-bottom:6px; }
.hp-facility p{ font-family:var(--sl-body); font-size:12px; color:var(--sl-muted); line-height:1.6; }
@media (max-width:900px){ .hp-facility-grid{ grid-template-columns:repeat(2,1fr); } }

[data-theme="dark"] .hp-island-card{ border-color:#2e3d58; }
[data-theme="dark"] .hp-dept-stage,
[data-theme="dark"] .hp-imp,
[data-theme="dark"] .hp-facility{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .hp-dept-stage h3,
[data-theme="dark"] .hp-facility h4{ color:#ffffff !important; }
[data-theme="dark"] .hp-dept-chip{ background:#222d42; border-color:#2e3d58; color:#ffffff; }
[data-theme="dark"] .hp-dept-total{ background:#1a2740; color:#ffffff; }
[data-theme="dark"] .hp-imp-num{ color:#ffffff; }
[data-theme="dark"] .hp-community-list li{ border-color:#2e3d58; }
[data-theme="dark"] .hp-stat-row .hp-st-num{ color:#ffffff !important; }

.hp-section{ padding:70px 0; }
.hp-section.hp-tint{ background:#f6f8fb; }
.hp-split{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media (max-width:920px){ .hp-split{ grid-template-columns:1fr; } }
@media (max-width:600px){ .hp-section{ padding:64px 0; } }
[data-theme="dark"] .hp-section.hp-tint{ background:#1a2236; }

/* ============ GALLERY GROUPS (Infrastructure) ============ */
.pu-gallery-group{ margin-bottom:40px; }
.pu-gallery-group h3{ font-family:var(--font-title); font-weight:700; font-size:19px; color:var(--text-primary); margin-bottom:14px; padding-bottom:8px; border-bottom:2px solid var(--border-color); }
.pu-gallery-row{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; }
.pu-gallery-row img{ width:100%; height:130px; object-fit:cover; border-radius:10px; box-shadow:var(--shadow-sm); cursor:zoom-in; transition:transform .25s ease, box-shadow .25s ease; }
.pu-gallery-row img:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md, 0 10px 24px rgba(0,0,0,.18)); }
[data-theme="dark"] .pu-gallery-group h3{ color:#ffffff; }

/* Image lightbox (gallery images open in an overlay, not a new tab) */
.pu-lightbox{ position:fixed; inset:0; z-index:999; background:rgba(3,7,18,.9); display:none; align-items:center; justify-content:center; padding:56px 72px; }
.pu-lightbox.is-open{ display:flex; }
.pu-lightbox img{ max-width:100%; max-height:100%; object-fit:contain; border-radius:10px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.pu-lightbox button{ position:absolute; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:22px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease; }
.pu-lightbox button:hover{ background:rgba(255,255,255,.25); }
.pu-lightbox-close{ top:16px; right:16px; }
.pu-lightbox-prev{ left:16px; top:50%; transform:translateY(-50%); }
.pu-lightbox-next{ right:16px; top:50%; transform:translateY(-50%); }
@media (max-width:600px){ .pu-lightbox{ padding:60px 12px; } .pu-lightbox-prev{ left:6px; } .pu-lightbox-next{ right:6px; } }

.sl-page-title.sl-page-title-sm{ font-size:clamp(28px,3.4vw,42px); }
.sl-page-title.sl-page-title-sm.sl-mt-tight{ margin:14px 0 18px; }
.sl-page-intro.sl-w-56{ max-width:56ch; }
.sl-cta-actions.sl-mt-lg{ margin-top:44px; }
.hp-subhead{ font-family:var(--sl-display); font-weight:700; font-size:22px; color:var(--sl-navy); margin:14px 0 14px; }
.hp-mt-26{ margin-top:26px; }
.hp-center{ text-align:center; }
.hp-mb-30{ padding-bottom:30px; }
[data-theme="dark"] .hp-subhead{ color:#ffffff !important; }

/* Video lightbox modal (YouTube play buttons sitewide) */
.sl-video-modal{ position:fixed; inset:0; z-index:999; background:rgba(3,7,18,.86); display:none; align-items:center; justify-content:center; padding:60px 24px 24px; }
.sl-video-modal.is-open{ display:flex; }
.sl-video-modal-box{ position:relative; width:100%; max-width:960px; }
.sl-video-modal-frame{ position:relative; width:100%; aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:#000; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.sl-video-modal-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.sl-video-modal-close{ position:absolute; top:-46px; right:0; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:20px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease; }
.sl-video-modal-close:hover{ background:rgba(255,255,255,.25); }
@media (max-width:600px){ .sl-video-modal-close{ top:-40px; width:32px; height:32px; font-size:17px; } }

/* ══════════════════════════════════════
   LEADER PROFILE PAGES (individual bio pages)
══════════════════════════════════════ */
.sl-profile-hero{ position:relative; padding:180px 0 56px; overflow:hidden; background:radial-gradient(ellipse 800px 480px at 88% -8%, rgba(239,126,26,.10), transparent 62%), radial-gradient(ellipse 700px 500px at -6% 100%, rgba(0,38,77,.06), transparent 60%), #fff; }
.sl-profile-crumb{ font-family:var(--sl-body); font-size:13px; font-weight:600; color:var(--sl-muted); }
.sl-profile-crumb a{ color:var(--sl-orange); font-weight:700; }
.sl-profile-crumb a:hover{ text-decoration:underline; }
.sl-profile-grid{ display:grid; grid-template-columns:0.62fr 1.38fr; gap:56px; align-items:center; margin-top:26px; }
.sl-profile-photo{ aspect-ratio:4/5; border-radius:24px; box-shadow:var(--sl-shadow-lg); overflow:hidden; background:var(--sl-line); }
.sl-profile-photo img{ width:100%; height:100%; object-fit:cover; }
.sl-page-title.sl-profile-name{ max-width:none; margin-top:14px; }
.sl-profile-role{ font-family:var(--sl-body); font-size:16.5px; font-weight:700; color:var(--sl-orange); margin-top:10px; }
.sl-profile-role-sub{ font-family:var(--sl-body); font-size:13.5px; font-weight:600; color:var(--sl-muted); margin-top:4px; }
@media (max-width:900px){ .sl-profile-grid{ grid-template-columns:1fr; gap:28px; } .sl-profile-photo{ max-width:280px; } }
[data-theme="dark"] .sl-profile-hero{ background:radial-gradient(ellipse 800px 480px at 88% -8%, rgba(239,126,26,.14), transparent 62%), radial-gradient(ellipse 700px 500px at -6% 100%, rgba(255,255,255,.05), transparent 60%), var(--bg-secondary); }

.sl-profile-msg-section{ max-width:1400px; margin:0 auto; padding:70px 2rem; }
.sl-profile-msg-grid{ display:grid; grid-template-columns:1.5fr 0.9fr; gap:56px; align-items:start; }
.sl-profile-msg p{ font-family:var(--sl-body); color:var(--sl-ink); font-size:15.5px; line-height:1.85; margin-bottom:18px; }
.sl-profile-msg p:last-child{ margin-bottom:0; }
.sl-profile-side-card{ background:#fff; border:1px solid var(--sl-line); border-radius:20px; padding:28px 26px; box-shadow:var(--sl-shadow-sm); }
.sl-profile-side-card h4{ font-family:var(--sl-display); font-weight:700; font-size:15.5px; color:var(--sl-navy); margin-bottom:16px; }
.sl-profile-side-row{ display:flex; flex-direction:column; gap:16px; }
.sl-profile-item + .sl-profile-item{ border-top:1px solid var(--sl-line); padding-top:16px; }
.sl-profile-k{ font-family:var(--sl-body); font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--sl-muted); }
.sl-profile-v{ font-family:var(--sl-body); font-size:14.5px; font-weight:600; color:var(--sl-ink); margin-top:5px; line-height:1.5; }
@media (max-width:900px){ .sl-profile-msg-grid{ grid-template-columns:1fr; } }

.am-qtile-num.sl-profile-thumb{ overflow:hidden; }
.am-qtile-num.sl-profile-thumb img{ width:100%; height:100%; object-fit:cover; }

[data-theme="dark"] .sl-profile-side-card{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .sl-profile-side-card h4{ color:#ffffff !important; }
[data-theme="dark"] .sl-profile-msg p{ color:#c3cedb; }
[data-theme="dark"] .sl-profile-v{ color:#ffffff; }
[data-theme="dark"] .sl-profile-item + .sl-profile-item{ border-color:#2e3d58; }


/* ══════════════════════════════════════════════════════════════════
   NEW SITE HEADER (topbar + header + mega menu + mobile menu)
   Scoped under #header-placeholder so it cannot leak into page content.
   .mega-panel / .apple-* are moved to <body> by JS (see main.js), so
   they are kept as globally-unique classnames instead of being scoped.
   Variables are prefixed --nav- so they cannot collide with site tokens.
   ══════════════════════════════════════════════════════════════════ */
:root{
  --nav-navy:#132a46; --nav-navy-light:#1c3a5e; --nav-navy-pale:#e9eff6; --nav-navy-pale-2:#dbe5f0;
  --nav-orange:#ef7e1a; --nav-orange-light:#ff9a45; --nav-orange-pale:#fef1e2;
  --nav-ink:#0a1626; --nav-muted:#5c6b80; --nav-paper:#ffffff; --nav-paper-2:#f6f8fb;
  --nav-surface:#ffffff; --nav-heading:#132a46; --nav-body-text:#2b3646; --nav-header-bg:rgba(255,255,255,0.96);
  --nav-line:#e2e8f0; --nav-line-strong:#cbd6e3;
  --nav-display:"Playfair Display","Times New Roman",serif; --nav-body-font:"Noto Sans",-apple-system,sans-serif;
  --nav-shadow-sm:0 2px 10px rgba(0,38,77,0.06); --nav-shadow-md:0 12px 34px rgba(0,38,77,0.10); --nav-shadow-lg:0 24px 60px rgba(0,38,77,0.16);
}
html[data-theme="dark"]{
  --nav-navy:#132a46; --nav-navy-light:#1c3a5e; --nav-navy-pale:#152238; --nav-navy-pale-2:#1c2e48;
  --nav-orange:#ff8f45; --nav-orange-light:#ffb37a; --nav-orange-pale:rgba(255,143,69,0.14);
  --nav-ink:#eef1f7; --nav-muted:#93a0b8; --nav-paper:#080c14; --nav-paper-2:#0e1420;
  --nav-surface:#0e1420; --nav-heading:#eef1f7; --nav-body-text:#ccd4e2; --nav-header-bg:rgba(8,12,20,0.88);
  --nav-line:rgba(255,255,255,0.09); --nav-line-strong:rgba(255,255,255,0.18);
  --nav-shadow-sm:0 2px 10px rgba(0,0,0,0.35); --nav-shadow-md:0 14px 36px rgba(0,0,0,0.45); --nav-shadow-lg:0 26px 64px rgba(0,0,0,0.55);
}

#header-placeholder, #header-placeholder *{box-sizing:border-box;margin:0;padding:0;}
#header-placeholder{font-family:var(--nav-body-font);-webkit-font-smoothing:antialiased;}
#header-placeholder a{color:inherit;text-decoration:none;}
#header-placeholder img{max-width:100%;display:block;}
#header-placeholder .container{max-width:1400px;margin:0 auto;padding:0 40px;}
@media (max-width:600px){#header-placeholder .container{padding:0 20px;}}

#header-placeholder .btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;padding:13px 24px;border-radius:999px;border:1.5px solid transparent;transition:all .25s ease;white-space:nowrap;cursor:pointer;}
#header-placeholder .btn.solid{background:var(--nav-orange);color:#fff;box-shadow:0 8px 22px rgba(239,126,26,0.32);}
#header-placeholder .btn.solid:hover{background:#d96e0f;transform:translateY(-2px);box-shadow:0 12px 26px rgba(239,126,26,0.4);}
#header-placeholder .btn.outline{border-color:var(--nav-line-strong);color:var(--nav-heading);}
#header-placeholder .btn.outline:hover{background:var(--nav-heading);color:var(--nav-paper);transform:translateY(-2px);}

/* ============ TOP BAR ============ */
#header-placeholder .site-topbar{position:fixed;top:0;left:0;right:0;z-index:110;background:#001529;height:38px;display:flex;align-items:center;}
#header-placeholder .site-topbar-inner{width:100%;display:flex;align-items:center;justify-content:space-between;}
#header-placeholder .topbar-brand{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.72);}
#header-placeholder .topbar-right{display:flex;align-items:center;gap:22px;}
#header-placeholder .topbar-links{display:flex;gap:22px;}
#header-placeholder .topbar-links a{font-size:12px;font-weight:600;color:rgba(255,255,255,.68);transition:color .2s ease;}
#header-placeholder .topbar-links a:hover{color:#fff;}
#header-placeholder .topbar-cta{background:var(--nav-orange);color:#fff !important;font-size:11px;font-weight:800;letter-spacing:.02em;padding:6px 18px;border-radius:999px;transition:background .2s ease, transform .2s ease;}
#header-placeholder .topbar-cta:hover{background:#d96e0f;color:#fff !important;transform:translateY(-1px);}
@media (max-width:1040px){ #header-placeholder .topbar-links{display:none;} #header-placeholder .topbar-brand{font-size:10px;} }

/* ============ HEADER / NAV ============ */
#header-placeholder header.site{position:fixed;top:38px;left:0;right:0;z-index:100;background:var(--nav-header-bg);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--nav-line);transition:background-color .3s ease;}
#header-placeholder .header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 2rem;gap:24px;}
#header-placeholder .logo{display:flex;align-items:center;gap:12px;flex-shrink:0;}
#header-placeholder .logo-img{height:45px;width:auto;display:block;}
#header-placeholder .logo-img.for-dark{display:none;}
html[data-theme="dark"] #header-placeholder .logo-img.for-light{display:none;}
html[data-theme="dark"] #header-placeholder .logo-img.for-dark{display:block;}
#header-placeholder .logo-word{display:flex;flex-direction:column;line-height:1.1;border-left:1px solid var(--nav-line-strong);padding-left:12px;}
#header-placeholder .logo-word span{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--nav-muted);}
@media (max-width:520px){ #header-placeholder .logo-word{display:none;} }
#header-placeholder .theme-toggle{width:40px;height:40px;border-radius:50%;border:1px solid var(--nav-line);background:var(--nav-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;}
#header-placeholder .theme-toggle:hover{border-color:var(--nav-orange);}
#header-placeholder .theme-toggle i{font-size:17px;color:var(--nav-heading);}
#header-placeholder .theme-toggle .icon-moon{display:none;}
html[data-theme="dark"] #header-placeholder .theme-toggle .icon-sun{display:none;}
html[data-theme="dark"] #header-placeholder .theme-toggle .icon-moon{display:block;}

/* ============ MEGA MENU ============ */
#header-placeholder nav.links{display:flex;gap:28px;font-size:14px;font-weight:600;color:var(--nav-heading);align-items:center;}
#header-placeholder nav.links > a{position:relative;padding-bottom:3px;}
#header-placeholder nav.links > a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--nav-orange);border-radius:2px;transition:width .3s ease;}
#header-placeholder nav.links > a:hover::after{width:100%;}
#header-placeholder nav.links > a.active{color:var(--nav-orange);}
#header-placeholder nav.links > a.active::after{width:100%;}
@media (max-width:1040px){#header-placeholder nav.links{display:none;}}

#header-placeholder nav.links .mega-item{position:relative;display:flex;align-items:center;}
#header-placeholder nav.links .mega-trigger{background:none;border:none;font:inherit;font-size:14px;font-weight:600;color:var(--nav-heading);cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:0 0 3px;position:relative;}
#header-placeholder nav.links .mega-trigger::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--nav-orange);border-radius:2px;transition:width .3s ease;}
#header-placeholder nav.links .mega-trigger:hover::after, #header-placeholder nav.links .mega-item.open .mega-trigger::after{width:100%;}
#header-placeholder nav.links .mega-item.open .mega-trigger{color:var(--nav-orange);}
#header-placeholder nav.links .mega-trigger .caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .2s ease;}
#header-placeholder nav.links .mega-item.open .mega-trigger .caret{transform:rotate(-135deg);margin-top:2px;}

.mega-panel, .mega-panel *{box-sizing:border-box;margin:0;padding:0;}
.mega-panel{position:fixed;left:0;width:100%;background:var(--nav-surface);box-shadow:0 30px 60px rgba(0,38,77,0.16);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .22s ease, transform .22s ease, visibility .22s ease;z-index:95;font-family:var(--nav-body-font);}
.mega-panel a{color:inherit;text-decoration:none;}
.mega-panel.open{opacity:1;visibility:visible;transform:translateY(0);}
.mega-backdrop{position:fixed;inset:0;background:rgba(0,10,25,0.3);z-index:90;opacity:0;visibility:hidden;transition:opacity .22s ease, visibility .22s ease, backdrop-filter .22s ease;box-sizing:border-box;}
.mega-backdrop.show{opacity:1;visibility:visible;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
@media (max-width:1040px){.mega-panel,.mega-backdrop{display:none !important;}}

.apple-mega-inner{max-width:980px;margin:0 auto;padding:30px 40px 32px;}
.apple-mega-grid{display:grid;gap:0;}
.apple-col{padding-right:36px;border-right:1px solid var(--nav-line);}
.apple-col:last-of-type{border-right:none;}
.apple-col + .apple-col{padding-left:36px;}
.apple-col-title{font-size:12px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--nav-muted);margin-bottom:8px;}
.apple-link{display:block;padding:7px 0;border-bottom:1px solid transparent;}
.apple-link .al-name{display:block;font-family:var(--nav-display);font-size:15.5px;font-weight:700;color:var(--nav-heading);transition:color .15s ease;}
.apple-link .al-desc{display:block;font-size:11.5px;color:var(--nav-muted);margin-top:2px;}
.apple-link:hover .al-name{color:var(--nav-orange);}
.apple-link-sm{display:block;padding:6px 0;font-size:13.5px;font-weight:600;color:var(--nav-ink);transition:color .15s ease;}
.apple-link-sm:hover{color:var(--nav-orange);}
.apple-mega-cta{padding-left:28px;}
.apple-mega-cta-panel{background:linear-gradient(160deg,var(--nav-navy) 0%,#001830 100%);border-radius:18px;padding:18px 20px;color:#fff;position:relative;overflow:hidden;height:100%;}
.apple-mega-cta-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 180px 140px at 100% 0%, rgba(239,126,26,0.30), transparent 60%);}
.apple-mega-cta-ic{width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;margin-bottom:10px;position:relative;}
.apple-mega-cta-ic i{font-size:18px;color:var(--nav-orange-light);}
.apple-mega-cta-panel h4{font-family:var(--nav-display);font-weight:700;font-size:16px;margin-bottom:6px;position:relative;color:#fff}
.apple-mega-cta-panel p{font-size:12.5px;color:rgba(255,255,255,0.72);line-height:1.5;margin-bottom:10px;position:relative;}
.apple-mega-cta-link{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#fff;}
.apple-mega-cta-link i{font-size:13px;display:inline-block;transition:transform .2s ease;}
.apple-mega-cta-link:hover i{transform:translateX(3px);}
.apple-mega-foot{max-width:980px;margin:0 auto;padding:18px 40px 26px;border-top:1px solid var(--nav-line);display:flex;gap:28px;flex-wrap:wrap;justify-content:space-between;}
.apple-mega-foot a{font-size:12.5px;font-weight:600;color:var(--nav-muted);display:flex;align-items:center;gap:6px;transition:color .15s ease;}
.apple-mega-foot a:hover{color:var(--nav-orange);}
.apple-mega-foot a i{font-size:13px;}
@media (max-width:1040px){.apple-mega-grid{grid-template-columns:1fr !important;}.apple-col{border-right:none;padding:0 0 24px !important;}.apple-mega-cta{padding-left:0;}}

/* ============ MOBILE MENU ============ */
#header-placeholder .hamburger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
#header-placeholder .hamburger span{width:22px;height:2px;background:var(--nav-heading);border-radius:2px;}
@media (max-width:1040px){#header-placeholder .hamburger{display:flex;}}
#header-placeholder #mobileMenu{position:fixed;left:0;right:0;top:0;bottom:0;background:var(--nav-surface);z-index:120;opacity:0;visibility:hidden;transform:translateY(-14px);transition:opacity .3s ease, transform .3s ease, visibility .3s ease;display:flex;flex-direction:column;}
#header-placeholder #mobileMenu.open{opacity:1;visibility:visible;transform:translateY(0);}
#header-placeholder .mm-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--nav-line);flex-shrink:0;}
#header-placeholder .mm-top .logo-img{height:36px;}
#header-placeholder #mobileMenu .close{background:var(--nav-paper-2);border:1px solid var(--nav-line);border-radius:50%;width:38px;height:38px;font-size:16px;color:var(--nav-heading);flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;}
#header-placeholder .mm-body{flex:1;overflow-y:auto;padding:8px 20px 24px;}
#header-placeholder a.mm-link{display:block;padding:17px 2px;font-family:var(--nav-display);font-weight:700;font-size:21px;color:var(--nav-heading);border-bottom:1px solid var(--nav-line);}
#header-placeholder a.mm-link:active{color:var(--nav-orange);}
#header-placeholder .mm-accordion{border-bottom:1px solid var(--nav-line);}
#header-placeholder .mm-acc-trigger{width:100%;background:none;border:none;display:flex;align-items:center;justify-content:space-between;padding:18px 2px;font-family:var(--nav-display);font-weight:700;font-size:23px;color:var(--nav-heading);cursor:pointer;text-align:left;}
#header-placeholder .mm-acc-trigger .mm-caret{width:11px;height:11px;border-right:2px solid var(--nav-muted);border-bottom:2px solid var(--nav-muted);transform:rotate(45deg);transition:transform .25s ease;flex-shrink:0;margin-top:-4px;}
#header-placeholder .mm-accordion.open .mm-acc-trigger{color:var(--nav-orange);}
#header-placeholder .mm-accordion.open .mm-acc-trigger .mm-caret{transform:rotate(-135deg);margin-top:4px;border-color:var(--nav-orange);}
#header-placeholder .mm-acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease;}
#header-placeholder .mm-accordion.open .mm-acc-panel{grid-template-rows:1fr;}
#header-placeholder .mm-acc-panel-inner{overflow:hidden;}
#header-placeholder .mm-acc-group{padding:6px 0 14px;}
#header-placeholder .mm-acc-label{font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--nav-muted);padding:8px 2px 4px;}
#header-placeholder .mm-acc-group a{display:flex;align-items:center;justify-content:space-between;padding:11px 2px;font-size:15.5px;font-weight:600;color:var(--nav-ink);}
#header-placeholder .mm-acc-group a:active{color:var(--nav-orange);}
#header-placeholder a.mm-acc-all{display:flex;align-items:center;gap:6px;padding:10px 2px 18px;font-size:14px;font-weight:700;color:var(--nav-orange);}
#header-placeholder .mm-secondary{display:flex;flex-wrap:wrap;gap:10px 20px;padding:20px 2px 8px;}
#header-placeholder .mm-secondary a{font-size:13px;font-weight:700;color:var(--nav-muted);}
#header-placeholder .mm-secondary a:active{color:var(--nav-orange);}
#header-placeholder .mm-foot{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:16px 20px;border-top:1px solid var(--nav-line);background:var(--nav-surface);}
#header-placeholder .mm-foot .btn{flex:1;justify-content:center;}
@media (min-width:1041px){#header-placeholder #mobileMenu{display:none !important;}}

/* Neutralize old (pre-redesign) header rules that still match these
   reused classnames (.mega-item, .logo-img, .theme-toggle, .hamburger)
   but were never meant to style the new header — without this, their
   un-overridden properties (hover backgrounds, fixed sizing, border-
   radius, transitions) leak through since the new rules above never
   touch those specific properties. */
#header-placeholder .mega-item{padding:0;border-radius:0;background:none;transition:none;}
#header-placeholder .mega-item:hover{background:none;}
#header-placeholder .logo-img{transition:none;}
#header-placeholder .logo-img:hover{transform:none;}
#header-placeholder .theme-toggle:hover{background:none;color:inherit;}
#header-placeholder .hamburger{width:auto;height:auto;border-radius:0;}
#header-placeholder .hamburger:hover{background:none;border-color:transparent;}

/* Mega-item highlighted when the current page belongs under it (set by
   markActiveNav() in main.js) — mirrors the plain-link .active treatment. */
#header-placeholder nav.links .mega-item.current .mega-trigger{color:var(--nav-orange);}
#header-placeholder nav.links .mega-item.current .mega-trigger::after{width:100%;}

/* ══════════════════════════════════════
   PUBLICATIONS — merged from page-scoped inline <style>
══════════════════════════════════════ */
.pub-wrap{ max-width:1400px; margin:0 auto; padding:0 40px; }
.pub-eyebrow{ font-family:"Noto Sans",-apple-system,sans-serif; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#ef7e1a; display:flex; align-items:center; gap:9px; }
.pub-eyebrow::before{ content:''; width:7px; height:7px; border-radius:50%; background:#ef7e1a; flex-shrink:0; }
.pub-eyebrow.center{ justify-content:center; }

.pub-intro-inner{ max-width:1400px; margin:0 auto; padding:200px 40px 60px;}
.pub-intro h1{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(34px,4.2vw,54px); line-height:1.14; letter-spacing:-.01em; color:#00264d; margin-top:18px; max-width:20ch; }
.pub-intro h1 em{ font-style:italic; font-weight:500; color:#ef7e1a; }
.pub-intro-copy{ font-size:17px; line-height:1.7; color:#5c6b80; max-width:60ch; margin-top:18px; }
.pub-intro-copy p + p{ margin-top:14px; }

.pub-intro-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:end; }
.pub-intro-grid .pub-intro-copy{ margin-top:0; padding-bottom:8px; }
@media (max-width:900px){ .pub-intro-grid{ grid-template-columns:1fr; gap:28px; } }

.pub-tabbar{ display:flex; gap:10px; flex-wrap:wrap; margin-top:40px; padding-top:32px; border-top:1px solid #e2e8f0; }
.pub-tabbar a{ font-family:"Noto Sans",-apple-system,sans-serif; padding:11px 22px; border-radius:999px; font-size:13.5px; font-weight:700; border:1.5px solid #cbd6e3; color:#00264d; background:#fff; text-decoration:none; transition:all .25s ease; }
.pub-tabbar a:hover{ border-color:#ef7e1a; color:#ef7e1a; }
.pub-tabbar a.active{ background:#00264d; border-color:#00264d; color:#fff; }

.pub-vitals{ background:#00264d; color:#fff; }
.pub-vitals-grid{ max-width:1280px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.16); }
.pub-vital{ padding:38px 26px 30px 0; border-right:1px solid rgba(255,255,255,.16); }
.pub-vital:last-child{ border-right:none; }
.pub-vital .num{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(18px,2.1vw,27px); color:#fff; line-height:1.28; }
.pub-vital .lbl{ font-size:12.5px; font-weight:500; color:rgba(255,255,255,.6); margin-top:12px; max-width:22ch; line-height:1.5; }
@media (max-width:850px){ .pub-vitals-grid{ grid-template-columns:repeat(2,1fr); } .pub-vital{ padding:28px 18px 24px 0; } }

.pub-block{ padding:110px 0; }
.pub-block.procedure{ background:#f6f8fb; }
.pub-section-head{ max-width:700px; margin:0 auto 56px; text-align:center; }
.pub-section-head h2{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(28px,3.4vw,42px); margin-top:14px; color:#00264d; line-height:1.18; }
.pub-section-head p{ color:#5c6b80; font-size:16px; line-height:1.7; margin-top:16px; max-width:66ch; margin-left:auto; margin-right:auto; }

.pub-toolbar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin-bottom:20px; }
.pub-search{ display:flex; align-items:center; gap:10px; flex:1; min-width:220px; max-width:400px; background:#f6f8fb; border:1px solid #e2e8f0; border-radius:10px; padding:10px 16px; }
.pub-search svg{ width:15px; height:15px; stroke:#5c6b80; flex-shrink:0; }
.pub-search input{ border:none; background:none; outline:none; font-family:"Noto Sans",-apple-system,sans-serif; font-size:13.5px; color:#0a1626; width:100%; }
.pub-search input::placeholder{ color:#5c6b80; }
.pub-result-count{ font-size:12.5px; font-weight:600; color:#5c6b80; white-space:nowrap; }
@media (max-width:600px){ .pub-toolbar{ flex-direction:column; align-items:stretch; } .pub-search{ max-width:none; } }

.pub-approvals-wrap{ overflow-x:auto; border:1px solid #e2e8f0; border-radius:20px; background:#fff; box-shadow:0 2px 10px rgba(0,38,77,.06); }
table.pub-approvals{ width:100%; border-collapse:collapse; font-size:13.5px; }
table.pub-approvals thead th{ background:#00264d; color:#fff; font-family:"Noto Sans",-apple-system,sans-serif; font-weight:700; font-size:11px; letter-spacing:.05em; text-transform:uppercase; padding:15px 20px; text-align:left; white-space:nowrap; }
table.pub-approvals thead th:first-child{ border-top-left-radius:19px; }
table.pub-approvals thead th:last-child{ border-top-right-radius:19px; }
table.pub-approvals tbody td{ padding:13px 20px; border-bottom:1px solid #e2e8f0; vertical-align:middle; color:#0a1626; }
table.pub-approvals tbody tr:nth-child(even){ background:#f6f8fb; }
table.pub-approvals tbody tr:last-child td{ border-bottom:none; }
table.pub-approvals tbody tr:hover td{ background:#fef1e2; }
table.pub-approvals td.sno{ font-weight:700; color:#5c6b80; width:60px; }
table.pub-approvals td.course{ font-weight:700; color:#00264d; }
table.pub-approvals td .lnk{ display:inline-flex; align-items:center; gap:4px; background:#f6f8fb; color:#5c6b80; font-size:12px; font-weight:700; padding:4px 12px; border-radius:20px; text-decoration:none; border:1px solid #cbd6e3; transition:background .2s ease, color .2s ease; white-space:nowrap; }
table.pub-approvals td .lnk:hover{ background:#ef7e1a; color:#fff; border-color:#ef7e1a; }
table.pub-approvals td .dash{ font-size:12.5px; color:#999; }
tr.pub-hide{ display:none; }
.pub-empty-row td{ text-align:center; padding:28px; color:#5c6b80; font-style:italic; }

.pub-clause-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.pub-clause{ background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:22px 24px; display:flex; gap:16px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.pub-clause:hover{ transform:translateY(-3px); box-shadow:0 2px 10px rgba(0,38,77,.06); border-color:transparent; }
.pub-clause .num{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:20px; color:#ef7e1a; flex-shrink:0; min-width:28px; }
.pub-clause p{ font-size:14.5px; color:#0a1626; line-height:1.65; margin:0; }
@media (max-width:800px){ .pub-clause-grid{ grid-template-columns:1fr; } }

.pub-cta-band{ background:#ffffff; padding:110px 0; text-align:center; }
.pub-cta-band h2{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(30px,4vw,48px); max-width:17ch; margin:16px auto 34px; color:#00264d; line-height:1.18; }
.pub-cta-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.pub-btn{ display:inline-flex; align-items:center; gap:8px; font-family:"Noto Sans",-apple-system,sans-serif; font-weight:700; font-size:14px; padding:14px 26px; border-radius:999px; border:1.5px solid transparent; transition:all .25s ease; white-space:nowrap; cursor:pointer; text-decoration:none; }
.pub-btn.solid{ background:#ef7e1a; color:#fff; box-shadow:0 8px 22px rgba(239,126,26,.32); }
.pub-btn.solid:hover{ background:#d96e0f; transform:translateY(-2px); }
.pub-btn.outline{ border-color:#00264d; color:#00264d; }
.pub-btn.outline:hover{ background:#00264d; color:#fff; transform:translateY(-2px); }

@media (max-width:600px){
  .pub-intro{ padding:120px 20px 40px; }
  .pub-block{ padding:70px 0; }
  .pub-vitals-grid{ padding:0 20px; }
}
#pub-intro + .sl-vitals{ padding:0; }
[data-theme="dark"] .pub-intro h1{ color:#ffffff; }
[data-theme="dark"] .pub-block:not(.procedure) .pub-section-head h2{ color:#ffffff; }

/* ══════════════════════════════════════
   POSTGRADUATE (MD/MS) — merged from page-scoped inline <style>
══════════════════════════════════════ */
.pgd-wrap{ max-width:1400px; margin:0 auto; padding:0 40px; }
.pgd-eyebrow{ font-family:"Noto Sans",-apple-system,sans-serif; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#ef7e1a; display:flex; align-items:center; gap:9px; }
.pgd-eyebrow::before{ content:''; width:7px; height:7px; border-radius:50%; background:#ef7e1a; flex-shrink:0; }
.pgd-eyebrow.center{ justify-content:center; }

.pgd-intro-inner{ max-width:1400px; margin:0 auto; padding:200px 40px 60px; }
.pgd-intro h1{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(34px,4.2vw,54px); line-height:1.14; letter-spacing:-.01em; color:#00264d; margin-top:18px; max-width:20ch; }
.pgd-intro h1 em{ font-style:italic; font-weight:500; color:#ef7e1a; }
.pgd-intro-copy{ font-size:17px; line-height:1.7; color:#5c6b80; max-width:60ch; margin-top:0; padding-bottom:8px; }
.pgd-intro-copy p + p{ margin-top:14px; }
.pgd-intro-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:end; }
@media (max-width:900px){ .pgd-intro-grid{ grid-template-columns:1fr; gap:28px; } }

.pgd-tabbar{ display:flex; gap:10px; flex-wrap:wrap; margin-top:40px; padding-top:32px; border-top:1px solid #e2e8f0; }
.pgd-tabbar a{ font-family:"Noto Sans",-apple-system,sans-serif; padding:11px 22px; border-radius:999px; font-size:13.5px; font-weight:700; border:1.5px solid #cbd6e3; color:#00264d; background:#fff; text-decoration:none; transition:all .25s ease; }
.pgd-tabbar a:hover{ border-color:#ef7e1a; color:#ef7e1a; }
.pgd-tabbar a.active{ background:#00264d; border-color:#00264d; color:#fff; }

.pgd-block{ padding:110px 0; }
.pgd-block.procedure{ background:#f6f8fb; }
.pgd-page-head{ max-width:700px; margin:0 auto 56px; text-align:center; }
.pgd-page-head h2{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(28px,3.4vw,42px); margin-top:14px; color:#00264d; line-height:1.18; }
.pgd-page-head p{ color:#5c6b80; font-size:16px; line-height:1.7; margin-top:16px; max-width:66ch; margin-left:auto; margin-right:auto; }

.pgd-toolbar{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; background:#fff; border:1.5px solid #cbd6e3; border-radius:16px; padding:16px 20px; margin-bottom:40px; box-shadow:0 2px 10px rgba(0,38,77,.06); }
.pgd-search{ display:flex; align-items:center; gap:10px; flex:1; min-width:220px; background:#f6f8fb; border:1px solid #e2e8f0; border-radius:10px; padding:10px 16px; }
.pgd-search svg{ width:15px; height:15px; stroke:#5c6b80; flex-shrink:0; }
.pgd-search input{ border:none; background:none; outline:none; font-family:"Noto Sans",-apple-system,sans-serif; font-size:13.5px; color:#0a1626; width:100%; }
.pgd-search input::placeholder{ color:#5c6b80; }
.pgd-tabs{ display:flex; flex-wrap:wrap; gap:8px; }
.pgd-tabs button{ font-family:"Noto Sans",-apple-system,sans-serif; font-size:12.5px; font-weight:700; color:#00264d; background:#e9eff6; border:1px solid #e2e8f0; border-radius:999px; padding:8px 16px; cursor:pointer; transition:all .2s ease; }
.pgd-tabs button:hover{ border-color:#ef7e1a; color:#ef7e1a; }
.pgd-tabs button.is-active{ background:#00264d; border-color:#00264d; color:#fff; }
@media (max-width:600px){ .pgd-toolbar{ flex-direction:column; align-items:stretch; } }

.pgd-empty{ display:none; text-align:center; padding:32px 20px; font-size:14px; color:#5c6b80; background:#f6f8fb; border:2px dashed #cbd6e3; border-radius:16px; margin-bottom:20px; }
.pgd-empty.is-visible{ display:block; }

.pgd-section{ margin-bottom:44px; }
.pgd-section:last-child{ margin-bottom:0; }
.pgd-section.pgd-hide{ display:none; }
.pgd-section-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:20px; padding:14px 4px 14px 16px; border-left:4px solid #ef7e1a; }
.pgd-section-head h3{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:19px; color:#00264d; }
.pgd-section-head .cnt{ font-size:12px; font-weight:700; color:#5c6b80; background:#f6f8fb; padding:4px 12px; border-radius:999px; white-space:nowrap; }

.pgd-doc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.pgd-doc-item{ background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:20px 22px; display:flex; align-items:center; gap:16px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.pgd-doc-item:hover{ transform:translateY(-3px); box-shadow:0 2px 10px rgba(0,38,77,.06); border-color:transparent; }
.pgd-doc-item.pgd-hide{ display:none; }
.pgd-doc-item .dic{ width:42px; height:42px; border-radius:11px; background:#e9eff6; color:#00264d; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.pgd-doc-item .dic svg{ width:19px; height:19px; stroke:#00264d; }
.pgd-doc-item .dt{ flex:1; }
.pgd-doc-item .dt .name{ font-size:14.5px; font-weight:700; color:#00264d; }
.pgd-doc-item .dt .meta{ font-size:12px; color:#5c6b80; margin-top:3px; }
.pgd-doc-item .dl{ font-size:12px; font-weight:700; color:#ef7e1a; flex-shrink:0; }
@media (max-width:700px){ .pgd-doc-grid{ grid-template-columns:1fr; } }

.pgd-contact-card{ background:#00264d; color:#fff; border-radius:24px; padding:44px 40px; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.pgd-contact-card .c-item .lbl{ font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#ff9a45; }
.pgd-contact-card .c-item .val{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:19px; margin-top:10px; line-height:1.35; }
.pgd-contact-card .c-item .sub{ font-size:13px; color:rgba(255,255,255,.6); margin-top:6px; }
@media (max-width:850px){ .pgd-contact-card{ grid-template-columns:1fr; } }

.pgd-clause-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.pgd-clause{ background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:22px 24px; display:flex; gap:16px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.pgd-clause:hover{ transform:translateY(-3px); box-shadow:0 2px 10px rgba(0,38,77,.06); border-color:transparent; }
.pgd-clause .num{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:20px; color:#ef7e1a; flex-shrink:0; min-width:28px; }
.pgd-clause p{ font-size:14.5px; color:#0a1626; line-height:1.65; margin:0; }
@media (max-width:800px){ .pgd-clause-grid{ grid-template-columns:1fr; } }

.pgd-cta-band{ background:#ffffff; padding:110px 0; text-align:center; }
.pgd-cta-band h2{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(30px,4vw,48px); max-width:17ch; margin:16px auto 34px; color:#00264d; line-height:1.18; }
.pgd-cta-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.pgd-btn{ display:inline-flex; align-items:center; gap:8px; font-family:"Noto Sans",-apple-system,sans-serif; font-weight:700; font-size:14px; padding:14px 26px; border-radius:999px; border:1.5px solid transparent; transition:all .25s ease; white-space:nowrap; cursor:pointer; text-decoration:none; }
.pgd-btn.solid{ background:#ef7e1a; color:#fff; box-shadow:0 8px 22px rgba(239,126,26,.32); }
.pgd-btn.solid:hover{ background:#d96e0f; transform:translateY(-2px); }
.pgd-btn.outline{ border-color:#00264d; color:#00264d; }
.pgd-btn.outline:hover{ background:#00264d; color:#fff; transform:translateY(-2px); }

@media (max-width:600px){
  .pgd-intro-inner{ padding:120px 20px 40px; }
  .pgd-block{ padding:70px 0; }
  .pgd-contact-card{ padding:34px 26px; }
}
#pgd-intro + .sl-vitals{ padding:0; }
[data-theme="dark"] .pgd-intro h1{ color:#ffffff; }
[data-theme="dark"] .pgd-block:not(.procedure) .pgd-page-head h2{ color:#ffffff; }
[data-theme="dark"] .pgd-block:not(.procedure) .pgd-section-head h3{ color:#ffffff; }

/* ══════════════════════════════════════
   MBBS — merged from page-scoped inline <style>
══════════════════════════════════════ */
.mb-wrap{ max-width:1400px; margin:0 auto; padding:0 40px; }
.mb-eyebrow{ font-family:"Noto Sans",-apple-system,sans-serif; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#ef7e1a; display:flex; align-items:center; gap:9px; }
.mb-eyebrow::before{ content:''; width:7px; height:7px; border-radius:50%; background:#ef7e1a; flex-shrink:0; }
.mb-eyebrow.center{ justify-content:center; }

.mb-intro-inner{ max-width:1400px; margin:0 auto; padding:200px 40px 60px; }
.mb-intro h1{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(34px,4.2vw,54px); line-height:1.14; letter-spacing:-.01em; color:#00264d; margin-top:18px; max-width:20ch; }
.mb-intro h1 em{ font-style:italic; font-weight:500; color:#ef7e1a; }
.mb-intro-copy{ font-size:17px; line-height:1.7; color:#5c6b80; max-width:60ch; margin-top:0; padding-bottom:8px; }
.mb-intro-copy p + p{ margin-top:14px; }
.mb-intro-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:end; }
@media (max-width:900px){ .mb-intro-grid{ grid-template-columns:1fr; gap:28px; } }

.mb-tabbar{ display:flex; gap:10px; flex-wrap:wrap; margin-top:40px; padding-top:32px; border-top:1px solid #e2e8f0; }
.mb-tabbar a{ font-family:"Noto Sans",-apple-system,sans-serif; padding:11px 22px; border-radius:999px; font-size:13.5px; font-weight:700; border:1.5px solid #cbd6e3; color:#00264d; background:#fff; text-decoration:none; transition:all .25s ease; }
.mb-tabbar a:hover{ border-color:#ef7e1a; color:#ef7e1a; }
.mb-tabbar a.active{ background:#00264d; border-color:#00264d; color:#fff; }

.mb-block{ padding:110px 0; }
.mb-block.procedure{ background:#f6f8fb; }
.mb-page-head{ max-width:700px; margin:0 auto 56px; text-align:center; }
.mb-page-head h2{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(28px,3.4vw,42px); margin-top:14px; color:#00264d; line-height:1.18; }
.mb-page-head p{ color:#5c6b80; font-size:16px; line-height:1.7; margin-top:16px; max-width:66ch; margin-left:auto; margin-right:auto; }

.mb-toolbar{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; background:#fff; border:1.5px solid #cbd6e3; border-radius:16px; padding:16px 20px; margin-bottom:40px; box-shadow:0 2px 10px rgba(0,38,77,.06); }
.mb-search{ display:flex; align-items:center; gap:10px; flex:1; min-width:220px; background:#f6f8fb; border:1px solid #e2e8f0; border-radius:10px; padding:10px 16px; }
.mb-search svg{ width:15px; height:15px; stroke:#5c6b80; flex-shrink:0; }
.mb-search input{ border:none; background:none; outline:none; font-family:"Noto Sans",-apple-system,sans-serif; font-size:13.5px; color:#0a1626; width:100%; }
.mb-search input::placeholder{ color:#5c6b80; }
.mb-tabs{ display:flex; flex-wrap:wrap; gap:8px; }
.mb-tabs button{ font-family:"Noto Sans",-apple-system,sans-serif; font-size:12.5px; font-weight:700; color:#00264d; background:#e9eff6; border:1px solid #e2e8f0; border-radius:999px; padding:8px 16px; cursor:pointer; transition:all .2s ease; }
.mb-tabs button:hover{ border-color:#ef7e1a; color:#ef7e1a; }
.mb-tabs button.is-active{ background:#00264d; border-color:#00264d; color:#fff; }
@media (max-width:600px){ .mb-toolbar{ flex-direction:column; align-items:stretch; } }

.mb-empty{ display:none; text-align:center; padding:32px 20px; font-size:14px; color:#5c6b80; background:#f6f8fb; border:2px dashed #cbd6e3; border-radius:16px; margin-bottom:20px; }
.mb-empty.is-visible{ display:block; }

.mb-section{ margin-bottom:44px; }
.mb-section:last-child{ margin-bottom:0; }
.mb-section.mb-hide{ display:none; }
.mb-section-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:20px; padding:14px 4px 14px 16px; border-left:4px solid #ef7e1a; }
.mb-section-head h3{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:19px; color:#00264d; }
.mb-section-head .cnt{ font-size:12px; font-weight:700; color:#5c6b80; background:#f6f8fb; padding:4px 12px; border-radius:999px; white-space:nowrap; }

.mb-doc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.mb-doc-item{ background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:20px 22px; display:flex; align-items:center; gap:16px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.mb-doc-item:hover{ transform:translateY(-3px); box-shadow:0 2px 10px rgba(0,38,77,.06); border-color:transparent; }
.mb-doc-item.mb-hide{ display:none; }
.mb-doc-item .dic{ width:42px; height:42px; border-radius:11px; background:#e9eff6; color:#00264d; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.mb-doc-item .dic svg{ width:19px; height:19px; stroke:#00264d; }
.mb-doc-item .dt{ flex:1; }
.mb-doc-item .dt .name{ font-size:14.5px; font-weight:700; color:#00264d; }
.mb-doc-item .dt .meta{ font-size:12px; color:#5c6b80; margin-top:3px; }
.mb-doc-item .dl{ font-size:12px; font-weight:700; color:#ef7e1a; flex-shrink:0; }
@media (max-width:700px){ .mb-doc-grid{ grid-template-columns:1fr; } }

.mb-contact-card{ background:#00264d; color:#fff; border-radius:24px; padding:44px 40px; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.mb-contact-card .c-item .lbl{ font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#ff9a45; }
.mb-contact-card .c-item .val{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:19px; margin-top:10px; line-height:1.35; }
.mb-contact-card .c-item .sub{ font-size:13px; color:rgba(255,255,255,.6); margin-top:6px; }
@media (max-width:850px){ .mb-contact-card{ grid-template-columns:1fr; } }

.mb-clause-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.mb-clause{ background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:22px 24px; display:flex; gap:16px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.mb-clause:hover{ transform:translateY(-3px); box-shadow:0 2px 10px rgba(0,38,77,.06); border-color:transparent; }
.mb-clause .num{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:20px; color:#ef7e1a; flex-shrink:0; min-width:28px; }
.mb-clause p{ font-size:14.5px; color:#0a1626; line-height:1.65; margin:0; }
@media (max-width:800px){ .mb-clause-grid{ grid-template-columns:1fr; } }

.mb-cta-band{ background:#ffffff; padding:110px 0; text-align:center; }
.mb-cta-band h2{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(30px,4vw,48px); max-width:17ch; margin:16px auto 34px; color:#00264d; line-height:1.18; }
.mb-cta-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.mb-btn{ display:inline-flex; align-items:center; gap:8px; font-family:"Noto Sans",-apple-system,sans-serif; font-weight:700; font-size:14px; padding:14px 26px; border-radius:999px; border:1.5px solid transparent; transition:all .25s ease; white-space:nowrap; cursor:pointer; text-decoration:none; }
.mb-btn.solid{ background:#ef7e1a; color:#fff; box-shadow:0 8px 22px rgba(239,126,26,.32); }
.mb-btn.solid:hover{ background:#d96e0f; transform:translateY(-2px); }
.mb-btn.outline{ border-color:#00264d; color:#00264d; }
.mb-btn.outline:hover{ background:#00264d; color:#fff; transform:translateY(-2px); }

@media (max-width:600px){
  .mb-intro-inner{ padding:120px 20px 40px; }
  .mb-block{ padding:70px 0; }
  .mb-contact-card{ padding:34px 26px; }
}
#mb-intro + .sl-vitals{ padding:0; }
[data-theme="dark"] .mb-intro h1{ color:#ffffff; }
[data-theme="dark"] .mb-block:not(.procedure) .mb-page-head h2{ color:#ffffff; }
[data-theme="dark"] .mb-block:not(.procedure) .mb-section-head h3{ color:#ffffff; }

/* ══════════════════════════════════════
   NMC CBME UG CURRICULUM TIMETABLE — merged from page-scoped inline <style>
══════════════════════════════════════ */
.tt-wrap{ max-width:1400px; margin:0 auto; padding:0 40px; }
.tt-eyebrow{ font-family:"Noto Sans",-apple-system,sans-serif; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#ef7e1a; display:flex; align-items:center; gap:9px; }
.tt-eyebrow::before{ content:''; width:7px; height:7px; border-radius:50%; background:#ef7e1a; flex-shrink:0; }
.tt-eyebrow.center{ justify-content:center; }

.tt-intro-inner{ max-width:1400px; margin:0 auto; padding:200px 40px 60px; }
.tt-intro h1{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(34px,4.2vw,54px); line-height:1.14; letter-spacing:-.01em; color:#00264d; margin-top:18px; max-width:20ch; }
.tt-intro h1 em{ font-style:italic; font-weight:500; color:#ef7e1a; }
.tt-intro-copy{ font-size:17px; line-height:1.7; color:#5c6b80; max-width:60ch; margin-top:0; padding-bottom:8px; }
.tt-intro-copy p + p{ margin-top:14px; }
.tt-intro-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:end; }
@media (max-width:900px){ .tt-intro-grid{ grid-template-columns:1fr; gap:28px; } }

.tt-tabbar{ display:flex; gap:10px; flex-wrap:wrap; margin-top:40px; padding-top:32px; border-top:1px solid #e2e8f0; }
.tt-tabbar a{ font-family:"Noto Sans",-apple-system,sans-serif; padding:11px 22px; border-radius:999px; font-size:13.5px; font-weight:700; border:1.5px solid #cbd6e3; color:#00264d; background:#fff; text-decoration:none; transition:all .25s ease; }
.tt-tabbar a:hover{ border-color:#ef7e1a; color:#ef7e1a; }
.tt-tabbar a.active{ background:#00264d; border-color:#00264d; color:#fff; }

.tt-block{ padding:110px 0; }
.tt-block.procedure{ background:#f6f8fb; }
.tt-page-head{ max-width:700px; margin:0 auto 56px; text-align:center; }
.tt-page-head h2{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(28px,3.4vw,42px); margin-top:14px; color:#00264d; line-height:1.18; }
.tt-page-head p{ color:#5c6b80; font-size:16px; line-height:1.7; margin-top:16px; max-width:66ch; margin-left:auto; margin-right:auto; }

.tt-toolbar{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; background:#fff; border:1.5px solid #cbd6e3; border-radius:16px; padding:16px 20px; margin-bottom:40px; box-shadow:0 2px 10px rgba(0,38,77,.06); }
.tt-search{ display:flex; align-items:center; gap:10px; flex:1; min-width:220px; background:#f6f8fb; border:1px solid #e2e8f0; border-radius:10px; padding:10px 16px; }
.tt-search svg{ width:15px; height:15px; stroke:#5c6b80; flex-shrink:0; }
.tt-search input{ border:none; background:none; outline:none; font-family:"Noto Sans",-apple-system,sans-serif; font-size:13.5px; color:#0a1626; width:100%; }
.tt-search input::placeholder{ color:#5c6b80; }
.tt-tabs{ display:flex; flex-wrap:wrap; gap:8px; }
.tt-tabs button{ font-family:"Noto Sans",-apple-system,sans-serif; font-size:12.5px; font-weight:700; color:#00264d; background:#e9eff6; border:1px solid #e2e8f0; border-radius:999px; padding:8px 16px; cursor:pointer; transition:all .2s ease; }
.tt-tabs button:hover{ border-color:#ef7e1a; color:#ef7e1a; }
.tt-tabs button.is-active{ background:#00264d; border-color:#00264d; color:#fff; }
@media (max-width:600px){ .tt-toolbar{ flex-direction:column; align-items:stretch; } }

.tt-empty{ display:none; text-align:center; padding:32px 20px; font-size:14px; color:#5c6b80; background:#f6f8fb; border:2px dashed #cbd6e3; border-radius:16px; margin-bottom:20px; }
.tt-empty.is-visible{ display:block; }

.tt-section{ margin-bottom:44px; }
.tt-section:last-child{ margin-bottom:0; }
.tt-section.tt-hide{ display:none; }
.tt-section-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:20px; padding:14px 4px 14px 16px; border-left:4px solid #ef7e1a; }
.tt-section-head h3{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:19px; color:#00264d; }
.tt-section-head .cnt{ font-size:12px; font-weight:700; color:#5c6b80; background:#f6f8fb; padding:4px 12px; border-radius:999px; white-space:nowrap; }

.tt-doc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.tt-doc-item{ background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:20px 22px; display:flex; align-items:center; gap:16px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.tt-doc-item:hover{ transform:translateY(-3px); box-shadow:0 2px 10px rgba(0,38,77,.06); border-color:transparent; }
.tt-doc-item.tt-hide{ display:none; }
.tt-doc-item .dic{ width:42px; height:42px; border-radius:11px; background:#e9eff6; color:#00264d; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.tt-doc-item .dic svg{ width:19px; height:19px; stroke:#00264d; }
.tt-doc-item .dt{ flex:1; }
.tt-doc-item .dt .name{ font-size:14.5px; font-weight:700; color:#00264d; }
.tt-doc-item .dt .meta{ font-size:12px; color:#5c6b80; margin-top:3px; }
.tt-doc-item .dl{ font-size:12px; font-weight:700; color:#ef7e1a; flex-shrink:0; }
.tt-doc-item.disabled{ opacity:.55; pointer-events:none; }
.tt-doc-item.disabled .dic{ background:#f6f8fb; }
.tt-doc-item.disabled .dic svg{ stroke:#5c6b80; }
.tt-doc-item .dl.soon{ color:#5c6b80; background:#f6f8fb; padding:4px 11px; border-radius:999px; font-size:11px; }
@media (max-width:700px){ .tt-doc-grid{ grid-template-columns:1fr; } }

.tt-clause-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.tt-clause{ background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:22px 24px; display:flex; gap:16px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.tt-clause:hover{ transform:translateY(-3px); box-shadow:0 2px 10px rgba(0,38,77,.06); border-color:transparent; }
.tt-clause .num{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:20px; color:#ef7e1a; flex-shrink:0; min-width:28px; }
.tt-clause p{ font-size:14.5px; color:#0a1626; line-height:1.65; margin:0; }
@media (max-width:800px){ .tt-clause-grid{ grid-template-columns:1fr; } }

.tt-cta-band{ background:#ffffff; padding:110px 0; text-align:center; }
.tt-cta-band h2{ font-family:"Playfair Display","Times New Roman",serif; font-weight:700; font-size:clamp(30px,4vw,48px); max-width:17ch; margin:16px auto 34px; color:#00264d; line-height:1.18; }
.tt-cta-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.tt-btn{ display:inline-flex; align-items:center; gap:8px; font-family:"Noto Sans",-apple-system,sans-serif; font-weight:700; font-size:14px; padding:14px 26px; border-radius:999px; border:1.5px solid transparent; transition:all .25s ease; white-space:nowrap; cursor:pointer; text-decoration:none; }
.tt-btn.solid{ background:#ef7e1a; color:#fff; box-shadow:0 8px 22px rgba(239,126,26,.32); }
.tt-btn.solid:hover{ background:#d96e0f; transform:translateY(-2px); }
.tt-btn.outline{ border-color:#00264d; color:#00264d; }
.tt-btn.outline:hover{ background:#00264d; color:#fff; transform:translateY(-2px); }

@media (max-width:600px){
  .tt-intro-inner{ padding:120px 20px 40px; }
  .tt-block{ padding:70px 0; }
}
#tt-intro + .sl-vitals{ padding:0; }
[data-theme="dark"] .tt-intro h1{ color:#ffffff; }
[data-theme="dark"] .tt-block:not(.procedure) .tt-page-head h2{ color:#ffffff; }
[data-theme="dark"] .tt-block:not(.procedure) .tt-section-head h3{ color:#ffffff; }

[data-theme="dark"] .tt-toolbar{ background:#1a2740; border-color:#2e3d58; box-shadow:0 2px 10px rgba(0,0,0,.35); }
[data-theme="dark"] .tt-search{ background:#12182b; border-color:#2e3d58; }
[data-theme="dark"] .tt-search svg{ stroke:#9aaabb; }
[data-theme="dark"] .tt-search input{ color:#ffffff; }
[data-theme="dark"] .tt-search input::placeholder{ color:#9aaabb; }
[data-theme="dark"] .tt-tabs button{ background:#22304a; border-color:#2e3d58; color:#ffffff; }
[data-theme="dark"] .tt-tabs button.is-active{ background:#ef7e1a; border-color:#ef7e1a; color:#fff; }

[data-theme="dark"] .tt-doc-item{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .tt-doc-item:hover{ box-shadow:0 2px 10px rgba(0,0,0,.35); }
[data-theme="dark"] .tt-doc-item .dic{ background:#22304a; }
[data-theme="dark"] .tt-doc-item .dic svg{ stroke:#ffffff; }
[data-theme="dark"] .tt-doc-item .dt .name{ color:#ffffff; }
[data-theme="dark"] .tt-doc-item .dt .meta{ color:#9aaabb; }
[data-theme="dark"] .tt-doc-item.disabled .dic{ background:#12182b; }
[data-theme="dark"] .tt-doc-item .dl.soon{ background:#12182b; color:#9aaabb; }

[data-theme="dark"] .tt-block.procedure{ background:#1a2236; }
[data-theme="dark"] .tt-block.procedure .tt-page-head h2{ color:#ffffff; }
[data-theme="dark"] .tt-clause{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .tt-clause:hover{ box-shadow:0 2px 10px rgba(0,0,0,.35); }
[data-theme="dark"] .tt-clause p{ color:#c3cedb; }
[data-theme="dark"] .tt-clause p strong{ color:#ffffff; }

[data-theme="dark"] .tt-cta-band{ background:#1a2236; }
[data-theme="dark"] .tt-cta-band h2{ color:#ffffff; }
[data-theme="dark"] .tt-btn.outline{ border-color:#6f88a8; color:#ffffff; }
[data-theme="dark"] .tt-btn.outline:hover{ background:#ffffff; color:#00264d; }

/* ══════════════════════════════════════
   DEPARTMENTS HUB — merged from page-scoped inline <style>.
   Class names kept exactly as-is (bare, unprefixed) to match the
   existing departments/index.html body without any HTML changes.
   Verified against the rest of this file: no colliding selectors exist. */
:root{
  --dh-navy:#00264d;
  --dh-navy-light:#004080;
  --dh-navy-pale:#e9eff6;
  --dh-navy-pale-2:#dbe5f0;
  --dh-orange:#ef7e1a;
  --dh-orange-light:#ff9a45;
  --dh-orange-pale:#fef1e2;
  --dh-ink:#0a1626;
  --dh-muted:#5c6b80;
  --dh-paper:#ffffff;
  --dh-paper-2:#f6f8fb;
  --dh-line:#e2e8f0;
  --dh-line-strong:#cbd6e3;
}
.wrap{max-width:1400px;margin:0 auto;padding:0 40px;}

.eyebrow{font-family:var(--body, var(--font-body));font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dh-orange);display:flex;align-items:center;gap:9px;}
.eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--dh-orange);flex-shrink:0;}
.eyebrow.center{justify-content:center;}

.block{padding:70px 0;}
.block.procedure{background:var(--dh-paper-2);}
.section-head{max-width:700px;margin:0 auto 44px;text-align:center;}
.section-head h2{font-family:var(--display, var(--font-title));font-weight:700;font-size:clamp(28px,3.4vw,42px);margin-top:14px;color:var(--dh-navy);line-height:1.18;}
.section-head p{color:var(--dh-muted);font-size:16px;line-height:1.7;margin-top:16px;max-width:66ch;margin-left:auto;margin-right:auto;}

.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--body, var(--font-body));font-weight:700;font-size:14px;padding:14px 26px;border-radius:999px;border:1.5px solid transparent;transition:all .25s ease;white-space:nowrap;cursor:pointer;text-decoration:none;}
.btn.solid{background:var(--dh-orange);color:#fff;box-shadow:0 8px 22px rgba(239,126,26,.32);}
.btn.solid:hover{background:#d96e0f;transform:translateY(-2px);}
.btn.outline{border-color:var(--dh-navy);color:var(--dh-navy);}
.btn.outline:hover{background:var(--dh-navy);color:#fff;transform:translateY(-2px);}

.hero{
  position:relative;padding:168px 40px 90px;
  background:
    radial-gradient(ellipse 800px 480px at 88% -8%, rgba(239,126,26,0.10), transparent 62%),
    radial-gradient(ellipse 700px 500px at -6% 100%, rgba(0,38,77,0.06), transparent 60%),
    var(--dh-paper);
  overflow:hidden;
}
.hero-inner{max-width:1280px;margin:0 auto;}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:64px;align-items:end;}
h1.hero-title{
  font-family:var(--display, var(--font-title));font-weight:700;font-size:clamp(34px, 4.2vw, 54px);
  line-height:1.14;letter-spacing:-0.01em;color:var(--dh-navy);margin-top:18px;max-width:16ch;
}
h1.hero-title em{font-style:italic;font-weight:500;color:var(--dh-orange);}
.hero-copy{font-size:17px;line-height:1.7;color:var(--dh-muted);max-width:46ch;padding-bottom:8px;}
.hero-copy p + p{margin-top:14px;}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:28px;}}

.tabbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:40px;padding-top:32px;border-top:1px solid var(--dh-line);}
.tabbar a{
  padding:11px 22px;border-radius:999px;font-size:13.5px;font-weight:700;
  border:1.5px solid var(--dh-line-strong);color:var(--dh-navy);background:#fff;transition:all .25s ease;
}
.tabbar a:hover{border-color:var(--dh-orange);color:var(--dh-orange);}
.tabbar a.active{background:var(--dh-navy);border-color:var(--dh-navy);color:#fff;}

.vitals{background:var(--dh-navy);color:#fff;}
.vitals-grid{
  max-width:1400px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,0.16);
}
.vital{padding:38px 26px 30px;border-right:1px solid rgba(255,255,255,0.16);}
.vital:last-child{border-right:none;}
.vital .num{font-family:var(--display, var(--font-title));font-weight:700;font-size:clamp(18px,2.1vw,27px);color:#fff;line-height:1.28;}
.vital .lbl{font-size:12.5px;font-weight:500;color:rgba(255,255,255,0.6);margin-top:12px;max-width:22ch;line-height:1.5;}
@media (max-width:850px){.vitals-grid{grid-template-columns:repeat(2,1fr);} .vital{padding:28px 18px 24px;}}

.split{display:grid;grid-template-columns:0.85fr 1.15fr;gap:70px;align-items:center;}
.split.rev{grid-template-columns:1.15fr 0.85fr;}
.split.rev .split-media{order:2;}
.split-media .ph{aspect-ratio:4/5;border-radius:24px;box-shadow:var(--shadow-lg, 0 24px 60px rgba(0,38,77,0.16));overflow:hidden;}
.split-media .ph img{width:100%;height:100%;object-fit:cover;}
.split h2{
  font-family:var(--display, var(--font-title));font-weight:700;font-size:clamp(26px,3.2vw,38px);
  line-height:1.2;margin:14px 0 20px;color:var(--dh-navy);max-width:18ch;
}
.split p{color:var(--dh-muted);font-size:15.5px;line-height:1.8;margin:0 0 16px;max-width:56ch;}
@media (max-width:900px){.split,.split.rev{grid-template-columns:1fr;} .split.rev .split-media{order:0;}}

.checklist{list-style:none;margin:22px 0 26px;padding:0;display:flex;flex-direction:column;gap:12px;}
.checklist li{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;color:var(--dh-ink);line-height:1.6;}
.checklist .tick{
  width:20px;height:20px;border-radius:50%;background:var(--dh-orange-pale);color:var(--dh-orange);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;margin-top:1px;
}
.checklist.dark .tick{background:rgba(255,255,255,0.12);color:var(--dh-orange-light);}
.checklist.dark li{color:rgba(255,255,255,0.85);}

.clause-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.clause{
  background:#fff;border:1px solid var(--dh-line);border-radius:16px;padding:22px 24px;
  display:flex;gap:16px;transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.clause:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm, 0 2px 10px rgba(0,38,77,0.06));border-color:transparent;}
.clause .num{font-family:var(--display, var(--font-title));font-weight:700;font-size:20px;color:var(--dh-orange);flex-shrink:0;min-width:28px;}
.clause p{font-size:14.5px;color:var(--dh-ink);line-height:1.65;margin:0;}
@media (max-width:800px){.clause-grid{grid-template-columns:1fr;}}

.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.program-card{
  background:#fff;border:1px solid var(--dh-line);border-radius:24px;overflow:hidden;
  display:grid;grid-template-columns:1fr;transition:transform .3s ease, box-shadow .3s ease;
}
.program-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md, 0 12px 34px rgba(0,38,77,0.10));}
.program-img{aspect-ratio:16/9;overflow:hidden;}
.program-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.program-card:hover .program-img img{transform:scale(1.05);}
.program-body{padding:30px 32px 34px;}
.program-tag{
  display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--dh-orange);background:var(--dh-orange-pale);padding:6px 13px;border-radius:999px;
}
.program-body h3{font-family:var(--display, var(--font-title));font-weight:700;font-size:26px;color:var(--dh-navy);margin:16px 0 6px;line-height:1.25;}
.program-body .yr{font-size:13.5px;font-weight:600;color:var(--dh-muted);margin-bottom:14px;}
.program-body p.desc{font-size:14.5px;color:var(--dh-muted);line-height:1.7;margin-bottom:22px;}
@media (max-width:900px){.program-grid{grid-template-columns:1fr;}}

.tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.qtile{
  background:#fff;border:1px solid var(--dh-line);border-radius:18px;padding:26px 24px;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.qtile:hover{transform:translateY(-5px);box-shadow:var(--shadow-md, 0 12px 34px rgba(0,38,77,0.10));border-color:transparent;}
.qtile .n{
  width:38px;height:38px;border-radius:10px;background:var(--dh-navy-pale);color:var(--dh-navy);
  display:flex;align-items:center;justify-content:center;font-family:var(--display, var(--font-title));font-weight:700;font-size:15px;margin-bottom:16px;
}
.qtile h4{font-family:var(--display, var(--font-title));font-weight:700;font-size:16.5px;color:var(--dh-navy);line-height:1.3;margin-bottom:8px;}
.qtile p{font-size:13px;color:var(--dh-muted);line-height:1.6;margin-bottom:14px;}
.qtile .go{font-size:12.5px;font-weight:700;color:var(--dh-orange);}
@media (max-width:950px){.tile-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.tile-grid{grid-template-columns:1fr;}}

.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.spec-card{
  background:#fff;border:1px solid var(--dh-line);border-radius:18px;padding:24px 24px 22px;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.spec-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md, 0 12px 34px rgba(0,38,77,0.10));border-color:transparent;}
.spec-card.flagship{border-color:var(--dh-orange);background:var(--dh-orange-pale);}
.spec-card h4{font-family:var(--display, var(--font-title));font-weight:700;font-size:18px;color:var(--dh-navy);line-height:1.3;}
.spec-meta{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap;}
.spec-meta .m{display:flex;flex-direction:column;}
.spec-meta .m .k{font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--dh-muted);}
.spec-meta .m .v{font-family:var(--display, var(--font-title));font-weight:700;font-size:15px;color:var(--dh-navy);margin-top:4px;}
.spec-card .elig{margin-top:14px;font-size:13px;color:var(--dh-muted);line-height:1.6;padding-top:14px;border-top:1px solid var(--dh-line);}
.spec-card.flagship .elig{border-top-color:rgba(239,126,26,0.25);}
@media (max-width:950px){.spec-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:650px){.spec-grid{grid-template-columns:1fr;}}

.proc-grid{display:grid;grid-template-columns:0.7fr 1.3fr;gap:60px;}
.proc-list{display:flex;flex-direction:column;}
.proc-item{padding:26px 0;border-bottom:1px solid var(--dh-line);display:grid;grid-template-columns:52px 1fr;gap:20px;}
.proc-item:first-child{padding-top:0;}
.proc-item:last-child{border-bottom:none;}
.proc-item .step{font-family:var(--display, var(--font-title));font-weight:700;color:var(--dh-orange);font-size:21px;}
.proc-item h4{font-family:var(--display, var(--font-title));font-weight:700;font-size:18px;margin-bottom:6px;color:var(--dh-navy);}
.proc-item p{color:var(--dh-muted);font-size:14.5px;line-height:1.7;margin:0;}
@media (max-width:900px){.proc-grid{grid-template-columns:1fr;}}

.contact-card{
  background:var(--dh-navy);color:#fff;border-radius:24px;padding:44px 40px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:30px;
}
.contact-card .c-item .lbl{font-size:11.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--dh-orange-light);}
.contact-card .c-item .val{font-family:var(--display, var(--font-title));font-weight:700;font-size:19px;margin-top:10px;line-height:1.35;}
.contact-card .c-item .sub{font-size:13px;color:rgba(255,255,255,0.6);margin-top:6px;}
@media (max-width:850px){.contact-card{grid-template-columns:1fr;}}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.gph{border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm, 0 2px 10px rgba(0,38,77,0.06));}
.gph img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease;}
.gph:hover img{transform:scale(1.06);}
.gph .cap{padding:12px 4px 0;font-size:12.5px;font-weight:600;color:var(--dh-muted);}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.gallery-grid{grid-template-columns:1fr;}}

.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.doc-item{
  background:#fff;border:1px solid var(--dh-line);border-radius:16px;padding:20px 22px;
  display:flex;align-items:center;gap:16px;transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.doc-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm, 0 2px 10px rgba(0,38,77,0.06));border-color:transparent;}
.doc-item .dic{
  width:42px;height:42px;border-radius:11px;background:var(--dh-navy-pale);color:var(--dh-navy);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.doc-item .dic svg{width:19px;height:19px;stroke:var(--dh-navy);}
.doc-item .dt{flex:1;}
.doc-item .dt .name{font-size:14.5px;font-weight:700;color:var(--dh-navy);}
.doc-item .dt .meta{font-size:12px;color:var(--dh-muted);margin-top:3px;}
.doc-item .dl{font-size:12px;font-weight:700;color:var(--dh-orange);flex-shrink:0;}
@media (max-width:700px){.doc-grid{grid-template-columns:1fr;}}

.stage-filter{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:48px;}
.stage-tab{background:#fff;border:1.5px solid var(--dh-line-strong);color:var(--dh-navy);font-family:var(--body, var(--font-body));font-size:13.5px;font-weight:700;padding:11px 22px;border-radius:999px;cursor:pointer;transition:all .2s ease;}
.stage-tab .ct{color:var(--dh-muted);font-weight:600;margin-left:4px;}
.stage-tab:hover{border-color:var(--dh-orange);color:var(--dh-orange);}
.stage-tab.is-active{background:var(--dh-navy);border-color:var(--dh-navy);color:#fff;}
.stage-tab.is-active .ct{color:rgba(255,255,255,0.65);}

.dept-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.dept-card{background:#fff;border:1px solid var(--dh-line);border-radius:20px;padding:24px 24px;transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;display:flex;flex-direction:column;}
.dept-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md, 0 12px 34px rgba(0,38,77,0.10));border-color:transparent;}
.dept-card .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.dept-card .ic{width:44px;height:44px;border-radius:12px;background:var(--dh-navy-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dept-card .ic svg{width:21px;height:21px;stroke:var(--dh-navy);}
.dept-card.para .ic{background:var(--dh-orange-pale);}
.dept-card.para .ic svg{stroke:var(--dh-orange);}
.dept-card.cl .ic{background:#eaf5ee;}
.dept-card.cl .ic svg{stroke:#1f8a4c;}
.dept-card h3{font-family:var(--display, var(--font-title));font-weight:700;font-size:18px;color:var(--dh-navy);line-height:1.3;}
.pill-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 12px;}
.stage-pill, .pg-pill{font-size:10px;font-weight:800;letter-spacing:0.05em;text-transform:uppercase;padding:4px 10px;border-radius:999px;line-height:1.4;}
.stage-pill{color:var(--dh-navy);background:var(--dh-navy-pale);}
.dept-card.para .stage-pill{color:var(--dh-orange);background:var(--dh-orange-pale);}
.dept-card.cl .stage-pill{color:#1f8a4c;background:#eaf5ee;}
.pg-pill{color:var(--dh-muted);background:var(--dh-paper-2);border:1px solid var(--dh-line);}
.dept-card .desc-divider{height:1px;background:var(--dh-line);margin-bottom:12px;}
.dept-card .desc{font-size:13px;color:var(--dh-muted);line-height:1.65;flex:1;margin:0;}
.dept-card .dept-arrow{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--dh-paper-2);display:flex;align-items:center;justify-content:center;transition:background .3s ease;}
.dept-card .dept-arrow svg{width:14px;height:14px;stroke:var(--dh-navy);transition:transform .3s ease, stroke .3s ease;}
.dept-card:hover .dept-arrow{background:var(--dh-orange);}
.dept-card:hover .dept-arrow svg{stroke:#fff;transform:translate(2px,-2px);}
.dept-card.hide{display:none;}
@media (max-width:950px){.dept-cards{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.dept-cards{grid-template-columns:1fr;}}

.stage-intro{grid-column:1/-1;padding-top:28px;margin-top:8px;border-top:1px solid var(--dh-line);}
.stage-intro:first-child{padding-top:0;margin-top:0;border-top:none;}
.stage-intro-top{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:10px;}
.stage-intro h3{font-family:var(--display, var(--font-title));font-weight:700;font-size:clamp(21px,2.4vw,26px);color:var(--dh-navy);line-height:1.25;}
.stage-intro .count{font-size:12.5px;color:var(--dh-muted);font-weight:600;white-space:nowrap;}
.stage-intro p{color:var(--dh-muted);font-size:14.5px;line-height:1.7;max-width:62ch;margin-top:2px;}
@media (max-width:600px){.stage-intro{padding-top:22px;}}

.enquiry-grid{display:grid;grid-template-columns:1fr 0.8fr;gap:40px;align-items:stretch;}
.enquiry-form{background:#fff;border:1px solid var(--dh-line);border-radius:24px;padding:38px;box-shadow:var(--shadow-sm, 0 2px 10px rgba(0,38,77,0.06));}
.enquiry-form h3{font-family:var(--display, var(--font-title));font-weight:700;font-size:22px;color:var(--dh-navy);margin-bottom:8px;}
.enquiry-form .sub{font-size:14px;color:var(--dh-muted);margin-bottom:26px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-field{display:flex;flex-direction:column;gap:8px;}
.form-field.full{grid-column:1 / -1;}
.form-field label{font-size:12.5px;font-weight:700;color:var(--dh-navy);}
.form-field input, .form-field select, .form-field textarea{
  border:1.5px solid var(--dh-line-strong);border-radius:12px;padding:12px 14px;font-family:var(--body, var(--font-body));
  font-size:14px;color:var(--dh-ink);background:var(--dh-paper-2);
}
.form-field textarea{resize:vertical;min-height:90px;}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{outline:none;border-color:var(--dh-orange);background:#fff;}
@media (max-width:600px){.form-row{grid-template-columns:1fr;}}

.contact-panel{background:var(--dh-navy);color:#fff;border-radius:24px;padding:38px 34px;display:flex;flex-direction:column;gap:26px;}
.contact-panel h3{font-family:var(--display, var(--font-title));font-weight:700;font-size:20px;}
.c-row{display:flex;gap:14px;align-items:flex-start;}
.c-row .ic{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,0.1);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.c-row .ic svg{width:18px;height:18px;stroke:var(--dh-orange-light);}
.c-row .lbl{font-size:11px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.45);}
.c-row .val{font-size:14.5px;font-weight:600;margin-top:4px;line-height:1.5;}
.office-hours{border-top:1px solid rgba(255,255,255,0.15);padding-top:22px;}
.office-hours .row{display:flex;justify-content:space-between;font-size:13.5px;padding:7px 0;color:rgba(255,255,255,0.8);}
.office-hours .row b{color:#fff;font-weight:700;}
@media (max-width:900px){.enquiry-grid{grid-template-columns:1fr;}}

.quote-band{
  background:
    radial-gradient(ellipse 700px 400px at 85% 20%, rgba(255,255,255,0.06), transparent 60%),
    linear-gradient(135deg, var(--dh-navy) 0%, #001830 100%);
  color:#fff;text-align:center;padding:100px 0;
}
.quote-band blockquote{
  font-family:var(--display, var(--font-title));font-weight:500;font-style:italic;font-size:clamp(21px,2.8vw,30px);
  max-width:800px;margin:0 auto 22px;line-height:1.45;
}
.quote-band cite{font-style:normal;font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--dh-orange-light);}
.cta-band{background:var(--dh-paper);padding:70px 0;text-align:center;}
.cta-band h2{
  font-family:var(--display, var(--font-title));font-weight:700;font-size:clamp(30px,4vw,48px);
  max-width:17ch;margin:16px auto 34px;color:var(--dh-navy);line-height:1.18;
}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

@media (max-width:600px){
  .wrap{padding:0 22px;}
  .contact-card{padding:34px 26px;}
  .enquiry-form{padding:26px;}
  .contact-panel{padding:28px 24px;}
}

[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s ease;}
[data-reveal].is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  [data-reveal]{opacity:1;transform:none;}
}

[data-theme="dark"] h1.hero-title{color:#ffffff;}

/* ── Standard error pages (404 / 403 / 500) ── */
.err-page{ min-height:60vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:200px 24px; }
.err-code{ font-family:var(--sl-display); font-weight:800; font-size:clamp(72px,12vw,120px); line-height:1; letter-spacing:6px; color:var(--sl-navy); }
.err-code span{ color:var(--sl-orange); }
.err-rule{ width:60px; height:3px; background:var(--sl-orange); border-radius:2px; margin:20px auto 24px; }
.err-title{ font-family:var(--sl-display); font-weight:700; font-size:clamp(26px,3vw,34px); color:var(--sl-navy); margin-bottom:14px; }
.err-desc{ color:var(--sl-muted); font-size:16px; line-height:1.7; max-width:520px; margin:0 auto 34px; }
.err-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
[data-theme="dark"] .err-code{ color:#ffffff; }
[data-theme="dark"] .err-title{ color:#ffffff; }

/* ============ PROGRAMS PAGE ============ */
.pg-card{ display:grid; grid-template-columns:1.3fr 1fr; border-radius:24px; overflow:hidden; box-shadow:var(--sl-shadow-lg, 0 24px 60px rgba(0,38,77,.18)); }
.pg-card-main{ padding:52px 48px; background:radial-gradient(ellipse 500px 300px at 100% 0, rgba(239,126,26,.28), transparent 65%), var(--sl-navy, #00264d); color:#fff; }
.pg-badge{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#ffb266; border:1px solid rgba(255,178,102,.5); padding:6px 14px; border-radius:999px; }
.pg-card-main h2{ font-family:var(--sl-display, var(--font-title)); font-size:clamp(56px,8vw,96px); font-weight:800; line-height:1; margin:22px 0 8px; color:#fff; }
.pg-full{ font-size:20px; font-weight:600; color:#fff; margin-bottom:16px; }
.pg-desc{ max-width:46ch; line-height:1.7; color:rgba(255,255,255,.8); margin-bottom:28px; }
.pg-card-side{ padding:52px 40px; background:#fff; display:flex; flex-direction:column; justify-content:center; gap:18px; }
.pg-journey-label{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sl-orange, #ef7e1a); }
.pg-journey{ display:flex; height:120px; border-radius:16px; overflow:hidden; }
.pg-step{ display:flex; flex-direction:column; justify-content:center; padding:0 22px; color:#fff; }
.pg-step strong{ font-size:44px; line-height:1; font-family:var(--sl-display, var(--font-title)); }
.pg-step span{ font-size:13px; font-weight:600; margin-top:6px; opacity:.92; }
.pg-step-a{ flex:4.5; background:var(--sl-navy, #00264d); }
.pg-step-b{ flex:1; min-width:110px; background:var(--sl-orange, #ef7e1a); }
.pg-journey-note{ font-size:13px; color:var(--sl-muted, #5b6b80); }
.pg-facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:18px; margin-top:28px; }
.pg-fact{ position:relative; padding:26px 22px 24px; border-radius:18px; background:#fff; border:1px solid var(--sl-line, #e3e8ef); border-top:4px solid var(--sl-orange, #ef7e1a); transition:transform .25s ease, box-shadow .25s ease; }
.pg-fact:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(0,38,77,.12); }
.pg-fact i{ font-size:22px; color:var(--sl-orange, #ef7e1a); margin-bottom:14px; display:block; }
.pg-k{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--sl-muted, #5b6b80); }
.pg-v{ font-size:16px; font-weight:700; color:var(--sl-navy, #00264d); margin-top:6px; line-height:1.4; }
[data-theme="dark"] .pg-card-side,
[data-theme="dark"] .pg-fact{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .pg-v{ color:#fff; }
[data-theme="dark"] .pg-step-a{ background:#2b4a7a; }
@media (max-width:860px){ .pg-card{ grid-template-columns:1fr; } .pg-card-main,.pg-card-side{ padding:36px 26px; } }

/* ============ ADMISSION PROCESS: document cards ============ */
.ap-page{ background:linear-gradient(180deg,#f6f8fb 0,#fff 380px); }
.ap-wrap{ overflow:visible !important; border:0 !important; box-shadow:none !important; background:none !important; }
table.ap-cards, .ap-cards tbody{ display:block; width:100%; border:0; background:none; }
.ap-cards thead{ display:none; }
.ap-cards tbody{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px; counter-reset:none; }
.ap-cards tr[data-name]{ position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:26px; padding:28px 26px 24px; min-height:190px; overflow:hidden; background:#fff; border:1px solid var(--sl-line,#e3e8ef); border-radius:20px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.ap-cards tr[data-name]::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:linear-gradient(180deg,var(--sl-orange,#ef7e1a),var(--sl-navy,#00264d)); }
.ap-cards tr[data-name]:hover{ transform:translateY(-5px); border-color:var(--sl-orange,#ef7e1a); box-shadow:0 18px 40px rgba(0,38,77,.14); }
.ap-cards td{ display:block; padding:0 !important; border:0 !important; background:none !important; }
.ap-cards td.sno{ position:absolute; top:6px; right:16px; font-family:var(--sl-display,var(--font-title)); font-size:64px; font-weight:800; line-height:1; color:rgba(0,38,77,.07); pointer-events:none; }
.ap-cards td.course{ font-family:var(--sl-display,var(--font-title)); font-size:19px; font-weight:700; line-height:1.35; color:var(--sl-navy,#00264d); max-width:85%; }
.ap-view{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; padding:9px 18px; border-radius:999px; background:var(--sl-navy,#00264d); color:#fff !important; font-size:13px; font-weight:700; text-decoration:none; transition:background .2s ease, gap .2s ease; }
.ap-view:hover{ background:var(--sl-orange,#ef7e1a); gap:12px; }
.ap-cards tr.pub-empty-row{ display:block; grid-column:1/-1; text-align:center; padding:30px; }
.ap-cards tr.pub-empty-row td{ display:block; }
[data-theme="dark"] .ap-page{ background:linear-gradient(180deg,#1a2236 0,#121a2b 380px); }
[data-theme="dark"] .ap-cards tr[data-name]{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .ap-cards td.course{ color:#fff; }
[data-theme="dark"] .ap-cards td.sno{ color:rgba(255,255,255,.08); }
[data-theme="dark"] .ap-view{ background:var(--sl-orange,#ef7e1a); }
.ap-cards tr.pub-empty-row{ display:none !important; }
.ap-cards tr[data-name] a.ap-view, .ap-cards tr[data-name] a.ap-view:visited{ align-self:center; justify-content:center; min-width:130px; color:#fff !important; -webkit-text-fill-color:#fff; opacity:1; }
.ap-cards tr[data-name] a.ap-view:hover{ color:#fff !important; }
table.pub-approvals.ap-cards td a.lnk.ap-view{ background:var(--sl-navy,#00264d); color:#fff !important; border:0; padding:10px 22px; font-size:13px; gap:8px; }
table.pub-approvals.ap-cards td a.lnk.ap-view:hover{ background:var(--sl-orange,#ef7e1a); color:#fff !important; gap:12px; }
[data-theme="dark"] table.pub-approvals.ap-cards td a.lnk.ap-view{ background:var(--sl-orange,#ef7e1a); }

/* ============ MAGAZINE (SAMVAADA) ============ */
.mg-head{ text-align:center; max-width:820px; margin:0 auto 40px; }
.mg-head .sl-page-title{ margin-top:14px; }
.mg-cols{ display:grid; grid-template-columns:1fr 1fr; gap:56px; position:relative; }
.mg-cols::before{ content:""; position:absolute; left:50%; top:4px; bottom:4px; width:1px; background:var(--sl-line,#e3e8ef); }
.mg-col p{ font-size:16.5px; line-height:1.85; color:var(--sl-muted,#5b6b80); margin-bottom:18px; }
.mg-col .mg-lead::first-letter{ font-family:var(--sl-display,var(--font-title)); float:left; font-size:64px; line-height:.85; padding:6px 10px 0 0; color:var(--sl-orange,#ef7e1a); font-weight:800; }
.mg-sections{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:44px; }
.mg-sec{ position:relative; padding:24px 22px; border-radius:16px; background:#fff; border:1px solid var(--sl-line,#e3e8ef); border-bottom:4px solid var(--sl-orange,#ef7e1a); transition:transform .25s ease, box-shadow .25s ease; }
.mg-sec:hover{ transform:translateY(-4px); box-shadow:0 14px 32px rgba(0,38,77,.12); }
.mg-sec span{ font-family:var(--sl-display,var(--font-title)); font-size:14px; font-weight:800; color:var(--sl-orange,#ef7e1a); }
.mg-sec strong{ display:block; margin:6px 0 8px; font-size:18px; color:var(--sl-navy,#00264d); font-family:var(--sl-display,var(--font-title)); }
.mg-sec p{ margin:0; font-size:14.5px; line-height:1.65; color:var(--sl-muted,#5b6b80); }
.mg-issues{ padding:90px 0; background:radial-gradient(ellipse 700px 400px at 90% 0, rgba(239,126,26,.22), transparent 65%), var(--sl-navy,#00264d); }
.mg-issues .pub-section-head h2, .mg-issues .pub-eyebrow{ color:#fff; }
.mg-shelf{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,300px)); justify-content:center; gap:44px; margin-top:44px; }
.mg-issue{ display:block; text-decoration:none; transition:transform .3s ease; }
.mg-issue:hover{ transform:translateY(-10px) rotate(-1deg); }
.mg-cover{ position:relative; aspect-ratio:3/4; border-radius:6px 14px 14px 6px; padding:30px 24px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; background:linear-gradient(160deg,#ef7e1a,#b3470a); box-shadow:-8px 0 0 rgba(0,0,0,.25) inset, 0 24px 50px rgba(0,0,0,.45); overflow:hidden; }
.mg-cover::after{ content:""; position:absolute; right:-40px; top:-40px; width:170px; height:170px; border-radius:50%; background:rgba(255,255,255,.14); }
.mg-c2{ background:linear-gradient(160deg,#2b4a7a,#0d1f3c); }
.mg-c3{ background:linear-gradient(160deg,#5b6b80,#232f42); }
.mg-cover small{ font-size:13px; font-weight:700; letter-spacing:.3em; opacity:.85; }
.mg-cover b{ font-family:var(--sl-display,var(--font-title)); font-size:40px; line-height:1.05; margin:4px 0 10px; }
.mg-cover em{ font-style:normal; font-size:15px; font-weight:600; border-top:1px solid rgba(255,255,255,.5); padding-top:10px; }
.mg-new{ position:absolute; top:18px; left:24px; z-index:1; background:#fff; color:var(--sl-orange,#ef7e1a); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:999px; }
.mg-meta{ display:flex; justify-content:space-between; align-items:center; margin-top:18px; color:#fff; font-weight:700; }
.mg-meta i{ font-style:normal; font-size:13px; color:#ffb266; }
[data-theme="dark"] .mg-sec{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .mg-sec strong{ color:#fff; }
@media (max-width:900px){ .mg-cols{ grid-template-columns:1fr; gap:0; } .mg-cols::before{ display:none; } .mg-sections{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .mg-sections{ grid-template-columns:1fr; } }
.mg-head{ text-align:left; max-width:none; margin-left:0; }
.mg-head .sl-eyebrow.sl-center{ text-align:left; justify-content:flex-start; margin-left:0; }

/* ============ BULLETIN (Pharmabuzz): edition tiles ============ */
.bl-page{ background:linear-gradient(180deg,#f6f8fb 0,#fff 360px); }
.bl-inside{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 30px; padding:18px 22px; border-radius:16px; background:var(--sl-navy,#00264d); }
.bl-inside-label{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#ffb266; margin-right:6px; }
.bl-chip{ font-size:13px; font-weight:600; color:#fff; border:1px solid rgba(255,255,255,.3); padding:6px 14px; border-radius:999px; }
.bl-wrap{ overflow:visible !important; border:0 !important; box-shadow:none !important; background:none !important; }
table.bl-tiles, .bl-tiles tbody{ display:block; width:100%; border:0; background:none; }
.bl-tiles thead{ display:none; }
.bl-tiles tbody{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:18px; }
.bl-tiles tr[data-name]{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; padding:22px 18px 20px; background:#fff; border:1px solid var(--sl-line,#e3e8ef); border-radius:18px; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.bl-tiles tr[data-name]::before{ content:"PHARMABUZZ"; align-self:stretch; margin:-22px -18px 0; padding:8px 0; font-size:10.5px; font-weight:800; letter-spacing:.22em; color:#fff; background:linear-gradient(90deg,var(--sl-navy,#00264d),#2b4a7a); }
.bl-tiles tr[data-name]:hover{ transform:translateY(-5px); border-color:var(--sl-orange,#ef7e1a); box-shadow:0 16px 36px rgba(0,38,77,.14); }
.bl-tiles td{ display:block; padding:0 !important; border:0 !important; background:none !important; }
.bl-tiles td.sno{ display:none; }
.bl-tiles td.course{ display:flex; flex-direction:column; align-items:center; }
.bl-m{ font-family:var(--sl-display,var(--font-title)); font-size:24px; font-weight:800; color:var(--sl-navy,#00264d); line-height:1.1; }
.bl-y{ order:2; margin-top:4px; font-size:14px; font-weight:700; letter-spacing:.14em; color:var(--sl-orange,#ef7e1a); }
.bl-latest{ border-color:var(--sl-orange,#ef7e1a) !important; }
.bl-latest::after{ content:"Latest"; position:absolute; top:34px; right:10px; background:var(--sl-orange,#ef7e1a); color:#fff; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:3px 9px; border-radius:999px; }
table.pub-approvals.bl-tiles td a.lnk.bl-view{ display:inline-flex; justify-content:center; align-items:center; min-width:110px; padding:8px 18px; border:1px solid var(--sl-navy,#00264d); border-radius:999px; background:transparent; color:var(--sl-navy,#00264d) !important; font-size:13px; font-weight:700; transition:background .2s ease, color .2s ease; }
table.pub-approvals.bl-tiles td a.lnk.bl-view:hover{ background:var(--sl-orange,#ef7e1a); border-color:var(--sl-orange,#ef7e1a); color:#fff !important; }
.bl-tiles tr.pub-empty-row{ display:none !important; }
[data-theme="dark"] .bl-page{ background:linear-gradient(180deg,#1a2236 0,#121a2b 360px); }
[data-theme="dark"] .bl-tiles tr[data-name]{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .bl-m{ color:#fff; }
[data-theme="dark"] table.pub-approvals.bl-tiles td a.lnk.bl-view{ color:#fff !important; border-color:rgba(255,255,255,.5); }

/* Contact map: iframe needs an explicit height (100% of an auto-height parent collapsed to ~150px) */
.sl-map-wrap{ height:480px; }
.sl-map-wrap iframe{ height:100%; min-height:480px; }
@media (max-width:600px){ .sl-map-wrap, .sl-map-wrap iframe{ height:360px; min-height:360px; } }
.bl-note{ max-width:80ch; margin:0 0 22px; font-size:16px; line-height:1.8; color:var(--sl-muted,#5b6b80); }

/* ============ FEE PAGE ============ */
.fe-page{ background:linear-gradient(180deg,#f6f8fb 0,#fff 420px); }
.fe-split{ display:flex; gap:4px; height:46px; margin:8px 0 26px; border-radius:999px; overflow:hidden; }
.fe-split span{ display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px; font-weight:700; white-space:nowrap; overflow:hidden; }
.fe-s1{ background:var(--sl-navy,#00264d); } .fe-s2{ background:#2b4a7a; } .fe-s3{ background:var(--sl-orange,#ef7e1a); } .fe-s4{ background:#b3470a; }
.fe-quotas{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:20px; }
.fe-quota{ position:relative; padding:28px 24px 24px; background:#fff; border:1px solid var(--sl-line,#e3e8ef); border-radius:20px; border-top:5px solid var(--sl-navy,#00264d); transition:transform .25s ease, box-shadow .25s ease; }
.fe-quota:hover{ transform:translateY(-5px); box-shadow:0 18px 40px rgba(0,38,77,.14); }
.fe-q2{ border-top-color:#2b4a7a; } .fe-q3{ border-top-color:var(--sl-orange,#ef7e1a); } .fe-q4{ border-top-color:#b3470a; }
.fe-pct{ font-family:var(--sl-display,var(--font-title)); font-size:64px; font-weight:800; line-height:1; color:var(--sl-navy,#00264d); }
.fe-pct small{ font-size:28px; margin-left:2px; color:var(--sl-orange,#ef7e1a); }
.fe-quota h3{ font-family:var(--sl-display,var(--font-title)); font-size:19px; margin:12px 0 4px; color:var(--sl-navy,#00264d); }
.fe-seats{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--sl-orange,#ef7e1a); }
.fe-fee{ margin-top:18px; padding-top:16px; border-top:1px dashed var(--sl-line,#cbd6e3); font-weight:700; color:var(--sl-navy,#00264d); line-height:1.5; }
.fe-fee span{ display:block; font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--sl-muted,#5b6b80); margin-bottom:4px; }
.fe-notes{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:26px; }
.fe-note{ display:flex; gap:16px; align-items:flex-start; padding:20px 22px; border-radius:16px; background:#fff4e8; border-left:5px solid var(--sl-orange,#ef7e1a); }
.fe-note i{ font-size:24px; color:var(--sl-orange,#ef7e1a); margin-top:3px; }
.fe-note p{ margin:0; line-height:1.7; color:#3b4a5e; font-size:15px; }
.fe-hostel{ padding:90px 0; background:radial-gradient(ellipse 700px 400px at 90% 0, rgba(239,126,26,.22), transparent 65%), var(--sl-navy,#00264d); }
.fe-hostel .pub-section-head h2, .fe-hostel .pub-eyebrow{ color:#fff; }
.fe-rooms{ display:grid; grid-template-columns:1fr 1fr; gap:28px; max-width:900px; margin:40px auto 0; }
.fe-room{ background:#fff; border-radius:24px; padding:34px 30px 30px; box-shadow:0 24px 50px rgba(0,0,0,.35); }
.fe-room-tag{ display:inline-block; background:var(--sl-navy,#00264d); color:#fff; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:7px 16px; border-radius:999px; }
.fe-room-alt .fe-room-tag{ background:var(--sl-orange,#ef7e1a); }
.fe-room ul{ list-style:none; margin:22px 0 0; padding:0; }
.fe-room li{ display:flex; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid var(--sl-line,#e3e8ef); font-size:15px; color:var(--sl-muted,#5b6b80); }
.fe-room li b{ color:var(--sl-navy,#00264d); white-space:nowrap; }
.fe-total{ display:flex; justify-content:space-between; align-items:baseline; margin-top:20px; }
.fe-total span{ font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--sl-muted,#5b6b80); }
.fe-total strong{ font-family:var(--sl-display,var(--font-title)); font-size:32px; color:var(--sl-navy,#00264d); }
.fe-app{ text-align:center; margin-top:30px; color:#fff; font-weight:600; }
.fe-app i{ color:#ffb266; margin-right:8px; font-size:20px; vertical-align:-2px; }
[data-theme="dark"] .fe-page{ background:linear-gradient(180deg,#1a2236 0,#121a2b 420px); }
[data-theme="dark"] .fe-quota,[data-theme="dark"] .fe-room{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .fe-pct,[data-theme="dark"] .fe-quota h3,[data-theme="dark"] .fe-fee,[data-theme="dark"] .fe-room li b,[data-theme="dark"] .fe-total strong{ color:#fff; }
[data-theme="dark"] .fe-note{ background:#2a2233; } [data-theme="dark"] .fe-note p{ color:#d6dde8; }
@media (max-width:760px){ .fe-notes,.fe-rooms{ grid-template-columns:1fr; } .fe-split span{ font-size:11px; } .fe-s3,.fe-s4{ font-size:0; } }

/* Tight hero: About-style overlapping card, but the space below is sized to the card's real overhang (set in main.js) */
.about-hero.about-hero-tight{ margin-bottom:0; }
.about-hero-tight + section{ padding-top:130px; }
.sl-cta-band h2.sl-cta-2line{ max-width:32ch; }
@media (max-width:640px){ .sl-cta-band h2.sl-cta-2line{ max-width:100%; } }
.hp-bento-item .hp-bento-title, .hp-bento-item .hp-bento-title svg{ color:#ffffff !important; }
[data-theme="dark"] .ac-card{ background:#1a2740; border-color:#2e3d58; }
[data-theme="dark"] .ac-card:hover{ border-color:var(--ac-orange,#ef7e1a); box-shadow:0 14px 36px rgba(0,0,0,.45); }
[data-theme="dark"] .ac-card h3{ color:#ffffff !important; }
[data-theme="dark"] .ac-card p{ color:#b7c3d6; }
[data-theme="dark"] .ac-card .ac-go{ color:#ffffff; }
[data-theme="dark"] .ac-card:hover .ac-go{ color:var(--ac-orange,#ef7e1a); }
