/* ===== INNER PAGE FULL WIDTH LAYOUT ===== */
.inner-page-full {
  background: var(--cream);
  padding: 3rem 2rem;
  min-height: 60vh;
}
.inner-full-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Management grid */
.management-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.management-card {
  background: white;
  border: 1px solid var(--cream-dark);
  border-radius: 8px;
  padding: 1.25rem;
  text-align: center;
  border-top: 3px solid var(--sage);
}
.management-card img {
  width: 80px; height: 80px;
  object-fit: cover; border-radius: 50%;
  margin: 0 auto 0.75rem;
}
.management-card h4 { font-size: 0.9rem; font-weight: 600; color: var(--text-dark); margin-bottom: 0.3rem; }
.management-card p { font-size: 0.78rem; color: var(--text-light); }
.mgmt-placeholder { font-size: 2.5rem; text-align: center; padding: 0.5rem 0; }

/* Faculty grid */
.faculty-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.5rem;
}
.faculty-card {
  background: white;
  border: 1px solid var(--cream-dark);
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.25s, box-shadow 0.25s;
}
.faculty-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(62,92,57,0.1); }
.faculty-card img { width: 100%; height: 180px; object-fit: cover; object-position: top; }
.faculty-placeholder { height: 180px; background: var(--sage-pale); display: flex; align-items: center; justify-content: center; font-size: 3rem; }
.faculty-info { padding: 1rem; }
.faculty-info h4 { font-size: 0.9rem; font-weight: 600; color: var(--text-dark); margin-bottom: 0.25rem; }
.faculty-info p { font-size: 0.78rem; color: var(--text-mid); margin-bottom: 0.3rem; }
.faculty-dept { display: inline-block; background: var(--sage-pale); color: var(--sage-darker); font-size: 0.68rem; font-weight: 600; padding: 0.18rem 0.55rem; border-radius: 100px; text-transform: uppercase; letter-spacing: 0.06em; }
.faculty-qual { font-size: 0.75rem; color: var(--text-light); margin-top: 0.3rem; }
.dept-filter .btn { text-decoration: none; }
.btn { display: inline-flex; align-items: center; padding: 0.45rem 0.9rem; border-radius: 5px; font-size: 0.78rem; font-weight: 600; cursor: pointer; border: none; transition: all 0.2s; text-decoration: none; }
.btn-primary { background: var(--sage-deeper); color: white; }
.btn-outline { background: transparent; border: 1.5px solid var(--sage); color: var(--sage-dark); }
.btn-sm { padding: 0.3rem 0.7rem; font-size: 0.72rem; }

/* News grid */
.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5rem;
}
.news-card {
  background: white;
  border: 1px solid var(--cream-dark);
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.25s, box-shadow 0.25s;
}
.news-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(62,92,57,0.1); }
.news-img { height: 200px; overflow: hidden; background: var(--sage-pale); }
.news-img img { width: 100%; height: 100%; object-fit: cover; }
.news-body { padding: 1.25rem; }
.news-date { font-size: 0.72rem; color: var(--sage); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; }
.news-body h3 { font-family: "Playfair Display", serif; font-size: 1rem; margin: 0.5rem 0; }
.news-body h3 a { color: var(--text-dark); }
.news-body h3 a:hover { color: var(--sage-deeper); }
.news-body p { font-size: 0.84rem; color: var(--text-light); line-height: 1.6; }

/* Achievements grid */
.achievements-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
}
.achievement-card {
  background: white;
  border: 1px solid var(--cream-dark);
  border-radius: 8px;
  overflow: hidden;
}
.achievement-card img { width: 100%; height: 180px; object-fit: cover; }
.ach-body { padding: 1rem; }
.ach-body h4 { font-size: 0.95rem; font-weight: 600; color: var(--text-dark); margin-bottom: 0.3rem; }
.ach-date { font-size: 0.72rem; color: var(--sage); font-weight: 600; display: block; margin-bottom: 0.4rem; }
.ach-body p { font-size: 0.82rem; color: var(--text-light); line-height: 1.55; }

/* Gallery masonry */
.gallery-masonry {
  columns: 4;
  column-gap: 0.75rem;
}
.gallery-inner-item {
  break-inside: avoid;
  margin-bottom: 0.75rem;
  border-radius: 6px;
  overflow: hidden;
}
.gallery-inner-item img { width: 100%; display: block; transition: transform 0.3s; }
.gallery-inner-item:hover img { transform: scale(1.04); }
.gallery-inner-item p { padding: 0.4rem 0.6rem; font-size: 0.75rem; background: white; color: var(--text-mid); }

/* Video grid */
.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5rem;
}
.video-card h4 { font-size: 0.88rem; color: var(--text-dark); margin-top: 0.6rem; }

/* Courses */
.courses-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}
.course-inner-card {
  background: white;
  border: 1px solid var(--cream-dark);
  border-radius: 8px;
  padding: 1.5rem;
  border-top: 3px solid var(--sage);
}
.course-inner-card h3 { font-family: "Playfair Display", serif; font-size: 1.1rem; color: var(--text-dark); margin-bottom: 0.75rem; }
.course-desc { font-size: 0.88rem; color: var(--text-mid); line-height: 1.7; }

/* Principal page */
.principal-page-card {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 3rem;
  background: white;
  border: 1px solid var(--cream-dark);
  border-radius: 12px;
  padding: 2.5rem;
  margin-bottom: 2rem;
}
.prin-photo img {
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(62,92,57,0.15);
}
.prin-text .label {
  font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em;
  color: var(--sage); font-weight: 600; margin-bottom: 0.4rem;
}
.prin-text h2 {
  font-family: "Playfair Display", serif;
  font-size: 1.6rem; margin-bottom: 1rem;
}

/* Career grid */
.career-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
}
.career-card {
  background: white;
  border: 1px solid var(--cream-dark);
  border-radius: 8px;
  overflow: hidden;
}
.career-card img { width: 100%; height: 180px; object-fit: cover; }
.career-card h4 { padding: 1rem; font-size: 0.9rem; font-weight: 600; }
.career-card p { padding: 0 1rem 1rem; font-size: 0.82rem; color: var(--text-light); }

/* Features grid */
.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.5rem;
}
.feature-card {
  background: white;
  border: 1px solid var(--cream-dark);
  border-radius: 8px;
  overflow: hidden;
}
.feature-card img { width: 100%; height: 160px; object-fit: cover; }
.feature-card h4 { padding: 0.85rem 1rem; font-size: 0.88rem; font-weight: 600; }

/* Inner text block */
.inner-text-block h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.15rem; color: var(--text-dark); margin-bottom: 0.75rem;
}

/* Flash */
.flash-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #16a34a; padding: 0.85rem 1.25rem; border-radius: 6px; margin-bottom: 1.5rem; }

/* Responsive */
@media (max-width: 900px) {
  .gallery-masonry { columns: 2; }
  .principal-page-card { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr !important; }
  .faculty-grid { grid-template-columns: repeat(2, 1fr); }
  .management-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .gallery-masonry { columns: 1; }
  .news-grid, .achievements-grid, .courses-cards, .video-grid { grid-template-columns: 1fr; }
  .faculty-grid, .management-grid { grid-template-columns: 1fr; }
}

/* ===== PAGE BANNER ===== */
.page-banner {
  position: relative;
  height: 420px;
  background: url('../images/breadcrumb-bg.jpg') center/cover no-repeat;
  background-color: #1a3318;
  margin-top: 0;
  padding-top: 114px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.page-banner-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(10,30,10,0.75) 0%, rgba(10,30,10,0.55) 60%, rgba(10,30,10,0.65) 100%);
}
.page-banner-content {
  position: relative; z-index: 1;
  text-align: center; color: white; padding: 0 2rem;
  width: 100%;
}
.page-banner-content h1 {
  font-family: "Playfair Display", serif;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  margin-bottom: 1rem;
  text-shadow: 0 2px 16px rgba(0,0,0,0.5);
  line-height: 1.2;
}
.breadcrumb-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: rgba(255,255,255,0.82);
  background: rgba(0,0,0,0.3);
  backdrop-filter: blur(4px);
  padding: 0.45rem 1.4rem;
  border-radius: 100px;
  border: 1px solid rgba(255,255,255,0.12);
}
.breadcrumb-nav a { color: rgba(255,255,255,0.82); transition: color 0.2s; text-decoration: none; }
.breadcrumb-nav a:hover { color: white; }
.bc-sep { color: rgba(255,255,255,0.45); }
.breadcrumb-nav span { color: #A8C4A2; font-weight: 600; }

@media (max-width: 900px) {
  .page-banner { height: 300px; padding-top: 90px; }
  .page-banner-content h1 { font-size: 1.5rem; }
}


/* ===== IDP PAGE ===== */
.idp-page { font-family: "Jost", sans-serif; }

/* Hero */
.idp-page-hero { background: linear-gradient(135deg,#3E5C39 0%,#1a3318 60%,#2d5229 100%); padding: 5rem 2rem; text-align: center; color: white; }
.idp-page-hero-inner { max-width: 760px; margin: 0 auto; }
.idp-tag { display: inline-block; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.25); color: #D4E6CF; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.16em; font-weight: 600; padding: 0.35rem 1.1rem; border-radius: 100px; margin-bottom: 1.25rem; }
.idp-page-hero h1 { font-family: "Playfair Display", serif; font-size: clamp(2rem,4vw,3rem); font-weight: 700; line-height: 1.2; margin: 0 0 0.85rem; }
.idp-page-hero p { font-family: "Cormorant Garamond", serif; font-size: 1.2rem; color: rgba(255,255,255,0.78); margin: 0 0 2rem; }
.idp-hero-dl { display: inline-flex; align-items: center; gap: 0.5rem; background: white; color: #3E5C39; padding: 0.8rem 1.8rem; border-radius: 3px; font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; text-decoration: none; transition: background 0.2s; }
.idp-hero-dl:hover { background: #FAF6EF; }

/* Summary */
.idp-page-summary { background: #FAF6EF; padding: 3rem 2rem; }
.idp-page-sum-inner { max-width: 860px; margin: 0 auto; text-align: center; }
.idp-sum-label { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.16em; color: #7D9B76; font-weight: 700; margin-bottom: 0.85rem; }
.idp-page-summary p { font-family: "Cormorant Garamond", serif; font-size: 1.15rem; color: #4A5447; line-height: 1.85; margin: 0; }

/* Areas */
.idp-page-areas { background: white; padding: 4rem 2rem; }
.idp-page-areas-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }

.idp-pg-card { background: #FAF6EF; border: 1px solid #E8DCC8; border-radius: 10px; padding: 1.75rem 1.5rem; position: relative; transition: transform 0.25s, box-shadow 0.25s; }
.idp-pg-card:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(62,92,57,0.1); }
.idp-pg-card-full { grid-column: 1 / -1; display: flex; gap: 1.5rem; align-items: flex-start; }

.idp-pg-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 1rem; }
.idp-pg-icon { width: 46px; height: 46px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.idp-pg-icon svg { width: 22px; height: 22px; }
.idp-icon-green { background: rgba(125,155,118,0.15); } .idp-icon-green svg { stroke: #3E5C39; }
.idp-icon-blue  { background: rgba(59,130,246,0.1); }  .idp-icon-blue svg  { stroke: #1d4ed8; }
.idp-icon-amber { background: rgba(217,119,6,0.1); }   .idp-icon-amber svg { stroke: #b45309; }
.idp-icon-purple{ background: rgba(124,58,237,0.1); }  .idp-icon-purple svg{ stroke: #6d28d9; }

.idp-pg-num { font-family: "Playfair Display", serif; font-size: 2rem; font-weight: 700; color: rgba(62,92,57,0.1); line-height: 1; }
.idp-pg-card h3 { font-family: "Playfair Display", serif; font-size: 1.15rem; font-weight: 700; color: #2A2F27; margin: 0 0 0.2rem; }
.idp-pg-sub { font-size: 0.85rem; color: #7D9B76; font-style: italic; margin: 0 0 0.85rem; display: block; }
.idp-pg-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.45rem; }
.idp-pg-card li { font-size: 0.92rem; color: #4A5447; line-height: 1.65; padding-left: 1rem; position: relative; }
.idp-pg-card li::before { content: ''; position: absolute; left: 0; top: 0.5rem; width: 5px; height: 5px; background: #7D9B76; border-radius: 50%; }

/* CTA */
.idp-page-cta { background: #3E5C39; padding: 3rem 2rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.idp-cta-left h3 { font-family: "Playfair Display", serif; font-size: 1.4rem; color: white; margin: 0 0 0.4rem; }
.idp-cta-left p { font-size: 0.9rem; color: rgba(255,255,255,0.72); margin: 0; line-height: 1.6; }
.idp-cta-dl { display: inline-flex; align-items: center; gap: 0.5rem; background: white; color: #3E5C39; padding: 0.85rem 2rem; border-radius: 3px; font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; white-space: nowrap; text-decoration: none; flex-shrink: 0; transition: background 0.2s; }
.idp-cta-dl:hover { background: #FAF6EF; }

@media (max-width: 900px) {
  .idp-page-areas-inner { grid-template-columns: 1fr 1fr; }
  .idp-pg-card-full { flex-direction: column; grid-column: auto; }
  .idp-pg-card-full > div > div[style] { grid-template-columns: 1fr !important; }
  .idp-page-cta { flex-direction: column; text-align: center; }
}
@media (max-width: 600px) {
  .idp-page-areas-inner { grid-template-columns: 1fr; }
}
/* IDP section heading */
.idp-section-head { background: #FAF6EF; padding: 2.5rem 2rem 0; }
.idp-section-head-inner { max-width: 860px; margin: 0 auto; text-align: center; }
.idp-section-head h2 { font-family: "Playfair Display", serif; font-size: clamp(1.6rem,3vw,2.4rem); font-weight: 700; color: #2A2F27; margin: 0.4rem 0 0; }

/* ===== DOC CARDS (accreditations, acts, reports etc.) ===== */
.doc-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}
.doc-card {
  background: white;
  border: 1px solid #E8DCC8;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s, box-shadow 0.25s;
}
.doc-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(62,92,57,0.12);
}
.doc-card-top {
  background: linear-gradient(135deg, #3E5C39 0%, #2d5229 100%);
  padding: 2rem 1.5rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.doc-card-top svg {
  width: 56px; height: 56px;
  stroke: rgba(255,255,255,0.9);
}
.doc-card-body {
  padding: 1.25rem 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.doc-card-body h4 {
  font-family: "Playfair Display", serif;
  font-size: 1rem;
  font-weight: 700;
  color: #2A2F27;
  margin: 0 0 0.4rem;
  line-height: 1.4;
}
.doc-card-body .doc-card-meta {
  font-size: 0.78rem;
  color: #7A8A76;
  margin: 0 0 1.1rem;
}
.doc-card-body .doc-card-btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: #3E5C39;
  color: white;
  padding: 0.55rem 1.2rem;
  border-radius: 4px;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  text-decoration: none;
  width: fit-content;
  transition: background 0.2s;
}
.doc-card-body .doc-card-btn:hover { background: #2a4a28; }
.doc-card-body .doc-card-btn svg {
  width: 14px; height: 14px; stroke: white;
}
@media (max-width: 600px) {
  .doc-cards-grid { grid-template-columns: 1fr 1fr; }
}

/* ===== DOC LIST STYLE A - 2 column horizontal cards ===== */
.doc-list-a {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 2rem;
}
.doc-list-a-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: white;
  border: 1px solid #E8DCC8;
  border-radius: 10px;
  padding: 1rem 1.25rem;
  border-left: 4px solid #3E5C39;
  transition: transform 0.2s, box-shadow 0.2s;
}
.doc-list-a-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(62,92,57,0.1);
}
.doc-list-a-icon {
  width: 46px; height: 46px;
  background: rgba(62,92,57,0.08);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.doc-list-a-icon svg { width: 22px; height: 22px; stroke: #3E5C39; }
.doc-list-a-info { flex: 1; min-width: 0; }
.doc-list-a-info h4 {
  font-size: 0.9rem; font-weight: 600;
  color: #2A2F27; margin: 0 0 0.2rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.doc-list-a-info span {
  font-size: 0.75rem; color: #7A8A76;
}
.doc-list-a-btn {
  flex-shrink: 0;
  display: inline-flex; align-items: center; gap: 0.35rem;
  background: #3E5C39; color: white;
  padding: 0.45rem 1rem;
  border-radius: 5px;
  font-size: 0.75rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s;
}
.doc-list-a-btn:hover { background: #2a4a28; }
.doc-list-a-btn svg { width: 13px; height: 13px; stroke: white; }

@media (max-width: 700px) {
  .doc-list-a { grid-template-columns: 1fr; }
}


/* ===== MILESTONES PAGE ===== */
.ms-page { font-family:"Jost",sans-serif; background:#FAF6EF; }

/* Stats bar */
.ms-stats { background:linear-gradient(135deg,#3E5C39 0%,#2d5229 100%); padding:2.5rem 2rem; }
.ms-stats-inner { max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:2rem; }
.ms-stat { text-align:center; }
.ms-stat-num { display:block;font-family:"Playfair Display",serif;font-size:2.2rem;font-weight:700;color:white;line-height:1; }
.ms-stat-lbl { display:block;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.65);margin-top:0.3rem;font-weight:600; }
.ms-stat-div { width:1px;height:50px;background:rgba(255,255,255,0.2); }

/* Timeline wrapper */
.ms-timeline-wrap { padding:4rem 2rem; }
.ms-timeline-inner { max-width:1000px;margin:0 auto;position:relative; }

/* Centre vertical line */
.ms-line {
  position:absolute;left:50%;top:0;bottom:0;
  width:3px;background:linear-gradient(to bottom,transparent,#D4E6CF 5%,#7D9B76 50%,#D4E6CF 95%,transparent);
  transform:translateX(-50%);
}

/* Each milestone item */
.ms-item {
  display:flex;align-items:center;
  margin-bottom:3rem;position:relative;
  opacity:0;transform:translateY(30px);
  transition:opacity 0.6s ease,transform 0.6s ease;
}
.ms-item.visible { opacity:1;transform:translateY(0); }

.ms-left { flex-direction:row; }
.ms-right { flex-direction:row-reverse; }

/* Card */
.ms-card {
  width:calc(50% - 40px);
}
.ms-left .ms-card { margin-right:auto;padding-right:2rem; }
.ms-right .ms-card { margin-left:auto;padding-left:2rem; }
.ms-card-inner {
  background:white;border:1px solid #E8DCC8;
  border-radius:12px;padding:1.25rem 1.5rem;
  box-shadow:0 4px 16px rgba(62,92,57,0.07);
  position:relative;
  transition:transform 0.25s,box-shadow 0.25s;
}
.ms-card-inner:hover { transform:translateY(-3px);box-shadow:0 8px 28px rgba(62,92,57,0.13); }
.ms-left .ms-card-inner::after {
  content:'';position:absolute;right:-10px;top:50%;
  transform:translateY(-50%);
  border:10px solid transparent;border-left-color:#E8DCC8;
}
.ms-left .ms-card-inner::before {
  content:'';position:absolute;right:-8px;top:50%;
  transform:translateY(-50%);
  border:9px solid transparent;border-left-color:white;
  z-index:1;
}
.ms-right .ms-card-inner::after {
  content:'';position:absolute;left:-10px;top:50%;
  transform:translateY(-50%);
  border:10px solid transparent;border-right-color:#E8DCC8;
}
.ms-right .ms-card-inner::before {
  content:'';position:absolute;left:-8px;top:50%;
  transform:translateY(-50%);
  border:9px solid transparent;border-right-color:white;
  z-index:1;
}
.ms-card-inner p {
  font-size:0.9rem;color:#4A5447;line-height:1.65;
  margin:0 0 0.4rem;
}
.ms-card-inner p:last-child { margin-bottom:0; }

/* Dot */
.ms-dot {
  position:absolute;left:50%;transform:translateX(-50%);
  width:22px;height:22px;
  background:white;border:3px solid #7D9B76;
  border-radius:50%;z-index:2;
  display:flex;align-items:center;justify-content:center;
  transition:border-color 0.3s,transform 0.3s;
}
.ms-item.visible .ms-dot { border-color:#3E5C39; }
.ms-item:hover .ms-dot { transform:translateX(-50%) scale(1.3);border-color:#3E5C39; }
.ms-dot-inner { width:8px;height:8px;background:#3E5C39;border-radius:50%; }

/* Year badge */
.ms-year-badge {
  position:absolute;left:50%;transform:translateX(-50%);
  top:-28px;
  background:#3E5C39;color:white;
  font-size:0.72rem;font-weight:700;
  padding:0.2rem 0.7rem;border-radius:100px;
  letter-spacing:0.06em;white-space:nowrap;
  opacity:0;transition:opacity 0.4s 0.3s;
}
.ms-item.visible .ms-year-badge { opacity:1; }

/* Mobile */
@media (max-width:700px) {
  .ms-line { left:20px; }
  .ms-item,.ms-left,.ms-right { flex-direction:column;align-items:flex-start;padding-left:50px; }
  .ms-card,.ms-left .ms-card,.ms-right .ms-card { width:100%;padding:0;margin:0; }
  .ms-dot { left:20px;top:0;transform:none; }
  .ms-item:hover .ms-dot { transform:scale(1.3); }
  .ms-year-badge { left:50px;transform:none;top:-24px; }
  .ms-left .ms-card-inner::after,.ms-left .ms-card-inner::before,
  .ms-right .ms-card-inner::after,.ms-right .ms-card-inner::before { display:none; }
  .ms-stats-inner { flex-wrap:wrap;gap:1.25rem; }
  .ms-stat-div { display:none; }
}
/* ===== ABOUT US PAGE ===== */
:root { --sage:#7D9B76; --sage-dark:#5C7A55; --sage-deeper:#3E5C39; --sage-light:#A8C4A2; --sage-pale:#D4E6CF; --cream:#FAF6EF; --cream-warm:#F2EAD8; --cream-dark:#E8DCC8; --text-dark:#2A2F27; --text-mid:#4A5447; --text-light:#7A8A76; }

/* Hero */
.ab-hero { position:relative; background:linear-gradient(135deg,#3E5C39 0%,#1a3318 60%,#2d5229 100%); padding:3rem 2rem 4rem; padding-top:calc(154px + 2.5rem); overflow:hidden; margin-top:0; }
.ab-hero-bg { position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.ab-hero-inner { max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 420px;gap:4rem;align-items:center;position:relative;z-index:1; }
.ab-tag { display:inline-block;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);color:#D4E6CF;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.18em;font-weight:600;padding:0.35rem 1.1rem;border-radius:100px;margin-bottom:1.25rem; }
.ab-hero h1 { font-family:"Playfair Display",serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:700;line-height:1.2;color:white;margin:0 0 1.25rem; }
.ab-hero p { font-size:0.98rem;line-height:1.8;color:rgba(255,255,255,0.78);margin:0 0 2rem;max-width:520px; }
.ab-stats { display:flex;gap:0;flex-wrap:wrap; }
.ab-stat { padding:0.85rem 1.5rem;text-align:center;border-right:1px solid rgba(255,255,255,0.15); }
.ab-stat:last-child { border-right:none; }
.ab-stat:first-child { padding-left:0; }
.ab-stat-n { display:block;font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;color:white;line-height:1; }
.ab-stat-l { display:block;font-size:0.62rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.58);margin-top:0.25rem;font-weight:600; }
.ab-hero-img { position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.05); }
.ab-hero-img img { width:100%;height:100%;object-fit:cover;display:block; }
.ab-img-overlay { position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(10,30,10,0.4)); }
.no-img { background:rgba(255,255,255,0.05);display:flex;align-items:center;justify-content:center; }

/* Content */
.ab-content { background:white;padding:5rem 2rem; }
.ab-content-inner { max-width:1200px;margin:0 auto; }
.ab-content-label { font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;color:#7D9B76;font-weight:700;margin-bottom:0.5rem;display:flex;align-items:center;gap:0.5rem; }
.ab-content-label::before { content:'';width:28px;height:2px;background:#7D9B76;display:inline-block; }
.ab-content h2 { font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;color:#2A2F27;margin:0 0 2.5rem;line-height:1.25; }
.ab-content-grid { display:grid;grid-template-columns:480px 1fr;gap:4rem;align-items:center; }
.ab-content-img { position:relative;border-radius:12px;overflow:hidden;box-shadow:0 12px 40px rgba(62,92,57,0.15); }
.ab-content-img img { width:100%;height:auto;display:block; }
.ab-img-badge { position:absolute;bottom:1.5rem;left:1.5rem;background:#3E5C39;color:white;border-radius:8px;padding:0.75rem 1.1rem;text-align:center; }
.ab-badge-num { display:block;font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:700;line-height:1; }
.ab-badge-lbl { display:block;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.1em;opacity:0.75;margin-top:0.15rem; }
.ab-content-text .ab-content-label { margin-bottom:0.5rem; }
.ab-content-text h2 { font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;color:#2A2F27;margin:0 0 1.5rem;line-height:1.25; }
.ab-content-text p { font-size:0.92rem;color:#4A5447;line-height:1.85;margin:0 0 1rem; }

/* Vision Mission Values */
.ab-vmv { background:#FAF6EF;padding:5rem 2rem; }
.ab-vmv-inner { max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem; }
.ab-vmv-card { background:white;border:1px solid #E8DCC8;border-radius:12px;padding:2.5rem 2rem;border-top:4px solid #7D9B76;opacity:0;transform:translateY(24px);transition:opacity 0.6s,transform 0.6s; }
.ab-vmv-card--dark { background:#3E5C39;border-top-color:#A8C4A2;color:white !important; }
.ab-vmv-card--dark h3 { color:white !important; }
.ab-vmv-card--dark p { color:rgba(255,255,255,0.88) !important; }
.ab-vmv-card.ab-visible { opacity:1;transform:translateY(0); }
.ab-vmv-card:hover { box-shadow:0 12px 40px rgba(62,92,57,0.12); }
.ab-vmv-icon { width:56px;height:56px;background:#D4E6CF;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem; }
.ab-vmv-card--dark .ab-vmv-icon { background:rgba(255,255,255,0.12); }
.ab-vmv-icon svg { width:28px;height:28px;stroke:#3E5C39; }
.ab-vmv-card--dark .ab-vmv-icon svg { stroke:white; }
.ab-vmv-card h3 { font-family:"Playfair Display",serif;font-size:1.2rem;color:#2A2F27;margin:0 0 0.75rem; }
.ab-vmv-card p { font-size:0.88rem;color:#4A5447;line-height:1.75;margin:0; }

/* Highlights */
.ab-highlights { background:linear-gradient(135deg,#3E5C39 0%,#2a4a28 100%);padding:5rem 2rem; }
.ab-hl-inner { max-width:1200px;margin:0 auto; }
.ab-hl-head { text-align:center;margin-bottom:2.5rem; }
.ab-hl-head .ab-content-label { justify-content:center; }
.ab-hl-head h2 { font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;line-height:1.25;margin:0.4rem 0 0; }
.ab-hl-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid rgba(255,255,255,0.1);border-radius:12px;overflow:hidden; }
.ab-hl-item { padding:2rem 1.75rem;border-right:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.1);transition:background 0.25s;opacity:0;transform:translateY(20px);transition:opacity 0.5s,transform 0.5s,background 0.25s; }
.ab-hl-item:hover { background:rgba(255,255,255,0.06); }
.ab-hl-item:nth-child(3n) { border-right:none; }
.ab-hl-item:nth-child(4),.ab-hl-item:nth-child(5),.ab-hl-item:nth-child(6) { border-bottom:none; }
.ab-hl-item.ab-visible { opacity:1;transform:translateY(0); }
.ab-hl-num { font-family:"Playfair Display",serif;font-size:2.5rem;font-weight:700;color:rgba(255,255,255,0.1);line-height:1;display:block;margin-bottom:0.75rem; }
.ab-hl-item h4 { font-size:1rem;font-weight:600;color:white;margin:0 0 0.5rem; }
.ab-hl-item p { font-size:0.84rem;color:rgba(255,255,255,0.65);line-height:1.7;margin:0; }

/* Explore */
.ab-explore { background:#FAF6EF;padding:4rem 2rem; }
.ab-explore-inner { max-width:1200px;margin:0 auto; }
.ab-explore h2 { font-family:"Playfair Display",serif;font-size:1.6rem;color:#2A2F27;margin:0 0 2rem;text-align:center; }
.ab-explore-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1rem; }
.ab-exp-card { background:white;border:1px solid #E8DCC8;border-radius:10px;padding:1.5rem 1.25rem;display:flex;flex-direction:column;align-items:flex-start;gap:0.75rem;text-decoration:none;color:#2A2F27;transition:all 0.25s;border-top:3px solid transparent;position:relative; }
.ab-exp-card:hover { border-top-color:#3E5C39;transform:translateY(-4px);box-shadow:0 10px 32px rgba(62,92,57,0.12); }
.ab-exp-icon { width:44px;height:44px;background:#D4E6CF;border-radius:10px;display:flex;align-items:center;justify-content:center; }
.ab-exp-icon svg { width:22px;height:22px;stroke:#3E5C39; }
.ab-exp-card span { font-size:0.88rem;font-weight:600;line-height:1.3; }
.ab-exp-arrow { position:absolute;bottom:1rem;right:1.25rem;font-size:1rem;color:#D4E6CF;transition:color 0.2s,transform 0.2s; }
.ab-exp-card:hover .ab-exp-arrow { color:#3E5C39;transform:translateX(3px); }

/* Responsive */
@media (max-width:900px) {
  .ab-hero { padding-top:calc(120px + 2rem); }
  .ab-hero-inner { grid-template-columns:1fr; }
  .ab-hero-img { display:none; }
  .ab-content-grid { grid-template-columns:1fr; gap:2rem; }
  .ab-content-img { max-width:100%; }
  .ab-vmv-inner { grid-template-columns:1fr; }
  .ab-hl-grid { grid-template-columns:1fr 1fr; }
  .ab-hl-item:nth-child(3n) { border-right:1px solid rgba(255,255,255,0.1); }
  .ab-hl-item:nth-child(2n) { border-right:none; }
  .ab-hl-item:nth-child(4),.ab-hl-item:nth-child(5) { border-bottom:1px solid rgba(255,255,255,0.1); }
  .ab-explore-grid { grid-template-columns:repeat(2,1fr); }
  .ab-stats { gap:0; }
  .ab-stat { padding:0.6rem 0.85rem; }
}
@media (max-width:600px) {
  .ab-hl-grid { grid-template-columns:1fr; }
  .ab-explore-grid { grid-template-columns:repeat(2,1fr); }
  .ab-hl-item:nth-child(n) { border-right:none;border-bottom:1px solid rgba(255,255,255,0.1); }
  .ab-hl-item:last-child { border-bottom:none; }
}


/* ===== UG PAGE ===== */
.ug-layout { display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start; }
.ug-sidebar { background:white;border:1px solid #E8DCC8;border-radius:10px;overflow:hidden;position:sticky;top:170px; }
.ug-sidebar-label { background:#3E5C39;color:white;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.12em;font-weight:700;padding:0.85rem 1.25rem; }
.ug-tab { display:block;width:100%;text-align:left;padding:0.85rem 1.25rem;font-size:0.86rem;color:#4A5447;border:none;background:transparent;cursor:pointer;border-bottom:1px solid #F0EDE6;font-family:"Jost",sans-serif;font-weight:500;line-height:1.4;border-left:3px solid transparent;transition:all 0.2s; }
.ug-tab:last-child { border-bottom:none; }
.ug-tab:hover { background:#FAF6EF;color:#2A2F27;border-left-color:#7D9B76; }
.ug-tab.active { background:#FAF6EF;color:#3E5C39;border-left-color:#3E5C39;font-weight:600; }
.ug-content { background:white;border:1px solid #E8DCC8;border-radius:10px;overflow:hidden; }
.ug-panel { display:none;padding:2rem; }
.ug-panel.active { display:block; }
.ug-panel-head { border-bottom:1px solid #F0EDE6;padding-bottom:1.25rem;margin-bottom:1.5rem; }
.ug-panel-head h2 { font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:#2A2F27;margin:0 0 0.75rem; }
.ug-meta { display:flex;flex-wrap:wrap;gap:0.6rem; }
.ug-badge { display:inline-flex;align-items:center;gap:0.35rem;background:#FAF6EF;border:1px solid #E8DCC8;color:#4A5447;font-size:0.78rem;font-weight:500;padding:0.3rem 0.75rem;border-radius:100px; }
.ug-badge svg { width:13px;height:13px;stroke:#7D9B76; }
.ug-badge--green { background:#f0fdf4;border-color:#bbf7d0;color:#16a34a; }
.ug-badge--green svg { stroke:#16a34a; }
.ug-badge--blue { background:#eff6ff;border-color:#bfdbfe;color:#2563eb; }
.ug-badge--blue svg { stroke:#2563eb; }
.ug-panel-body { font-size:0.92rem;color:#4A5447;line-height:1.8; }
.ug-panel-body p { margin:0 0 0.85rem; }
.ug-panel-body ul { padding-left:1.25rem;margin:0 0 1rem; }
.ug-panel-body li { margin-bottom:0.4rem; }
.ug-panel-body h3,.ug-panel-body h4 { font-family:"Playfair Display",serif;color:#2A2F27;margin:1.25rem 0 0.5rem; }
.ug-eligibility { background:#FAF6EF;border:1px solid #E8DCC8;border-left:4px solid #3E5C39;border-radius:0 8px 8px 0;padding:1rem 1.25rem;margin-top:1.5rem; }
.ug-eligibility h4 { font-size:0.82rem;text-transform:uppercase;letter-spacing:0.1em;color:#3E5C39;font-weight:700;margin:0 0 0.4rem; }
.ug-eligibility p { font-size:0.88rem;color:#4A5447;margin:0; }
@media (max-width:800px) {
  .ug-layout { grid-template-columns:1fr; }
  .ug-sidebar { position:static; }
}
/* ===== MEGA MENU ===== */
.dropdown--mega {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  background: white;
  border-left: 3px solid #3E5C39;
  box-shadow: 4px 8px 32px rgba(0,0,0,0.12);
  min-width: 520px;
  padding: 1.5rem;
  gap: 0;
  flex-direction: row !important;
  z-index: 999;
}
.hdr-nav ul > li:hover .dropdown--mega { display: flex !important; }
.mega-col {
  flex: 1;
  padding: 0 1.25rem;
  border-right: 1px solid #F0EDE6;
  list-style: none;
}
.mega-col:last-child { border-right: none; }
.mega-col-title {
  display: block;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 700;
  color: #3E5C39;
  margin-bottom: 0.85rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #E8DCC8;
}
.mega-col ul { list-style: none; padding: 0; margin: 0; }
.mega-col ul li a {
  display: block;
  padding: 0.45rem 0;
  font-size: 0.85rem;
  color: #4A5447;
  font-weight: 500;
  transition: color 0.2s, padding-left 0.2s;
  border: none;
  background: none;
}
.mega-col ul li a:hover {
  color: #3E5C39;
  padding-left: 6px;
}

/* Short term extras */
.ug-group-label { padding:0.5rem 1.25rem;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.14em;color:#7D9B76;font-weight:700;background:#FAF6EF;border-bottom:1px solid #F0EDE6;margin-top:0.25rem; }
.ug-category-pill { display:inline-block;background:#3E5C39;color:white;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:700;padding:0.25rem 0.85rem;border-radius:100px;margin-bottom:0.75rem; }

/* ===== FACULTY PAGE ===== */
.faculty-dept-tabs { display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:2rem; }
.faculty-dept-tab { padding:0.45rem 1rem;border-radius:100px;border:1.5px solid #E8DCC8;background:white;font-size:0.78rem;font-weight:600;color:#4A5447;cursor:pointer;transition:all 0.2s;font-family:"Jost",sans-serif; }
.faculty-dept-tab:hover,.faculty-dept-tab.active { background:#3E5C39;color:white;border-color:#3E5C39; }
.faculty-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem; }
.faculty-card { background:white;border:1px solid #E8DCC8;border-radius:10px;overflow:hidden;transition:transform 0.25s,box-shadow 0.25s; }
.faculty-card:hover { transform:translateY(-4px);box-shadow:0 8px 28px rgba(62,92,57,0.1); }
.faculty-card img,.faculty-placeholder { width:100%;height:200px;object-fit:cover;object-position:top;display:block; }
.faculty-placeholder { background:linear-gradient(135deg,#D4E6CF,#A8C4A2);display:flex;align-items:center;justify-content:center;font-size:3rem; }
.faculty-info { padding:1rem; }
.faculty-info h4 { font-size:0.9rem;font-weight:600;color:#2A2F27;margin:0 0 0.2rem; }
.faculty-info p { font-size:0.78rem;color:#7A8A76;margin:0 0 0.3rem; }
.faculty-dept { display:inline-block;background:#D4E6CF;color:#3E5C39;font-size:0.65rem;font-weight:700;padding:0.18rem 0.55rem;border-radius:100px;text-transform:uppercase;letter-spacing:0.06em; }
.faculty-qual { font-size:0.72rem;color:#7A8A76;margin-top:0.3rem; }

/* ===== CONTENT HEADER ===== */
.content-header { margin-bottom:2rem; }
.content-header h2 { font-family:"Playfair Display",serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;color:#2A2F27;margin:0 0 0.5rem; }
.content-divider { width:50px;height:3px;background:#3E5C39;border-radius:2px; }


/* ===== RIGHT SIDE FLYOUT SUBMENUS ===== */
.hdr-nav .has-sub { position: relative !important; }
.hdr-nav .sub-right {
  position: absolute !important;
  top: 0 !important;
  left: 100% !important;
  min-width: 220px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateX(4px) !important;
  transition: opacity 0.2s, visibility 0.2s, transform 0.2s !important;
  border-top: 3px solid #3E5C39 !important;
  border-left: none !important;
}
.hdr-nav .has-sub:hover > .sub-right {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
}
/* Remove mega menu styles no longer needed */
.dropdown--mega { display: none !important; }

/* ===== ACCREDITATIONS PAGE ===== */
.accred-page { font-family:"Jost",sans-serif; }

/* Hero */
.accred-hero { background:linear-gradient(135deg,#3E5C39 0%,#1a3318 60%,#2d5229 100%); padding:4rem 2rem; margin-top:114px; }
.accred-hero-inner { max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:3rem; }

/* Grade ring */
.accred-hero-badge { flex-shrink:0; }
.accred-grade-ring {
  width:140px;height:140px;border-radius:50%;
  background:rgba(255,255,255,0.08);
  border:3px solid rgba(255,255,255,0.2);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  position:relative;
}
.accred-grade-ring::before {
  content:'';position:absolute;inset:-8px;border-radius:50%;
  border:2px dashed rgba(255,255,255,0.15);
}
.accred-grade-letter { font-family:"Playfair Display",serif;font-size:4rem;font-weight:700;color:white;line-height:1; }
.accred-grade-sub { font-size:0.7rem;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.6);font-weight:600; }

/* Hero text */
.accred-hero-tag { display:inline-block;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);color:#D4E6CF;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.16em;font-weight:700;padding:0.3rem 1rem;border-radius:100px;margin-bottom:1rem; }
.accred-hero-text h1 { font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;color:white;margin:0 0 1rem;line-height:1.25; }
.accred-hero-text p { font-size:0.92rem;color:rgba(255,255,255,0.78);line-height:1.8;margin:0 0 1.5rem;max-width:580px; }
.accred-hero-text strong { color:white; }

/* Hero stats */
.accred-hero-stats { display:flex;align-items:center;gap:1.5rem; }
.accred-hstat { text-align:center; }
.accred-hstat span { display:block;font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;color:white;line-height:1; }
.accred-hstat small { display:block;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.55);margin-top:0.2rem; }
.accred-hstat-div { width:1px;height:36px;background:rgba(255,255,255,0.2); }

/* Pillars */
.accred-pillars { background:#FAF6EF;padding:4rem 2rem; }
.accred-pillars-inner { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem; }
.accred-pillar { background:white;border:1px solid #E8DCC8;border-radius:10px;padding:1.75rem;border-top:3px solid transparent;transition:border-top-color 0.25s,transform 0.25s,box-shadow 0.25s; }
.accred-pillar:hover { border-top-color:#3E5C39;transform:translateY(-4px);box-shadow:0 10px 28px rgba(62,92,57,0.1); }
.accred-pillar-icon { width:48px;height:48px;background:#D4E6CF;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem; }
.accred-pillar-icon svg { width:24px;height:24px;stroke:#3E5C39; }
.accred-pillar h4 { font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:#2A2F27;margin:0 0 0.5rem; }
.accred-pillar p { font-size:0.85rem;color:#7A8A76;line-height:1.65;margin:0; }

/* Docs section */
.accred-docs { background:white;padding:4rem 2rem; }
.accred-docs-inner { max-width:1100px;margin:0 auto; }
.accred-docs-head { margin-bottom:2rem; }
.accred-section-label { font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;color:#7D9B76;font-weight:700;margin-bottom:0.4rem;display:flex;align-items:center;gap:0.5rem; }
.accred-section-label::before { content:'';width:24px;height:2px;background:#7D9B76;display:inline-block; }
.accred-docs-head h2 { font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:700;color:#2A2F27;margin:0; }

@media (max-width:900px) {
  .accred-hero { margin-top:90px;padding:3rem 1.5rem; }
  .accred-hero-inner { flex-direction:column;gap:2rem;text-align:center; }
  .accred-hero-stats { justify-content:center; }
  .accred-hero-text p { max-width:100%; }
  .accred-pillars-inner { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .accred-grade-ring { width:100px;height:100px; }
  .accred-grade-letter { font-size:2.8rem; }
  .accred-pillars-inner { grid-template-columns:1fr; }
}

/* ===== SHORT TERM PROGRAMMES ===== */
.st-group { margin-bottom: 3rem; }
.st-group-head { margin-bottom: 1.5rem; display: flex; align-items: center; gap: 1rem; }
.st-group-label {
  display: inline-block;
  background: #3E5C39; color: white;
  font-size: 0.72rem; text-transform: uppercase;
  letter-spacing: 0.14em; font-weight: 700;
  padding: 0.4rem 1.2rem; border-radius: 100px;
}
.st-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.25rem;
}
.st-card {
  background: white; border: 1px solid #E8DCC8;
  border-radius: 12px; overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform 0.25s, box-shadow 0.25s;
  position: relative;
}
.st-card:hover { transform: translateY(-4px); box-shadow: 0 10px 32px rgba(62,92,57,0.12); }
.st-card-num {
  position: absolute; top: 1.25rem; right: 1.25rem;
  font-family: "Playfair Display", serif;
  font-size: 2.5rem; font-weight: 700;
  color: rgba(62,92,57,0.08); line-height: 1;
}
.st-card-body { padding: 1.5rem 1.5rem 0; flex: 1; }
.st-card-body h3 {
  font-family: "Playfair Display", serif;
  font-size: 1rem; font-weight: 700;
  color: #2A2F27; margin: 0 0 0.6rem; line-height: 1.4;
}
.st-card-meta {
  display: flex; align-items: center; gap: 0.35rem;
  font-size: 0.78rem; color: #7D9B76; font-weight: 600;
  margin-bottom: 0.75rem;
}
.st-card-meta svg { width: 13px; height: 13px; }
.st-card-body p { font-size: 0.84rem; color: #7A8A76; line-height: 1.6; margin: 0; }
.st-card-btn {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.85rem 1.5rem;
  font-size: 0.8rem; font-weight: 600;
  color: #3E5C39; text-decoration: none;
  border-top: 1px solid #F0EDE6;
  margin-top: 1.25rem;
  transition: background 0.2s, color 0.2s;
}
.st-card-btn svg { width: 14px; height: 14px; transition: transform 0.2s; }
.st-card:hover .st-card-btn { background: #3E5C39; color: white; }
.st-card:hover .st-card-btn svg { transform: translateX(3px); }

/* ===== SHORT TERM DETAIL PAGE ===== */
.std-page { background: #FAF6EF; }
.std-layout {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 280px 1fr;
  gap: 2rem; padding: 3rem 2rem;
  align-items: start;
}
.std-sidebar {
  background: white; border: 1px solid #E8DCC8;
  border-radius: 10px; overflow: hidden;
  position: sticky; top: 170px;
}
.std-sidebar-label {
  background: #3E5C39; color: white;
  font-size: 0.72rem; text-transform: uppercase;
  letter-spacing: 0.12em; font-weight: 700;
  padding: 0.85rem 1.25rem;
}
.std-group-title {
  padding: 0.5rem 1.25rem;
  font-size: 0.65rem; text-transform: uppercase;
  letter-spacing: 0.14em; color: #7D9B76;
  font-weight: 700; background: #FAF6EF;
  border-bottom: 1px solid #F0EDE6;
  margin-top: 0.25rem;
}
.std-side-link {
  display: block; padding: 0.75rem 1.25rem;
  font-size: 0.85rem; color: #4A5447; font-weight: 500;
  border-bottom: 1px solid #F0EDE6;
  border-left: 3px solid transparent;
  text-decoration: none; line-height: 1.4;
  transition: all 0.2s;
}
.std-side-link:hover { color: #3E5C39; background: #FAF6EF; border-left-color: #7D9B76; }
.std-side-link.active { color: #3E5C39; background: #FAF6EF; border-left-color: #3E5C39; font-weight: 600; }
.std-side-link:last-child { border-bottom: none; }

.std-content {
  background: white; border: 1px solid #E8DCC8;
  border-radius: 10px; overflow: hidden;
}
.std-content-head {
  padding: 2rem 2rem 1.5rem;
  border-bottom: 1px solid #F0EDE6;
}
.std-category {
  display: inline-block; background: #3E5C39; color: white;
  font-size: 0.68rem; text-transform: uppercase;
  letter-spacing: 0.12em; font-weight: 700;
  padding: 0.25rem 0.85rem; border-radius: 100px;
  margin-bottom: 0.85rem;
}
.std-content-head h1 {
  font-family: "Playfair Display", serif;
  font-size: 1.6rem; font-weight: 700;
  color: #2A2F27; margin: 0 0 1rem; line-height: 1.3;
}
.std-meta { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.std-badge {
  display: inline-flex; align-items: center; gap: 0.35rem;
  background: #FAF6EF; border: 1px solid #E8DCC8;
  color: #4A5447; font-size: 0.78rem; font-weight: 500;
  padding: 0.3rem 0.75rem; border-radius: 100px;
}
.std-badge svg { width: 13px; height: 13px; }
.std-badge--green { background: #f0fdf4; border-color: #bbf7d0; color: #16a34a; }
.std-badge--green svg { stroke: #16a34a; }
.std-badge--blue { background: #eff6ff; border-color: #bfdbfe; color: #2563eb; }
.std-badge--blue svg { stroke: #2563eb; }

.std-body {
  padding: 2rem;
  font-size: 0.92rem; color: #4A5447; line-height: 1.85;
}
.std-body h4 {
  font-family: "Playfair Display", serif;
  font-size: 1.05rem; color: #2A2F27;
  margin: 1.5rem 0 0.75rem; font-weight: 700;
}
.std-body ul { padding-left: 1.25rem; margin: 0 0 1rem; }
.std-body li { margin-bottom: 0.45rem; }
.std-body p { margin: 0 0 0.85rem; }

.std-nav-btns {
  padding: 1.25rem 2rem;
  border-top: 1px solid #F0EDE6;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.std-back-btn {
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-size: 0.8rem; font-weight: 600; color: #4A5447;
  text-decoration: none; transition: color 0.2s;
}
.std-back-btn:hover { color: #3E5C39; }
.std-back-btn svg { width: 14px; height: 14px; }
.std-enrol-btn {
  display: inline-flex; align-items: center;
  background: #3E5C39; color: white;
  padding: 0.7rem 1.75rem; border-radius: 5px;
  font-size: 0.82rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  text-decoration: none; transition: background 0.2s;
}
.std-enrol-btn:hover { background: #2a4a28; }

@media (max-width: 800px) {
  .std-layout { grid-template-columns: 1fr; padding: 1.5rem; }
  .std-sidebar { position: static; }
  .st-cards-grid { grid-template-columns: 1fr; }
}

/* Short term category links */
.st-cat-link {
  display: inline-flex; align-items: center;
  padding: 0.45rem 1.1rem;
  background: white; border: 1.5px solid #E8DCC8;
  border-radius: 100px; font-size: 0.8rem;
  font-weight: 600; color: #4A5447;
  text-decoration: none; transition: all 0.2s;
}
.st-cat-link:hover, .st-cat-link.active {
  background: #3E5C39; color: white; border-color: #3E5C39;
}

/* Short term sidebar layout */
.st-layout { display: grid; grid-template-columns: 240px 1fr; gap: 2rem; align-items: start; }
.st-layout .ug-sidebar { position: sticky; top: 170px; }
.st-layout .ug-tab { display: block; text-decoration: none; }
@media (max-width: 768px) {
  .st-layout { grid-template-columns: 1fr; }
  .st-layout .ug-sidebar { position: static; }
}

/* ===== FACULTY PAGE ===== */
.fac-layout { display: grid; grid-template-columns: 260px 1fr; gap: 2rem; align-items: start; }
.fac-sidebar { position: sticky; top: 170px; max-height: calc(100vh - 190px); overflow-y: auto; }
.fac-sidebar .ug-tab { display: block; text-decoration: none; }
.fac-content { display: flex; flex-direction: column; gap: 2.5rem; }

.fac-dept-section {}
.fac-dept-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #E8DCC8;
}
.fac-dept-head h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.15rem; font-weight: 700;
  color: #2A2F27; margin: 0;
}
.fac-dept-count {
  font-size: 0.72rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: white; background: #3E5C39;
  padding: 0.2rem 0.7rem; border-radius: 100px;
}

.fac-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.25rem;
}

/* Faculty card */
.fac-card {
  background: white; border-radius: 12px;
  overflow: hidden; border: 1px solid #E8DCC8;
  transition: transform 0.25s, box-shadow 0.25s;
  position: relative;
}
.fac-card:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(62,92,57,0.12); }
.fac-card--hod { border-top: 3px solid #3E5C39; }

/* Card image */
.fac-card-img {
  position: relative; height: 180px;
  background: linear-gradient(135deg, #D4E6CF, #A8C4A2);
  overflow: hidden;
}
.fac-card-img img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: top;
  display: block; position: relative; z-index: 1;
}
.fac-placeholder-icon {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 4rem; z-index: 0; color: #7D9B76;
}
.fac-card-img img ~ .fac-placeholder-icon { z-index: 0; }
.fac-card-img img { position: relative; z-index: 1; }
.fac-hod-badge {
  position: absolute; top: 0.75rem; right: 0.75rem;
  background: #3E5C39; color: white;
  font-size: 0.62rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em;
  padding: 0.2rem 0.55rem; border-radius: 100px;
  z-index: 2;
}

/* Card info */
.fac-card-info { padding: 1rem 1.1rem 1.25rem; }
.fac-card-info h4 {
  font-size: 0.92rem; font-weight: 700;
  color: #2A2F27; margin: 0 0 0.25rem; line-height: 1.3;
}
.fac-designation {
  font-size: 0.78rem; color: #7D9B76;
  font-weight: 600; margin: 0 0 0.3rem;
}
.fac-qual {
  font-size: 0.74rem; color: #9A9A9A;
  margin: 0 0 0.6rem; line-height: 1.4;
}
.fac-email {
  display: flex; align-items: center; gap: 0.35rem;
  font-size: 0.72rem; color: #3E5C39;
  text-decoration: none; font-weight: 500;
  word-break: break-all;
  transition: color 0.2s;
}
.fac-email:hover { color: #2a4a28; }
.fac-email svg { width: 12px; height: 12px; flex-shrink: 0; }

@media (max-width: 800px) {
  .fac-layout { grid-template-columns: 1fr; }
  .fac-sidebar { position: static; }
  .fac-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .fac-grid { grid-template-columns: 1fr; }
}

/* ===== FACULTY DETAIL PAGE ===== */
.fac-detail-layout { display:grid;grid-template-columns:300px 1fr;gap:2.5rem;align-items:start; }
.fac-detail-left { min-width:0; }

/* Profile card */
.fac-profile-card { background:white;border:1px solid #E8DCC8;border-radius:12px;overflow:hidden;margin-bottom:1.5rem;border-top:4px solid #3E5C39; }
.fac-profile-img { height:280px;overflow:hidden;background:linear-gradient(135deg,#D4E6CF,#A8C4A2); }
.fac-profile-img img { width:100%;height:100%;object-fit:cover;object-position:top;display:block; }
.fac-profile-meta { padding:1.25rem 1.5rem;text-align:center; }
.fac-profile-meta h3 { font-family:"Playfair Display",serif;font-size:1.05rem;font-weight:700;color:#2A2F27;margin:0 0 0.85rem; }
.fac-profile-contact { display:flex;align-items:center;justify-content:center;gap:0.4rem;font-size:0.78rem;color:#4A5447;text-decoration:none;margin-bottom:0.4rem;word-break:break-all;transition:color 0.2s; }
.fac-profile-contact:hover { color:#3E5C39; }
.fac-profile-contact svg { width:13px;height:13px;flex-shrink:0;stroke:#7D9B76; }

/* Dept colleagues */
.fac-dept-colleagues { background:white;border:1px solid #E8DCC8;border-radius:10px;overflow:hidden; }
.fac-colleagues-head { background:#3E5C39;color:white;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.12em;font-weight:700;padding:0.75rem 1.25rem; }
.fac-colleague-link { display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1.25rem;border-bottom:1px solid #F0EDE6;text-decoration:none;transition:background 0.2s;border-left:3px solid transparent; }
.fac-colleague-link:last-child { border-bottom:none; }
.fac-colleague-link:hover,.fac-colleague-link.active { background:#FAF6EF;border-left-color:#3E5C39; }
.fac-colleague-avatar { width:36px;height:36px;border-radius:50%;background:#D4E6CF;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem; }
.fac-colleague-avatar img { width:100%;height:100%;object-fit:cover;display:block; }
.fac-colleague-link strong { display:block;font-size:0.82rem;font-weight:600;color:#2A2F27;line-height:1.3; }
.fac-colleague-link small { display:block;font-size:0.72rem;color:#7A8A76;margin-top:0.1rem; }

/* Detail right */
.fac-detail-right { background:white;border:1px solid #E8DCC8;border-radius:12px;overflow:hidden; }
.fac-detail-header { padding:2rem 2rem 1.5rem;border-bottom:1px solid #F0EDE6;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem; }
.fac-detail-header h1 { font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;color:#2A2F27;margin:0 0 0.35rem; }
.fac-detail-role { font-size:0.88rem;color:#7D9B76;margin:0;font-weight:500; }
.fac-detail-role span { color:#4A5447; }
.fac-detail-hod-badge { flex-shrink:0;background:#3E5C39;color:white;font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;padding:0.3rem 0.85rem;border-radius:100px;white-space:nowrap; }

.fac-detail-section { padding:1.5rem 2rem;border-bottom:1px solid #F0EDE6; }
.fac-detail-section:last-of-type { border-bottom:none; }
.fac-detail-section h2 { font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:700;color:#2A2F27;margin:0 0 1rem;display:flex;align-items:center;gap:0.75rem; }
.fac-detail-section h2::after { content:'';flex:1;height:1px;background:#E8DCC8; }
.fac-detail-body { font-size:0.9rem;color:#4A5447;line-height:1.85; }
.fac-detail-body p { margin:0 0 0.75rem; }
.fac-detail-body ul { padding-left:1.25rem;margin:0 0 0.75rem; }
.fac-detail-body li { margin-bottom:0.35rem; }
.fac-detail-body strong { color:#2A2F27; }

.fac-detail-back { padding:1.25rem 2rem;border-top:1px solid #F0EDE6; }

@media (max-width:800px) {
  .fac-detail-layout { grid-template-columns:1fr; }
  .fac-profile-img { height:220px; }
}

/* Faculty sidebar scroll */
.fac-sidebar::-webkit-scrollbar { width: 4px; }
.fac-sidebar::-webkit-scrollbar-track { background: #F0EDE6; }
.fac-sidebar::-webkit-scrollbar-thumb { background: #A8C4A2; border-radius: 2px; }
.fac-sidebar .std-group-title { position: sticky; top: 0; z-index: 1; }

/* Faculty know more link */
.fac-know-more {
  display: inline-flex; align-items: center;
  margin-top: 0.75rem;
  font-size: 0.78rem; font-weight: 600;
  color: #3E5C39; text-decoration: none;
  letter-spacing: 0.04em;
  transition: gap 0.2s, color 0.2s;
  gap: 0.25rem;
}
.fac-know-more:hover { color: #2a4a28; gap: 0.5rem; }

/* ===== STATUTES PAGE ===== */
.stat-layout { display: grid; grid-template-columns: 260px 1fr; gap: 2rem; align-items: start; }
.stat-sidebar { position: sticky; top: 170px; }
.stat-content { background: white; border: 1px solid #E8DCC8; border-radius: 10px; overflow: hidden; }
.stat-content-head { padding: 1.75rem 2rem; border-bottom: 1px solid #F0EDE6; }
.stat-content-head h2 { font-family: "Playfair Display", serif; font-size: 1.4rem; font-weight: 700; color: #2A2F27; margin: 0; }
.stat-content-body { padding: 1.75rem 2rem; font-size: 0.92rem; color: #4A5447; line-height: 1.85; }
.stat-content-body p { margin: 0 0 0.85rem; }
.stat-content-body ul { padding-left: 1.25rem; margin: 0 0 1rem; }
.stat-content-body li { margin-bottom: 0.4rem; }
.stat-content-body h3, .stat-content-body h4 { font-family: "Playfair Display", serif; color: #2A2F27; margin: 1.25rem 0 0.5rem; font-weight: 700; }
.stat-content-body strong { color: #2A2F27; }
.stat-content-foot { padding: 1.25rem 2rem; border-top: 1px solid #F0EDE6; }
@media (max-width: 800px) {
  .stat-layout { grid-template-columns: 1fr; }
  .stat-sidebar { position: static; }
}

/* ===== RESPONSIVE TABLES ===== */
.stat-content-body table,
.fac-detail-body table,
.ug-panel-body table,
.std-body table,
.inner-page-full table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  margin: 1rem 0;
}
.stat-content-body table th,
.fac-detail-body table th,
.ug-panel-body table th,
.std-body table th,
.inner-page-full table th {
  background: #3E5C39;
  color: white;
  padding: 0.65rem 1rem;
  text-align: left;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.stat-content-body table td,
.fac-detail-body table td,
.ug-panel-body table td,
.std-body table td,
.inner-page-full table td {
  padding: 0.6rem 1rem;
  border-bottom: 1px solid #E8DCC8;
  color: #4A5447;
  vertical-align: top;
}
.stat-content-body table tr:nth-child(even) td,
.fac-detail-body table tr:nth-child(even) td,
.ug-panel-body table tr:nth-child(even) td,
.std-body table tr:nth-child(even) td,
.inner-page-full table tr:nth-child(even) td {
  background: #FAF6EF;
}
.stat-content-body table tr:hover td,
.inner-page-full table tr:hover td {
  background: #F0EDE6;
}

/* Mobile scroll wrapper for tables */
@media (max-width: 768px) {
  .stat-content-body,
  .fac-detail-body,
  .ug-panel-body,
  .std-body,
  .inner-page-full .content-body {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .stat-content-body table,
  .fac-detail-body table,
  .ug-panel-body table,
  .std-body table,
  .inner-page-full table {
    min-width: 500px;
  }
}

/* ===== IQAC PAGE ===== */
.iqac-layout { display:grid;grid-template-columns:220px 1fr;gap:1.5rem;align-items:start; }
.iqac-sidebar { position:sticky;top:170px;max-height:calc(100vh - 190px);overflow-y:auto; }
.iqac-sidebar .ug-tab { display:block;width:100%;text-align:left;cursor:pointer; }

/* Right panes */
.iqac-right { background:white;border:1px solid #E8DCC8;border-radius:10px;overflow:hidden;min-height:400px; }
.iqac-pane { display:none;padding:2rem; }
.iqac-pane.active { display:block; }
.iqac-pane h2 { font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:#2A2F27;margin:0 0 0.5rem;padding-bottom:0.75rem;border-bottom:2px solid #E8DCC8; }
.iqac-pane-body { padding-top:1.25rem;font-size:0.92rem;color:#4A5447;line-height:1.85; }
.iqac-pane-body p { margin:0 0 0.85rem; }
.iqac-pane-body strong { color:#2A2F27; }

/* Card grid */
.iqac-card-grid { display:grid;grid-template-columns:1fr 1fr;gap:0.85rem;margin-top:1rem; }
.iqac-item-card { display:flex;align-items:flex-start;gap:0.85rem;background:#FAF6EF;border-radius:8px;padding:1rem 1.1rem;border-left:3px solid #3E5C39; }
.iqac-item-num { font-family:"Playfair Display",serif;font-size:1.3rem;font-weight:700;color:rgba(62,92,57,0.2);line-height:1;flex-shrink:0;min-width:30px; }
.iqac-item-card p { font-size:0.85rem;color:#4A5447;margin:0;line-height:1.6; }
.iqac-item-card strong { display:block;font-size:0.88rem;color:#2A2F27;margin-bottom:0.25rem;font-weight:600; }

/* Check list */
.iqac-check-list { display:flex;flex-direction:column;gap:0.75rem;margin-top:1rem; }
.iqac-check-item { display:flex;align-items:flex-start;gap:0.85rem;background:#FAF6EF;border-radius:8px;padding:0.85rem 1rem; }
.iqac-check-icon { width:24px;height:24px;background:#3E5C39;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:0.1rem; }
.iqac-check-icon svg { width:13px;height:13px; }
.iqac-check-item p { font-size:0.88rem;color:#4A5447;margin:0;line-height:1.6; }

/* Composition */
.iqac-comp-list { display:flex;flex-direction:column;gap:0.65rem;margin-top:1rem; }
.iqac-comp-item { display:flex;align-items:center;gap:0.85rem;background:#FAF6EF;border-radius:8px;padding:0.75rem 1rem; }
.iqac-comp-num { width:26px;height:26px;background:#3E5C39;color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;flex-shrink:0; }
.iqac-comp-item p { font-size:0.88rem;color:#4A5447;margin:0; }

/* Table */
.iqac-table-wrap { overflow-x:auto;border-radius:8px;border:1px solid #E8DCC8; }
.iqac-table { width:100%;border-collapse:collapse;font-size:0.86rem;min-width:600px; }
.iqac-table thead th { background:#3E5C39;color:white;padding:0.75rem 1rem;text-align:left;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;white-space:nowrap; }
.iqac-table td { padding:0.65rem 1rem;border-bottom:1px solid #F0EDE6;color:#4A5447;vertical-align:middle; }
.iqac-table tbody tr:last-child td { border-bottom:none; }
.iqac-table tbody tr:nth-child(even) td { background:#FAF6EF; }
.iqac-table tbody tr:hover td { background:#F0EDE6; }
.iqac-table td:first-child { color:#7D9B76;font-weight:600;text-align:center;width:50px; }
.iqac-table td strong { color:#2A2F27;font-weight:600; }

/* Vision Mission blocks */
.iqac-vm-block { display:flex;align-items:flex-start;gap:1.25rem;background:#FAF6EF;border-radius:10px;padding:1.5rem;margin-bottom:1rem;border-left:4px solid #3E5C39; }
.iqac-vm-icon { width:48px;height:48px;background:#D4E6CF;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.iqac-vm-icon svg { width:26px;height:26px;stroke:#3E5C39; }
.iqac-vm-block h3 { font-family:"Playfair Display",serif;font-size:1.05rem;font-weight:700;color:#2A2F27;margin:0 0 0.4rem; }
.iqac-vm-block p { font-size:0.9rem;color:#4A5447;line-height:1.75;margin:0; }

@media (max-width:800px) {
  .iqac-layout { grid-template-columns:1fr; }
  .iqac-sidebar { position:static;max-height:none; }
  .iqac-card-grid { grid-template-columns:1fr; }
}


/* IQAC dedicated sidebar nav */
.iqac-sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: sticky;
  top: 170px;
  max-height: calc(100vh - 190px);
  overflow-y: auto;
}
.iqac-nav-head {
  background: #2a4a28;
  color: #A8C4A2;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 700;
  padding: 0.6rem 1rem;
}
.iqac-nav-btn {
  display: block;
  width: 100%;
  text-align: left;
  background: #3E5C39;
  color: white;
  border: none;
  padding: 0.7rem 1rem;
  font-size: 0.84rem;
  font-weight: 600;
  font-family: "Jost", sans-serif;
  cursor: pointer;
  border-left: 4px solid transparent;
  transition: background 0.2s, border-color 0.2s;
  border-radius: 0;
  letter-spacing: 0.02em;
}
.iqac-nav-btn:hover { background: #2a4a28; }
.iqac-nav-btn.active { background: #1a3318; border-left-color: #A8C4A2; }
@media (max-width:800px) {
  .iqac-sidebar-nav { position:static;max-height:none;flex-direction:row;flex-wrap:wrap; }
  .iqac-nav-btn { width:auto;flex:1;min-width:120px; }
  .iqac-nav-head { width:100%; }
}

/* ===== SYLLABUS PAGE ===== */
.syl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.syl-card { background: white; border: 1px solid #E8DCC8; border-radius: 10px; overflow: hidden; border-top: 3px solid #3E5C39; }
.syl-card-head { display: flex; align-items: center; gap: 0.85rem; padding: 1.25rem 1.5rem; border-bottom: 1px solid #F0EDE6; }
.syl-card-icon { width: 38px; height: 38px; background: #D4E6CF; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.syl-card-icon svg { width: 20px; height: 20px; stroke: #3E5C39; }
.syl-card-head h3 { font-family: "Playfair Display", serif; font-size: 0.95rem; font-weight: 700; color: #2A2F27; margin: 0; line-height: 1.3; }
.syl-sems { padding: 1rem 1.5rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.syl-sem-btn { display: inline-flex; align-items: center; gap: 0.35rem; background: #FAF6EF; border: 1px solid #E8DCC8; color: #3E5C39; font-size: 0.75rem; font-weight: 600; padding: 0.35rem 0.75rem; border-radius: 5px; text-decoration: none; transition: all 0.2s; }
.syl-sem-btn svg { width: 11px; height: 11px; }
.syl-sem-btn:hover { background: #3E5C39; color: white; border-color: #3E5C39; }
@media (max-width: 700px) { .syl-grid { grid-template-columns: 1fr; } }

/* ===== RESULTS PAGE ===== */
.results-links-grid { display: flex; flex-direction: column; gap: 0.85rem; }
.results-link-card {
  display: flex; align-items: center; gap: 1rem;
  background: white; border: 1px solid #E8DCC8;
  border-radius: 10px; padding: 1.25rem 1.5rem;
  text-decoration: none; color: #2A2F27;
  transition: all 0.25s; border-left: 4px solid #3E5C39;
}
.results-link-card:hover { box-shadow: 0 6px 20px rgba(62,92,57,0.1); transform: translateX(3px); }
.results-link-icon {
  width: 44px; height: 44px; background: #D4E6CF;
  border-radius: 10px; display: flex;
  align-items: center; justify-content: center; flex-shrink: 0;
}
.results-link-icon svg { width: 22px; height: 22px; stroke: #3E5C39; }
.results-link-card div { flex: 1; }
.results-link-card h4 { font-size: 0.92rem; font-weight: 700; color: #2A2F27; margin: 0 0 0.2rem; }
.results-link-card p { font-size: 0.82rem; color: #7A8A76; margin: 0; line-height: 1.4; }
.results-link-arrow { width: 16px; height: 16px; stroke: #7D9B76; flex-shrink: 0; transition: transform 0.2s; }
.results-link-card:hover .results-link-arrow { transform: translateX(3px); stroke: #3E5C39; }

/* ===== PROSPECTUS PAGE ===== */
.prosp-header { display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2.5rem;background:white;border:1px solid #E8DCC8;border-radius:12px;padding:2rem 2.5rem;border-left:4px solid #3E5C39; }
.prosp-header-text h2 { font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;color:#2A2F27;margin:0.4rem 0 0.75rem; }
.prosp-header-text p { font-size:0.9rem;color:#4A5447;line-height:1.75;margin:0;max-width:520px; }
.prosp-header-badge { display:flex;flex-direction:column;align-items:center;gap:0.5rem;flex-shrink:0; }
.prosp-badge-ring { width:80px;height:80px;background:#FAF6EF;border:2px solid #D4E6CF;border-radius:50%;display:flex;align-items:center;justify-content:center; }
.prosp-badge-ring svg { width:44px;height:44px; }
.prosp-header-badge span { font-size:0.72rem;text-transform:uppercase;letter-spacing:0.1em;color:#7D9B76;font-weight:700; }

/* Cards */
.prosp-grid { display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem; }
.prosp-card { background:white;border:1px solid #E8DCC8;border-radius:12px;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;transition:box-shadow 0.25s; }
.prosp-card:hover { box-shadow:0 8px 24px rgba(62,92,57,0.1); }
.prosp-card-left { display:flex;align-items:center;gap:1.25rem;flex:1; }
.prosp-pdf-icon svg { width:52px;height:52px;flex-shrink:0; }
.prosp-card-info h3 { font-family:"Playfair Display",serif;font-size:1.15rem;font-weight:700;color:#2A2F27;margin:0 0 0.3rem; }
.prosp-card-info p { font-size:0.82rem;color:#7A8A76;margin:0 0 0.5rem; }
.prosp-tags { display:flex;gap:0.4rem;flex-wrap:wrap; }
.prosp-tags span { background:#FAF6EF;border:1px solid #E8DCC8;color:#7D9B76;font-size:0.7rem;font-weight:600;padding:0.2rem 0.6rem;border-radius:100px;text-transform:uppercase;letter-spacing:0.06em; }
.prosp-card-actions { display:flex;gap:0.75rem;flex-shrink:0; }
.prosp-view-btn { display:inline-flex;align-items:center;gap:0.4rem;padding:0.65rem 1.25rem;background:#FAF6EF;border:1.5px solid #3E5C39;color:#3E5C39;border-radius:6px;font-size:0.82rem;font-weight:600;text-decoration:none;transition:all 0.2s; }
.prosp-view-btn:hover { background:#3E5C39;color:white; }
.prosp-view-btn svg,.prosp-download-btn svg { width:16px;height:16px; }
.prosp-download-btn { display:inline-flex;align-items:center;gap:0.4rem;padding:0.65rem 1.25rem;background:#3E5C39;color:white;border:1.5px solid #3E5C39;border-radius:6px;font-size:0.82rem;font-weight:600;text-decoration:none;transition:background 0.2s; }
.prosp-download-btn:hover { background:#2a4a28; }

/* Info strip */
.prosp-info { display:grid;grid-template-columns:repeat(4,1fr);gap:1rem; }
.prosp-info-item { background:white;border:1px solid #E8DCC8;border-radius:10px;padding:1.25rem;display:flex;align-items:flex-start;gap:0.85rem; }
.prosp-info-icon { width:40px;height:40px;background:#D4E6CF;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.prosp-info-icon svg { width:20px;height:20px;stroke:#3E5C39; }
.prosp-info-item h4 { font-size:0.8rem;font-weight:700;color:#2A2F27;margin:0 0 0.2rem;text-transform:uppercase;letter-spacing:0.05em; }
.prosp-info-item p { font-size:0.82rem;color:#4A5447;margin:0;line-height:1.4; }

@media (max-width:900px) {
  .prosp-header { flex-direction:column;align-items:flex-start; }
  .prosp-header-badge { display:none; }
  .prosp-card { flex-direction:column;align-items:flex-start; }
  .prosp-info { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .prosp-info { grid-template-columns:1fr; }
}

/* ===== ADMISSION PAGE ===== */
/* Hero */
.adm-hero { background:linear-gradient(135deg,#3E5C39 0%,#1a3318 60%,#2d5229 100%);padding:5rem 2rem 4rem;margin-top:114px; }
.adm-hero-inner { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center; }
.adm-hero-tag { display:inline-block;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);color:#D4E6CF;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.16em;font-weight:700;padding:0.35rem 1rem;border-radius:100px;margin-bottom:1rem; }
.adm-hero-text h1 { font-family:"Playfair Display",serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;color:white;margin:0 0 1rem;line-height:1.15; }
.adm-hero-text p { font-size:0.95rem;color:rgba(255,255,255,0.78);line-height:1.8;margin:0 0 2rem;max-width:500px; }
.adm-hero-btns { display:flex;gap:1rem;flex-wrap:wrap; }
.adm-btn-primary { display:inline-flex;align-items:center;padding:0.85rem 2rem;background:white;color:#3E5C39;border-radius:6px;font-size:0.88rem;font-weight:700;text-decoration:none;transition:all 0.2s; }
.adm-btn-primary:hover { background:#FAF6EF;transform:translateY(-2px); }
.adm-btn-secondary { display:inline-flex;align-items:center;padding:0.85rem 2rem;background:transparent;color:white;border:2px solid rgba(255,255,255,0.4);border-radius:6px;font-size:0.88rem;font-weight:700;text-decoration:none;transition:all 0.2s; }
.adm-btn-secondary:hover { background:rgba(255,255,255,0.1);border-color:white; }
.adm-btn-outline { display:inline-flex;align-items:center;padding:0.85rem 2rem;background:transparent;color:#3E5C39;border:2px solid #3E5C39;border-radius:6px;font-size:0.88rem;font-weight:700;text-decoration:none;transition:all 0.2s; }
.adm-btn-outline:hover { background:#3E5C39;color:white; }
.adm-hero-cards { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.adm-hero-stat { background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:1.25rem 1.5rem;text-align:center; }
.adm-hero-stat span { display:block;font-family:"Playfair Display",serif;font-size:2rem;font-weight:700;color:white;line-height:1; }
.adm-hero-stat small { display:block;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.6);margin-top:0.3rem; }

/* Steps */
.adm-steps { background:white;padding:5rem 2rem; }
.adm-steps-inner { max-width:1100px;margin:0 auto; }
.adm-section-label { font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;color:#7D9B76;font-weight:700;margin-bottom:0.5rem;display:flex;align-items:center;gap:0.5rem; }
.adm-section-label::before { content:'';width:24px;height:2px;background:#7D9B76;display:inline-block; }
.adm-steps-inner h2 { font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;color:#2A2F27;margin:0 0 2.5rem; }
.adm-steps-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative; }
.adm-steps-grid::before { content:'';position:absolute;top:40px;left:10%;right:10%;height:2px;background:linear-gradient(to right,#D4E6CF,#3E5C39,#D4E6CF);z-index:0; }
.adm-step { text-align:center;padding:0 1rem;position:relative;z-index:1; }
.adm-step-num { font-family:"Playfair Display",serif;font-size:0.75rem;font-weight:700;color:#7D9B76;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.5rem; }
.adm-step-icon { width:80px;height:80px;background:white;border:2px solid #3E5C39;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem; }
.adm-step-icon svg { width:38px;height:38px;stroke:#3E5C39; }
.adm-step h3 { font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:#2A2F27;margin:0 0 0.5rem; }
.adm-step p { font-size:0.84rem;color:#7A8A76;line-height:1.65;margin:0; }
.adm-step p a { color:#3E5C39; }

/* Programmes */
.adm-programmes { background:linear-gradient(135deg,#3E5C39,#2a4a28);padding:5rem 2rem; }
.adm-programmes-inner { max-width:1100px;margin:0 auto; }
.adm-programmes h2 { font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;margin:0.4rem 0 2rem;line-height:1.2; }
.adm-prog-tabs { display:flex;gap:0.5rem;margin-bottom:2rem;flex-wrap:wrap; }
.adm-prog-tab { padding:0.55rem 1.5rem;border-radius:100px;border:2px solid rgba(255,255,255,0.3);background:transparent;color:rgba(255,255,255,0.7);font-size:0.85rem;font-weight:600;cursor:pointer;transition:all 0.2s;font-family:"Jost",sans-serif; }
.adm-prog-tab:hover,.adm-prog-tab.active { background:white;color:#3E5C39;border-color:white; }
.adm-prog-panel { display:none; }
.adm-prog-panel.active { display:block; }
.adm-prog-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem; }
.adm-prog-card { background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:1.5rem;transition:background 0.2s; }
.adm-prog-card:hover { background:rgba(255,255,255,0.13); }
.adm-prog-card-head { display:flex;align-items:flex-start;gap:0.75rem;margin-bottom:0.85rem; }
.adm-prog-degree { background:rgba(255,255,255,0.12);color:white;font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;padding:0.25rem 0.7rem;border-radius:100px;flex-shrink:0;margin-top:0.1rem; }
.adm-prog-card-head h4 { font-size:0.92rem;font-weight:700;color:white;margin:0;line-height:1.35; }
.adm-prog-meta { display:flex;gap:0.75rem;flex-wrap:wrap;margin-bottom:0.75rem; }
.adm-prog-meta span { display:inline-flex;align-items:center;gap:0.3rem;font-size:0.78rem;color:rgba(255,255,255,0.65); }
.adm-prog-meta svg { width:12px;height:12px; }
.adm-prog-elig { font-size:0.8rem;color:rgba(255,255,255,0.6);margin:0;line-height:1.5; }
.adm-prog-elig strong { color:rgba(255,255,255,0.85); }

/* Documents */
.adm-docs { background:#FAF6EF;padding:5rem 2rem; }
.adm-docs-inner { max-width:1100px;margin:0 auto; }
.adm-docs-inner h2 { font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;color:#2A2F27;margin:0 0 2rem; }
.adm-docs-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1rem; }
.adm-doc-item { background:white;border:1px solid #E8DCC8;border-radius:10px;padding:1.25rem;display:flex;align-items:flex-start;gap:0.85rem;transition:transform 0.2s,box-shadow 0.2s; }
.adm-doc-item:hover { transform:translateY(-3px);box-shadow:0 6px 20px rgba(62,92,57,0.1); }
.adm-doc-num { font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:rgba(62,92,57,0.15);line-height:1;flex-shrink:0;min-width:32px; }
.adm-doc-item h4 { font-size:0.88rem;font-weight:700;color:#2A2F27;margin:0 0 0.25rem; }
.adm-doc-item p { font-size:0.78rem;color:#7A8A76;margin:0;line-height:1.45; }

/* Contact CTA */
.adm-contact { background:white;padding:5rem 2rem; }
.adm-contact-inner { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center; }
.adm-cta h2 { font-family:"Playfair Display",serif;font-size:2rem;font-weight:700;color:#2A2F27;margin:0 0 0.75rem; }
.adm-cta p { font-size:0.92rem;color:#4A5447;margin:0 0 2rem; }
.adm-cta-btns { display:flex;gap:1rem;flex-wrap:wrap; }
.adm-contact-info { display:flex;flex-direction:column;gap:1.25rem; }
.adm-contact-item { display:flex;align-items:flex-start;gap:1rem;background:#FAF6EF;border-radius:10px;padding:1.1rem 1.25rem; }
.adm-contact-icon { width:40px;height:40px;background:#D4E6CF;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.adm-contact-icon svg { width:20px;height:20px;stroke:#3E5C39; }
.adm-contact-item p { font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;color:#7D9B76;font-weight:600;margin:0 0 0.2rem; }
.adm-contact-item strong { font-size:0.88rem;color:#2A2F27;font-weight:600;line-height:1.4; }

@media (max-width:900px) {
  .adm-hero { margin-top:90px;padding:3rem 1.5rem; }
  .adm-hero-inner { grid-template-columns:1fr; }
  .adm-hero-cards { grid-template-columns:repeat(4,1fr);gap:0.5rem; }
  .adm-steps-grid { grid-template-columns:1fr 1fr;gap:2rem; }
  .adm-steps-grid::before { display:none; }
  .adm-prog-grid { grid-template-columns:1fr 1fr; }
  .adm-docs-grid { grid-template-columns:1fr 1fr; }
  .adm-contact-inner { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .adm-hero-cards { grid-template-columns:1fr 1fr; }
  .adm-steps-grid { grid-template-columns:1fr; }
  .adm-prog-grid { grid-template-columns:1fr; }
  .adm-docs-grid { grid-template-columns:1fr; }
}

/* ===== ADMISSION PROCESS PAGE ===== */
.proc-hero { background:linear-gradient(135deg,#3E5C39 0%,#1a3318 60%,#2d5229 100%);padding:4rem 2rem;text-align:center;margin-top:114px; }
.proc-hero-inner { max-width:700px;margin:0 auto; }
.proc-hero h1 { font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:white;margin:0.75rem 0 1rem;line-height:1.2; }
.proc-hero p { font-size:0.95rem;color:rgba(255,255,255,0.78);line-height:1.75;margin:0; }

.proc-timeline-section { background:white;padding:5rem 2rem; }
.proc-inner { max-width:900px;margin:0 auto; }
.proc-timeline-section h2 { font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;color:#2A2F27;margin:0 0 3rem; }

/* Timeline */
.proc-timeline { display:flex;flex-direction:column;gap:0; }
.proc-step { display:grid;grid-template-columns:80px 1fr;gap:2rem; }
.proc-step-left { display:flex;flex-direction:column;align-items:center; }
.proc-step-num { width:52px;height:52px;border-radius:50%;background:#3E5C39;color:white;display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;flex-shrink:0;z-index:1; }
.proc-step-num--done { background:#1a3318; }
.proc-step-line { width:2px;flex:1;background:linear-gradient(to bottom,#3E5C39,#D4E6CF);margin:4px 0; }
.proc-step--last .proc-step-left { justify-content:flex-start; }
.proc-step-content { padding-bottom:3rem; }
.proc-step--last .proc-step-content { padding-bottom:0; }
.proc-step-icon { width:48px;height:48px;background:#FAF6EF;border:2px solid #D4E6CF;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:0.85rem; }
.proc-step-icon svg { width:26px;height:26px;stroke:#3E5C39; }
.proc-step-content h3 { font-family:"Playfair Display",serif;font-size:1.15rem;font-weight:700;color:#2A2F27;margin:0 0 0.6rem; }
.proc-step-content p { font-size:0.9rem;color:#4A5447;line-height:1.8;margin:0 0 0.75rem; }
.proc-step-content p a { color:#3E5C39;font-weight:600; }
.proc-step-tags { display:flex;gap:0.5rem;flex-wrap:wrap; }
.proc-step-tags span { background:#D4E6CF;color:#3E5C39;font-size:0.72rem;font-weight:600;padding:0.25rem 0.7rem;border-radius:100px; }

/* Two column */
.proc-two-col { background:#FAF6EF;padding:5rem 2rem; }
.proc-two-grid { display:grid;grid-template-columns:1fr 1fr;gap:1.5rem; }
.proc-box { background:white;border:1px solid #E8DCC8;border-radius:12px;overflow:hidden; }
.proc-box-head { display:flex;align-items:center;gap:0.85rem;padding:1.25rem 1.5rem;border-bottom:1px solid #F0EDE6;background:#FAF6EF; }
.proc-box-icon { width:38px;height:38px;background:#D4E6CF;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.proc-box-icon svg { width:20px;height:20px;stroke:#3E5C39; }
.proc-box-head h3 { font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:#2A2F27;margin:0; }
.proc-check-list { list-style:none;padding:1.25rem 1.5rem;margin:0;display:flex;flex-direction:column;gap:0.7rem; }
.proc-check-list li { display:flex;align-items:flex-start;gap:0.75rem;font-size:0.88rem;color:#4A5447;line-height:1.55; }
.proc-check-dot { width:8px;height:8px;background:#3E5C39;border-radius:50%;flex-shrink:0;margin-top:0.35rem; }

/* CTA */
.proc-cta { background:linear-gradient(135deg,#3E5C39,#2a4a28);padding:4rem 2rem;text-align:center; }
.proc-cta-inner { max-width:700px;margin:0 auto; }
.proc-cta h2 { font-family:"Playfair Display",serif;font-size:2rem;font-weight:700;color:white;margin:0 0 0.75rem; }
.proc-cta p { font-size:0.95rem;color:rgba(255,255,255,0.78);margin:0 0 2rem; }

@media (max-width:900px) {
  .proc-hero { margin-top:90px; }
  .proc-two-grid { grid-template-columns:1fr; }
  .proc-step { grid-template-columns:60px 1fr;gap:1.25rem; }
}
@media (max-width:600px) {
  .proc-step-left { display:none; }
  .proc-step { grid-template-columns:1fr; }
}

/* ===== RESEARCH PAGES ===== */
.res-hero { background:linear-gradient(135deg,#3E5C39 0%,#1a3318 60%,#2d5229 100%);padding:4rem 2rem;margin-top:114px; }
.res-hero-inner { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center; }
.res-hero-text h1 { font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:white;margin:0.75rem 0 1rem;line-height:1.2; }
.res-hero-text p { font-size:0.95rem;color:rgba(255,255,255,0.78);line-height:1.8;margin:0;max-width:500px; }
.res-hero-grid { display:flex;flex-direction:column;gap:0.75rem;min-width:220px; }
.res-hero-card { background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:1.1rem 1.25rem; }
.res-hero-icon { width:36px;height:36px;background:rgba(255,255,255,0.12);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:0.6rem; }
.res-hero-icon svg { width:20px;height:20px;stroke:white; }
.res-hero-card h4 { font-size:0.9rem;font-weight:700;color:white;margin:0 0 0.2rem; }
.res-hero-card p { font-size:0.78rem;color:rgba(255,255,255,0.65);margin:0 0 0.6rem; }
.res-hero-link { font-size:0.78rem;color:#A8C4A2;font-weight:600;text-decoration:none;transition:color 0.2s; }
.res-hero-link:hover { color:white; }

.res-overview { background:white;padding:4rem 2rem; }
.res-inner { max-width:1100px;margin:0 auto; }
.res-two-col { display:grid;grid-template-columns:1fr 280px;gap:3rem;align-items:start;margin-top:1.5rem; }
.res-content p { font-size:0.92rem;color:#4A5447;line-height:1.85;margin:0 0 1rem; }
.res-highlights { display:flex;flex-direction:column;gap:0.85rem;margin-top:1.5rem; }
.res-highlight-item { display:flex;align-items:flex-start;gap:0.85rem;background:#FAF6EF;border-radius:8px;padding:0.85rem 1rem; }
.res-hl-dot { width:8px;height:8px;background:#3E5C39;border-radius:50%;flex-shrink:0;margin-top:0.35rem; }
.res-highlight-item h4 { font-size:0.88rem;font-weight:700;color:#2A2F27;margin:0 0 0.2rem; }
.res-highlight-item p { font-size:0.8rem;color:#7A8A76;margin:0; }
.res-stats-col { display:flex;flex-direction:column;gap:0.85rem; }
.res-stat-card { background:#FAF6EF;border:1px solid #E8DCC8;border-radius:10px;padding:1.25rem;text-align:center;border-left:4px solid #3E5C39; }
.res-stat-card--dark { background:#3E5C39; }
.res-stat-n { display:block;font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;color:#3E5C39;line-height:1; }
.res-stat-card--dark .res-stat-n { color:white; }
.res-stat-l { display:block;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:#7D9B76;margin-top:0.25rem;font-weight:600; }
.res-stat-card--dark .res-stat-l { color:rgba(255,255,255,0.65); }
.res-body { font-size:0.92rem;color:#4A5447;line-height:1.85; }
.res-body p { margin:0 0 0.85rem; }
.res-body ul,.res-body ol { padding-left:1.25rem;margin:0 0 1rem; }
.res-body li { margin-bottom:0.4rem; }
.res-body h3,.res-body h4 { font-family:"Playfair Display",serif;color:#2A2F27;margin:1rem 0 0.5rem; }

/* Focus areas */
.res-focus { background:linear-gradient(135deg,#3E5C39,#2a4a28);padding:4rem 2rem; }
.res-focus h2 { font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;margin:0.4rem 0 2rem;line-height:1.2; }
.res-focus-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem; }
.res-focus-card { background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:10px;padding:1.5rem;transition:background 0.2s; }
.res-focus-card:hover { background:rgba(255,255,255,0.13); }
.res-focus-n { font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;color:rgba(255,255,255,0.12);display:block;margin-bottom:0.5rem; }
.res-focus-card h4 { font-size:0.92rem;font-weight:700;color:white;margin:0 0 0.4rem; }
.res-focus-card p { font-size:0.82rem;color:rgba(255,255,255,0.65);line-height:1.6;margin:0; }

/* Quick links */
.res-quick { background:#FAF6EF;padding:4rem 2rem; }
.res-quick-card { background:white;border:1px solid #E8DCC8;border-radius:12px;padding:2rem;text-decoration:none;display:flex;flex-direction:column;gap:0.6rem;border-top:3px solid #3E5C39;transition:transform 0.25s,box-shadow 0.25s; }
.res-quick-card:hover { transform:translateY(-4px);box-shadow:0 10px 28px rgba(62,92,57,0.1); }
.res-quick-icon { width:48px;height:48px;background:#D4E6CF;border-radius:10px;display:flex;align-items:center;justify-content:center; }
.res-quick-icon svg { width:26px;height:26px;stroke:#3E5C39; }
.res-quick-card h3 { font-family:"Playfair Display",serif;font-size:1.05rem;font-weight:700;color:#2A2F27;margin:0; }
.res-quick-card p { font-size:0.84rem;color:#7A8A76;line-height:1.6;margin:0;flex:1; }
.res-quick-card span { font-size:0.82rem;font-weight:600;color:#3E5C39; }

/* IEDC activities */
.iedc-activities { margin-top:2.5rem; }
.iedc-act-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem; }
.iedc-act-card { background:#FAF6EF;border:1px solid #E8DCC8;border-radius:10px;padding:1.5rem;border-top:3px solid #3E5C39; }
.iedc-act-num { font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:rgba(62,92,57,0.15);display:block;margin-bottom:0.5rem; }
.iedc-act-card h4 { font-size:0.92rem;font-weight:700;color:#2A2F27;margin:0 0 0.4rem; }
.iedc-act-card p { font-size:0.84rem;color:#7A8A76;line-height:1.6;margin:0; }

/* Publication page */
.pub-about { display:grid;grid-template-columns:220px 1fr;gap:3rem;align-items:start;margin-top:1.5rem; }
.pub-about-left { display:flex;flex-direction:column;align-items:center;gap:1.25rem; }
.pub-journal-cover { width:140px; }
.pub-journal-cover svg { width:100%;height:auto; }
.pub-journal-meta { width:100%;display:flex;flex-direction:column;gap:0.5rem; }
.pub-meta-item { display:flex;flex-direction:column;background:#FAF6EF;border-radius:6px;padding:0.5rem 0.75rem;border-left:3px solid #3E5C39; }
.pub-meta-item span { font-size:0.65rem;text-transform:uppercase;letter-spacing:0.1em;color:#7D9B76;font-weight:700; }
.pub-meta-item strong { font-size:0.82rem;color:#2A2F27; }
.pub-about-right h2 { font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:#2A2F27;margin:0 0 1rem; }
.pub-issues-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem; }
.pub-issue-card { background:#FAF6EF;border:1px solid #E8DCC8;border-radius:10px;padding:1.25rem;display:flex;align-items:center;gap:1rem; }
.pub-issue-icon svg { width:44px;height:55px;flex-shrink:0; }
.pub-issue-info { flex:1; }
.pub-issue-info h4 { font-size:0.88rem;font-weight:600;color:#2A2F27;margin:0 0 0.25rem;line-height:1.4; }
.pub-issue-info span { font-size:0.78rem;color:#7D9B76;font-weight:600; }
.pub-issue-btn { display:inline-flex;align-items:center;gap:0.3rem;background:#3E5C39;color:white;font-size:0.75rem;font-weight:600;padding:0.45rem 0.85rem;border-radius:6px;text-decoration:none;white-space:nowrap;transition:background 0.2s;flex-shrink:0; }
.pub-issue-btn:hover { background:#2a4a28; }
.pub-issue-btn svg { width:13px;height:13px; }
.res-content-block h2 { font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:#2A2F27;margin:0 0 1rem; }

@media (max-width:900px) {
  .res-hero { margin-top:90px; }
  .res-hero-inner { grid-template-columns:1fr; }
  .res-hero-grid { flex-direction:row;flex-wrap:wrap; }
  .res-hero-card { flex:1;min-width:140px; }
  .res-two-col { grid-template-columns:1fr; }
  .res-focus-grid { grid-template-columns:1fr 1fr; }
  .iedc-act-grid { grid-template-columns:1fr 1fr; }
  .pub-about { grid-template-columns:1fr; }
  .pub-about-left { flex-direction:row;align-items:flex-start; }
}
@media (max-width:600px) {
  .res-focus-grid,.iedc-act-grid { grid-template-columns:1fr; }
  .pub-about-left { flex-direction:column;align-items:center; }
}

/* ===== STUDENT LIFE ===== */
/* Hero */
.sl-hero { background:linear-gradient(135deg,#3E5C39 0%,#1a3318 60%,#2d5229 100%);padding:4rem 2rem;margin-top:114px; }
.sl-hero-inner { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:center; }
.sl-hero-text h1 { font-family:"Playfair Display",serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;color:white;margin:0.75rem 0 1rem;line-height:1.15; }
.sl-hero-text p { font-size:0.95rem;color:rgba(255,255,255,0.78);line-height:1.8;margin:0; }
.sl-hero-mosaic { display:flex;flex-direction:column;gap:0.5rem; }
.sl-mosaic-card { background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:8px;padding:0.85rem 1.1rem;text-decoration:none;display:flex;align-items:center;gap:1rem;transition:background 0.2s; }
.sl-mosaic-card:hover { background:rgba(255,255,255,0.15); }
.sl-mosaic-card h4 { font-size:0.9rem;font-weight:700;color:white;margin:0;flex:1; }
.sl-mosaic-card p { font-size:0.75rem;color:rgba(255,255,255,0.6);margin:0;display:none; }
.sl-mosaic-card span { color:#A8C4A2;font-size:1rem; }

/* Feature blocks */
.sl-features { background:white;padding:5rem 2rem; }
.sl-features-inner { max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:4rem; }
.sl-feature-block { display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center; }
.sl-feature-block--rev { direction:rtl; }
.sl-feature-block--rev > * { direction:ltr; }
.sl-feature-img { border-radius:12px;height:320px;position:relative;overflow:hidden;background:linear-gradient(135deg,#D4E6CF,#A8C4A2); }
.sl-feature-img--nss { background:linear-gradient(135deg,#2d5229,#3E5C39); }
.sl-feature-img--hostel { background:linear-gradient(135deg,#1a3318,#2d5229); }
.sl-feature-img--placement { background:linear-gradient(135deg,#3E5C39,#5C7A55); }
.sl-feature-overlay { position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(255,255,255,0.03)'%3E%3Cpath d='M0 0h20v20H0zM20 20h20v20H20z'/%3E%3C/g%3E%3C/svg%3E"); }
.sl-feature-badge { position:absolute;top:1.5rem;left:1.5rem;background:white;color:#3E5C39;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;padding:0.4rem 1rem;border-radius:100px; }
.sl-feature-content h2 { font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:700;color:#2A2F27;margin:0.5rem 0 0.85rem; }
.sl-feature-content p { font-size:0.92rem;color:#4A5447;line-height:1.8;margin:0 0 1rem; }
.sl-feature-list { list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:0.5rem; }
.sl-feature-list li { display:flex;align-items:flex-start;gap:0.6rem;font-size:0.88rem;color:#4A5447; }
.sl-feature-list li::before { content:'';width:6px;height:6px;background:#3E5C39;border-radius:50%;flex-shrink:0;margin-top:0.45rem; }
.sl-feature-btn { display:inline-flex;align-items:center;background:#3E5C39;color:white;padding:0.75rem 1.75rem;border-radius:6px;font-size:0.85rem;font-weight:700;text-decoration:none;transition:background 0.2s; }
.sl-feature-btn:hover { background:#2a4a28; }

/* Stats strip */
.sl-stats { background:linear-gradient(90deg,#3E5C39,#2a4a28);padding:2.5rem 2rem; }
.sl-stats-inner { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem; }
.sl-stat { text-align:center;border-right:1px solid rgba(255,255,255,0.15); }
.sl-stat:last-child { border-right:none; }
.sl-stat span { display:block;font-family:"Playfair Display",serif;font-size:2.2rem;font-weight:700;color:white;line-height:1; }
.sl-stat small { display:block;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.6);margin-top:0.3rem; }

/* Achievements preview */
.sl-ach-preview { background:#FAF6EF;padding:5rem 2rem; }
.sl-ach-inner { max-width:1100px;margin:0 auto; }
.sl-ach-preview h2 { font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:700;color:#2A2F27;margin:0; }
.sl-ach-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem; }
.sl-ach-card { background:white;border:1px solid #E8DCC8;border-radius:10px;overflow:hidden;display:flex;align-items:center;gap:0;transition:transform 0.25s,box-shadow 0.25s; }
.sl-ach-card:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(62,92,57,0.1); }
.sl-ach-photo { width:80px;height:80px;background:linear-gradient(135deg,#D4E6CF,#A8C4A2);flex-shrink:0;position:relative;overflow:hidden; }
.sl-ach-photo img { width:100%;height:100%;object-fit:cover;object-position:top;display:block;position:relative;z-index:1; }
.sl-ach-placeholder { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.8rem;z-index:0; }
.sl-ach-info { padding:0.85rem 1rem;flex:1; }
.sl-ach-info h4 { font-size:0.88rem;font-weight:700;color:#2A2F27;margin:0 0 0.25rem;line-height:1.3; }
.sl-ach-info p { font-size:0.78rem;color:#4A5447;margin:0 0 0.35rem;line-height:1.45; }
.sl-ach-info span { font-size:0.7rem;color:#7D9B76;font-weight:600; }

/* Student sub-pages */
.sl-page-layout { display:grid;grid-template-columns:220px 1fr;gap:1.5rem;align-items:start; }
.sl-page-content {}
.sl-content-card { background:white;border:1px solid #E8DCC8;border-radius:10px;overflow:hidden; }
.sl-content-head { padding:1.75rem 2rem;border-bottom:1px solid #F0EDE6;background:#FAF6EF; }
.sl-content-badge { display:inline-block;background:#3E5C39;color:white;font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;padding:0.25rem 0.85rem;border-radius:100px;margin-bottom:0.6rem; }
.sl-content-head h2 { font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:700;color:#2A2F27;margin:0; }
.sl-year-tag { display:inline-block;background:#D4E6CF;color:#3E5C39;font-size:0.75rem;font-weight:600;padding:0.2rem 0.65rem;border-radius:100px;margin-top:0.5rem; }
.sl-page-content .res-body { padding:1.75rem 2rem; }
.sl-page-content .iedc-act-grid { padding:1.75rem 2rem; }
.sl-page-content .sl-ach-grid { padding:1.75rem 2rem; }

@media (max-width:900px) {
  .sl-hero { margin-top:90px; }
  .sl-hero-inner { grid-template-columns:1fr; }
  .sl-hero-mosaic { flex-direction:row;flex-wrap:wrap; }
  .sl-mosaic-card { flex:1;min-width:120px; }
  .sl-feature-block,.sl-feature-block--rev { grid-template-columns:1fr;direction:ltr; }
  .sl-stats-inner { grid-template-columns:1fr 1fr; }
  .sl-stat { border-right:none;border-bottom:1px solid rgba(255,255,255,0.15);padding-bottom:1rem; }
  .sl-page-layout { grid-template-columns:1fr; }
  .iqac-sidebar-nav { flex-direction:row;flex-wrap:wrap; }
  .iqac-nav-btn { width:auto;flex:1;min-width:100px;font-size:0.78rem; }
}
@media (max-width:600px) {
  .sl-stats-inner { grid-template-columns:1fr 1fr; }
}

/* ===== ACTIVITIES PAGE ===== */
.act-layout { display:grid;grid-template-columns:220px 1fr;gap:1.5rem;align-items:start; }
.act-sidebar { position:sticky;top:170px;max-height:calc(100vh - 190px);overflow-y:auto; }
.act-content { background:white;border:1px solid #E8DCC8;border-radius:10px;overflow:hidden; }
.act-image-wrap { width:100%;max-height:420px;overflow:hidden;border-bottom:1px solid #F0EDE6; }
.act-image-wrap img { width:100%;height:420px;object-fit:cover;display:block;transition:transform 0.4s; }
.act-content:hover .act-image-wrap img { transform:scale(1.02); }
.act-body-wrap { padding:2rem; }
.act-body-wrap h2 { font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:700;color:#2A2F27;margin:0 0 1.25rem;padding-bottom:0.85rem;border-bottom:2px solid #E8DCC8; }
.act-body { font-size:0.92rem;color:#4A5447;line-height:1.85; }
.act-body p { margin:0 0 0.85rem; }
.act-body ul,.act-body ol { padding-left:1.25rem;margin:0 0 1rem; }
.act-body li { margin-bottom:0.4rem; }
.act-body h3,.act-body h4 { font-family:"Playfair Display",serif;color:#2A2F27;margin:1.25rem 0 0.5rem;font-weight:700; }
.act-body img { max-width:100%;border-radius:8px;margin:0.75rem 0; }
.act-body table { width:100%;border-collapse:collapse;margin:1rem 0;font-size:0.88rem; }
.act-body table th { background:#3E5C39;color:white;padding:0.65rem 1rem;text-align:left; }
.act-body table td { padding:0.6rem 1rem;border-bottom:1px solid #F0EDE6; }
.act-body table tr:nth-child(even) td { background:#FAF6EF; }

@media (max-width:800px) {
  .act-layout { grid-template-columns:1fr; }
  .act-sidebar { position:static;max-height:none;flex-direction:row;flex-wrap:wrap; }
  .act-image-wrap img { height:240px; }
}

/* ===== HEADER FIX - matches style.css brand-bar classes ===== */
.hdr-brand-accred { font-size:0.68rem;color:rgba(255,255,255,0.6);margin-top:0.15rem; }
.hdr-brand-actions { display:flex;align-items:center;gap:1rem; }
.hdr-login-group { position:relative; }
.hdr-login-toggle { display:flex;align-items:center;gap:0.4rem;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);color:white;padding:0.5rem 1rem;border-radius:6px;font-size:0.82rem;font-weight:600;cursor:pointer;font-family:"Jost",sans-serif; }
.hdr-login-toggle svg { width:16px;height:16px; }
.hdr-login-drop { display:none;position:absolute;right:0;top:calc(100% + 6px);background:white;border:1px solid #E8DCC8;border-radius:8px;min-width:160px;box-shadow:0 8px 24px rgba(0,0,0,0.12);z-index:999; }
.hdr-login-drop.open { display:block; }
.hdr-login-drop a { display:block;padding:0.65rem 1rem;font-size:0.84rem;color:#2A2F27;text-decoration:none;border-bottom:1px solid #F0EDE6; }
.hdr-login-drop a:last-child { border-bottom:none; }
.hdr-login-drop a:hover { background:#FAF6EF;color:#3E5C39; }
.hdr-admission-btn { background:white;color:#3E5C39;padding:0.6rem 1.4rem;border-radius:6px;font-size:0.82rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:all 0.2s; }
.hdr-admission-btn:hover { background:#FAF6EF; }
.hdr-topbar-right { display:flex;gap:1rem;margin-left:auto; }
.hdr-topbar-right a { font-size:0.72rem;color:rgba(255,255,255,0.7);text-decoration:none;text-transform:uppercase;letter-spacing:0.06em; }
.hdr-topbar-right a:hover { color:white; }
.mob-hamburger { display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:0.5rem; }
.mob-hamburger span { display:block;width:22px;height:2px;background:white;border-radius:2px;transition:all 0.3s; }
@media (max-width:900px) {
  .hdr-brand-bar { flex-wrap:wrap;padding:0.75rem 1rem; }
  .hdr-brand img { height:52px; }
  .hdr-brand-name { font-size:1.1rem; }
  .hdr-brand-accred { display:none; }
  .mob-hamburger { display:flex;margin-left:auto; }
  .hdr-brand-actions { display:none; }
  .hdr-topbar-right { display:none; }
  .hdr-nav { display:none; }
  .hdr-nav.open { display:block; }
}
/* Close login drop when clicking outside */

/* ===== PRINCIPAL PAGE ===== */
.prin-hero {
  background: linear-gradient(135deg, #1a3318 0%, #3E5C39 50%, #2d5229 100%);
  padding: 4rem 2rem 5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-top: 114px;
}
.prin-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='rgba(255,255,255,0.03)'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.prin-hero-inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
.prin-hero-badge {
  display: inline-block;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  color: #A8C4A2;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-weight: 700;
  padding: 0.35rem 1.25rem;
  border-radius: 100px;
  margin-bottom: 1.25rem;
}
.prin-hero-name {
  font-family: "Playfair Display", serif;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 700;
  color: white;
  margin: 0 0 0.5rem;
  line-height: 1.2;
}
.prin-hero-desig {
  font-size: 0.88rem;
  color: rgba(255,255,255,0.72);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin: 0 0 1.25rem;
}
.prin-hero-line {
  width: 60px;
  height: 2px;
  background: rgba(255,255,255,0.3);
  margin: 0 auto 1rem;
}
.prin-hero-college {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.55);
  margin: 0;
}

/* Body */
.prin-body { background: #FAF6EF; padding: 3rem 2rem 4rem; }
.prin-body-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 2rem;
  align-items: start;
}

/* Sidebar */
.prin-sidebar { display: flex; flex-direction: column; gap: 1.25rem; position: sticky; top: 130px; }

.prin-photo-card {
  background: linear-gradient(135deg, #3E5C39, #1a3318);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(62,92,57,0.25);
}
.prin-photo-wrap { position: relative; overflow: hidden; height: 320px; }
.prin-photo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  transition: transform 0.4s;
}
.prin-photo-card:hover .prin-photo-wrap img { transform: scale(1.04); }
.prin-photo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26,51,24,0.85) 0%, transparent 60%);
}
.prin-photo-placeholder {
  height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.prin-photo-placeholder svg { width: 80px; height: 80px; }
.prin-info-block {
  padding: 1.25rem 1.5rem;
  text-align: center;
}
.prin-info-block h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: white;
  margin: 0 0 0.25rem;
}
.prin-info-block p {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.65);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0;
}

.prin-contact-card {
  background: white;
  border: 1px solid #E8DCC8;
  border-radius: 10px;
  overflow: hidden;
}
.prin-contact-head {
  background: #3E5C39;
  color: white;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  padding: 0.6rem 1.25rem;
}
.prin-contact-row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid #F0EDE6;
  font-size: 0.85rem;
  color: #4A5447;
}
.prin-contact-row:last-child { border-bottom: none; }
.prin-contact-icon {
  width: 32px;
  height: 32px;
  background: #D4E6CF;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.prin-contact-icon svg { width: 16px; height: 16px; stroke: #3E5C39; }

.prin-quote-card {
  background: linear-gradient(135deg, #3E5C39, #2d5229);
  border-radius: 10px;
  padding: 1.5rem;
}
.prin-quote-icon {
  font-size: 3rem;
  color: rgba(255,255,255,0.2);
  line-height: 1;
  margin-bottom: 0.5rem;
  font-family: Georgia, serif;
}
.prin-quote-card p {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 0.9rem;
  color: rgba(255,255,255,0.85);
  line-height: 1.7;
  margin: 0;
}

/* Message area */
.prin-message-area {
  background: white;
  border: 1px solid #E8DCC8;
  border-radius: 12px;
  padding: 2.5rem;
  margin-top: 2rem;
}
.prin-message-head { margin-bottom: 1.75rem; }
.prin-message-tag {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #7D9B76;
  font-weight: 700;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.prin-message-tag::before {
  content: '';
  width: 28px;
  height: 2px;
  background: #7D9B76;
  display: inline-block;
}
.prin-message-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #3E5C39, #D4E6CF, transparent);
}
.prin-message-body {
  font-size: 0.95rem;
  color: #4A5447;
  line-height: 2;
}
.prin-message-body p { margin: 0 0 1rem; }
.prin-message-body p:last-child { margin-bottom: 0; }
.prin-message-body h3, .prin-message-body h4 {
  font-family: "Playfair Display", serif;
  color: #2A2F27;
  margin: 1.5rem 0 0.75rem;
}

/* Signature */
.prin-signature {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px dashed #E8DCC8;
}
.prin-sig-line {
  width: 80px;
  height: 3px;
  background: linear-gradient(to right, #3E5C39, #7D9B76);
  border-radius: 2px;
  margin-bottom: 1rem;
}
.prin-sig-name {
  font-family: "Playfair Display", serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #2A2F27;
}
.prin-sig-title {
  font-size: 0.78rem;
  color: #3E5C39;
  font-weight: 600;
  margin-top: 0.2rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.prin-sig-college {
  font-size: 0.75rem;
  color: #7A8A76;
  margin-top: 0.15rem;
}

@media (max-width: 900px) {
  .prin-body-inner { grid-template-columns: 1fr; }
  .prin-sidebar { position: static; }
  .prin-photo-wrap { height: 260px; }
  .prin-message-area { padding: 1.5rem; margin-top: 0; }
}

/* ===== ACADEMIC LEADERSHIP PAGE ===== */
.acl-hero {
  background: linear-gradient(135deg,#1a3318 0%,#3E5C39 60%,#2d5229 100%);
  padding: 4.5rem 2rem;
  text-align: center;
  margin-top: 114px;
  position: relative;
  overflow: hidden;
}
.acl-hero::before {
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(255,255,255,0.03)'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
}
.acl-hero-inner { position:relative;z-index:1;max-width:680px;margin:0 auto; }
.acl-hero-tag {
  display:inline-block;
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.22);
  color:#A8C4A2;
  font-size:0.68rem;text-transform:uppercase;letter-spacing:0.2em;font-weight:700;
  padding:0.35rem 1.25rem;border-radius:100px;margin-bottom:1rem;
}
.acl-hero h1 {
  font-family:"Playfair Display",serif;
  font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:white;
  margin:0 0 0.85rem;line-height:1.2;
}
.acl-hero p { font-size:0.92rem;color:rgba(255,255,255,0.72);line-height:1.8;margin:0; }

/* Section */
.acl-section { background:#FAF6EF;padding:3.5rem 2rem 5rem; }
.acl-inner { max-width:1100px;margin:0 auto; }

/* Grid */
.acl-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1.75rem;
}

/* Card */
.acl-card {
  background:white;
  border:1px solid #E8DCC8;
  border-radius:14px;
  overflow:hidden;
  transition:transform 0.3s,box-shadow 0.3s;
}
.acl-card:hover {
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(62,92,57,0.15);
}

/* Photo */
.acl-photo-wrap {
  position:relative;
  height:300px;
  overflow:hidden;
  background:linear-gradient(135deg,#3E5C39,#1a3318);
}
.acl-photo-wrap img {
  width:100%;height:100%;
  object-fit:cover;
  object-position:top;
  display:block;
  transition:transform 0.4s;
}
.acl-card:hover .acl-photo-wrap img { transform:scale(1.06); }
.acl-photo-placeholder {
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
}
.acl-photo-placeholder svg { width:80px;height:80px; }
.acl-photo-gradient {
  position:absolute;bottom:0;left:0;right:0;
  height:55%;
  background:linear-gradient(to top,rgba(26,51,24,0.85) 0%,transparent 100%);
}
.acl-card-num {
  position:absolute;top:0.85rem;right:0.85rem;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(4px);
  color:white;
  font-family:"Playfair Display",serif;
  font-size:0.72rem;font-weight:700;
  padding:0.25rem 0.6rem;
  border-radius:100px;
  border:1px solid rgba(255,255,255,0.2);
}

/* Info */
.acl-card-info {
  padding:1.25rem 1.5rem;
  border-top:3px solid #3E5C39;
}
.acl-card-info h3 {
  font-family:"Playfair Display",serif;
  font-size:1rem;font-weight:700;
  color:#2A2F27;margin:0 0 0.35rem;
  line-height:1.3;
}
.acl-card-info p {
  font-size:0.78rem;color:#7D9B76;
  font-weight:600;text-transform:uppercase;
  letter-spacing:0.06em;margin:0;
  line-height:1.4;
}

@media (max-width:900px) {
  .acl-hero { margin-top:90px;padding:3rem 1.5rem; }
  .acl-grid { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1.25rem; }
  .acl-photo-wrap { height:260px; }
}
@media (max-width:600px) {
  .acl-grid { grid-template-columns:repeat(2,1fr);gap:1rem; }
  .acl-photo-wrap { height:220px; }
}

/* ===== ICC PAGE ===== */
.icc-hero {
  background:linear-gradient(135deg,#1a3318 0%,#3E5C39 60%,#2d5229 100%);
  padding:4.5rem 2rem;text-align:center;margin-top:114px;
  position:relative;overflow:hidden;
}
.icc-hero::before { content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(255,255,255,0.03)'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E"); }
.icc-hero-inner { position:relative;z-index:1;max-width:700px;margin:0 auto; }
.icc-hero h1 { font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:white;margin:0.75rem 0 0.85rem;line-height:1.2; }
.icc-hero p { font-size:0.92rem;color:rgba(255,255,255,0.72);line-height:1.8;margin:0; }

.icc-body { background:#FAF6EF;padding:3.5rem 2rem 5rem; }
.icc-inner { max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:3rem; }

/* About */
.icc-about { display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start; }
.icc-about-text h2 { font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:700;color:#2A2F27;margin:0.4rem 0 1rem; }
.icc-about-text p { font-size:0.92rem;color:#4A5447;line-height:1.85;margin:0 0 0.85rem; }
.icc-mandate-cards { display:flex;flex-direction:column;gap:1rem; }
.icc-mandate-card { background:white;border:1px solid #E8DCC8;border-radius:10px;padding:1.25rem 1.5rem;border-left:4px solid #3E5C39; }
.icc-mandate-icon { font-size:0.7rem;color:#3E5C39;margin-bottom:0.5rem; }
.icc-mandate-card h4 { font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:#2A2F27;margin:0 0 0.3rem; }
.icc-mandate-card p { font-size:0.84rem;color:#7A8A76;margin:0;line-height:1.6; }

/* Members */
.icc-member-card { display:flex;align-items:flex-start;gap:1rem;background:#FAF6EF;border:1px solid #E8DCC8;border-radius:10px;padding:1.25rem;transition:transform 0.2s,box-shadow 0.2s; }
.icc-member-card:hover { transform:translateY(-2px);box-shadow:0 6px 20px rgba(62,92,57,0.1); }
.icc-member-card--head { background:linear-gradient(135deg,#3E5C39,#2d5229);border-color:transparent; }
.icc-member-card--head .icc-member-info h4 { color:white; }
.icc-member-card--head .icc-member-info p { color:rgba(255,255,255,0.7); }
.icc-member-avatar { width:48px;height:48px;border-radius:50%;background:#3E5C39;color:white;display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;font-size:1.25rem;font-weight:700;flex-shrink:0; }
.icc-member-card--head .icc-member-avatar { background:rgba(255,255,255,0.2); }
.icc-member-info h4 { font-size:0.92rem;font-weight:700;color:#2A2F27;margin:0 0 0.2rem; }
.icc-member-info p { font-size:0.78rem;color:#7D9B76;margin:0 0 0.4rem; }
.icc-chair-badge { display:inline-block;background:rgba(255,255,255,0.2);color:white;font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;padding:0.15rem 0.6rem;border-radius:100px; }
.icc-member-contact { display:flex;align-items:center;gap:0.35rem;font-size:0.78rem;color:#7A8A76;margin-top:0.35rem; }
.icc-member-contact svg { width:13px;height:13px; }

/* Process */
.icc-process { background:linear-gradient(135deg,#3E5C39,#1a3318);border-radius:12px;padding:2.5rem;overflow:hidden; }
.icc-process-head { margin-bottom:2rem; }
.icc-process-head h2 { font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;margin:0.4rem 0 0; }
.icc-process-steps { display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:2rem; }
.icc-step { display:flex;gap:1rem;align-items:flex-start; }
.icc-step-num { font-family:"Playfair Display",serif;font-size:2rem;font-weight:700;color:rgba(255,255,255,0.15);line-height:1;flex-shrink:0;min-width:48px; }
.icc-step-content h4 { font-size:0.92rem;font-weight:700;color:white;margin:0 0 0.35rem; }
.icc-step-content p { font-size:0.84rem;color:rgba(255,255,255,0.68);line-height:1.65;margin:0; }

@media (max-width:900px) {
  .icc-hero { margin-top:90px; }
  .icc-about { grid-template-columns:1fr; }
  .icc-process-steps { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  }

/* ===== COUNCIL / MANAGEMENT PAGES ===== */
.council-hero {
  background:linear-gradient(135deg,#1a3318 0%,#3E5C39 60%,#2d5229 100%);
  padding:4.5rem 2rem;text-align:center;margin-top:114px;
  position:relative;overflow:hidden;
}
.council-hero::before { content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(255,255,255,0.03)'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E"); }
.council-hero-inner { position:relative;z-index:1;max-width:720px;margin:0 auto; }
.council-hero h1 { font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:white;margin:0.75rem 0 0.85rem;line-height:1.2; }
.council-hero p { font-size:0.92rem;color:rgba(255,255,255,0.75);line-height:1.8;margin:0;max-width:560px;margin:0 auto; }

.council-body { background:#FAF6EF;padding:3.5rem 2rem 5rem; }
.council-inner { max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:3rem; }

/* Cards grid */
.council-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:1.5rem;
}
.council-card {
  background:white;border:1px solid #E8DCC8;border-radius:12px;
  overflow:hidden;transition:transform 0.25s,box-shadow 0.25s;
}
.council-card:hover { transform:translateY(-4px);box-shadow:0 12px 32px rgba(62,92,57,0.12); }
.council-card--head { border-color:#3E5C39;border-width:2px; }

/* Photo */
.council-photo {
  position:relative;height:220px;
  background:linear-gradient(135deg,#3E5C39,#1a3318);
  overflow:hidden;
}
.council-photo img {
  width:100%;height:100%;object-fit:cover;object-position:top;
  display:block;transition:transform 0.4s;
}
.council-card:hover .council-photo img { transform:scale(1.05); }
.council-avatar {
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-family:"Playfair Display",serif;font-size:3rem;font-weight:700;
  color:rgba(255,255,255,0.4);
}
.council-head-badge {
  position:absolute;bottom:0.75rem;left:50%;transform:translateX(-50%);
  background:#3E5C39;color:white;
  font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;
  padding:0.2rem 0.75rem;border-radius:100px;white-space:nowrap;
}

/* Info */
.council-info {
  padding:1.25rem 1.5rem;
  border-top:3px solid #3E5C39;
}
.council-card--head .council-info { border-top-color:#3E5C39; }
.council-info h3 {
  font-family:"Playfair Display",serif;font-size:0.95rem;font-weight:700;
  color:#2A2F27;margin:0 0 0.3rem;line-height:1.3;
}
.council-info p {
  font-size:0.78rem;color:#7D9B76;font-weight:600;
  text-transform:uppercase;letter-spacing:0.06em;margin:0 0 0.5rem;
  line-height:1.4;
}
.council-contact {
  display:inline-flex;align-items:center;gap:0.35rem;
  font-size:0.75rem;color:#7A8A76;
}
.council-contact svg { width:12px;height:12px; }

/* Responsibilities */
.council-responsibilities {
  background:linear-gradient(135deg,#3E5C39,#1a3318);
  border-radius:12px;padding:2.5rem;
}
.council-resp-head { margin-bottom:2rem; }
.council-resp-head h2 { font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;margin:0.4rem 0 0; }
.council-resp-grid {
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;
}
.council-resp-card {
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:10px;padding:1.5rem;
  transition:background 0.2s;
}
.council-resp-card:hover { background:rgba(255,255,255,0.12); }
.council-resp-icon {
  width:36px;height:36px;background:rgba(255,255,255,0.12);
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  margin-bottom:0.85rem;
}
.council-resp-icon svg { width:18px;height:18px;stroke:#A8C4A2; }
.council-resp-card h4 { font-size:0.92rem;font-weight:700;color:white;margin:0 0 0.4rem; }
.council-resp-card p { font-size:0.84rem;color:rgba(255,255,255,0.68);line-height:1.65;margin:0; }

@media (max-width:900px) {
  .council-hero { margin-top:90px; }
  .council-grid { grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); }
  .council-resp-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .council-grid { grid-template-columns:repeat(2,1fr);gap:1rem; }
  .council-photo { height:180px; }
}

/* ===== FEE REFUND PAGE ===== */
.refund-wrap { background:#FAF6EF;padding:2.5rem 2rem 5rem; }
.refund-inner { max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:2rem; }

/* Info banner */
.refund-info-banner {
  display:flex;gap:1.25rem;align-items:flex-start;
  background:linear-gradient(135deg,#3E5C39,#2d5229);
  border-radius:12px;padding:1.75rem 2rem;color:white;
}
.refund-info-icon { width:44px;height:44px;background:rgba(255,255,255,0.15);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.refund-info-icon svg { width:22px;height:22px;stroke:white; }
.refund-info-banner h4 { font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:white;margin:0 0 0.5rem; }
.refund-info-banner p { font-size:0.88rem;color:rgba(255,255,255,0.8);line-height:1.7;margin:0; }

/* Special provision */
.refund-special {
  background:white;border:1px solid #E8DCC8;border-radius:12px;padding:1.75rem 2rem;
  border-left:5px solid #3E5C39;
}
.refund-special-head {
  display:flex;align-items:center;gap:0.6rem;
  font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;
  color:#3E5C39;margin-bottom:1rem;
}
.refund-special-head svg { width:16px;height:16px;stroke:#3E5C39; }
.refund-special p { font-size:0.9rem;color:#4A5447;line-height:1.75;margin:0 0 0.65rem; }

/* Table section */
.refund-table-section h2 { font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:700;color:#2A2F27;margin:0.4rem 0 1.25rem; }
.refund-table-wrap { overflow-x:auto;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,0.06); }
.refund-table { width:100%;border-collapse:collapse;font-size:0.88rem;background:white; }
.refund-table thead tr { background:#3E5C39; }
.refund-table th { padding:0.9rem 1.25rem;text-align:left;color:white;font-weight:700;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;white-space:nowrap; }
.refund-table td { padding:0.85rem 1.25rem;border-bottom:1px solid #F0EDE6;color:#4A5447;line-height:1.5; }
.refund-table tr:last-child td { border-bottom:none; }
.refund-cat { font-weight:700;color:#3E5C39;text-align:center;font-size:1rem; }
.refund-pct { font-weight:700;font-size:1rem;white-space:nowrap; }
.refund-full td { background:#f0faf3; }
.refund-full .refund-pct { color:#2d8a4e; }
.refund-high td { background:#f5faf7; }
.refund-high .refund-pct { color:#3E5C39; }
.refund-mid td { background:#f8faf8; }
.refund-mid .refund-pct { color:#5C7A55; }
.refund-low td { background:#faf9f5; }
.refund-low .refund-pct { color:#7D9B76; }
.refund-none .refund-pct { color:#999; }

/* Visual cards */
.refund-cards { display:grid;grid-template-columns:repeat(5,1fr);gap:0.85rem; }
.refund-card { background:white;border:1px solid #E8DCC8;border-radius:10px;padding:1.25rem 1rem;text-align:center; }
.refund-card-pct { font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:700;line-height:1;margin-bottom:0.5rem; }
.refund-card-when { font-size:0.72rem;color:#4A5447;font-weight:600;line-height:1.4;margin-bottom:0.4rem; }
.refund-card-note { font-size:0.7rem;color:#7A8A76;line-height:1.4; }

/* Authority */
.refund-authority {
  display:flex;gap:1.25rem;align-items:flex-start;
  background:white;border:1px solid #E8DCC8;border-radius:12px;padding:1.75rem 2rem;
}
.refund-authority-icon { width:44px;height:44px;background:#D4E6CF;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.refund-authority-icon svg { width:22px;height:22px;stroke:#3E5C39; }
.refund-authority h4 { font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:#2A2F27;margin:0 0 0.75rem; }
.refund-authority ul { padding-left:1.25rem;margin:0 0 0;display:flex;flex-direction:column;gap:0.3rem; }
.refund-authority ul li { font-size:0.86rem;color:#4A5447;line-height:1.6; }
.refund-authority p { font-size:0.86rem;color:#7A8A76;line-height:1.7; }

/* Contact strip */
.refund-contact-strip {
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  background:linear-gradient(135deg,#3E5C39,#1a3318);
  border-radius:10px;padding:1.25rem 1.75rem;
}
.refund-contact-strip > span { font-size:0.88rem;color:rgba(255,255,255,0.8); }
.refund-contact-links { display:flex;gap:1rem;flex-wrap:wrap; }
.refund-contact-links a {
  display:flex;align-items:center;gap:0.4rem;
  font-size:0.84rem;font-weight:600;color:white;text-decoration:none;
  background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);
  padding:0.45rem 1rem;border-radius:6px;transition:background 0.2s;
}
.refund-contact-links a:hover { background:rgba(255,255,255,0.22); }
.refund-contact-links svg { width:15px;height:15px; }

@media (max-width:900px) {
  .refund-cards { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:600px) {
  .refund-cards { grid-template-columns:repeat(2,1fr); }
  .refund-info-banner,.refund-authority { flex-direction:column; }
  .refund-contact-strip { flex-direction:column;align-items:flex-start; }
}

/* ===== PUBLICATION PAGE ===== */
.pub-wrap { background:#FAF6EF;padding:2.5rem 2rem 5rem; }
.pub-inner { max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:2.5rem; }

/* About card */
.pub-about-card {
  display:grid;grid-template-columns:160px 1fr;gap:2.5rem;
  background:white;border:1px solid #E8DCC8;border-radius:12px;padding:2.5rem;
  align-items:start;
}
.pub-journal-cover { display:flex;flex-direction:column;align-items:center;gap:0.75rem; }
.pub-journal-cover svg { width:120px;height:auto;filter:drop-shadow(0 8px 20px rgba(62,92,57,0.25)); }
.pub-cover-badge { font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#3E5C39;background:#D4E6CF;padding:0.25rem 0.75rem;border-radius:100px; }
.pub-about-text h2 { font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:#2A2F27;margin:0.4rem 0 0.85rem; }
.pub-meta-row { display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1.25rem; }
.pub-meta-tag { font-size:0.75rem;font-weight:600;color:#3E5C39;background:#D4E6CF;padding:0.3rem 0.85rem;border-radius:100px; }
.pub-body { font-size:0.9rem;color:#4A5447;line-height:1.85; }
.pub-body p { margin:0 0 0.75rem; }

/* Issues */
.pub-issues-section h2 { font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:700;color:#2A2F27;margin:0.4rem 0 1.25rem; }
.pub-issues-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem; }
.pub-issue-card {
  display:flex;align-items:center;gap:1rem;
  background:white;border:1px solid #E8DCC8;border-radius:10px;padding:1.25rem 1.5rem;
  transition:transform 0.2s,box-shadow 0.2s;
}
.pub-issue-card:hover { transform:translateY(-2px);box-shadow:0 6px 20px rgba(62,92,57,0.1); }
.pub-issue-icon svg { width:36px;height:auto;filter:drop-shadow(0 2px 6px rgba(62,92,57,0.2)); }
.pub-issue-info { flex:1; }
.pub-issue-info h4 { font-size:0.88rem;font-weight:700;color:#2A2F27;margin:0 0 0.25rem;line-height:1.4; }
.pub-issue-year { font-size:0.75rem;color:#7D9B76;font-weight:600; }
.pub-issue-btn {
  display:flex;align-items:center;gap:0.35rem;flex-shrink:0;
  background:#3E5C39;color:white;font-size:0.75rem;font-weight:700;
  padding:0.5rem 0.85rem;border-radius:6px;text-decoration:none;
  transition:background 0.2s;white-space:nowrap;
}
.pub-issue-btn:hover { background:#2d5229; }
.pub-issue-btn svg { width:13px;height:13px; }

/* Guidelines */
.pub-guidelines { background:linear-gradient(135deg,#3E5C39,#1a3318);border-radius:12px;padding:2.5rem; }
.pub-guidelines-head { margin-bottom:2rem; }
.pub-guidelines-head h2 { font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:700;margin:0.4rem 0 0; }
.pub-guidelines-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:2rem; }
.pub-guideline-card { background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:10px;padding:1.5rem; }
.pub-guideline-card h4 { font-size:0.92rem;font-weight:700;color:white;margin:0 0 0.5rem; }
.pub-guideline-card p { font-size:0.84rem;color:rgba(255,255,255,0.7);line-height:1.65;margin:0; }
.pub-submit-strip { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:8px;padding:1rem 1.5rem; }
.pub-submit-strip span { font-size:0.88rem;color:rgba(255,255,255,0.8); }

@media (max-width:768px) {
  .pub-about-card { grid-template-columns:1fr; }
  .pub-journal-cover { flex-direction:row;align-items:center; }
  .pub-guidelines-grid { grid-template-columns:1fr; }
  .pub-submit-strip { flex-direction:column;align-items:flex-start; }
}

/* ===== SPORTS PAGE ===== */
.sports-card {
  background:white;border:1px solid #E8DCC8;border-radius:10px;
  padding:1.5rem;border-top:3px solid #3E5C39;
  transition:transform 0.2s,box-shadow 0.2s;
}
.sports-card:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(62,92,57,0.1); }
.sports-card-icon { font-size:1.75rem;margin-bottom:0.75rem; }
.sports-card h4 { font-family:"Playfair Display",serif;font-size:0.95rem;font-weight:700;color:#2A2F27;margin:0 0 0.4rem; }
.sports-card p { font-size:0.82rem;color:#7A8A76;line-height:1.6;margin:0; }

.sports-highlight {
  display:flex;gap:1.25rem;align-items:flex-start;
  background:linear-gradient(135deg,#3E5C39,#2d5229);
  border-radius:10px;padding:1.5rem 2rem;
}
.sports-highlight-icon { font-size:2rem;flex-shrink:0;line-height:1; }
.sports-highlight h4 { font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:white;margin:0 0 0.4rem; }
.sports-highlight p { font-size:0.86rem;color:rgba(255,255,255,0.78);line-height:1.7;margin:0; }

/* ===== SPORTS IMAGE GRID ===== */
.sports-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1.25rem;
  margin-bottom:0.5rem;
}
.sports-img-card {
  background:white;border:1px solid #E8DCC8;border-radius:12px;
  overflow:hidden;transition:transform 0.25s,box-shadow 0.25s;
}
.sports-img-card:hover { transform:translateY(-4px);box-shadow:0 12px 32px rgba(62,92,57,0.15); }

.sports-img-wrap {
  position:relative;height:200px;overflow:hidden;
  background:linear-gradient(135deg,#3E5C39,#1a3318);
}
.sports-img-wrap img {
  width:100%;height:100%;object-fit:cover;
  display:block;transition:transform 0.4s;
}
.sports-img-card:hover .sports-img-wrap img { transform:scale(1.06); }

/* Fallback when image missing */
.sports-img-fallback {
  display:flex;align-items:center;justify-content:center;
}
.sports-img-fallback::after {
  content:'No Image';font-size:0.75rem;color:rgba(255,255,255,0.4);
  text-transform:uppercase;letter-spacing:0.1em;
}

.sports-img-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(26,51,24,0.75) 0%,transparent 55%);
}
.sports-img-title {
  position:absolute;bottom:0.85rem;left:1rem;right:1rem;
  font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;
  color:white;line-height:1.2;
}
.sports-img-info {
  padding:0.9rem 1.25rem;
}
.sports-img-info p { font-size:0.82rem;color:#7A8A76;line-height:1.6;margin:0; }

@media (max-width:600px) {
  .sports-grid { grid-template-columns:repeat(2,1fr);gap:0.85rem; }
  .sports-img-wrap { height:160px; }
}

/* 2-column student life dropdown */
.dropdown--2col {
  display: none;
  grid-template-columns: 1fr 1fr !important;
  min-width: 460px !important;
  right: 0 !important;
  left: auto !important;
}
.hdr-nav ul > li:hover > .dropdown--2col { display: grid !important; }
@media (max-width:900px) {
  .dropdown--2col { grid-template-columns: 1fr !important; min-width: unset !important; }
  .hdr-nav ul > li.open > .dropdown--2col { display: flex !important; flex-direction:column; }
}

/* ===== NSS PAGE ===== */
.nss-about-card {
  background:white;border:1px solid #E8DCC8;border-radius:12px;
  padding:2rem;margin-bottom:1.5rem;
}
.nss-badge-row { display:flex;gap:0.65rem;flex-wrap:wrap;margin-bottom:1rem; }
.nss-unit-badge {
  background:#3E5C39;color:white;font-size:0.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.12em;padding:0.3rem 0.9rem;border-radius:100px;
}
.nss-year-badge {
  background:#D4E6CF;color:#3E5C39;font-size:0.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.12em;padding:0.3rem 0.9rem;border-radius:100px;
}
.nss-about-card h2 {
  font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:700;
  color:#2A2F27;margin:0 0 1rem;
}

.nss-section-head { margin-bottom:1.25rem; }
.nss-section-head h3 {
  font-family:"Playfair Display",serif;font-size:1.2rem;font-weight:700;
  color:#2A2F27;margin:0.3rem 0 0;
}

/* Members */
.nss-members-section {
  background:white;border:1px solid #E8DCC8;border-radius:12px;
  padding:2rem;margin-bottom:1.5rem;
}
.nss-members-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;
}
.nss-member-card {
  border:1px solid #E8DCC8;border-radius:10px;overflow:hidden;
  transition:transform 0.2s,box-shadow 0.2s;
}
.nss-member-card:hover { transform:translateY(-3px);box-shadow:0 8px 20px rgba(62,92,57,0.1); }
.nss-member-photo {
  height:200px;background:linear-gradient(135deg,#3E5C39,#1a3318);
  overflow:hidden;position:relative;
}
.nss-member-photo img {
  width:100%;height:100%;object-fit:cover;object-position:top;display:block;
}
.nss-member-avatar {
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-family:"Playfair Display",serif;font-size:2.5rem;font-weight:700;
  color:rgba(255,255,255,0.35);
}
.nss-member-info {
  padding:1rem 1.25rem;border-top:3px solid #3E5C39;
}
.nss-member-info h4 { font-size:0.9rem;font-weight:700;color:#2A2F27;margin:0 0 0.25rem; }
.nss-member-info p { font-size:0.75rem;color:#7D9B76;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;margin:0 0 0.4rem; }
.nss-member-contact {
  display:flex;align-items:center;gap:0.3rem;font-size:0.78rem;color:#7A8A76;
}
.nss-member-contact svg { width:12px;height:12px; }

/* Reports */
.nss-reports-section {
  background:white;border:1px solid #E8DCC8;border-radius:12px;padding:2rem;
}
.nss-report-link {
  display:flex;align-items:center;gap:0.75rem;
  background:#FAF6EF;border:1px solid #E8DCC8;border-radius:8px;
  padding:0.85rem 1.25rem;text-decoration:none;color:#2A2F27;
  font-size:0.88rem;font-weight:600;transition:background 0.2s;
}
.nss-report-link:hover { background:#D4E6CF; }
.nss-report-link svg { width:18px;height:18px;stroke:#3E5C39;flex-shrink:0; }

/* NSS Student Coordinators */
.nss-student-coords {
  margin-top:1.75rem;padding-top:1.5rem;
  border-top:1px dashed #E8DCC8;
}
.nss-coord-head {
  font-size:0.7rem;font-weight:700;text-transform:uppercase;
  letter-spacing:0.15em;color:#7D9B76;margin-bottom:0.85rem;
}
.nss-coord-list { display:flex;flex-direction:column;gap:0.5rem; }
.nss-coord-item {
  display:flex;align-items:center;gap:0.75rem;
  font-size:0.88rem;
}
.nss-coord-item span {
  min-width:80px;color:#7A8A76;font-size:0.8rem;
}
.nss-coord-item strong { color:#2A2F27;font-weight:700; }


/* ===== HOSTEL PAGE ===== */
.hostel-layout {
  display:grid;grid-template-columns:1fr 300px;gap:1.75rem;align-items:start;
}
.hostel-content { display:flex;flex-direction:column;gap:1.25rem; }

.hostel-intro-block {
  background:white;border:1px solid #E8DCC8;border-radius:12px;padding:1.75rem 2rem;
}
.hostel-intro-block h2 { font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:700;color:#2A2F27;margin:0.5rem 0 0.85rem; }
.hostel-intro-text { font-size:0.92rem;color:#4A5447;line-height:1.8;margin:0; }

.hostel-block {
  background:white;border:1px solid #E8DCC8;border-radius:12px;overflow:hidden;
}
.hostel-block-head {
  background:linear-gradient(135deg,#3E5C39,#2d5229);
  padding:1rem 1.5rem;display:flex;align-items:center;gap:0.75rem;
}
.hostel-block-icon { font-size:1.25rem;line-height:1; }
.hostel-block-head h3 { font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:white;margin:0; }
.hostel-block-body { padding:1.25rem 1.5rem; }

.hostel-name { font-weight:700;color:#2A2F27;font-size:0.92rem;margin-bottom:0.2rem; }
.hostel-block-body p { font-size:0.84rem;color:#7A8A76;line-height:1.6;margin:0 0 0.85rem; }

.hostel-contact-row {
  display:flex;align-items:flex-start;gap:0.65rem;
  background:#FAF6EF;border:1px solid #E8DCC8;border-radius:8px;padding:0.75rem 1rem;
}
.hostel-contact-row svg { width:15px;height:15px;stroke:#3E5C39;flex-shrink:0;margin-top:2px; }
.hostel-contact-label { display:block;font-size:0.7rem;color:#7A8A76;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.15rem; }
.hostel-contact-row a { font-size:0.92rem;font-weight:700;color:#3E5C39;text-decoration:none; }

.hostel-girls-list { display:flex;flex-direction:column;gap:0.85rem; }
.hostel-girls-item { display:flex;gap:0.85rem;align-items:flex-start; }
.hostel-girls-num {
  width:26px;height:26px;background:#3E5C39;color:white;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.75rem;font-weight:700;flex-shrink:0;margin-top:2px;
}
.hostel-girls-item .hostel-name { margin-bottom:0.15rem; }
.hostel-girls-item p { margin:0;font-size:0.82rem; }

/* Photo panel */
.hostel-photo-panel { display:flex;flex-direction:column;gap:1rem;position:sticky;top:130px; }

.hostel-photo-main {
  position:relative;border-radius:12px;overflow:hidden;
  background:linear-gradient(135deg,#3E5C39,#1a3318);
  min-height:300px;
}
.hostel-photo-main img {
  width:100%;height:100%;object-fit:cover;display:block;min-height:300px;
}
.hostel-photo-empty { display:flex;align-items:center;justify-content:center; }
.hostel-photo-empty::after {
  content:"Hostel Photo";font-size:0.8rem;color:rgba(255,255,255,0.3);
  text-transform:uppercase;letter-spacing:0.1em;
}
.hostel-photo-label {
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(26,51,24,0.85),transparent);
  color:white;font-family:"Playfair Display",serif;font-size:0.95rem;font-weight:700;
  padding:1.5rem 1.25rem 1rem;
}

.hostel-highlights {
  background:linear-gradient(135deg,#3E5C39,#2d5229);
  border-radius:10px;padding:1.25rem;
  display:flex;justify-content:space-around;
}
.hostel-highlight-item { text-align:center; }
.hostel-hl-num { font-family:"Playfair Display",serif;font-size:1.75rem;font-weight:700;color:white;line-height:1; }
.hostel-hl-lbl { font-size:0.72rem;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.1em;margin-top:0.25rem; }

@media (max-width:900px) {
  .hostel-layout { grid-template-columns:1fr; }
  .hostel-photo-panel { position:static;flex-direction:row;flex-wrap:wrap; }
  .hostel-photo-main { flex:1;min-width:200px;min-height:200px; }
  .hostel-highlights { flex:0 0 120px; }
}

/* Placement dummy image */
.placement-dummy-img {
  width:100%;min-height:300px;
  align-items:center;justify-content:center;
  background:linear-gradient(135deg,#3E5C39,#1a3318);
}
.placement-dummy-img svg { width:100%;height:auto;max-height:340px; }

/* Placement objectives */
.placement-obj-list { padding-left:1.25rem;margin:0;display:flex;flex-direction:column;gap:0.6rem; }
.placement-obj-list li { font-size:0.88rem;color:#4A5447;line-height:1.65; }

/* ===== PLACEMENT PAGE ===== */
.plc-hero {
  background:linear-gradient(135deg,#1a3318 0%,#3E5C39 60%,#2d5229 100%);
  padding:4.5rem 2rem;text-align:center;margin-top:114px;
  position:relative;overflow:hidden;
}
.plc-hero::before { content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(255,255,255,0.03)'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E"); }
.plc-hero-inner { position:relative;z-index:1;max-width:760px;margin:0 auto; }
.plc-hero h1 { font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:white;margin:0.75rem 0 0.85rem;line-height:1.2; }
.plc-hero p { font-size:0.92rem;color:rgba(255,255,255,0.75);line-height:1.8;margin:0 0 2rem; }
.plc-hero-stats { display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:12px;padding:1.25rem 2rem;gap:0; }
.plc-stat { text-align:center;padding:0 1.5rem; }
.plc-stat-num { display:block;font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:700;color:white;line-height:1; }
.plc-stat-lbl { display:block;font-size:0.68rem;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.1em;margin-top:0.25rem; }
.plc-stat-div { width:1px;height:36px;background:rgba(255,255,255,0.2); }

.plc-body { background:#FAF6EF;padding:3.5rem 2rem 5rem; }
.plc-inner { max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:3rem; }

/* About grid */
.plc-about-grid { display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start; }
.plc-about-text h2 { font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:#2A2F27;margin:0.4rem 0 1rem; }
.plc-about-text .res-body { margin-bottom:1.5rem; }

/* Objectives */
.plc-obj-list { display:flex;flex-direction:column;gap:1rem; }
.plc-obj-item { display:flex;gap:1rem;align-items:flex-start;background:white;border:1px solid #E8DCC8;border-radius:10px;padding:1rem 1.25rem; }
.plc-obj-icon { font-size:1.4rem;flex-shrink:0;line-height:1;margin-top:2px; }
.plc-obj-item h4 { font-size:0.88rem;font-weight:700;color:#2A2F27;margin:0 0 0.2rem; }
.plc-obj-item p { font-size:0.82rem;color:#7A8A76;margin:0;line-height:1.5; }

/* Image */
.plc-about-img {
  border-radius:14px;overflow:hidden;
  box-shadow:0 16px 48px rgba(62,92,57,0.2);
  position:sticky;top:130px;
  background:linear-gradient(135deg,#3E5C39,#1a3318);
}
.plc-about-img img { width:100%;display:block;min-height:300px;object-fit:cover; }
.plc-dummy { width:100%;min-height:340px;align-items:center;justify-content:center; }
.plc-dummy svg { width:100%;height:auto; }

/* Team */
.plc-team-section { background:linear-gradient(135deg,#3E5C39,#1a3318);border-radius:12px;padding:2.5rem; }
.plc-team-head { margin-bottom:2rem; }
.plc-team-head h2 { font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;margin:0.4rem 0 0; }
.plc-team-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem; }
.plc-team-card {
  background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);
  border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;gap:0.75rem;
  transition:background 0.2s;
}
.plc-team-card:hover { background:rgba(255,255,255,0.12); }
.plc-team-card--head { background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.25); }
.plc-team-avatar {
  width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.15);
  display:flex;align-items:center;justify-content:center;
  font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:700;color:white;
}
.plc-team-card--head .plc-team-avatar { background:rgba(255,255,255,0.25); }
.plc-team-info { flex:1; }
.plc-team-info h4 { font-size:0.92rem;font-weight:700;color:white;margin:0 0 0.2rem; }
.plc-team-role { font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.55); }
.plc-team-contacts { display:flex;flex-direction:column;gap:0.35rem; }
.plc-team-contact {
  display:flex;align-items:center;gap:0.4rem;
  font-size:0.78rem;color:rgba(255,255,255,0.7);text-decoration:none;
  transition:color 0.15s;
}
.plc-team-contact:hover { color:white; }
.plc-team-contact svg { width:13px;height:13px;flex-shrink:0; }

@media (max-width:900px) {
  .plc-hero { margin-top:90px; }
  .plc-about-grid { grid-template-columns:1fr; }
  .plc-about-img { position:static; }
  .plc-hero-stats { gap:1rem; }
  .plc-stat-div { display:none; }
}
@media (max-width:600px) {
  .plc-hero-stats { flex-direction:column;gap:0.75rem; }
  .plc-team-grid { grid-template-columns:1fr; }
}

/* ===== ACTIVITIES / CATALYST CAMPUS PAGE ===== */
.act-hero {
  background:linear-gradient(135deg,#1a3318 0%,#3E5C39 60%,#2d5229 100%);
  padding:4.5rem 2rem;text-align:center;margin-top:114px;
  position:relative;overflow:hidden;
}
.act-hero::before { content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(255,255,255,0.03)'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E"); }
.act-hero-inner { position:relative;z-index:1;max-width:680px;margin:0 auto; }
.act-hero h1 { font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:white;margin:0.75rem 0 0.85rem;line-height:1.2; }
.act-hero p { font-size:0.92rem;color:rgba(255,255,255,0.75);line-height:1.8;margin:0; }

.act-body { background:#FAF6EF;padding:3.5rem 2rem 5rem; }
.act-inner { max-width:1100px;margin:0 auto; }

/* Grid */
.act-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1.5rem;
}
.act-card {
  background:white;border-radius:12px;overflow:hidden;
  border:1px solid #E8DCC8;text-decoration:none;
  transition:transform 0.25s,box-shadow 0.25s;
  display:flex;flex-direction:column;
}
.act-card:hover { transform:translateY(-5px);box-shadow:0 16px 40px rgba(62,92,57,0.15); }

.act-card-photo {
  position:relative;height:220px;overflow:hidden;
  background:linear-gradient(135deg,#3E5C39,#1a3318);
  flex-shrink:0;
}
.act-card-photo img {
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 0.4s;
}
.act-card:hover .act-card-photo img { transform:scale(1.06); }
.act-card-photo--empty { background:linear-gradient(135deg,#3E5C39,#1a3318); }
.act-card-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(26,51,24,0.6) 0%,transparent 60%);
}

.act-card-content { padding:1.5rem;display:flex;flex-direction:column;flex:1; }
.act-card-content h3 {
  font-family:"Playfair Display",serif;font-size:1.05rem;font-weight:700;
  color:#2A2F27;margin:0 0 0.5rem;line-height:1.3;
}
.act-card-content p { font-size:0.84rem;color:#7A8A76;line-height:1.65;margin:0 0 1rem;flex:1; }
.act-read-more {
  font-size:0.78rem;font-weight:700;color:#3E5C39;
  text-transform:uppercase;letter-spacing:0.08em;
  display:inline-flex;align-items:center;gap:0.25rem;
  margin-top:auto;
}

/* Detail view */
.act-detail-card {
  background:white;border:1px solid #E8DCC8;border-radius:12px;
  overflow:hidden;margin-bottom:2.5rem;
}
.act-detail-photo { height:380px;overflow:hidden;position:relative; }
.act-detail-photo img { width:100%;height:100%;object-fit:cover;display:block; }
.act-detail-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(26,51,24,0.5) 0%,transparent 60%);
}
.act-detail-content { padding:2.5rem; }
.act-back-btn {
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.78rem;font-weight:700;color:#7D9B76;
  text-decoration:none;text-transform:uppercase;letter-spacing:0.08em;
  margin-bottom:1rem;
}
.act-back-btn svg { width:14px;height:14px; }
.act-back-btn:hover { color:#3E5C39; }
.act-detail-content h2 {
  font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:700;
  color:#2A2F27;margin:0 0 1.25rem;
}
.act-section-head { margin-bottom:1.5rem; }

@media (max-width:900px) {
  .act-hero { margin-top:90px; }
  .act-grid { grid-template-columns:repeat(2,1fr); }
  .act-detail-photo { height:240px; }
}
@media (max-width:600px) {
  .act-grid { grid-template-columns:1fr; }
}

/* ===== RESOURCES PAGE HERO ===== */
.res-page-hero {
  background:linear-gradient(135deg,#1a3318 0%,#3E5C39 60%,#2d5229 100%);
  padding:4.5rem 2rem 3rem;text-align:center;margin-top:114px;
  position:relative;overflow:hidden;
}
.res-page-hero::before { content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(255,255,255,0.03)'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E"); }
.res-page-hero-inner { position:relative;z-index:1;max-width:720px;margin:0 auto; }
.res-page-hero h1 { font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:white;margin:0.75rem 0 0.85rem;line-height:1.2; }
.res-page-hero p { font-size:0.92rem;color:rgba(255,255,255,0.75);line-height:1.8;margin:0 0 2rem; }

/* Stats bar */
.res-stats { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:12px;padding:1.25rem 2rem; }
.res-stat { text-align:center;padding:0 1.5rem; }
.res-stat-num { display:block;font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:700;color:white;line-height:1; }
.res-stat-lbl { display:block;font-size:0.68rem;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.1em;margin-top:0.25rem; }
.res-stat-div { width:1px;height:36px;background:rgba(255,255,255,0.2); }

/* Strip */
.res-strip { background:#3E5C39;padding:0 2rem;overflow-x:auto; }
.res-strip-inner { max-width:1100px;margin:0 auto;display:flex;gap:0; }
.res-strip-card {
  display:flex;flex-direction:column;align-items:center;gap:0.4rem;
  padding:1rem 1.25rem;text-decoration:none;color:rgba(255,255,255,0.7);
  font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;
  white-space:nowrap;border-bottom:3px solid transparent;
  transition:all 0.2s;
}
.res-strip-card:hover,.res-strip-card.active { color:white;border-bottom-color:white;background:rgba(255,255,255,0.08); }
.res-strip-icon { font-size:1.3rem;line-height:1; }

/* Detail */
.res-detail { background:#FAF6EF;padding:3rem 2rem 5rem; }
.res-detail-inner { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start; }
.res-detail-photo { border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#3E5C39,#1a3318);position:sticky;top:130px; }
.res-detail-photo img { width:100%;display:block;min-height:280px;object-fit:cover; }
.res-detail-photo-placeholder { min-height:280px;display:flex;align-items:center;justify-content:center; }
.res-detail-photo-placeholder svg { width:80px;height:80px;opacity:0.3; }
.res-detail-badge { display:inline-block;background:#3E5C39;color:white;font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;padding:0.25rem 0.85rem;border-radius:100px;margin:1rem; }
.res-detail-content { background:white;border:1px solid #E8DCC8;border-radius:12px;padding:2rem; }
.res-detail-head { margin-bottom:1.5rem; }
.res-detail-head h2 { font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:700;color:#2A2F27;margin:0.4rem 0 0.75rem; }
.res-detail-divider { width:100%;height:1px;background:linear-gradient(to right,#3E5C39,#D4E6CF,transparent); }
.res-detail-body { font-size:0.92rem;color:#4A5447;line-height:1.9; }
.res-detail-body p { margin:0 0 1rem; }
.res-nav-btns { display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.5rem; }
.res-nav-btn { font-size:0.78rem;font-weight:600;color:#3E5C39;background:#D4E6CF;padding:0.4rem 0.9rem;border-radius:6px;text-decoration:none;transition:background 0.2s; }
.res-nav-btn:hover { background:#A8C4A2; }

/* All grid */
.res-all-section { background:white;padding:3rem 2rem 5rem; }
.res-all-inner { max-width:1100px;margin:0 auto; }
.res-all-head { margin-bottom:1.5rem; }
.res-all-head h2 { font-family:"Playfair Display",serif;font-size:1.3rem;font-weight:700;color:#2A2F27;margin:0.4rem 0 0; }
.res-all-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem; }
.res-all-card { background:#FAF6EF;border:1px solid #E8DCC8;border-radius:10px;overflow:hidden;text-decoration:none;transition:transform 0.2s,box-shadow 0.2s; }
.res-all-card:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(62,92,57,0.12); }
.res-all-card--active { border-color:#3E5C39;border-width:2px; }
.res-all-photo { height:160px;overflow:hidden;background:linear-gradient(135deg,#3E5C39,#1a3318); }
.res-all-photo img { width:100%;height:100%;object-fit:cover;display:block; }
.res-all-photo--empty { display:flex;align-items:center;justify-content:center;font-size:2rem; }
.res-all-info { padding:1rem 1.25rem; }
.res-all-info h4 { font-family:"Playfair Display",serif;font-size:0.9rem;font-weight:700;color:#2A2F27;margin:0 0 0.3rem; }
.res-all-info p { font-size:0.78rem;color:#7A8A76;margin:0 0 0.5rem;line-height:1.5; }
.res-all-tag { font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#3E5C39;background:#D4E6CF;padding:0.2rem 0.6rem;border-radius:100px; }

@media (max-width:900px) {
  .res-page-hero { margin-top:90px; }
  .res-detail-inner { grid-template-columns:1fr; }
  .res-detail-photo { position:static; }
}
@media (max-width:600px) {
  .res-stats { flex-direction:column;gap:0.75rem; }
  .res-stat-div { display:none; }
}

/* 3-column dropdown */
.dropdown--3col {
  display: none;
  grid-template-columns: 1fr 1fr 1fr !important;
  min-width: 540px !important;
  left: 0 !important;
  right: auto !important;
}
.hdr-nav ul > li:hover > .dropdown--3col { display: grid !important; }
@media (max-width:900px) {
  .dropdown--3col { grid-template-columns: 1fr !important; min-width: unset !important; }
  .hdr-nav ul > li.open > .dropdown--3col { display: flex !important; flex-direction:column; }
}

/* ===== GALLERY PAGE ===== */
.gal-hero {
  background:linear-gradient(135deg,#1a3318 0%,#3E5C39 60%,#2d5229 100%);
  padding:4.5rem 2rem;text-align:center;margin-top:114px;
  position:relative;overflow:hidden;
}
.gal-hero::before { content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(255,255,255,0.03)'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E"); }
.gal-hero-inner { position:relative;z-index:1;max-width:640px;margin:0 auto; }
.gal-hero h1 { font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:white;margin:0.75rem 0 0.85rem;line-height:1.2; }
.gal-hero p { font-size:0.92rem;color:rgba(255,255,255,0.75);line-height:1.8;margin:0; }

/* Albums section */
.gal-albums-section { background:#FAF6EF;padding:3.5rem 2rem 5rem; }
.gal-albums-inner { max-width:1100px;margin:0 auto; }

/* Album grid */
.gal-albums-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1.5rem;
}

/* Album card */
.gal-album-card {
  text-decoration:none;background:white;border-radius:14px;
  overflow:hidden;border:1px solid #E8DCC8;
  transition:transform 0.25s,box-shadow 0.25s;
  display:flex;flex-direction:column;
  position:relative;
}
.gal-album-card:hover { transform:translateY(-5px);box-shadow:0 16px 40px rgba(62,92,57,0.18); }

/* Cover */
.gal-album-cover {
  position:relative;height:220px;overflow:hidden;
  background:linear-gradient(135deg,#3E5C39,#1a3318);
}
.gal-album-cover img {
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 0.4s;
}
.gal-album-card:hover .gal-album-cover img { transform:scale(1.07); }
.gal-album-cover--empty { background:linear-gradient(135deg,#3E5C39,#1a3318);width:100%;height:100%; }
.gal-album-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(26,51,24,0.65) 0%,transparent 60%);
}

/* Stack effect - 2 cards behind */
.gal-album-stack-1,.gal-album-stack-2 {
  position:absolute;left:0;right:0;bottom:-4px;
  height:220px;border-radius:14px 14px 0 0;
  background:white;border:1px solid #E8DCC8;z-index:-1;
}
.gal-album-stack-1 { transform:scale(0.95);bottom:-6px;opacity:0.6; }
.gal-album-stack-2 { transform:scale(0.9);bottom:-10px;opacity:0.4; }

/* Photo count badge */
.gal-album-count {
  position:absolute;top:0.85rem;right:0.85rem;
  background:rgba(0,0,0,0.45);backdrop-filter:blur(4px);
  color:white;font-size:0.72rem;font-weight:700;
  padding:0.25rem 0.65rem;border-radius:100px;
  display:flex;align-items:center;gap:0.3rem;
}
.gal-album-count svg { width:13px;height:13px; }

/* Info */
.gal-album-info {
  padding:1.25rem 1.5rem;
  display:flex;flex-direction:column;gap:0.3rem;
}
.gal-album-info h3 {
  font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;
  color:#2A2F27;margin:0;line-height:1.3;
}
.gal-album-meta { font-size:0.75rem;color:#7A8A76; }
.gal-album-arrow {
  font-size:0.75rem;font-weight:700;color:#3E5C39;
  text-transform:uppercase;letter-spacing:0.08em;margin-top:0.25rem;
  opacity:0;transform:translateX(-4px);transition:all 0.2s;
}
.gal-album-card:hover .gal-album-arrow { opacity:1;transform:translateX(0); }

/* ?? Album detail page ?? */
.gal-album-section { background:#FAF6EF;padding:2.5rem 2rem 5rem; }
.gal-album-inner { max-width:1100px;margin:0 auto; }

.gal-photo-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:0.85rem;
}
.gal-photo-item {
  position:relative;height:200px;overflow:hidden;
  border-radius:8px;cursor:pointer;background:#D4E6CF;
}
.gal-photo-item img {
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 0.35s;
}
.gal-photo-item:hover img { transform:scale(1.08); }
.gal-photo-item-overlay {
  position:absolute;inset:0;background:rgba(26,51,24,0.4);
  opacity:0;transition:opacity 0.25s;
  display:flex;align-items:center;justify-content:center;
}
.gal-photo-item:hover .gal-photo-item-overlay { opacity:1; }
.gal-photo-item-overlay svg { width:36px;height:36px;stroke:white; }

/* ?? Lightbox ?? */
.gal-lightbox {
  display:none;position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,0.92);
  align-items:center;justify-content:center;
}
.gal-lightbox.open { display:flex; }
.gal-lb-content {
  display:flex;flex-direction:column;align-items:center;
  max-width:90vw;max-height:90vh;
}
.gal-lb-content img {
  max-width:90vw;max-height:78vh;object-fit:contain;
  border-radius:4px;box-shadow:0 8px 40px rgba(0,0,0,0.5);
}
.gal-lb-caption { color:rgba(255,255,255,0.85);font-size:0.88rem;margin-top:0.85rem;text-align:center; }
.gal-lb-counter { color:rgba(255,255,255,0.45);font-size:0.75rem;margin-top:0.3rem; }
.gal-lb-close {
  position:fixed;top:1.25rem;right:1.5rem;
  background:none;border:none;color:white;font-size:2rem;cursor:pointer;
  line-height:1;opacity:0.7;transition:opacity 0.2s;z-index:10000;
}
.gal-lb-close:hover { opacity:1; }
.gal-lb-prev,.gal-lb-next {
  position:fixed;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);
  color:white;font-size:1.25rem;width:48px;height:48px;
  border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background 0.2s;z-index:10000;
}
.gal-lb-prev { left:1.25rem; }
.gal-lb-next { right:1.25rem; }
.gal-lb-prev:hover,.gal-lb-next:hover { background:rgba(255,255,255,0.2); }

@media (max-width:900px) {
  .gal-hero { margin-top:90px; }
  .gal-albums-grid { grid-template-columns:repeat(2,1fr); }
  .gal-photo-grid { grid-template-columns:repeat(3,1fr); }
  .gal-photo-item { height:160px; }
}
@media (max-width:600px) {
  .gal-albums-grid { grid-template-columns:repeat(2,1fr);gap:1rem; }
  .gal-album-cover { height:160px; }
  .gal-photo-grid { grid-template-columns:repeat(2,1fr); }
}

/* ============================================================
   COMPLETE HEADER CSS (moved from style.css to inner.css)
   ============================================================ */

:root {
  --forest:    #3E5C39;
  --forest-dk: #1a3318;
  --forest-md: #2d5229;
  --sage:      #7D9B76;
  --sage-light:#A8C4A2;
  --sage-pale: #D4E6CF;
  --cream:     #FAF6EF;
  --cream-warm:#F2EAD8;
  --cream-dark:#E8DCC8;
  --text-dark: #2A2F27;
  --text-mid:  #4A5447;
  --text-light:#7A8A76;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:"Jost",sans-serif;color:var(--text-dark);background:#fff;overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;display:block;}

.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: var(--forest);
  box-shadow: 0 2px 12px rgba(0,0,0,0.15);
}
.site-header.scrolled { box-shadow: 0 4px 24px rgba(62,92,57,0.25); }

.hdr-contact-bar {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 0.4rem 2rem;
  background: rgba(0,0,0,0.2);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-wrap: wrap;
}
.hdr-contact-left {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex: 1;
}
.hdr-contact-left span {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  color: rgba(255,255,255,0.78);
  white-space: nowrap;
}
.hdr-contact-left svg { width:11px;height:11px;fill:var(--sage-light);flex-shrink:0; }
.hdr-social { display:flex;align-items:center;gap:0.5rem; }
.hdr-social a {
  width:26px;height:26px;border-radius:50%;
  background:rgba(255,255,255,0.12);
  display:flex;align-items:center;justify-content:center;
  transition:background 0.2s;
}
.hdr-social a:hover { background:rgba(255,255,255,0.25); }
.hdr-social svg { width:13px;height:13px;fill:white; }
.hdr-topbar-right { display:flex;align-items:center;gap:1rem; }
.hdr-topbar-right a {
  font-size:0.68rem;color:rgba(255,255,255,0.65);
  text-transform:uppercase;letter-spacing:0.06em;transition:color 0.2s;
}
.hdr-topbar-right a:hover { color:white; }

.hdr-brand-bar {
  display:flex;align-items:center;justify-content:space-between;
  padding:0.6rem 2rem;background:var(--forest);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.hdr-logo-block { display:flex;align-items:center; }
.logo-link { display:flex;align-items:center; }
.logo-link img { height:62px;width:auto; }

.hdr-right-block {
  display:flex;align-items:center;gap:1rem;flex:1;justify-content:flex-end;
}
.hdr-badges { display:flex;align-items:center;gap:0.5rem; }
.badge-circle {
  width:52px;height:52px;border-radius:50%;
  border:2px solid rgba(255,255,255,0.4);
  display:flex;align-items:center;justify-content:center;
  font-size:0.55rem;font-weight:700;text-align:center;
  color:white;line-height:1.2;text-transform:uppercase;
}
.badge-naac { background:rgba(255,255,255,0.1); }
.badge-nirf { background:rgba(255,165,0,0.2);border-color:rgba(255,165,0,0.5); }
.hdr-center-links { display:flex;align-items:center;gap:1rem; }
.hdr-center-links a {
  font-size:0.72rem;color:rgba(255,255,255,0.75);
  transition:color 0.2s;text-transform:uppercase;letter-spacing:0.05em;
}
.hdr-center-links a:hover { color:white; }
.hdr-quicklinks { position:relative; }
.login-dropdown-wrap { position:relative; }
.login-btn {
  display:flex;align-items:center;gap:0.4rem;
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.22);
  color:white;padding:0.45rem 0.9rem;border-radius:6px;
  font-size:0.78rem;font-weight:600;cursor:pointer;
  font-family:"Jost",sans-serif;transition:background 0.2s;
}
.login-btn:hover { background:rgba(255,255,255,0.18); }
.login-dropdown {
  display:none;position:absolute;right:0;top:calc(100% + 6px);
  background:white;border:1px solid var(--cream-dark);
  border-radius:8px;min-width:160px;
  box-shadow:0 8px 24px rgba(0,0,0,0.12);z-index:999;overflow:hidden;
}
.login-dropdown-wrap:hover .login-dropdown { display:block; }
.login-dropdown li a {
  display:block;padding:0.6rem 1rem;font-size:0.82rem;
  color:var(--text-dark);border-bottom:1px solid var(--cream-dark);
  transition:background 0.15s;
}
.login-dropdown li:last-child a { border-bottom:none; }
.login-dropdown li a:hover { background:var(--cream);color:var(--forest); }
.btn-admission {
  background:white;color:var(--forest);padding:0.5rem 1.25rem;
  border-radius:6px;font-size:0.78rem;font-weight:700;
  transition:all 0.2s;white-space:nowrap;
}
.btn-admission:hover { background:var(--cream); }

.mob-hamburger {
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;padding:0.4rem;
}
.mob-hamburger span {
  display:block;width:22px;height:2px;
  background:white;border-radius:2px;transition:all 0.3s;
}
.main-hamburger { margin-left:auto; }

.hdr-nav {
  background:rgba(0,0,0,0.15);
  border-top:1px solid rgba(255,255,255,0.07);
}
.hdr-nav-inner {
  padding:0 1.5rem;display:flex;width:100%;
  max-width:1400px;margin:0 auto;
}
.hdr-nav ul {
  display:flex;align-items:stretch;flex-wrap:wrap;width:100%;
}
.hdr-nav ul > li { position:relative; }
.hdr-nav ul > li > a {
  display:flex;align-items:center;gap:0.25rem;
  padding:0.7rem 0.8rem;font-size:0.72rem;font-weight:600;
  text-transform:uppercase;letter-spacing:0.07em;
  color:rgba(255,255,255,0.85);white-space:nowrap;
  transition:color 0.2s;position:relative;
}
.hdr-nav ul > li > a::after {
  content:'';position:absolute;
  bottom:0;left:50%;right:50%;height:2px;
  background:white;transition:all 0.25s;
}
.hdr-nav ul > li > a:hover,
.hdr-nav ul > li > a.active { color:white; }
.hdr-nav ul > li > a:hover::after,
.hdr-nav ul > li > a.active::after { left:0.8rem;right:0.8rem; }
.caret {
  display:inline-block;width:0;height:0;
  border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:4px solid rgba(255,255,255,0.7);
  margin-left:2px;vertical-align:middle;
}
.hdr-nav ul > li > .dropdown {
  display:none;position:absolute;top:100%;left:0;
  background:white;min-width:230px;
  border:1px solid var(--cream-dark);
  border-radius:0 0 8px 8px;
  box-shadow:0 8px 28px rgba(0,0,0,0.12);
  z-index:999;flex-direction:column;
}
.hdr-nav ul > li:hover > .dropdown { display:flex; }
.hdr-nav ul > li > .dropdown > li > a {
  display:block;padding:0.55rem 1rem;font-size:0.82rem;font-weight:500;
  color:var(--text-dark);border-bottom:1px solid var(--cream-dark);
  transition:all 0.15s;text-transform:none;letter-spacing:0;
}
.hdr-nav ul > li > .dropdown > li:last-child > a { border-bottom:none; }
.hdr-nav ul > li > .dropdown > li > a:hover {
  background:var(--cream);color:var(--forest);padding-left:1.25rem;
}
.has-sub { position:relative; }
.sub-dropdown {
  display:none !important;position:absolute !important;
  top:0 !important;left:100% !important;min-width:200px !important;
}
.has-sub:hover > .sub-dropdown { display:flex !important; }
.sub-arrow { float:right;font-size:1rem;line-height:1; }

.hero {
  position:relative;width:100%;height:100vh;
  min-height:500px;overflow:hidden;background:var(--forest-dk);
}
.hero-video-wrap { position:absolute;inset:0; }
.hero-video-wrap video,.hero-video-wrap img {
  width:100%;height:100%;object-fit:cover;
}
.hero-mp4 { width:100%;height:100%;object-fit:cover; }
.hero-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(26,51,24,0.55) 0%,rgba(26,51,24,0.3) 50%,rgba(26,51,24,0.7) 100%);
}
.marquee-bar {
  background:rgba(0,0,0,0.35);border-top:1px solid rgba(255,255,255,0.1);
  overflow:hidden;padding:0.55rem 0;
  position:absolute;bottom:0;left:0;right:0;
}
.marquee-track {
  display:flex;gap:3rem;
  animation:marqueeScroll 30s linear infinite;white-space:nowrap;
}
.marquee-track span {
  font-size:0.72rem;font-weight:600;text-transform:uppercase;
  letter-spacing:0.1em;color:rgba(255,255,255,0.85);flex-shrink:0;
}
.marquee-track span::before { content:'*';color:var(--sage-light);margin-right:0.5rem; }
@keyframes marqueeScroll {
  0% { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

@media (max-width:1024px) {
  .hdr-nav ul > li > a { padding:0.7rem 0.55rem;font-size:0.68rem; }
}
@media (max-width:900px) {
  .hdr-contact-bar { padding:0.35rem 1rem; }
  .hdr-topbar-right { display:none; }
  .hdr-brand-bar { padding:0.5rem 1rem; }
  .logo-link img { height:48px; }
  .hdr-center-links { display:none; }
  .hdr-right-block { gap:0.5rem; }
  .mob-hamburger { display:flex; }
  .hdr-nav { display:none; }
  .hdr-nav.open { display:block;max-height:70vh;overflow-y:auto; }
  .hdr-nav ul { flex-direction:column; }
  .hdr-nav ul > li > a { padding:0.75rem 1rem;font-size:0.82rem;border-bottom:1px solid rgba(255,255,255,0.08); }
  .hdr-nav ul > li > .dropdown {
    position:static;display:none;box-shadow:none;border:none;
    border-radius:0;background:rgba(0,0,0,0.2);
  }
  .hdr-nav ul > li.open > .dropdown { display:flex; }
  .hdr-nav ul > li > .dropdown > li > a {
    color:rgba(255,255,255,0.8);background:transparent;
    border-color:rgba(255,255,255,0.08);padding-left:2rem;
  }
  .hdr-nav ul > li > .dropdown > li > a:hover { background:rgba(255,255,255,0.08);color:white; }
  .hero { height:60vh; }
}
@media (max-width:600px) {
  .hdr-contact-left span:not(:first-child) { display:none; }
  .hdr-badges { display:none; }
}

/* ============================================================
   ADMISSION PROCESS PAGE
   ============================================================ */
.proc-hero {
  background:linear-gradient(135deg,#1a3318 0%,#3E5C39 60%,#2d5229 100%);
  padding:5rem 2rem 4rem;text-align:center;margin-top:0;
  position:relative;overflow:hidden;
}
.proc-hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(255,255,255,0.03)'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E");}
.proc-hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto;}
.proc-hero h1{font-family:"Playfair Display",serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;color:white;line-height:1.2;margin:0.75rem 0 1rem;}
.proc-hero p{font-size:0.95rem;color:rgba(255,255,255,0.78);line-height:1.8;margin:0;}
.proc-inner{max-width:1100px;margin:0 auto;}

/* Timeline */
.proc-timeline-section{background:#FAF6EF;padding:5rem 2rem;}
.proc-timeline-section h2{font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3vw,2.2rem);color:#2A2F27;margin-bottom:3rem;}
.proc-timeline{display:flex;flex-direction:column;gap:0;}
.proc-step{display:grid;grid-template-columns:80px 1fr;gap:1.5rem;}
.proc-step-left{display:flex;flex-direction:column;align-items:center;}
.proc-step-num{width:52px;height:52px;border-radius:50%;background:#3E5C39;color:white;font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 16px rgba(62,92,57,0.3);}
.proc-step-line{flex:1;width:2px;background:linear-gradient(to bottom,#3E5C39,#D4E6CF);margin:0.5rem 0;}
.proc-step:last-child .proc-step-line{display:none;}
.proc-step-content{padding:0 0 3rem;}
.proc-step-icon svg{width:36px;height:36px;stroke:#3E5C39;margin-bottom:0.75rem;}
.proc-step-content h3{font-family:"Playfair Display",serif;font-size:1.2rem;font-weight:700;color:#2A2F27;margin-bottom:0.6rem;}
.proc-step-content p{font-size:0.9rem;color:#4A5447;line-height:1.8;margin-bottom:0.75rem;}
.proc-step-tags{display:flex;flex-wrap:wrap;gap:0.4rem;}
.proc-step-tags span{font-size:0.72rem;font-weight:600;background:#D4E6CF;color:#3E5C39;padding:0.2rem 0.75rem;border-radius:100px;}

/* Seat categories */
.proc-seats-section{background:white;padding:5rem 2rem;}
.proc-seats-section h2{font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3vw,2.2rem);color:#2A2F27;margin-bottom:2.5rem;}
.proc-seats-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.proc-seat-card{border-radius:14px;padding:2.5rem;position:relative;overflow:hidden;}
.proc-seat-card--merit{background:linear-gradient(135deg,#1a3318,#3E5C39);color:white;}
.proc-seat-card--mgmt{background:#FAF6EF;border:2px solid #D4E6CF;color:#2A2F27;}
.proc-seat-icon{font-size:2.5rem;margin-bottom:1rem;display:block;}
.proc-seat-card h3{font-family:"Playfair Display",serif;font-size:1.3rem;font-weight:700;margin-bottom:0.75rem;}
.proc-seat-card--merit h3{color:white;}
.proc-seat-card--mgmt h3{color:#2A2F27;}
.proc-seat-card p{font-size:0.88rem;line-height:1.75;margin-bottom:1.25rem;opacity:0.85;}
.proc-seat-card ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:0.5rem;}
.proc-seat-card ul li{font-size:0.84rem;display:flex;align-items:flex-start;gap:0.5rem;}
.proc-seat-card ul li::before{content:"checkmark";font-weight:700;flex-shrink:0;margin-top:0.1rem;}
.proc-seat-card--merit ul li::before{color:#A8C4A2;content:"+";}
.proc-seat-card--mgmt ul li::before{color:#3E5C39;content:"+";}

/* Eligibility */
.proc-elig-section{background:#FAF6EF;padding:5rem 2rem;}
.proc-elig-section h2{font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3vw,2.2rem);color:#2A2F27;margin-bottom:2.5rem;}
.proc-elig-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.proc-elig-card{background:white;border:1px solid #E8DCC8;border-radius:12px;padding:2rem;}
.proc-elig-badge{display:inline-block;background:#3E5C39;color:white;font-size:0.7rem;font-weight:800;letter-spacing:0.12em;padding:0.25rem 0.75rem;border-radius:100px;margin-bottom:0.75rem;}
.proc-elig-card h4{font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:#2A2F27;margin-bottom:1rem;padding-bottom:0.75rem;border-bottom:2px solid #D4E6CF;}
.proc-elig-card ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:0.65rem;}
.proc-elig-card ul li{font-size:0.86rem;color:#4A5447;line-height:1.65;display:flex;gap:0.5rem;align-items:flex-start;}
.proc-elig-card ul li::before{content:">";color:#3E5C39;font-weight:700;font-size:1rem;flex-shrink:0;}
.proc-elig-card a{color:#3E5C39;font-weight:600;}

/* CTA */
.proc-cta{background:linear-gradient(135deg,#1a3318,#3E5C39);padding:4rem 2rem;}
.proc-cta h2{font-family:"Playfair Display",serif;font-size:2rem;color:white;margin-bottom:0.75rem;}
.proc-cta p{color:rgba(255,255,255,0.78);font-size:0.95rem;}

/* DB driven process */
.proc-db-body{background:#FAF6EF;padding:3rem 2rem 5rem;}
.proc-db-inner{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:2rem;}
.proc-db-section{background:white;border:1px solid #E8DCC8;border-radius:12px;overflow:hidden;}
.proc-db-section-head{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.75rem;background:#FAF6EF;border-bottom:1px solid #E8DCC8;}
.proc-db-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:white;flex-shrink:0;}
.proc-db-section-head h2{font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:700;color:#2A2F27;margin:0;}
.proc-db-content{padding:1.75rem;font-size:0.9rem;color:#4A5447;line-height:1.85;}
.proc-db-content ul,.proc-db-content ol{padding-left:1.5rem;margin:0.75rem 0;}
.proc-db-content li{margin-bottom:0.5rem;}
.proc-db-content p{margin-bottom:0.75rem;}

/* ============================================================
   FEE REFUND PAGE
   ============================================================ */
.refund-hero {
  background:linear-gradient(135deg,#1a3318 0%,#3E5C39 60%,#2d5229 100%);
  padding:5rem 2rem 4rem;text-align:center;margin-top:0;
  position:relative;overflow:hidden;
}
.refund-hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(255,255,255,0.03)'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E");}
.refund-hero-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;}
.refund-hero h1{font-family:"Playfair Display",serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;color:white;margin:0.75rem 0 1rem;line-height:1.2;}
.refund-hero p{font-size:0.95rem;color:rgba(255,255,255,0.78);line-height:1.8;}
.refund-body{background:#FAF6EF;padding:3.5rem 2rem 5rem;}
.refund-inner{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:2rem;}
.refund-notice{display:flex;gap:1.25rem;align-items:flex-start;background:#D4E6CF;border:1px solid #A8C4A2;border-radius:12px;padding:1.5rem;}
.refund-notice-icon svg{width:28px;height:28px;stroke:#3E5C39;flex-shrink:0;margin-top:2px;}
.refund-notice h4{font-family:"Playfair Display",serif;font-size:0.95rem;font-weight:700;color:#1a3318;margin-bottom:0.35rem;}
.refund-notice p{font-size:0.84rem;color:#2d5229;line-height:1.65;margin:0;}
.refund-table-card{background:white;border:1px solid #E8DCC8;border-radius:12px;overflow:hidden;}
.refund-table-head{padding:1.5rem 2rem;border-bottom:1px solid #E8DCC8;background:#FAF6EF;}
.refund-table-head h3{font-family:"Playfair Display",serif;font-size:1.15rem;font-weight:700;color:#2A2F27;margin:0 0 0.25rem;}
.refund-table-head p{font-size:0.82rem;color:#7A8A76;margin:0;}
.refund-table-wrap{overflow-x:auto;}
.refund-table{width:100%;border-collapse:collapse;}
.refund-table thead th{background:#3E5C39;color:white;padding:0.85rem 1.25rem;font-size:0.8rem;font-weight:600;text-align:left;white-space:nowrap;}
.refund-table tbody tr{border-bottom:1px solid #E8DCC8;}
.refund-table tbody tr:last-child{border-bottom:none;}
.refund-table tbody td{padding:1rem 1.25rem;font-size:0.88rem;color:#4A5447;line-height:1.55;vertical-align:middle;}
.refund-table tbody tr:hover{background:#FAF6EF;}
.refund-sl{font-weight:700;color:#3E5C39;font-size:1rem;text-align:center;width:60px;}
.refund-pct{text-align:center;width:120px;}
.refund-badge{display:inline-block;font-size:0.85rem;font-weight:700;padding:0.3rem 1rem;border-radius:100px;}
.refund-badge--100{background:#D4E6CF;color:#1a3318;}
.refund-badge--90{background:#c8e6c9;color:#1b5e20;}
.refund-badge--80{background:#fff9c4;color:#f57f17;}
.refund-badge--50{background:#ffe0b2;color:#e65100;}
.refund-badge--0{background:#ffcdd2;color:#b71c1c;}
.refund-special{background:white;border:1px solid #E8DCC8;border-left:4px solid #3E5C39;border-radius:0 12px 12px 0;padding:1.75rem;}
.refund-special-head{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.85rem;}
.refund-special-head svg{width:22px;height:22px;stroke:#3E5C39;flex-shrink:0;}
.refund-special-head h3{font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:#2A2F27;margin:0;}
.refund-special p{font-size:0.88rem;color:#4A5447;line-height:1.75;margin:0;}
.refund-keypoints{background:white;border:1px solid #E8DCC8;border-radius:12px;padding:2rem;}
.refund-keypoints h3{font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:700;color:#2A2F27;margin-bottom:1.5rem;padding-bottom:0.75rem;border-bottom:2px solid #D4E6CF;}
.refund-keypoints-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
.refund-kp{background:#FAF6EF;border:1px solid #E8DCC8;border-radius:10px;padding:1.25rem;}
.refund-kp-icon{font-size:1.75rem;margin-bottom:0.6rem;}
.refund-kp h4{font-size:0.88rem;font-weight:700;color:#2A2F27;margin-bottom:0.4rem;}
.refund-kp p{font-size:0.82rem;color:#7A8A76;line-height:1.6;margin:0;}
.refund-contact{background:linear-gradient(135deg,#1a3318,#3E5C39);border-radius:12px;padding:2rem;text-align:center;}
.refund-contact h3{font-family:"Playfair Display",serif;font-size:1.1rem;color:white;margin-bottom:0.5rem;}
.refund-contact p{font-size:0.88rem;color:rgba(255,255,255,0.78);margin-bottom:1.25rem;}
.refund-contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;}
.refund-contact-links a{color:white;font-size:0.85rem;font-weight:600;background:rgba(255,255,255,0.15);padding:0.5rem 1.25rem;border-radius:100px;border:1px solid rgba(255,255,255,0.25);transition:background 0.2s;text-decoration:none;}
.refund-contact-links a:hover{background:rgba(255,255,255,0.25);}
.refund-db-body{background:#FAF6EF;padding:3rem 2rem 5rem;}
.refund-db-inner{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;}
.refund-db-notice{display:flex;gap:1rem;align-items:flex-start;background:#D4E6CF;border:1px solid #A8C4A2;border-radius:10px;padding:1.25rem;}
.refund-db-notice svg{width:24px;height:24px;stroke:#3E5C39;flex-shrink:0;}
.refund-db-notice p{font-size:0.85rem;color:#2d5229;line-height:1.6;margin:0;}
.refund-db-card{background:white;border:1px solid #E8DCC8;border-radius:12px;padding:2rem;font-size:0.9rem;color:#4A5447;line-height:1.85;}
.refund-db-card table{width:100%;border-collapse:collapse;margin:1rem 0;}
.refund-db-card table th{background:#3E5C39;color:white;padding:0.75rem 1rem;font-size:0.82rem;text-align:left;}
.refund-db-card table td{padding:0.75rem 1rem;border-bottom:1px solid #E8DCC8;font-size:0.88rem;}
.refund-db-card ul,.refund-db-card ol{padding-left:1.5rem;margin:0.75rem 0;}
.refund-db-card li{margin-bottom:0.5rem;}

/* Responsive */
@media(max-width:900px){
  .proc-seats-grid,.proc-elig-grid{grid-template-columns:1fr;}
  .proc-step{grid-template-columns:60px 1fr;}
}
@media(max-width:768px){
  .refund-keypoints-grid{grid-template-columns:1fr;}
  .refund-notice{flex-direction:column;}
}
@media(max-width:600px){
  .proc-hero,.refund-hero{padding:4rem 1.5rem 3rem;}
  .proc-timeline-section,.proc-seats-section,.proc-elig-section{padding:3rem 1.25rem;}
}

/* ============================================================
   TWO-COLUMN INNER PAGE LAYOUT (content + sidebar)
   ============================================================ */
.adm-two-col {
  max-width:1100px;
  margin:0 auto;
  padding:3rem 2rem 5rem;
  display:grid;
  grid-template-columns:1fr 300px;
  gap:2.5rem;
  align-items:start;
}
.adm-main-col { min-width:0; }

/* Sidebar */
.adm-sidebar { display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:130px; }
.adm-sidebar-box {
  background:white;border:1px solid #E8DCC8;border-radius:12px;padding:1.5rem;
}
.adm-sidebar-box h4 {
  font-family:"Playfair Display",serif;font-size:0.95rem;font-weight:700;
  color:#2A2F27;margin-bottom:1rem;padding-bottom:0.6rem;
  border-bottom:2px solid #D4E6CF;
}
.adm-sidebar-box ul { list-style:none;padding:0;display:flex;flex-direction:column;gap:0; }
.adm-sidebar-box ul li a {
  display:block;padding:0.55rem 0;font-size:0.84rem;color:#4A5447;
  border-bottom:1px solid #FAF6EF;transition:color 0.2s,padding-left 0.2s;
}
.adm-sidebar-box ul li:last-child a { border-bottom:none; }
.adm-sidebar-box ul li a:hover { color:#3E5C39;padding-left:0.5rem; }
.adm-sidebar-cta { background:linear-gradient(135deg,#1a3318,#3E5C39); }
.adm-sidebar-cta h4 { color:white;border-bottom-color:rgba(255,255,255,0.2); }
.adm-sidebar-cta p { font-size:0.82rem;color:rgba(255,255,255,0.78);line-height:1.6;margin-bottom:1rem; }
.adm-sidebar-btn {
  display:block;text-align:center;background:white;color:#3E5C39;
  padding:0.65rem 1rem;border-radius:8px;font-size:0.82rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.08em;transition:background 0.2s;
}
.adm-sidebar-btn:hover { background:#D4E6CF; }

@media(max-width:900px) {
  .adm-two-col { grid-template-columns:1fr; }
  .adm-sidebar { position:static; }
}
@media(max-width:600px) {
  .adm-two-col { padding:2rem 1.25rem 4rem; }
}

/* ?? Full width refund page wrapper ?? */
.refund-full-wrap {
  max-width:1100px;
  margin:0 auto;
  padding:3rem 2rem 5rem;
}
.refund-full-wrap .refund-notice { max-width:100%; }
.refund-full-wrap .refund-table-card { max-width:100%; }
.refund-full-wrap .refund-keypoints-grid {
  grid-template-columns:repeat(4,1fr);
}
.refund-full-wrap .refund-db-notice,
.refund-full-wrap .refund-db-card { max-width:100%; }

@media(max-width:1024px) {
  .refund-full-wrap .refund-keypoints-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:600px) {
  .refund-full-wrap { padding:2rem 1.25rem 4rem; }
  .refund-full-wrap .refund-keypoints-grid { grid-template-columns:1fr; }
  .refund-notice { flex-direction:column; }
}

/* ============================================================
   SPORTS PAGE
   ============================================================ */
.sports-page-wrap {
  max-width:1200px;
  margin:0 auto;
  padding:3rem 2.5rem 5rem;
}
.sports-intro {
  max-width:600px;
  margin:0 0 2.5rem;
  font-size:0.92rem;
  color:#4A5447;
  line-height:1.8;
}
.sports-cards-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.75rem;
  margin-bottom:3rem;
}
.sp-card {
  background:white;
  border:1px solid #E8DCC8;
  border-radius:4px;
  overflow:hidden;
  transition:box-shadow 0.25s;
}
.sp-card:hover { box-shadow:0 8px 28px rgba(62,92,57,0.12); }
.sp-card-img {
  width:100%;
  aspect-ratio:4/3;
  background:#1a3318;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.sp-card-img img {
  width:100%;height:100%;
  object-fit:cover;display:block;
  transition:transform 0.4s;
}
.sp-card:hover .sp-card-img img { transform:scale(1.04); }
.sp-card-emoji { font-size:3.5rem;opacity:0.3; }
.sp-card-body { padding:1.25rem 1.25rem 1rem; }
.sp-card-body h3 {
  font-family:"Playfair Display",serif;
  font-size:1.15rem;font-weight:700;
  color:#2A2F27;margin:0 0 0.5rem;
}
.sp-card-body p {
  font-size:0.84rem;color:#7A8A76;
  line-height:1.6;margin:0 0 1.1rem;
}
.sp-card-arrow {
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  border:1.5px solid #3E5C39;color:#3E5C39;
  font-size:1rem;text-decoration:none;
  transition:background 0.2s,color 0.2s;
}
.sp-card-arrow:hover { background:#3E5C39;color:white; }

.sports-achieve-strip {
  display:flex;gap:1.5rem;align-items:center;
  background:#1a3318;padding:2rem 2.5rem;
  border-radius:4px;
}
.sports-achieve-icon { font-size:2.5rem;flex-shrink:0; }
.sports-achieve-text h4 {
  font-family:"Playfair Display",serif;
  font-size:1.1rem;font-weight:700;color:white;margin:0 0 0.4rem;
}
.sports-achieve-text p {
  font-size:0.88rem;color:rgba(255,255,255,0.75);
  line-height:1.75;margin:0;
}

@media(max-width:900px) {
  .sports-cards-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:580px) {
  .sports-page-wrap { padding:2rem 1.25rem 3rem; }
  .sports-cards-grid { grid-template-columns:1fr;gap:1rem; }
  .sports-achieve-strip { flex-direction:column;text-align:center;padding:1.5rem; }
}

/* ============================================================
   HOSTEL PAGE
   ============================================================ */

/* Stats bar */
.hs-stats {
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid #E8DCC8;background:white;
}
.hs-stat {
  padding:1.75rem 1.5rem;text-align:center;
  border-right:1px solid #E8DCC8;
}
.hs-stat:last-child { border-right:0; }
.hs-stat-num {
  font-family:"Playfair Display",serif;
  font-size:2.5rem;font-weight:600;color:#3E5C39;line-height:1;
  margin-bottom:0.4rem;
}
.hs-diamond { color:#3E5C39; }
.hs-stat strong { display:block;font-size:0.85rem;font-weight:600;color:#2A2F27; }
.hs-stat span { font-size:0.72rem;color:#7A8A76; }

/* Main wrap */
.hs-wrap { max-width:1180px;margin:0 auto;padding:4.5rem 2.5rem 5rem; }

/* Section header */
.hs-section-head {
  display:grid;grid-template-columns:1fr 1fr;
  gap:3rem;align-items:end;margin-bottom:2.5rem;
}
.hs-eyebrow {
  font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;
  color:#3E5C39;font-weight:600;
  display:flex;align-items:center;gap:0.75rem;margin-bottom:0.5rem;
}
.hs-eyebrow::before { content:'';width:34px;height:1px;background:#3E5C39; }
.hs-section-head h2 {
  font-family:"Playfair Display",serif;
  font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:600;
  color:#2A2F27;margin:0;line-height:1.1;letter-spacing:-0.5px;
}
.hs-section-head p { font-size:0.88rem;color:#7A8A76;line-height:1.75;margin:0; }

/* Boys hostel feature card */
.hs-feature {
  display:grid;grid-template-columns:1.05fr 0.95fr;
  border-radius:16px;overflow:hidden;background:#FAF6EF;
  margin-bottom:1.25rem;
}
.hs-feature-photo {
  min-height:360px;background:#1a3318;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.hs-feature-photo img { width:100%;height:100%;object-fit:cover;display:block; }
.hs-feature-body {
  padding:3rem 3.25rem;
  display:flex;flex-direction:column;justify-content:center;
}
.hs-feature-body h3 {
  font-family:"Playfair Display",serif;
  font-size:2rem;font-weight:600;color:#2A2F27;
  margin:0.75rem 0 1rem;line-height:1.1;
}

/* Girls cards */
.hs-cards {
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1rem;margin-top:0;
}
.hs-card {
  background:white;border:1px solid #E8DCC8;border-radius:14px;overflow:hidden;
}
.hs-card-photo {
  height:200px;background:#1a3318;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.hs-card-photo img { width:100%;height:100%;object-fit:cover;display:block; }
.hs-card-body { padding:1.5rem; }
.hs-card-body h3 {
  font-family:"Playfair Display",serif;
  font-size:1.5rem;font-weight:600;color:#2A2F27;
  margin:0.5rem 0 0.75rem;
}

/* Shared */
.hs-no-photo { font-size:3rem;opacity:0.2;color:white; }
.hs-kicker {
  font-size:0.65rem;text-transform:uppercase;letter-spacing:0.18em;
  color:#3E5C39;font-weight:600;
}
.hs-meta { display:grid;gap:0.5rem;font-size:0.82rem;margin-bottom:1rem; }
.hs-meta div { display:flex;gap:0.6rem;align-items:flex-start; }
.hs-icon { color:#3E5C39;font-weight:700;flex-shrink:0;font-size:0.75rem;margin-top:2px; }
.hs-meta span:last-child { color:#4A5447;line-height:1.4; }
.hs-feature-body p,.hs-card-body p { font-size:0.84rem;color:#7A8A76;line-height:1.7;margin:0; }

/* Life section */
.hs-life-wrap { background:#FAF6EF;padding:0 0 5rem; }
.hs-life-inner {
  max-width:1180px;margin:0 auto;padding:0 2.5rem;
  display:grid;grid-template-columns:1fr 1fr;
  min-height:380px;background:#FAF6EF;border-radius:0;overflow:hidden;
}
.hs-life-photo {
  background:#1a3318;min-height:380px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  border-radius:0;
}
.hs-life-photo img { width:100%;height:100%;object-fit:cover;display:block; }
.hs-life-copy { padding:3rem 3.5rem;display:flex;flex-direction:column;justify-content:center; }
.hs-life-copy h2 {
  font-family:"Playfair Display",serif;
  font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;
  color:#2A2F27;margin:0.5rem 0 1rem;letter-spacing:-0.3px;
}
.hs-life-copy p { font-size:0.88rem;color:#7A8A76;line-height:1.75;margin:0 0 1.5rem; }
.hs-features { display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:0.5rem; }
.hs-feature-item { border-top:1px solid #D4E6CF;padding-top:0.75rem; }
.hs-ficon { font-size:1.2rem;color:#3E5C39;margin-bottom:0.4rem; }
.hs-feature-item strong { display:block;font-size:0.8rem;color:#2A2F27;line-height:1.35;font-weight:600; }

/* CTA */
.hs-cta { background:#1a3318;position:relative;overflow:hidden; }
.hs-cta-inner {
  max-width:1180px;margin:0 auto;padding:3.25rem 2.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
.hs-eyebrow-light { color:rgba(255,255,255,0.6); }
.hs-eyebrow-light::before { background:rgba(255,255,255,0.4); }
.hs-cta h2 {
  font-family:"Playfair Display",serif;
  font-size:2rem;font-weight:600;color:white;margin:0.4rem 0 0.3rem;
}
.hs-cta p { font-size:0.85rem;color:rgba(255,255,255,0.7);margin:0; }
.hs-cta-btn {
  display:inline-flex;align-items:center;gap:0.75rem;
  background:white;color:#1a3318;
  padding:0.9rem 1.75rem;border-radius:100px;
  font-size:0.82rem;font-weight:600;white-space:nowrap;
  transition:transform 0.2s;flex-shrink:0;
}
.hs-cta-btn:hover { transform:translateY(-2px); }

@media(max-width:900px) {
  .hs-section-head { grid-template-columns:1fr; }
  .hs-feature { grid-template-columns:1fr; }
  .hs-feature-photo { min-height:280px; }
  .hs-cards { grid-template-columns:repeat(2,1fr); }
  .hs-life-inner { grid-template-columns:1fr; }
  .hs-life-photo { min-height:260px; }
  .hs-life-copy { padding:2.5rem; }
}
@media(max-width:620px) {
  .hs-stats { grid-template-columns:1fr 1fr; }
  .hs-stat:nth-child(2) { border-right:0; }
  .hs-stat { border-bottom:1px solid #E8DCC8; }
  .hs-wrap { padding:3rem 1.25rem 4rem; }
  .hs-cards { grid-template-columns:1fr; }
  .hs-cta-inner { flex-direction:column;padding:2.5rem 1.25rem; }
  .hs-features { grid-template-columns:1fr 1fr; }
  .hs-life-inner { padding:0 1.25rem; }
}

/* ============================================================
   ICC MEMBERS TABLE
   ============================================================ */
.icc-members-section {
  margin:2.5rem 0;
}
.icc-members-section .adm-section-label {
  font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;
  color:#7D9B76;font-weight:600;margin-bottom:0.4rem;
}
.icc-members-section h2 {
  font-family:"Playfair Display",serif;
  font-size:1.6rem;font-weight:700;color:#2A2F27;
  margin:0 0 1.5rem;
}

/* Wrapper handles scroll on mobile */
.icc-members-table-wrap {
  width:100%;overflow-x:auto;
  border:1px solid #E8DCC8;border-radius:12px;
  box-shadow:0 2px 12px rgba(62,92,57,0.06);
}

.icc-members-table {
  width:100%;border-collapse:collapse;
  font-size:0.875rem;white-space:nowrap;
}

/* Header */
.icc-members-table thead tr { background:#3E5C39; }
.icc-members-table thead th {
  color:white;padding:1rem 1.25rem;
  text-align:left;font-weight:600;font-size:0.78rem;
  text-transform:uppercase;letter-spacing:0.06em;
}
.icc-members-table thead th:first-child { width:52px;text-align:center; }

/* Body */
.icc-members-table tbody tr {
  border-bottom:1px solid #F0EDE6;
  transition:background 0.15s;
}
.icc-members-table tbody tr:last-child { border-bottom:none; }
.icc-members-table tbody tr:nth-child(even) { background:#FAF6EF; }
.icc-members-table tbody tr:hover { background:#EDF5EB; }
.icc-members-table tbody td {
  padding:1rem 1.25rem;vertical-align:middle;
  color:#4A5447;
}

/* Columns */
.icc-sl {
  text-align:center;
  font-family:"Playfair Display",serif;
  font-size:1rem;font-weight:700;color:#3E5C39;
}
.icc-name {
  font-weight:600;color:#2A2F27;
  white-space:normal;min-width:140px;
}
.icc-desig {
  color:#4A5447;white-space:normal;min-width:200px;
}
.icc-contact { color:#7A8A76; }
.icc-contact a {
  color:#3E5C39;font-weight:600;text-decoration:none;
}
.icc-contact a:hover { text-decoration:underline; }
.icc-email { color:#7A8A76; }
.icc-email a {
  color:#3E5C39;font-weight:500;text-decoration:none;font-size:0.82rem;
}
.icc-email a:hover { text-decoration:underline; }

.icc-members-empty {
  text-align:center;padding:2.5rem;
  color:#7A8A76;font-size:0.88rem;
  background:#FAF6EF;border-radius:12px;
  border:1px dashed #D4E6CF;
}

/* Mobile card layout */
@media(max-width:700px) {
  .icc-members-table { white-space:normal; }
  .icc-members-table thead { display:none; }
  .icc-members-table tbody tr {
    display:block;padding:1rem 1.25rem;
    border-bottom:1px solid #E8DCC8;
  }
  .icc-members-table tbody td {
    display:flex;padding:0.25rem 0;
    gap:0.5rem;align-items:flex-start;
  }
  .icc-members-table tbody td::before {
    content:attr(data-label);
    font-size:0.72rem;font-weight:700;
    text-transform:uppercase;letter-spacing:0.06em;
    color:#3E5C39;flex-shrink:0;width:80px;
    padding-top:2px;
  }
  .icc-sl { justify-content:flex-start; }
  .icc-sl::before { content:"Sl. No"; }
  .icc-name::before { content:"Name"; }
  .icc-desig::before { content:"Role"; }
  .icc-contact::before { content:"Phone"; }
  .icc-email::before { content:"Email"; }
}

/* ============================================================
   ICC MEETING MINUTES
   ============================================================ */
.icc-minutes-section { margin:2.5rem 0; }
.icc-minutes-section .adm-section-label {
  font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;
  color:#7D9B76;font-weight:600;margin-bottom:0.4rem;
}
.icc-minutes-section h2 {
  font-family:"Playfair Display",serif;
  font-size:1.6rem;font-weight:700;color:#2A2F27;
  margin:0 0 1.5rem;
}
.icc-minutes-list { display:flex;flex-direction:column;gap:1px;border:1px solid #E8DCC8;border-radius:12px;overflow:hidden; }
.icc-minute-item {
  display:flex;gap:0;background:white;
  border-bottom:1px solid #F0EDE6;
  transition:background 0.15s;
}
.icc-minute-item:last-child { border-bottom:none; }
.icc-minute-item:hover { background:#FAF6EF; }
.icc-minute-num {
  flex-shrink:0;width:64px;
  display:flex;align-items:center;justify-content:center;
  font-family:"Playfair Display",serif;
  font-size:1.5rem;font-weight:700;color:#D4E6CF;
  border-right:1px solid #F0EDE6;
}
.icc-minute-body { flex:1;padding:1.25rem 1.5rem; }
.icc-minute-head {
  display:flex;align-items:center;
  justify-content:space-between;gap:1rem;
  margin-bottom:0.5rem;flex-wrap:wrap;
}
.icc-minute-head h4 {
  font-family:"Playfair Display",serif;
  font-size:1rem;font-weight:700;color:#2A2F27;margin:0;
}
.icc-minute-date {
  font-size:0.75rem;font-weight:600;
  background:#D4E6CF;color:#1a3318;
  padding:0.2rem 0.65rem;border-radius:100px;
  white-space:nowrap;flex-shrink:0;
}
.icc-minute-details {
  font-size:0.84rem;color:#4A5447;
  line-height:1.65;margin-bottom:0.75rem;
}
.icc-minute-dl {
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.78rem;font-weight:600;color:#3E5C39;
  text-decoration:none;
  border:1.5px solid #3E5C39;
  padding:0.3rem 0.85rem;border-radius:100px;
  transition:background 0.2s,color 0.2s;
}
.icc-minute-dl:hover { background:#3E5C39;color:white; }
.icc-minute-dl svg { stroke:currentColor; }

@media(max-width:500px) {
  .icc-minute-num { width:44px;font-size:1.1rem; }
  .icc-minute-body { padding:1rem; }
}

/* ============================================================
   PLACEMENT CELL – additions
   ============================================================ */

/* Stats strip under the banner */
.plc-stats-strip { background:linear-gradient(135deg,#1a3318,#3E5C39); padding:1.5rem 2rem; }
.plc-stats-strip .plc-hero-stats { max-width:900px; margin:0 auto; }

/* Avatar photo */
.plc-team-avatar { overflow:hidden; flex-shrink:0; }
.plc-team-avatar img { width:100%; height:100%; object-fit:cover; display:block; }

/* Drives / trainings */
.plc-drives-section h2 { font-family:"Playfair Display",serif; font-size:1.5rem; font-weight:700; color:#2A2F27; margin:0.4rem 0 1.5rem; }
.plc-drives-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.25rem; }
.plc-drive-card { background:white; border:1px solid #E8DCC8; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; transition:transform 0.25s,box-shadow 0.25s; }
.plc-drive-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(62,92,57,0.12); }
.plc-drive-img { position:relative; height:180px; background:#FAF6EF; overflow:hidden; display:flex; align-items:center; justify-content:center; border-bottom:1px solid #F0EDE6; }
.plc-drive-img img { width:100%; height:100%; object-fit:cover; display:block; }
.plc-drive-img--empty { background:linear-gradient(135deg,#3E5C39,#1a3318); }
.plc-drive-img--empty span { font-family:"Playfair Display",serif; font-size:2.4rem; font-weight:700; color:rgba(255,255,255,0.45); }
.plc-drive-type { position:absolute; top:0.75rem; left:0.75rem; font-style:normal; background:#3E5C39; color:white; font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; padding:0.25rem 0.7rem; border-radius:100px; }
.plc-drive-body { padding:1.25rem 1.4rem 1.4rem; flex:1; }
.plc-drive-body h3 { font-family:"Playfair Display",serif; font-size:1.05rem; font-weight:700; color:#2A2F27; margin:0 0 0.6rem; line-height:1.35; }
.plc-drive-meta { display:flex; flex-wrap:wrap; gap:0.4rem 0.9rem; font-size:0.78rem; color:#7A8A76; margin-bottom:0.75rem; }
.plc-placed { color:#3E5C39; font-weight:700; }
.plc-drive-desc { font-size:0.85rem; line-height:1.7; }
.plc-drive-desc p:last-child { margin-bottom:0; }

/* Contact strip (shared with grievance page) */
.icc-contact-strip { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); border-radius:8px; padding:1rem 1.5rem; }
.icc-contact-strip span { font-size:0.88rem; color:rgba(255,255,255,0.8); }
.icc-contact-btn { display:inline-flex; align-items:center; background:white; color:#3E5C39; padding:0.6rem 1.4rem; border-radius:6px; font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; transition:background 0.2s; }
.icc-contact-btn:hover { background:#D4E6CF; }

@media (max-width:600px) {
  .plc-stats-strip { padding:1.25rem 1rem; }
  .plc-drives-grid { grid-template-columns:1fr; }
  .icc-contact-strip { flex-direction:column; align-items:flex-start; }
}

/* Placement – SVG icons */
.plc-obj-icon { width:42px; height:42px; border-radius:10px; background:#D4E6CF; color:#3E5C39; display:flex; align-items:center; justify-content:center; font-size:0; margin-top:0; }
.plc-obj-icon svg { width:22px; height:22px; }
.plc-drive-meta span { display:inline-flex; align-items:center; gap:0.3rem; }
.plc-drive-meta svg { flex-shrink:0; }

/* ============================================================
   STUDENT CELLS (Anti Ragging / SEDG / Equal Opportunity)
   ============================================================ */
.cm-page { background:#FAF6EF; overflow:hidden; }
.cm-wrap { max-width:1200px; margin:0 auto; padding:0 2rem; }
.cm-page section { padding:0; }

/* reveal animation */
.cm-reveal { opacity:0; transform:translateY(24px); transition:opacity 0.6s ease, transform 0.6s ease; }
.cm-reveal.cm-in { opacity:1; transform:none; }

/* shared headings */
.cm-eyebrow { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.2em; color:#7D9B76; font-weight:700; display:flex; align-items:center; gap:0.6rem; margin-bottom:0.5rem; }
.cm-eyebrow::before { content:''; width:30px; height:2px; background:#7D9B76; }
.cm-eyebrow--center { justify-content:center; }
.cm-eyebrow--center::after { content:''; width:30px; height:2px; background:#7D9B76; }
.cm-page h2 { font-family:"Playfair Display",serif; font-size:clamp(1.6rem,3vw,2.3rem); font-weight:700; color:#2A2F27; line-height:1.2; margin:0; }
.cm-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:2rem; flex-wrap:wrap; }
.cm-head--center { justify-content:center; text-align:center; flex-direction:column; align-items:center; }

/* ---------- Intro ---------- */
.cm-intro { padding:4.5rem 0 4rem !important; position:relative; }
.cm-intro::before { content:''; position:absolute; top:-120px; right:-120px; width:380px; height:380px; border-radius:50%; background:radial-gradient(circle,rgba(125,155,118,0.18),transparent 70%); pointer-events:none; }
.cm-intro-grid { display:grid; grid-template-columns:1fr 360px; gap:3rem; align-items:start; position:relative; }
.cm-tagline { font-family:"Cormorant Garamond",serif; font-style:italic; font-size:1.25rem; color:#5C7A55; margin:0.6rem 0 1.5rem; }
.cm-desc { position:relative; background:white; border:1px solid #E8DCC8; border-radius:16px; padding:2.25rem 2.25rem 1.75rem; box-shadow:0 10px 40px rgba(62,92,57,0.06); }
.cm-desc::after { content:''; position:absolute; left:0; top:2rem; bottom:2rem; width:4px; border-radius:0 4px 4px 0; background:linear-gradient(to bottom,#3E5C39,#A8C4A2); }
.cm-quote { position:absolute; top:-18px; right:24px; width:52px; height:52px; border-radius:50%; background:#3E5C39; color:white; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(62,92,57,0.3); }
.cm-quote svg { width:22px; height:22px; }

/* identity card */
.cm-id-card { position:sticky; top:150px; background:linear-gradient(155deg,#3E5C39 0%,#1a3318 100%); border-radius:20px; padding:2.25rem 1.75rem 1.75rem; color:white; text-align:center; overflow:hidden; box-shadow:0 20px 50px rgba(26,51,24,0.3); }
.cm-id-card::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0v40M0 20h40' stroke='rgba(255,255,255,0.04)'/%3E%3C/svg%3E"); pointer-events:none; }
.cm-id-card > * { position:relative; }
.cm-id-emblem { width:92px; height:92px; margin:0 auto 1.1rem; border-radius:50%; background:rgba(255,255,255,0.1); border:2px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center; color:#D4E6CF; box-shadow:0 0 0 10px rgba(255,255,255,0.04); }
.cm-id-name { font-family:"Playfair Display",serif; font-size:1.35rem; font-weight:700; line-height:1.25; }
.cm-id-sub { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.16em; color:rgba(255,255,255,0.55); margin-top:0.35rem; }
.cm-id-stats { display:grid; grid-template-columns:1fr 1fr; margin:1.5rem 0; border-top:1px solid rgba(255,255,255,0.12); border-bottom:1px solid rgba(255,255,255,0.12); }
.cm-id-stats div { padding:1rem 0.5rem; }
.cm-id-stats div + div { border-left:1px solid rgba(255,255,255,0.12); }
.cm-id-stats strong { display:block; font-family:"Playfair Display",serif; font-size:2rem; line-height:1; }
.cm-id-stats span { display:block; font-size:0.66rem; text-transform:uppercase; letter-spacing:0.12em; color:rgba(255,255,255,0.6); margin-top:0.35rem; }
.cm-id-lead { display:flex; align-items:center; gap:0.85rem; text-align:left; background:rgba(255,255,255,0.08); border-radius:12px; padding:0.85rem 1rem; margin-bottom:1.25rem; }
.cm-id-lead-name { font-weight:700; font-size:0.9rem; }
.cm-id-lead-role { font-size:0.72rem; color:#A8C4A2; text-transform:uppercase; letter-spacing:0.08em; margin-top:0.15rem; }
.cm-id-btn { display:flex; align-items:center; justify-content:center; gap:0.5rem; background:white; color:#3E5C39; padding:0.8rem 1rem; border-radius:10px; font-size:0.82rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; }
.cm-id-btn:hover { background:#D4E6CF; }
.cm-id-btn svg { transition:transform 0.2s; }
.cm-id-btn:hover svg { transform:translateX(4px); }

/* avatars */
.cm-avatar { width:38px; height:38px; flex-shrink:0; border-radius:50%; background:#D4E6CF; color:#3E5C39; display:inline-flex; align-items:center; justify-content:center; font-family:"Playfair Display",serif; font-weight:700; font-size:0.85rem; }
.cm-avatar--light { background:rgba(255,255,255,0.18); color:white; width:44px; height:44px; font-size:1rem; }

/* ---------- Objectives ---------- */
.cm-objectives { background:white; padding:4.5rem 0 !important; position:relative; }
.cm-objectives::before { content:''; position:absolute; left:0; right:0; top:0; height:6px; background:linear-gradient(90deg,#3E5C39,#A8C4A2,#3E5C39); }
.cm-obj-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.25rem; counter-reset:obj; }
.cm-obj-card { position:relative; background:#FAF6EF; border:1px solid #E8DCC8; border-radius:16px; padding:1.75rem 1.5rem 1.5rem; overflow:hidden; transition:opacity 0.6s ease, transform 0.35s ease, box-shadow 0.35s ease, background 0.35s ease; }
.cm-obj-card:hover { transform:translateY(-6px); box-shadow:0 18px 40px rgba(62,92,57,0.14); background:white; }
.cm-obj-card::after { content:''; position:absolute; left:0; bottom:0; height:3px; width:0; background:#3E5C39; transition:width 0.4s ease; }
.cm-obj-card:hover::after { width:100%; }
.cm-obj-num { position:absolute; top:0.6rem; right:1rem; font-family:"Playfair Display",serif; font-size:3.2rem; font-weight:700; color:rgba(62,92,57,0.08); line-height:1; }
.cm-obj-tick { width:40px; height:40px; border-radius:12px; background:#3E5C39; color:white; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; box-shadow:0 6px 16px rgba(62,92,57,0.25); }
.cm-obj-card p { font-size:0.92rem; color:#4A5447; line-height:1.7; margin:0; position:relative; }

/* ---------- Members ---------- */
.cm-members { padding:4.5rem 0 !important; }
.cm-count { background:#3E5C39; color:white; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; padding:0.4rem 1rem; border-radius:100px; }
.cm-table-card { background:white; border-radius:16px; box-shadow:0 10px 40px rgba(62,92,57,0.08); overflow:hidden; }
.cm-table-card .icc-members-table-wrap { border:none; border-radius:0; box-shadow:none; }
.cm-name-cell { display:inline-flex; align-items:center; gap:0.75rem; }
.cm-row-lead td { background:#EDF5EB !important; }
.cm-row-lead .cm-avatar { background:#3E5C39; color:white; }
.cm-role-badge { display:inline-block; background:#3E5C39; color:white; font-size:0.72rem; font-weight:700; padding:0.2rem 0.75rem; border-radius:100px; }

/* ---------- CTA ---------- */
.cm-cta { padding:0 0 4.5rem !important; }
.cm-cta-inner { display:flex; align-items:center; gap:1.5rem; background:linear-gradient(120deg,#1a3318 0%,#3E5C39 60%,#5C7A55 100%); border-radius:20px; padding:2rem 2.25rem !important; color:white; position:relative; overflow:hidden; }
.cm-cta-inner::after { content:''; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; border:30px solid rgba(255,255,255,0.05); }
.cm-cta-icon { width:64px; height:64px; flex-shrink:0; border-radius:16px; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; color:#D4E6CF; }
.cm-cta-text { flex:1; }
.cm-cta-text h3 { font-family:"Playfair Display",serif; font-size:1.3rem; margin:0 0 0.3rem; }
.cm-cta-text p { font-size:0.88rem; color:rgba(255,255,255,0.75); margin:0; line-height:1.6; }
.cm-cta-actions { display:flex; gap:0.75rem; flex-wrap:wrap; position:relative; z-index:1; }
.cm-cta-btn { display:inline-flex; align-items:center; gap:0.45rem; background:white; color:#3E5C39; padding:0.75rem 1.35rem; border-radius:10px; font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; white-space:nowrap; }
.cm-cta-btn:hover { background:#D4E6CF; transform:translateY(-2px); }
.cm-cta-btn--ghost { background:transparent; color:white; border:1.5px solid rgba(255,255,255,0.45); }
.cm-cta-btn--ghost:hover { background:rgba(255,255,255,0.1); border-color:white; }

/* ---------- Responsive ---------- */
@media (max-width:960px) {
  .cm-intro-grid { grid-template-columns:1fr; }
  .cm-id-card { position:static; max-width:480px; }
  .cm-cta-inner { flex-direction:column; text-align:center; }
}
@media (max-width:600px) {
  .cm-wrap { padding:0 1.25rem; }
  .cm-intro, .cm-objectives, .cm-members { padding:3rem 0 !important; }
  .cm-desc { padding:1.75rem 1.25rem 1.25rem; }
  .cm-cta-inner { padding:1.75rem 1.25rem !important; }
  .cm-cta-actions { justify-content:center; }
  .cm-name-cell { gap:0.5rem; }
}

/* ============================================================
   INFORMATION CORNER (News, Achievements, Circulars, Announcements,
   Newsletters, Downloads, RTI, Job Openings)
   ============================================================ */
.ic-page { background:#FAF6EF; padding:3rem 0 5rem; }
.ic-wrap { max-width:1200px; margin:0 auto; padding:0 2rem; }

/* section switcher */
.ic-switch { display:flex; gap:0.5rem; overflow-x:auto; padding-bottom:0.5rem; margin-bottom:2.25rem; scrollbar-width:thin; }
.ic-switch a { flex-shrink:0; padding:0.55rem 1.1rem; border-radius:100px; background:white; border:1.5px solid #E8DCC8; font-size:0.8rem; font-weight:600; color:#4A5447; white-space:nowrap; }
.ic-switch a:hover { border-color:#7D9B76; color:#3E5C39; }
.ic-switch a.on { background:#3E5C39; border-color:#3E5C39; color:white; box-shadow:0 4px 14px rgba(62,92,57,0.25); }

.ic-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.75rem; flex-wrap:wrap; }
.ic-eyebrow { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.2em; color:#7D9B76; font-weight:700; display:flex; align-items:center; gap:0.6rem; margin-bottom:0.45rem; }
.ic-eyebrow::before { content:''; width:30px; height:2px; background:#7D9B76; }
.ic-head h2 { font-family:"Playfair Display",serif; font-size:clamp(1.6rem,3vw,2.2rem); font-weight:700; color:#2A2F27; margin:0; }
.ic-count { background:white; border:1px solid #E8DCC8; color:#3E5C39; font-size:0.75rem; font-weight:700; padding:0.35rem 0.95rem; border-radius:100px; }

.ic-empty { background:white; border:1px dashed #D4E6CF; border-radius:16px; padding:3.5rem 1.5rem; text-align:center; color:#7A8A76; }
.ic-empty svg { color:#A8C4A2; margin-bottom:0.75rem; }
.ic-empty p { margin:0; font-size:0.92rem; }

/* shared bits */
.ic-new { position:absolute; top:0.85rem; right:0.85rem; background:#dc2626; color:white; font-size:0.62rem; font-weight:800; text-transform:uppercase; letter-spacing:0.1em; padding:0.22rem 0.6rem; border-radius:100px; animation:icPulse 2s infinite; }
.ic-new--inline { position:static; display:inline-block; vertical-align:middle; margin-left:0.4rem; }
@keyframes icPulse { 0%,100%{ box-shadow:0 0 0 0 rgba(220,38,38,0.45);} 50%{ box-shadow:0 0 0 6px rgba(220,38,38,0);} }
.ic-btn { display:inline-flex; align-items:center; gap:0.4rem; background:#3E5C39; color:white; padding:0.55rem 1.1rem; border-radius:8px; font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; white-space:nowrap; border:1.5px solid #3E5C39; }
.ic-btn:hover { background:#2a4a28; border-color:#2a4a28; color:white; }
.ic-btn--ghost { background:transparent; color:#3E5C39; }
.ic-btn--ghost:hover { background:#3E5C39; color:white; }
.ic-more { display:inline-flex; align-items:center; gap:0.35rem; font-size:0.78rem; font-weight:700; color:#3E5C39; text-transform:uppercase; letter-spacing:0.06em; }
.ic-more svg { transition:transform 0.2s; }
.ic-more:hover svg { transform:translateX(4px); }
.ic-status { display:inline-block; font-size:0.68rem; font-weight:800; text-transform:uppercase; letter-spacing:0.08em; padding:0.22rem 0.7rem; border-radius:100px; }
.ic-status--open { background:#dcfce7; color:#15803d; }
.ic-status--closed { background:#f3f4f6; color:#6b7280; }

/* ---------- cards (News / Achievements) ---------- */
.ic-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.ic-card { background:white; border:1px solid #E8DCC8; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:transform 0.3s, box-shadow 0.3s; }
.ic-card:hover { transform:translateY(-6px); box-shadow:0 18px 42px rgba(62,92,57,0.14); }
.ic-card-img { position:relative; display:block; height:210px; overflow:hidden; background:linear-gradient(135deg,#3E5C39,#1a3318); }
.ic-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s; }
.ic-card:hover .ic-card-img img { transform:scale(1.06); }
.ic-card-ph { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:"Playfair Display",serif; font-size:4rem; font-weight:700; color:rgba(255,255,255,0.25); }
.ic-date-chip { position:absolute; left:0.85rem; bottom:0.85rem; background:white; border-radius:10px; padding:0.35rem 0.7rem; text-align:center; font-size:0.66rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:#7A8A76; line-height:1.15; box-shadow:0 4px 14px rgba(0,0,0,0.15); }
.ic-date-chip strong { display:block; font-family:"Playfair Display",serif; font-size:1.35rem; color:#3E5C39; letter-spacing:0; }
.ic-card-body { padding:1.25rem 1.4rem 1.4rem; display:flex; flex-direction:column; flex:1; }
.ic-card-body h3 { font-family:"Playfair Display",serif; font-size:1.08rem; font-weight:700; line-height:1.35; margin:0 0 0.55rem; }
.ic-card-body h3 a { color:#2A2F27; }
.ic-card-body h3 a:hover { color:#3E5C39; }
.ic-card-body p { font-size:0.86rem; color:#7A8A76; line-height:1.65; margin:0 0 1rem; flex:1; }
.ic-card--feature { grid-column:span 2; flex-direction:row; }
.ic-card--feature .ic-card-img { height:auto; min-height:300px; flex:0 0 55%; }
.ic-card--feature .ic-card-body { padding:2rem; justify-content:center; }
.ic-card--feature .ic-card-body h3 { font-size:1.45rem; }

/* ---------- documents ---------- */
.ic-docs { display:flex; flex-direction:column; gap:0.85rem; }
.ic-doc { display:flex; align-items:center; gap:1.25rem; background:white; border:1px solid #E8DCC8; border-radius:14px; padding:1rem 1.25rem; position:relative; transition:transform 0.2s, box-shadow 0.2s, border-color 0.2s; }
.ic-doc::before { content:''; position:absolute; left:0; top:14px; bottom:14px; width:4px; border-radius:0 4px 4px 0; background:#D4E6CF; transition:background 0.2s; }
.ic-doc:hover { transform:translateX(4px); box-shadow:0 8px 26px rgba(62,92,57,0.1); border-color:#D4E6CF; }
.ic-doc:hover::before { background:#3E5C39; }
.ic-doc-date { flex-shrink:0; width:66px; height:70px; border-radius:12px; background:#FAF6EF; border:1px solid #E8DCC8; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1.1; color:#3E5C39; }
.ic-doc-date strong { font-family:"Playfair Display",serif; font-size:1.45rem; }
.ic-doc-date span { font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; }
.ic-doc-date em { font-style:normal; font-size:0.62rem; color:#7A8A76; }
.ic-doc-main { flex:1; min-width:0; }
.ic-doc-main h3 { font-size:0.98rem; font-weight:600; color:#2A2F27; margin:0 0 0.2rem; line-height:1.45; }
.ic-doc-main h3 a { color:#2A2F27; }
.ic-doc-main h3 a:hover { color:#3E5C39; }
.ic-doc-main p { font-size:0.82rem; color:#7A8A76; margin:0; line-height:1.55; }
.ic-doc-actions { display:flex; gap:0.5rem; flex-shrink:0; }

/* ---------- jobs ---------- */
.ic-jobs { display:grid; grid-template-columns:1fr; gap:1rem; }
.ic-job { display:flex; gap:1.25rem; align-items:flex-start; background:white; border:1px solid #E8DCC8; border-left:5px solid #3E5C39; border-radius:14px; padding:1.4rem 1.5rem; transition:box-shadow 0.25s, transform 0.25s; }
.ic-job:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(62,92,57,0.12); }
.ic-job--closed { border-left-color:#cbd5e1; opacity:0.8; }
.ic-job-icon { width:52px; height:52px; border-radius:14px; background:#D4E6CF; color:#3E5C39; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ic-job-main { flex:1; min-width:0; }
.ic-job-top { display:flex; align-items:center; gap:0.75rem; flex-wrap:wrap; margin-bottom:0.4rem; }
.ic-job-top h3 { font-family:"Playfair Display",serif; font-size:1.12rem; font-weight:700; margin:0; }
.ic-job-top h3 a { color:#2A2F27; }
.ic-job-top h3 a:hover { color:#3E5C39; }
.ic-job-meta { display:flex; flex-wrap:wrap; gap:0.4rem 1.1rem; font-size:0.78rem; color:#7A8A76; margin-bottom:0.55rem; }
.ic-job-meta span { display:inline-flex; align-items:center; gap:0.3rem; }
.ic-deadline { color:#b45309; font-weight:600; }
.ic-job-main p { font-size:0.86rem; color:#4A5447; margin:0; line-height:1.6; }
.ic-job-actions { display:flex; flex-direction:column; gap:0.5rem; flex-shrink:0; }

/* ---------- pager ---------- */
.ic-pager { display:flex; justify-content:center; flex-wrap:wrap; gap:0.4rem; margin-top:2.5rem; }
.ic-pager a { min-width:40px; height:40px; padding:0 0.8rem; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; background:white; border:1px solid #E8DCC8; color:#4A5447; font-size:0.85rem; font-weight:600; }
.ic-pager a:hover { border-color:#3E5C39; color:#3E5C39; }
.ic-pager a.on { background:#3E5C39; border-color:#3E5C39; color:white; }

/* ---------- detail ---------- */
.ic-detail-grid { display:grid; grid-template-columns:1fr 320px; gap:2rem; align-items:start; }
.ic-article { background:white; border:1px solid #E8DCC8; border-radius:18px; overflow:hidden; box-shadow:0 10px 36px rgba(62,92,57,0.06); }
.ic-article-img { max-height:460px; overflow:hidden; background:#1a3318; }
.ic-article-img img { width:100%; height:100%; max-height:460px; object-fit:cover; display:block; }
.ic-article-body { padding:2.25rem 2.5rem 2.5rem; }
.ic-article-meta { display:flex; flex-wrap:wrap; align-items:center; gap:0.5rem 1rem; font-size:0.8rem; color:#7A8A76; margin-bottom:0.85rem; }
.ic-article-meta span { display:inline-flex; align-items:center; gap:0.35rem; }
.ic-tag { background:#3E5C39; color:white !important; font-size:0.66rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; padding:0.25rem 0.75rem; border-radius:100px; }
.ic-article-body h2 { font-family:"Playfair Display",serif; font-size:clamp(1.5rem,3vw,2.1rem); font-weight:700; color:#2A2F27; line-height:1.25; margin:0 0 1.5rem; }
.ic-article-text img { max-width:100%; height:auto; border-radius:10px; }
.ic-article-text table { width:100%; border-collapse:collapse; margin:1rem 0; }
.ic-article-text th { background:#3E5C39; color:white; padding:0.6rem 0.9rem; text-align:left; }
.ic-article-text td { padding:0.55rem 0.9rem; border-bottom:1px solid #E8DCC8; }
.ic-article-actions { display:flex; flex-wrap:wrap; gap:0.75rem; margin:1.75rem 0 0; }
.ic-pdf { margin-top:1.75rem; border:1px solid #E8DCC8; border-radius:12px; overflow:hidden; height:640px; background:#f3f4f6; }
.ic-pdf iframe { width:100%; height:100%; border:0; display:block; }
.ic-backlink { display:inline-flex; align-items:center; gap:0.4rem; margin-top:2rem; font-size:0.82rem; font-weight:700; color:#7D9B76; text-transform:uppercase; letter-spacing:0.06em; }
.ic-backlink:hover { color:#3E5C39; }

.ic-side { display:flex; flex-direction:column; gap:1.25rem; position:sticky; top:150px; }
.ic-side-box { background:white; border:1px solid #E8DCC8; border-radius:14px; overflow:hidden; }
.ic-side-box h4 { background:#3E5C39; color:white; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.12em; font-weight:700; padding:0.85rem 1.25rem; margin:0; }
.ic-side-item { display:flex; gap:0.85rem; align-items:center; padding:0.85rem 1.25rem; border-bottom:1px solid #F0EDE6; }
.ic-side-item:last-child { border-bottom:none; }
.ic-side-item:hover { background:#FAF6EF; }
.ic-side-date { flex-shrink:0; width:44px; text-align:center; font-size:0.62rem; font-weight:700; text-transform:uppercase; color:#7A8A76; line-height:1.1; }
.ic-side-date strong { display:block; font-family:"Playfair Display",serif; font-size:1.2rem; color:#3E5C39; }
.ic-side-title { font-size:0.85rem; font-weight:600; color:#2A2F27; line-height:1.4; }
.ic-side-empty { padding:1rem 1.25rem; margin:0; font-size:0.85rem; color:#7A8A76; }
.ic-side-links a { display:block; padding:0.7rem 1.25rem; font-size:0.85rem; font-weight:500; color:#4A5447; border-bottom:1px solid #F0EDE6; border-left:3px solid transparent; }
.ic-side-links a:last-child { border-bottom:none; }
.ic-side-links a:hover { background:#FAF6EF; border-left-color:#7D9B76; color:#3E5C39; }
.ic-side-links a.on { background:#FAF6EF; border-left-color:#3E5C39; color:#3E5C39; font-weight:700; }

/* ---------- responsive ---------- */
@media (max-width:1000px) {
  .ic-cards { grid-template-columns:repeat(2,1fr); }
  .ic-detail-grid { grid-template-columns:1fr; }
  .ic-side { position:static; }
}
@media (max-width:700px) {
  .ic-wrap { padding:0 1.25rem; }
  .ic-page { padding:2rem 0 3.5rem; }
  .ic-cards { grid-template-columns:1fr; }
  .ic-card--feature { grid-column:auto; flex-direction:column; }
  .ic-card--feature .ic-card-img { min-height:210px; flex:none; }
  .ic-card--feature .ic-card-body { padding:1.25rem 1.4rem 1.4rem; }
  .ic-doc { flex-wrap:wrap; gap:0.9rem; }
  .ic-doc-date { width:56px; height:60px; }
  .ic-doc-main { flex:1 1 calc(100% - 80px); }
  .ic-doc-actions { width:100%; }
  .ic-doc-actions .ic-btn { flex:1; justify-content:center; }
  .ic-job { flex-direction:column; }
  .ic-job-actions { flex-direction:row; width:100%; }
  .ic-job-actions .ic-btn { flex:1; justify-content:center; }
  .ic-article-body { padding:1.5rem 1.25rem 1.75rem; }
  .ic-pdf { height:460px; }
}

/* Information Corner – two column list tweaks (announcements / newsletters) */
.ic-two-col { margin-top:0; }
.ic-two-col .doc-list-a-item { border-radius:12px; padding:1.1rem 1.35rem; }
.ic-two-col .doc-list-a-info h4 a { color:#2A2F27; }
.ic-two-col .doc-list-a-info h4 a:hover { color:#3E5C39; }
.ic-two-col .doc-list-a-info span { display:inline-flex; align-items:center; gap:0.4rem; }
.ic-two-col .doc-list-a-icon svg { stroke:#3E5C39; }
.ic-two-col .ic-new--inline { margin-left:0; font-style:normal; }
.ic-head { margin-top:0.5rem; }
.ic-two-actions { display:flex; gap:0.45rem; flex-shrink:0; }
.doc-list-a-btn--ghost { background:transparent; color:#3E5C39; border:1.5px solid #3E5C39; }
.doc-list-a-btn--ghost svg { stroke:#3E5C39; }
.doc-list-a-btn--ghost:hover { background:#3E5C39; color:white; }
.doc-list-a-btn--ghost:hover svg { stroke:white; }
@media (max-width:1100px) and (min-width:701px) {
  .ic-two-col .doc-list-a-item { flex-wrap:wrap; }
  .ic-two-col .ic-two-actions { width:100%; }
  .ic-two-col .ic-two-actions .doc-list-a-btn { flex:1; justify-content:center; }
}
@media (max-width:480px) {
  .ic-two-col .doc-list-a-item { flex-wrap:wrap; }
  .ic-two-col .ic-two-actions { width:100%; }
  .ic-two-col .ic-two-actions .doc-list-a-btn { flex:1; justify-content:center; }
}

/* Information Corner – Accreditations-style pages (circulars / announcements / newsletters) */
.ic-accred { padding:4.5rem 2rem 5rem; min-height:50vh; }
.ic-accred .doc-list-a-info span { display:inline-flex; align-items:center; }
.ic-accred .ic-new--inline { font-style:normal; }
.ic-accred .ic-pager { margin-top:2.5rem; }
@media (max-width:700px) { .ic-accred { padding:3rem 1.25rem 3.5rem; } }

/* ============================================================
   RTI – single page
   ============================================================ */
.rti-page { background:#FAF6EF; }
.rti-wrap { max-width:1200px; margin:0 auto; padding:0 2rem; }
.rti-page .rti-sec { padding:4.5rem 0; }
.rti-eyebrow { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.2em; color:#7D9B76; font-weight:700; display:flex; align-items:center; gap:0.6rem; margin-bottom:0.5rem; }
.rti-eyebrow::before { content:''; width:30px; height:2px; background:#7D9B76; }
.rti-eyebrow--center { justify-content:center; }
.rti-eyebrow--center::after { content:''; width:30px; height:2px; background:#7D9B76; }
.rti-eyebrow--light { color:#A8C4A2; }
.rti-eyebrow--light::before, .rti-eyebrow--light::after { background:#A8C4A2; }
.rti-page h2 { font-family:"Playfair Display",serif; font-size:clamp(1.6rem,3vw,2.3rem); font-weight:700; color:#2A2F27; margin:0; line-height:1.2; }
.rti-head { text-align:center; margin-bottom:2.5rem; }
.rti-head--light h2 { color:white; }

/* intro */
.rti-intro { background:white; }
.rti-intro-grid { display:grid; grid-template-columns:1fr 340px; gap:3.5rem; align-items:center; }
.rti-intro-text { margin-top:1.25rem; font-size:0.95rem; }
.rti-act-card { position:relative; background:linear-gradient(155deg,#3E5C39,#1a3318); color:white; border-radius:20px; padding:2.5rem 2rem 2rem; overflow:hidden; box-shadow:0 20px 50px rgba(26,51,24,0.28); }
.rti-act-year { position:absolute; right:-10px; top:-18px; font-family:"Playfair Display",serif; font-size:6.5rem; font-weight:700; color:rgba(255,255,255,0.07); line-height:1; }
.rti-act-name { font-family:"Playfair Display",serif; font-size:1.6rem; font-weight:700; position:relative; }
.rti-act-sub { font-size:0.72rem; text-transform:uppercase; letter-spacing:0.14em; color:#A8C4A2; margin:0.3rem 0 1.5rem; }
.rti-act-facts { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.75rem; }
.rti-act-facts li { display:flex; align-items:center; gap:0.65rem; font-size:0.9rem; background:rgba(255,255,255,0.08); border-radius:10px; padding:0.7rem 0.9rem; }
.rti-act-facts svg { color:#D4E6CF; flex-shrink:0; }

/* objectives */
.rti-obj-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.rti-obj { background:white; border:1px solid #E8DCC8; border-radius:18px; padding:2.25rem 1.75rem; text-align:center; transition:transform 0.3s, box-shadow 0.3s; position:relative; overflow:hidden; }
.rti-obj::after { content:''; position:absolute; left:0; right:0; bottom:0; height:4px; background:#3E5C39; transform:scaleX(0); transition:transform 0.35s; }
.rti-obj:hover { transform:translateY(-6px); box-shadow:0 18px 40px rgba(62,92,57,0.13); }
.rti-obj:hover::after { transform:scaleX(1); }
.rti-obj-ic { width:68px; height:68px; margin:0 auto 1.1rem; border-radius:50%; background:#D4E6CF; color:#3E5C39; display:flex; align-items:center; justify-content:center; }
.rti-obj h3 { font-family:"Playfair Display",serif; font-size:1.2rem; color:#2A2F27; margin:0 0 0.45rem; }
.rti-obj p { font-size:0.88rem; color:#7A8A76; line-height:1.65; margin:0; }

/* officers */
.rti-officers { background:white; }
.rti-off-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; max-width:960px; margin:0 auto; }
.rti-off { background:#FAF6EF; border:1px solid #E8DCC8; border-radius:18px; padding:1.75rem; display:flex; flex-direction:column; gap:1.25rem; transition:box-shadow 0.3s; }
.rti-off:hover { box-shadow:0 14px 36px rgba(62,92,57,0.12); }
.rti-off--lead { background:linear-gradient(145deg,#3E5C39,#2d5229); border-color:transparent; color:white; }
.rti-off-top { display:flex; align-items:center; gap:1rem; }
.rti-avatar { width:64px; height:64px; border-radius:50%; flex-shrink:0; background:#3E5C39; color:white; display:flex; align-items:center; justify-content:center; font-family:"Playfair Display",serif; font-size:1.35rem; font-weight:700; box-shadow:0 0 0 5px rgba(62,92,57,0.12); }
.rti-off--lead .rti-avatar { background:rgba(255,255,255,0.18); box-shadow:0 0 0 5px rgba(255,255,255,0.08); }
.rti-role { display:inline-block; font-size:0.66rem; font-weight:800; text-transform:uppercase; letter-spacing:0.12em; color:#7D9B76; margin-bottom:0.3rem; }
.rti-off--lead .rti-role { color:#A8C4A2; }
.rti-off h3 { font-family:"Playfair Display",serif; font-size:1.25rem; margin:0; color:#2A2F27; }
.rti-off--lead h3 { color:white; }
.rti-off-contacts { display:flex; flex-wrap:wrap; gap:0.6rem; }
.rti-off-contacts a { display:inline-flex; align-items:center; gap:0.45rem; background:white; border:1px solid #E8DCC8; color:#3E5C39; font-size:0.85rem; font-weight:600; padding:0.55rem 1rem; border-radius:10px; }
.rti-off-contacts a:hover { background:#3E5C39; border-color:#3E5C39; color:white; }
.rti-off--lead .rti-off-contacts a { background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.2); color:white; }
.rti-off--lead .rti-off-contacts a:hover { background:white; color:#3E5C39; }
.rti-office { display:flex; align-items:center; gap:1rem; max-width:960px; margin:1.5rem auto 0; background:#FAF6EF; border:1px dashed #A8C4A2; border-radius:14px; padding:1rem 1.35rem; }
.rti-office-ic { width:46px; height:46px; border-radius:12px; background:#D4E6CF; color:#3E5C39; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rti-office strong { display:block; font-size:0.92rem; color:#2A2F27; margin-bottom:0.15rem; }
.rti-office span { font-size:0.86rem; color:#4A5447; }
.rti-office a { color:#3E5C39; font-weight:600; }

/* process */
.rti-page .rti-process { background:linear-gradient(135deg,#1a3318 0%,#3E5C39 100%); position:relative; overflow:hidden; }
.rti-process::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0v40M0 20h40' stroke='rgba(255,255,255,0.035)'/%3E%3C/svg%3E"); }
.rti-process .rti-wrap { position:relative; }
.rti-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; position:relative; }
.rti-steps::before { content:''; position:absolute; top:52px; left:12%; right:12%; height:2px; background:linear-gradient(90deg,rgba(255,255,255,0.05),rgba(255,255,255,0.3),rgba(255,255,255,0.05)); }
.rti-step { position:relative; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12); border-radius:16px; padding:1.75rem 1.4rem 1.5rem; color:white; transition:background 0.25s, transform 0.25s; }
.rti-step:hover { background:rgba(255,255,255,0.12); transform:translateY(-4px); }
.rti-step-n { position:absolute; top:0.75rem; right:1rem; font-family:"Playfair Display",serif; font-size:2.4rem; font-weight:700; color:rgba(255,255,255,0.1); line-height:1; }
.rti-step-ic { width:50px; height:50px; border-radius:14px; background:white; color:#3E5C39; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; position:relative; box-shadow:0 8px 20px rgba(0,0,0,0.2); }
.rti-step h4 { font-size:1rem; font-weight:700; margin:0 0 0.4rem; }
.rti-step p { font-size:0.85rem; color:rgba(255,255,255,0.72); line-height:1.6; margin:0; }
.rti-fee { text-align:center; margin:1.75rem 0 0; font-size:0.85rem; color:rgba(255,255,255,0.7); font-style:italic; }

/* documents */
.rti-docs { background:white; }
.rti-docs .doc-list-a { margin-top:1.5rem; }

@media (max-width:960px) {
  .rti-intro-grid { grid-template-columns:1fr; gap:2rem; }
  .rti-act-card { max-width:460px; }
  .rti-steps { grid-template-columns:repeat(2,1fr); }
  .rti-steps::before { display:none; }
}
@media (max-width:700px) {
  .rti-wrap { padding:0 1.25rem; }
  .rti-page .rti-sec { padding:3rem 0; }
  .rti-obj-grid, .rti-off-grid, .rti-steps { grid-template-columns:1fr; }
  .rti-office { flex-direction:column; text-align:center; }
}
.rti-h2-sub { margin-top:2rem !important; font-size:clamp(1.3rem,2.4vw,1.7rem) !important; }

/* Job openings – two column cards with photo */
.ic-job-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.ic-jcard { background:white; border:1px solid #E8DCC8; border-left:4px solid #3E5C39; border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:transform 0.25s, box-shadow 0.25s; }
.ic-jcard:hover { transform:translateY(-4px); box-shadow:0 14px 36px rgba(62,92,57,0.13); }
.ic-jcard--closed { border-left-color:#cbd5e1; }
.ic-jcard-img { display:block; height:280px; background:#FAF6EF; border-bottom:1px solid #F0EDE6; overflow:hidden; }
.ic-jcard-img img { width:100%; height:100%; object-fit:contain; display:block; transition:transform 0.4s; }
.ic-jcard:hover .ic-jcard-img img { transform:scale(1.03); }
.ic-jcard-img--empty { display:flex; align-items:center; justify-content:center; color:#A8C4A2; background:linear-gradient(135deg,#FAF6EF,#EDF5EB); }
.ic-jcard-body { padding:1.25rem 1.4rem 1.4rem; display:flex; flex-direction:column; flex:1; }
.ic-jcard-top { display:flex; align-items:center; gap:0.5rem; margin-bottom:0.6rem; }
.ic-jcard-body h3 { font-family:"Playfair Display",serif; font-size:1.12rem; font-weight:700; color:#2A2F27; margin:0 0 0.5rem; line-height:1.35; }
.ic-jcard-body p { font-size:0.85rem; color:#7A8A76; line-height:1.6; margin:0 0 1rem; }
.ic-jcard-actions { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:auto; }
@media (max-width:700px) {
  .ic-job-grid { grid-template-columns:1fr; }
  .ic-jcard-img { height:220px; }
}

/* Job openings – image left, text right */
.ic-jcard { flex-direction:row; align-items:stretch; }
.ic-jcard-img { flex:0 0 42%; height:auto; min-height:220px; border-bottom:none; border-right:1px solid #F0EDE6; }
.ic-jcard-img img { object-fit:cover; }
.ic-jcard-body { justify-content:center; }
.ic-jcard-body p { margin-bottom:0; }
@media (max-width:1000px) and (min-width:701px) {
  .ic-jcard-img { flex-basis:38%; }
}
@media (max-width:480px) {
  .ic-jcard { flex-direction:column; }
  .ic-jcard-img { flex:none; height:220px; border-right:none; border-bottom:1px solid #F0EDE6; }
}

/* Job openings – show the whole photo (no cropping) */
.ic-jcard-img { display:flex; align-items:center; justify-content:center; background:#F2EAD8; padding:0.6rem; }
.ic-jcard-img img { width:100%; height:auto; max-height:320px; object-fit:contain; }
.ic-jcard:hover .ic-jcard-img img { transform:none; }

/* Detail page – show the whole image (no cropping) */
.ic-article-img { max-height:none; background:#F2EAD8; display:flex; align-items:center; justify-content:center; padding:1rem; }
.ic-article-img img { width:auto; max-width:100%; height:auto; max-height:80vh; object-fit:contain; border-radius:8px; }

/* Detail page – full-width image at its natural proportions */
.ic-article-img { display:block; padding:0; background:none; max-height:none; }
.ic-article-img img { display:block; width:100%; height:auto; max-height:none; object-fit:initial; border-radius:0; }

/* ============================================================
   RESOURCES & FACILITIES
   ============================================================ */
.rs-page { background:#FAF6EF; padding:3rem 0 5rem; }
.rs-wrap { max-width:1200px; margin:0 auto; padding:0 2rem; }
.rs-layout { display:grid; grid-template-columns:280px 1fr; gap:2rem; align-items:start; }

/* sidebar – reuses .ug-sidebar / .ug-tab from UG Programmes */
.rs-sidebar { position:sticky; top:170px; max-height:calc(100vh - 190px); overflow-y:auto; }
.rs-sidebar::-webkit-scrollbar { width:4px; }
.rs-sidebar::-webkit-scrollbar-thumb { background:#A8C4A2; border-radius:2px; }
.rs-tab { display:flex !important; align-items:center; gap:0.5rem; text-decoration:none; }
.rs-tab svg { flex-shrink:0; color:#7D9B76; }

.rs-main { min-width:0; }
.rs-eyebrow { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.2em; color:#7D9B76; font-weight:700; display:flex; align-items:center; gap:0.6rem; margin-bottom:0.45rem; }
.rs-eyebrow::before { content:''; width:30px; height:2px; background:#7D9B76; }

/* overview intro */
.rs-intro { background:white; border:1px solid #E8DCC8; border-radius:14px; padding:2rem 2.25rem; margin-bottom:1.5rem; position:relative; overflow:hidden; }
.rs-intro::after { content:''; position:absolute; right:-70px; top:-70px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,rgba(125,155,118,0.18),transparent 70%); }
.rs-intro h2 { font-family:"Playfair Display",serif; font-size:clamp(1.6rem,3vw,2.2rem); font-weight:700; color:#2A2F27; margin:0 0 0.6rem; }
.rs-intro p { font-size:0.93rem; color:#4A5447; line-height:1.8; margin:0 0 1.5rem; max-width:620px; }
.rs-stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #E8DCC8; border-radius:12px; overflow:hidden; }
.rs-stats div { padding:1rem 0.75rem; text-align:center; background:#FAF6EF; }
.rs-stats div + div { border-left:1px solid #E8DCC8; }
.rs-stats strong { display:block; font-family:"Playfair Display",serif; font-size:1.6rem; color:#3E5C39; line-height:1.1; }
.rs-stats span { display:block; font-size:0.66rem; text-transform:uppercase; letter-spacing:0.1em; color:#7A8A76; font-weight:600; margin-top:0.25rem; }

/* overview grid */
.rs-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.rs-card { display:flex; flex-direction:column; background:white; border:1px solid #E8DCC8; border-radius:14px; overflow:hidden; text-decoration:none; color:inherit; transition:transform 0.3s, box-shadow 0.3s; }
.rs-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(62,92,57,0.14); }
.rs-card-img { position:relative; display:block; height:200px; overflow:hidden; background:linear-gradient(135deg,#3E5C39,#1a3318); }
.rs-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s; }
.rs-card:hover .rs-card-img img { transform:scale(1.07); }
.rs-card-ph { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.35); }
.rs-card-num { position:absolute; left:0.85rem; top:0.85rem; background:rgba(255,255,255,0.92); color:#3E5C39; font-family:"Playfair Display",serif; font-weight:700; font-size:0.85rem; padding:0.2rem 0.6rem; border-radius:100px; }
.rs-card-body { display:flex; flex-direction:column; gap:0.45rem; padding:1.1rem 1.3rem 1.25rem; flex:1; border-top:3px solid #3E5C39; }
.rs-card-title { font-family:"Playfair Display",serif; font-size:1.08rem; font-weight:700; color:#2A2F27; }
.rs-card-text { font-size:0.84rem; color:#7A8A76; line-height:1.6; }
.rs-card-more { margin-top:auto; display:inline-flex; align-items:center; gap:0.35rem; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#3E5C39; }
.rs-card-more svg { transition:transform 0.2s; }
.rs-card:hover .rs-card-more svg { transform:translateX(4px); }
.rs-card--wide { grid-column:1 / -1; flex-direction:row; }
.rs-card--wide .rs-card-img { flex:0 0 55%; height:auto; min-height:280px; }
.rs-card--wide .rs-card-body { border-top:none; border-left:3px solid #3E5C39; justify-content:center; padding:2rem; }
.rs-card--wide .rs-card-title { font-size:1.5rem; }

/* detail */
.rs-detail { background:white; border:1px solid #E8DCC8; border-radius:14px; overflow:hidden; }
.rs-detail-img img { display:block; width:100%; height:auto; }
.rs-detail-body { padding:2rem 2.25rem; }
.rs-detail-body h2 { font-family:"Playfair Display",serif; font-size:clamp(1.6rem,3vw,2.1rem); font-weight:700; color:#2A2F27; margin:0 0 0.6rem; }
.rs-cat { display:inline-block; background:#D4E6CF; color:#3E5C39; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; padding:0.25rem 0.8rem; border-radius:100px; }
.rs-divider { height:1px; background:#F0EDE6; margin:1.25rem 0 1.5rem; }
.rs-text { font-size:0.95rem; }
.rs-text img { max-width:100%; height:auto; border-radius:8px; }
.rs-pn { display:flex; justify-content:space-between; gap:1rem; padding:1.25rem 2.25rem; border-top:1px solid #F0EDE6; background:#FAF6EF; }
.rs-pn-link { display:flex; align-items:center; gap:0.75rem; text-decoration:none; color:#2A2F27; font-weight:600; font-size:0.9rem; max-width:48%; }
.rs-pn-link small { display:block; font-size:0.66rem; text-transform:uppercase; letter-spacing:0.12em; color:#7D9B76; font-weight:700; margin-bottom:0.1rem; }
.rs-pn-link--next { text-align:right; margin-left:auto; }
.rs-pn-ic { width:38px; height:38px; flex-shrink:0; border-radius:50%; border:1.5px solid #3E5C39; color:#3E5C39; display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.rs-pn-link:hover .rs-pn-ic { background:#3E5C39; color:white; }

.rs-more { margin-top:2rem; }
.rs-more h3 { font-family:"Playfair Display",serif; font-size:1.25rem; color:#2A2F27; margin:0 0 1rem; }
.rs-more-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.rs-mini { display:block; background:white; border:1px solid #E8DCC8; border-radius:12px; overflow:hidden; text-decoration:none; transition:transform 0.25s, box-shadow 0.25s; }
.rs-mini:hover { transform:translateY(-4px); box-shadow:0 12px 30px rgba(62,92,57,0.12); }
.rs-mini-img { display:flex; align-items:center; justify-content:center; height:130px; overflow:hidden; background:linear-gradient(135deg,#3E5C39,#1a3318); color:rgba(255,255,255,0.35); }
.rs-mini-img img { width:100%; height:100%; object-fit:cover; display:block; }
.rs-mini-title { display:block; padding:0.8rem 1rem; font-weight:600; font-size:0.88rem; color:#2A2F27; border-top:3px solid #3E5C39; }

@media (max-width:900px) {
  .rs-layout { grid-template-columns:1fr; }
  .rs-sidebar { position:static; max-height:260px; }
  .rs-stats { grid-template-columns:repeat(2,1fr); }
  .rs-stats div:nth-child(3) { border-left:none; }
  .rs-stats div:nth-child(n+3) { border-top:1px solid #E8DCC8; }
}
@media (max-width:700px) {
  .rs-wrap { padding:0 1.25rem; }
  .rs-grid { grid-template-columns:1fr; }
  .rs-card--wide { flex-direction:column; }
  .rs-card--wide .rs-card-img { min-height:200px; flex:none; }
  .rs-card--wide .rs-card-body { border-left:none; border-top:3px solid #3E5C39; padding:1.1rem 1.3rem 1.25rem; }
  .rs-more-grid { grid-template-columns:1fr 1fr; }
  .rs-detail-body { padding:1.5rem 1.25rem; }
  .rs-pn { padding:1rem 1.25rem; }
}

/* ============================================================
   PHOTO GALLERY – albums & lightbox
   ============================================================ */
.ga-page { background:#FAF6EF; padding:3.5rem 0 5rem; }
.ga-wrap { max-width:1200px; margin:0 auto; padding:0 2rem; }
.ga-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; margin-bottom:2.5rem; }
.ga-eyebrow { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.2em; color:#7D9B76; font-weight:700; display:flex; align-items:center; gap:0.6rem; margin-bottom:0.45rem; }
.ga-eyebrow::before { content:''; width:30px; height:2px; background:#7D9B76; }
.ga-head h2 { font-family:"Playfair Display",serif; font-size:clamp(1.7rem,3vw,2.4rem); font-weight:700; color:#2A2F27; margin:0; }
.ga-head-stats { display:flex; gap:0.6rem; }
.ga-head-stats span { background:white; border:1px solid #E8DCC8; border-radius:100px; padding:0.45rem 1.1rem; font-size:0.8rem; color:#7A8A76; font-weight:600; }
.ga-head-stats strong { color:#3E5C39; font-family:"Playfair Display",serif; font-size:1.05rem; margin-right:0.2rem; }
.ga-back { display:inline-block; font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#7D9B76; margin-bottom:0.5rem; }
.ga-back:hover { color:#3E5C39; }
.ga-album-lead { margin:0.5rem 0 0; color:#4A5447; font-size:0.93rem; max-width:680px; line-height:1.7; }

/* album covers – stacked photo "album" look */
.ga-albums { display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem 2rem; padding-top:0.75rem; }
.ga-album { display:block; text-decoration:none; color:inherit; }
.ga-album-stack { position:relative; display:block; aspect-ratio:4/3; }
.ga-album-layer { position:absolute; inset:0; border-radius:14px; background:#D4E6CF center/cover no-repeat; border:5px solid white; box-shadow:0 6px 18px rgba(26,51,24,0.15); transition:transform 0.4s ease; }
.ga-album-layer--2 { transform:rotate(-6deg) translate(-6px,4px); filter:brightness(0.85); }
.ga-album-layer--1 { transform:rotate(4deg) translate(6px,2px); filter:brightness(0.92); }
.ga-album-cover { position:absolute; inset:0; border-radius:14px; overflow:hidden; border:5px solid white; background:linear-gradient(135deg,#3E5C39,#1a3318); box-shadow:0 14px 34px rgba(26,51,24,0.25); transition:transform 0.4s ease, box-shadow 0.4s ease; }
.ga-album-cover img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.6s ease; }
.ga-album-shade { position:absolute; inset:0; background:linear-gradient(to top,rgba(15,30,14,0.85) 0%,rgba(15,30,14,0.15) 55%,transparent 100%); }
.ga-album-count { position:absolute; top:0.8rem; right:0.8rem; display:inline-flex; align-items:center; gap:0.35rem; background:rgba(255,255,255,0.92); color:#3E5C39; font-size:0.75rem; font-weight:800; padding:0.3rem 0.7rem; border-radius:100px; }
.ga-album-title { position:absolute; left:1.1rem; right:1.1rem; bottom:1rem; color:white; }
.ga-album-title strong { display:block; font-family:"Playfair Display",serif; font-size:1.3rem; line-height:1.25; text-shadow:0 2px 10px rgba(0,0,0,0.35); }
.ga-album-title em { display:inline-block; font-style:normal; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:#D4E6CF; margin-top:0.35rem; opacity:0; transform:translateY(6px); transition:all 0.3s; }
.ga-album:hover .ga-album-cover { transform:translateY(-6px); box-shadow:0 22px 44px rgba(26,51,24,0.32); }
.ga-album:hover .ga-album-cover img { transform:scale(1.07); }
.ga-album:hover .ga-album-layer--2 { transform:rotate(-10deg) translate(-16px,6px); }
.ga-album:hover .ga-album-layer--1 { transform:rotate(8deg) translate(16px,2px); }
.ga-album:hover .ga-album-title em { opacity:1; transform:none; }
.ga-album-desc { display:block; margin-top:1rem; font-size:0.85rem; color:#7A8A76; line-height:1.55; }

/* photos – masonry */
.ga-masonry { columns:4 240px; column-gap:1rem; }
.ga-photo { position:relative; display:block; break-inside:avoid; margin-bottom:1rem; border-radius:12px; overflow:hidden; background:#D4E6CF; box-shadow:0 4px 14px rgba(26,51,24,0.08); }
.ga-photo img { width:100%; height:auto; display:block; transition:transform 0.5s ease; }
.ga-photo-zoom { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:white; background:rgba(26,51,24,0.45); opacity:0; transition:opacity 0.3s; }
.ga-photo:hover img { transform:scale(1.06); }
.ga-photo:hover .ga-photo-zoom { opacity:1; }

/* more albums */
.ga-others { margin-top:3.5rem; padding-top:2.5rem; border-top:1px solid #E8DCC8; }
.ga-others h3 { font-family:"Playfair Display",serif; font-size:1.4rem; color:#2A2F27; margin:0 0 1.25rem; }
.ga-others-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.ga-other { display:block; background:white; border:1px solid #E8DCC8; border-radius:12px; overflow:hidden; transition:transform 0.25s, box-shadow 0.25s; }
.ga-other:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(62,92,57,0.13); }
.ga-other-img { display:block; height:140px; background:linear-gradient(135deg,#3E5C39,#1a3318); overflow:hidden; }
.ga-other-img img { width:100%; height:100%; object-fit:cover; display:block; }
.ga-other-info { display:block; padding:0.75rem 1rem; border-top:3px solid #3E5C39; }
.ga-other-info strong { display:block; font-size:0.9rem; color:#2A2F27; }
.ga-other-info em { font-style:normal; font-size:0.75rem; color:#7A8A76; }

/* lightbox */
.ga-lb { position:fixed; inset:0; z-index:10050; background:rgba(8,14,8,0.94); display:none; align-items:center; justify-content:center; padding:2rem 4.5rem; }
.ga-lb.open { display:flex; }
.ga-lb-fig { margin:0; display:flex; flex-direction:column; align-items:center; max-width:100%; max-height:100%; }
.ga-lb-fig img { max-width:100%; max-height:82vh; object-fit:contain; border-radius:6px; box-shadow:0 10px 40px rgba(0,0,0,0.5); }
.ga-lb-fig figcaption { color:rgba(255,255,255,0.75); font-size:0.85rem; margin-top:0.9rem; text-align:center; }
.ga-lb-close { position:absolute; top:1rem; right:1.4rem; background:none; border:none; color:white; font-size:2.4rem; line-height:1; cursor:pointer; opacity:0.8; }
.ga-lb-close:hover { opacity:1; }
.ga-lb-nav { position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; border:1px solid rgba(255,255,255,0.25); background:rgba(255,255,255,0.08); color:white; font-size:2rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.ga-lb-nav:hover { background:rgba(255,255,255,0.2); }
.ga-lb-prev { left:1rem; }
.ga-lb-next { right:1rem; }

@media (max-width:1000px) {
  .ga-albums { grid-template-columns:repeat(2,1fr); }
  .ga-others-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
  .ga-wrap { padding:0 1.25rem; }
  .ga-albums { grid-template-columns:1fr; gap:2.25rem; }
  .ga-masonry { columns:2 140px; column-gap:0.6rem; }
  .ga-photo { margin-bottom:0.6rem; }
  .ga-lb { padding:1rem; }
  .ga-lb-nav { width:42px; height:42px; font-size:1.6rem; top:auto; bottom:1.2rem; transform:none; }
}

/* ============================================================
   VIDEO GALLERY
   ============================================================ */
.vg-feature, .vg-card { font:inherit; text-align:left; cursor:pointer; border:none; padding:0; background:none; width:100%; }
.vg-play { position:absolute; left:50%; top:50%; width:68px; height:68px; margin:-34px 0 0 -34px; border-radius:50%; background:rgba(62,92,57,0.92); color:white; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 8px rgba(255,255,255,0.25); transition:transform 0.3s, background 0.3s; }
.vg-play svg { margin-left:4px; }

.vg-feature { display:grid; grid-template-columns:1.6fr 1fr; background:white; border:1px solid #E8DCC8; border-radius:18px; overflow:hidden; margin-bottom:2.5rem; box-shadow:0 12px 36px rgba(62,92,57,0.1); transition:box-shadow 0.3s; }
.vg-feature:hover { box-shadow:0 20px 48px rgba(62,92,57,0.18); }
.vg-feature-img { position:relative; display:block; aspect-ratio:16/9; background:#1a3318; overflow:hidden; }
.vg-feature-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.6s; }
.vg-feature:hover .vg-feature-img img { transform:scale(1.04); }
.vg-feature:hover .vg-play { transform:scale(1.1); background:#dc2626; }
.vg-feature .vg-play { width:84px; height:84px; margin:-42px 0 0 -42px; }
.vg-feature-info { display:flex; flex-direction:column; justify-content:center; gap:0.6rem; padding:2.25rem; background:linear-gradient(155deg,#3E5C39,#1a3318); color:white; }
.vg-badge { align-self:flex-start; background:rgba(255,255,255,0.15); color:#D4E6CF; font-size:0.66rem; font-weight:800; text-transform:uppercase; letter-spacing:0.14em; padding:0.3rem 0.8rem; border-radius:100px; }
.vg-feature-info strong { font-family:"Playfair Display",serif; font-size:clamp(1.3rem,2.4vw,1.8rem); line-height:1.3; }
.vg-feature-info em { font-style:normal; font-size:0.85rem; color:#A8C4A2; }
.vg-watch { margin-top:0.75rem; font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:white; }

.vg-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.vg-card { display:flex; flex-direction:column; background:white; border:1px solid #E8DCC8; border-radius:14px; overflow:hidden; transition:transform 0.3s, box-shadow 0.3s; }
.vg-card:hover { transform:translateY(-5px); box-shadow:0 16px 38px rgba(62,92,57,0.14); }
.vg-card-img { position:relative; display:block; aspect-ratio:16/9; background:#1a3318; overflow:hidden; }
.vg-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s; }
.vg-card:hover .vg-card-img img { transform:scale(1.06); }
.vg-card:hover .vg-play { transform:scale(1.1); background:#dc2626; }
.vg-card .vg-play { width:56px; height:56px; margin:-28px 0 0 -28px; box-shadow:0 0 0 6px rgba(255,255,255,0.25); }
.vg-card-body { display:flex; flex-direction:column; gap:0.4rem; padding:1rem 1.2rem 1.15rem; border-top:3px solid #3E5C39; flex:1; }
.vg-card-body strong { font-size:0.98rem; font-weight:600; color:#2A2F27; line-height:1.4; }
.vg-card-body em { display:inline-flex; align-items:center; gap:0.35rem; font-style:normal; font-size:0.78rem; color:#7A8A76; }

.vg-modal { position:fixed; inset:0; z-index:10050; background:rgba(8,14,8,0.92); display:none; align-items:center; justify-content:center; padding:2rem; }
.vg-modal.open { display:flex; }
.vg-modal-box { position:relative; width:100%; max-width:1000px; }
.vg-modal-frame { aspect-ratio:16/9; background:black; border-radius:10px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,0.5); }
.vg-modal-frame iframe { width:100%; height:100%; border:0; display:block; }
.vg-modal-title { color:white; font-family:"Playfair Display",serif; font-size:1.1rem; margin-top:1rem; text-align:center; }
.vg-modal-close { position:absolute; top:-2.8rem; right:0; background:none; border:none; color:white; font-size:2.4rem; line-height:1; cursor:pointer; opacity:0.8; }
.vg-modal-close:hover { opacity:1; }

@media (max-width:1000px) {
  .vg-feature { grid-template-columns:1fr; }
  .vg-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
  .vg-grid { grid-template-columns:1fr; }
  .vg-feature-info { padding:1.5rem; }
  .vg-modal { padding:1rem; }
}

/* ================================================================
   ACCREDITATIONS – NAAC & KIRF rows with certificate on the right
   ================================================================ */
.acr-page { padding-top:114px; }
.acr-row { padding:4rem 2rem; color:white; position:relative; overflow:hidden; }
.acr-row--naac { background:linear-gradient(135deg,#3E5C39 0%,#1a3318 60%,#2d5229 100%); }
.acr-row--kirf { background:linear-gradient(135deg,#1a3318 0%,#2d5229 55%,#3E5C39 100%); border-top:1px solid rgba(255,255,255,0.1); }
.acr-row::after { content:''; position:absolute; right:-120px; top:-120px; width:360px; height:360px; border-radius:50%; border:40px solid rgba(255,255,255,0.03); pointer-events:none; }
.acr-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:auto 1fr 300px; gap:3rem; align-items:center; position:relative; z-index:1; }
.acr-row .accred-hero-text h1 { color:white; }
.acr-ring--kirf .accred-grade-letter { font-size:1.9rem; letter-spacing:0.02em; }

/* certificate card */
.acr-cert { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); border-radius:18px; padding:1.75rem 1.5rem; text-align:center; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); box-shadow:0 18px 40px rgba(0,0,0,0.18); transition:transform 0.3s, background 0.3s; }
.acr-cert:hover { transform:translateY(-4px); background:rgba(255,255,255,0.12); }
.acr-cert-ic { width:70px; height:70px; margin:0 auto 1rem; border-radius:18px; background:white; color:#3E5C39; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(0,0,0,0.2); }
.acr-cert-ic svg { width:34px; height:34px; }
.acr-cert-label { font-size:0.64rem; font-weight:700; text-transform:uppercase; letter-spacing:0.16em; color:#A8C4A2; margin-bottom:0.35rem; }
.acr-cert h4 { font-family:"Playfair Display",serif; font-size:1.2rem; color:white; margin:0 0 0.2rem; }
.acr-cert-sub { display:block; font-size:0.78rem; color:rgba(255,255,255,0.6); margin-bottom:1.2rem; }
.acr-cert-btn { display:inline-flex; align-items:center; justify-content:center; gap:0.45rem; width:100%; background:white; color:#3E5C39; padding:0.75rem 1rem; border-radius:10px; font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; }
.acr-cert-btn svg { width:16px; height:16px; }
.acr-cert-btn:hover { background:#D4E6CF; }
.acr-cert-soon { display:block; font-size:0.78rem; color:rgba(255,255,255,0.6); font-style:italic; }

@media (max-width:1000px) {
  .acr-inner { grid-template-columns:auto 1fr; }
  .acr-cert { grid-column:1 / -1; max-width:420px; width:100%; margin:0 auto; }
}
@media (max-width:700px) {
  .acr-page { padding-top:90px; }
  .acr-row { padding:3rem 1.25rem; }
  .acr-inner { grid-template-columns:1fr; gap:1.75rem; text-align:center; }
  .acr-inner .accred-hero-badge { justify-self:center; }
  .acr-inner .accred-hero-stats { justify-content:center; }
}

/* KIRF row – white background, green text */
.acr-row--kirf { background:#ffffff !important; color:#3E5C39; border-top:1px solid #E8DCC8; }
.acr-row--kirf::after { border-color:rgba(62,92,57,0.05); }
.acr-row--kirf .accred-hero-tag { background:#D4E6CF !important; color:#3E5C39 !important; border-color:#A8C4A2 !important; }
.acr-row--kirf .accred-hero-text h1 { color:#3E5C39 !important; }
.acr-row--kirf .accred-hero-text p { color:#4A5447 !important; }
.acr-row--kirf .accred-hero-text p strong { color:#3E5C39 !important; }
.acr-row--kirf .accred-hstat span { color:#3E5C39 !important; }
.acr-row--kirf .accred-hstat small { color:#7A8A76 !important; }
.acr-row--kirf .accred-hstat-div { background:#D4E6CF !important; }
.acr-row--kirf .accred-grade-ring { background:#FAF6EF !important; border-color:#3E5C39 !important; box-shadow:0 0 0 8px rgba(62,92,57,0.08) !important; }
.acr-row--kirf .accred-grade-letter { color:#3E5C39 !important; }
.acr-row--kirf .accred-grade-sub { color:#7D9B76 !important; }

.acr-row--kirf .acr-cert { background:#FAF6EF; border:1px solid #E8DCC8; border-left:4px solid #3E5C39; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:0 14px 34px rgba(62,92,57,0.1); }
.acr-row--kirf .acr-cert:hover { background:#fff; }
.acr-row--kirf .acr-cert-ic { background:#3E5C39; color:#fff; }
.acr-row--kirf .acr-cert-label { color:#7D9B76; }
.acr-row--kirf .acr-cert h4 { color:#3E5C39; }
.acr-row--kirf .acr-cert-sub, .acr-row--kirf .acr-cert-soon { color:#7A8A76; }
.acr-row--kirf .acr-cert-btn { background:#3E5C39; color:#fff; }
.acr-row--kirf .acr-cert-btn:hover { background:#2a4a28; }

/* ================================================================
   SPONSORING BODY – equal arched portrait cards
   ================================================================ */
.spb-page { background:#FAF6EF; padding:3.5rem 0 5rem; }
.spb-wrap { max-width:1240px; margin:0 auto; padding:0 2rem; }
.spb-eyebrow { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.2em; color:#7D9B76; font-weight:700; display:flex; align-items:center; gap:0.6rem; margin-bottom:0.45rem; }
.spb-eyebrow::before { content:''; width:30px; height:2px; background:#7D9B76; }
.spb-page h2 { font-family:"Playfair Display",serif; font-size:clamp(1.6rem,3vw,2.3rem); font-weight:700; color:#2A2F27; margin:0; }

.spb-intro { background:white; border:1px solid #E8DCC8; border-radius:20px; padding:2.25rem 2.5rem; margin-bottom:3rem; box-shadow:0 12px 36px rgba(62,92,57,0.07); position:relative; overflow:hidden; }
.spb-intro::before { content:''; position:absolute; left:0; top:0; bottom:0; width:6px; background:linear-gradient(to bottom,#3E5C39,#A8C4A2); }
.spb-intro::after { content:''; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,rgba(125,155,118,0.16),transparent 70%); }
.spb-intro p { font-size:1rem; color:#4A5447; line-height:1.8; margin:0.9rem 0 1.4rem; max-width:760px; }
.spb-intro p strong { color:#3E5C39; }
.spb-intro-meta { display:flex; flex-wrap:wrap; gap:0.6rem; }
.spb-intro-meta span { background:#FAF6EF; border:1px solid #E8DCC8; border-radius:100px; padding:0.45rem 1rem; font-size:0.8rem; color:#7A8A76; }
.spb-intro-meta strong { color:#3E5C39; }

/* grid – equal cards, 5 per row on desktop (min 4) */
.spb-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1.4rem; align-items:stretch; }
.spb-card { position:relative; display:flex; flex-direction:column; background:white; border-radius:22px; padding:1.4rem 1.1rem 1.4rem; text-align:center; border:1px solid #E8DCC8; box-shadow:0 8px 26px rgba(62,92,57,0.07); overflow:hidden; transition:transform 0.35s ease, box-shadow 0.35s ease; }
.spb-card::before { content:''; position:absolute; left:0; right:0; top:0; height:46%; background:linear-gradient(160deg,#3E5C39 0%,#1a3318 100%); border-radius:22px 22px 50% 50% / 22px 22px 18% 18%; transition:height 0.4s ease; }
.spb-card:hover { transform:translateY(-8px); box-shadow:0 22px 46px rgba(26,51,24,0.18); }
.spb-card:hover::before { height:52%; }
.spb-num { display:none !important; }

/* arched photo frame */
.spb-frame { position:relative; z-index:1; width:84%; margin:0.4rem auto 0; aspect-ratio:3/3.7; }
.spb-frame-bg { position:absolute; inset:0; border-radius:999px 999px 18px 18px; background:#A8C4A2; transform:translate(7px,7px); transition:transform 0.4s ease; }
.spb-card:hover .spb-frame-bg { transform:translate(-7px,9px) rotate(-3deg); }
.spb-photo { position:absolute; inset:0; border-radius:999px 999px 18px 18px; overflow:hidden; background:linear-gradient(135deg,#D4E6CF,#7D9B76); border:4px solid white; box-shadow:0 10px 26px rgba(0,0,0,0.18); display:flex; align-items:center; justify-content:center; }
.spb-photo img { width:100%; height:100%; object-fit:cover; object-position:center 18%; display:block; transition:transform 0.5s ease; }
.spb-card:hover .spb-photo img { transform:scale(1.06); }
.spb-ini { font-family:"Playfair Display",serif; font-size:2.6rem; font-weight:700; color:white; }

.spb-info { position:relative; z-index:1; flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding-top:1.25rem; }
.spb-info h4 { font-family:"Playfair Display",serif; font-size:1.02rem; font-weight:700; color:#2A2F27; line-height:1.35; margin:0; min-height:2.7em; display:flex; align-items:center; justify-content:center; }
.spb-line { width:34px; height:2px; background:#7D9B76; margin:0.6rem auto 0.7rem; transition:width 0.3s; }
.spb-card:hover .spb-line { width:60px; }
.spb-role { margin-top:auto; display:inline-block; background:#FAF6EF; color:#3E5C39; border:1px solid #D4E6CF; font-size:0.66rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; padding:0.35rem 0.85rem; border-radius:100px; }

@media (max-width:1150px) { .spb-grid { grid-template-columns:repeat(4,1fr); } }
@media (max-width:860px)  { .spb-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:620px)  {
  .spb-wrap { padding:0 1rem; }
  .spb-intro { padding:1.75rem 1.25rem; }
  .spb-grid { grid-template-columns:repeat(2,1fr); gap:0.85rem; }
  .spb-card { padding:1rem 0.7rem 1.1rem; border-radius:18px; }
  .spb-info h4 { font-size:0.86rem; }
  .spb-role { font-size:0.56rem; padding:0.3rem 0.6rem; }
}

/* Sponsoring Body – square photos instead of arch */
.spb-frame { aspect-ratio:1/1; width:86%; }
.spb-frame-bg, .spb-photo { border-radius:14px; }
.spb-photo img { object-position:center 20%; }
.spb-card:hover .spb-frame-bg { transform:translate(-7px,7px) rotate(-2deg); }

/* Sponsoring Body – flat: no 3D offset shape, no shadows, no lift */
.spb-intro { box-shadow:none; }
.spb-card { box-shadow:none !important; transform:none !important; }
.spb-card:hover { box-shadow:none !important; transform:none !important; border-color:#A8C4A2; }
.spb-frame-bg { display:none !important; }
.spb-photo { box-shadow:none !important; border:3px solid #fff; }
.spb-card:hover .spb-photo img { transform:none; }

/* Sponsoring Body – centred intro */
.spb-intro { text-align:center; }
.spb-intro::before { display:none; }
.spb-intro .spb-eyebrow { justify-content:center; }
.spb-intro .spb-eyebrow::after { content:''; width:30px; height:2px; background:#7D9B76; }
.spb-intro p { margin-left:auto; margin-right:auto; }
.spb-intro-meta { justify-content:center; }

/* ================================================================
   PEOPLE CARDS – Governing / Academic / Staff Council, Academic Leadership
   (flat, square photos – same look as Sponsoring Body)
   ================================================================ */
.pc-page { background:#FAF6EF; padding:3.5rem 0 5rem; }
.pc-wrap { max-width:1240px; margin:0 auto; padding:0 2rem; }
.pc-eyebrow { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.2em; color:#7D9B76; font-weight:700; display:flex; align-items:center; justify-content:center; gap:0.6rem; margin-bottom:0.45rem; }
.pc-eyebrow::before, .pc-eyebrow::after { content:''; width:30px; height:2px; background:#7D9B76; }
.pc-intro { text-align:center; background:white; border:1px solid #E8DCC8; border-radius:20px; padding:2.25rem 2.5rem; margin-bottom:3rem; }
.pc-intro h2 { font-family:"Playfair Display",serif; font-size:clamp(1.6rem,3vw,2.3rem); font-weight:700; color:#2A2F27; margin:0; }
.pc-intro p { font-size:1rem; color:#4A5447; line-height:1.8; margin:0.9rem auto 1.3rem; max-width:760px; }
.pc-meta { display:flex; justify-content:center; gap:0.6rem; }
.pc-meta span { background:#FAF6EF; border:1px solid #E8DCC8; border-radius:100px; padding:0.45rem 1rem; font-size:0.8rem; color:#7A8A76; }
.pc-meta strong { color:#3E5C39; }

.pc-grid { display:grid; gap:1.4rem; align-items:stretch; }
.pc-grid--5 { grid-template-columns:repeat(5,1fr); }
.pc-grid--4 { grid-template-columns:repeat(4,1fr); }
.pc-card { position:relative; display:flex; flex-direction:column; background:white; border:1px solid #E8DCC8; border-radius:20px; padding:1.3rem 1.1rem 1.35rem; text-align:center; overflow:hidden; transition:border-color 0.2s; }
.pc-card::before { content:''; position:absolute; left:0; right:0; top:0; height:44%; background:linear-gradient(160deg,#3E5C39 0%,#1a3318 100%); border-radius:20px 20px 50% 50% / 20px 20px 16% 16%; }
.pc-card:hover { border-color:#A8C4A2; }
.pc-num { display:none !important; }
.pc-photo { position:relative; z-index:1; width:86%; aspect-ratio:1/1; margin:0.4rem auto 0; border-radius:14px; overflow:hidden; border:3px solid white; background:linear-gradient(135deg,#D4E6CF,#7D9B76); display:flex; align-items:center; justify-content:center; }
.pc-photo img { width:100%; height:100%; object-fit:cover; object-position:center 20%; display:block; }
.pc-ini { font-family:"Playfair Display",serif; font-size:2.4rem; font-weight:700; color:white; }
.pc-info { position:relative; z-index:1; flex:1; display:flex; flex-direction:column; align-items:center; padding-top:1.15rem; }
.pc-info h4 { font-family:"Playfair Display",serif; font-size:1rem; font-weight:700; color:#2A2F27; line-height:1.35; margin:0; min-height:2.7em; display:flex; align-items:center; justify-content:center; }
.pc-line { width:34px; height:2px; background:#7D9B76; margin:0.55rem auto 0.65rem; }
.pc-dept { font-size:0.85rem; font-weight:600; color:#3E5C39; margin-bottom:0.55rem; line-height:1.35; }
.pc-role { margin-top:auto; display:inline-block; background:#FAF6EF; color:#3E5C39; border:1px solid #D4E6CF; font-size:0.64rem; font-weight:700; text-transform:uppercase; letter-spacing:0.09em; padding:0.35rem 0.8rem; border-radius:100px; line-height:1.4; }
.pc-phone { display:inline-flex; align-items:center; gap:0.35rem; margin-top:0.6rem; font-size:0.8rem; font-weight:600; color:#7A8A76; }
.pc-phone:hover { color:#3E5C39; }

@media (max-width:1150px) { .pc-grid--5 { grid-template-columns:repeat(4,1fr); } }
@media (max-width:860px)  { .pc-grid--5, .pc-grid--4 { grid-template-columns:repeat(3,1fr); } }
@media (max-width:620px)  {
  .pc-wrap { padding:0 1rem; }
  .pc-intro { padding:1.75rem 1.25rem; }
  .pc-grid--5, .pc-grid--4 { grid-template-columns:repeat(2,1fr); gap:0.85rem; }
  .pc-card { padding:1rem 0.7rem 1.1rem; border-radius:16px; }
  .pc-info h4 { font-size:0.86rem; }
  .pc-role { font-size:0.55rem; padding:0.3rem 0.55rem; }
}
.pc-page { padding-top:3rem; }

/* ================================================================
   MILESTONES – interactive year timeline (one year at a time)
   ================================================================ */
.mst-page { background:#FAF6EF; padding:3rem 0 4rem; }
.mst-wrap { max-width:1100px; margin:0 auto; padding:0 2rem; }

.mst-summary { display:grid; grid-template-columns:repeat(4,1fr); background:linear-gradient(135deg,#3E5C39,#1a3318); border-radius:18px; overflow:hidden; margin-bottom:2.5rem; }
.mst-summary div { padding:1.3rem 1rem; text-align:center; color:white; }
.mst-summary div + div { border-left:1px solid rgba(255,255,255,0.12); }
.mst-summary strong { display:block; font-family:"Playfair Display",serif; font-size:2rem; line-height:1.1; }
.mst-summary span { display:block; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.14em; color:#A8C4A2; margin-top:0.3rem; }

/* rail */
.mst-rail-wrap { position:relative; display:flex; align-items:center; gap:0.6rem; margin-bottom:2rem; }
.mst-arrow { flex-shrink:0; width:42px; height:42px; border-radius:50%; border:1.5px solid #3E5C39; background:white; color:#3E5C39; font-size:1.6rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.mst-arrow:hover:not(:disabled) { background:#3E5C39; color:white; }
.mst-arrow:disabled { opacity:0.3; cursor:default; }
.mst-rail { position:relative; flex:1; display:flex; gap:0; overflow-x:auto; scrollbar-width:none; padding:0.5rem 0 0.25rem; scroll-behavior:smooth; }
.mst-rail::-webkit-scrollbar { display:none; }
.mst-rail-line { position:absolute; left:0; top:calc(0.5rem + 9px); height:3px; min-width:100%; width:var(--railw,100%); background:#E8DCC8; border-radius:2px; pointer-events:none; }
.mst-rail-fill { position:absolute; left:0; top:0; bottom:0; width:0; background:#3E5C39; border-radius:2px; transition:width 0.45s ease; }
.mst-year { position:relative; flex:0 0 auto; min-width:88px; display:flex; flex-direction:column; align-items:center; gap:0.5rem; background:none; border:none; cursor:pointer; font-family:inherit; padding:0 0.4rem; }
.mst-dot { width:21px; height:21px; border-radius:50%; background:#FAF6EF; border:3px solid #D4E6CF; position:relative; z-index:1; transition:all 0.3s; }
.mst-year.past .mst-dot { border-color:#7D9B76; background:#7D9B76; }
.mst-year.on .mst-dot { border-color:#3E5C39; background:white; box-shadow:0 0 0 6px rgba(62,92,57,0.15); transform:scale(1.15); }
.mst-year-label { font-size:0.86rem; font-weight:600; color:#7A8A76; transition:color 0.2s; }
.mst-year:hover .mst-year-label { color:#3E5C39; }
.mst-year.on .mst-year-label { color:#3E5C39; font-weight:800; font-size:0.95rem; }

/* panels */
.mst-stage { position:relative; }
.mst-panel { background:white; border:1px solid #E8DCC8; border-radius:20px; padding:2.25rem 2.5rem; display:grid; grid-template-columns:200px 1fr; gap:2.5rem; align-items:center; margin-bottom:1.25rem; }
.mst-js .mst-panel { display:none; margin:0; }
.mst-js .mst-panel.on { display:grid; animation:mstIn 0.45s ease; }
@keyframes mstIn { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.mst-panel-year { text-align:center; border-right:2px dashed #E8DCC8; padding-right:2rem; }
.mst-big { display:block; font-family:"Playfair Display",serif; font-size:4.2rem; font-weight:700; line-height:1; color:transparent; -webkit-text-stroke:2px #3E5C39; }
.mst-panel-count { display:inline-block; margin-top:0.75rem; background:#D4E6CF; color:#3E5C39; font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; padding:0.3rem 0.85rem; border-radius:100px; }
.mst-points { display:flex; flex-direction:column; gap:0.75rem; }
.mst-points--grid { display:grid; grid-template-columns:1fr 1fr; }
.mst-point { display:flex; align-items:flex-start; gap:0.8rem; background:#FAF6EF; border:1px solid #F0EDE6; border-left:4px solid #3E5C39; border-radius:12px; padding:0.9rem 1rem; }
.mst-js .mst-panel.on .mst-point { animation:mstIn 0.45s ease both; }
.mst-tick { width:28px; height:28px; flex-shrink:0; border-radius:8px; background:#3E5C39; color:white; display:flex; align-items:center; justify-content:center; }
.mst-point p { margin:0.2rem 0 0; font-size:0.93rem; color:#2A2F27; line-height:1.55; }

@media (max-width:800px) {
  .mst-summary { grid-template-columns:repeat(2,1fr); }
  .mst-summary div:nth-child(3) { border-left:none; }
  .mst-summary div:nth-child(n+3) { border-top:1px solid rgba(255,255,255,0.12); }
  .mst-panel, .mst-js .mst-panel.on { grid-template-columns:1fr; gap:1.25rem; padding:1.5rem 1.25rem; }
  .mst-panel-year { border-right:none; border-bottom:2px dashed #E8DCC8; padding:0 0 1rem; }
  .mst-big { font-size:3.2rem; }
  .mst-points--grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .mst-wrap { padding:0 1rem; }
  .mst-arrow { width:34px; height:34px; font-size:1.3rem; }
  .mst-year { min-width:70px; }
}
/* milestones: timeline rail below the panel */
.mst-stage { margin-bottom:1.75rem; }
.mst-rail-wrap { margin-bottom:0; }
.mst-page { padding-top:2.5rem; }
/* milestones: slide-in animation between years */
@keyframes mstSlide { from { opacity:0; transform:translateX(40px); } to { opacity:1; transform:none; } }
.mst-js .mst-panel.on { animation:mstSlide 0.55s ease; }
/* milestones: timeline rail on top */
.mst-rail-wrap { margin-bottom:2rem; }
.mst-stage { margin-bottom:0; }

/* ================================================================
   INTERNAL COMPLAINT COMMITTEE – content | minutes, then members table
   ================================================================ */
.icx-page { background:#FAF6EF; padding:3rem 0 4.5rem; }
.icx-wrap { max-width:1200px; margin:0 auto; padding:0 2rem; }
.icx-eyebrow { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.2em; color:#7D9B76; font-weight:700; display:flex; align-items:center; gap:0.6rem; margin-bottom:0.45rem; }
.icx-eyebrow::before { content:''; width:30px; height:2px; background:#7D9B76; }
.icx-page h2 { font-family:"Playfair Display",serif; font-size:clamp(1.5rem,2.6vw,2rem); font-weight:700; color:#2A2F27; margin:0; }

.icx-top { display:grid; grid-template-columns:1fr 360px; gap:2rem; align-items:start; margin-bottom:3rem; }
.icx-about { background:white; border:1px solid #E8DCC8; border-radius:18px; padding:2rem 2.25rem; position:relative; }
.icx-about::before { content:''; position:absolute; left:0; top:1.75rem; bottom:1.75rem; width:4px; border-radius:0 4px 4px 0; background:#3E5C39; }
.icx-text { margin-top:1.1rem; font-size:0.95rem; line-height:1.8; }

/* minutes sidebar */
.icx-minutes { background:white; border:1px solid #E8DCC8; border-radius:18px; overflow:hidden; position:sticky; top:170px; }
.icx-minutes-head { display:flex; align-items:center; gap:0.85rem; padding:1.1rem 1.35rem; background:linear-gradient(135deg,#3E5C39,#1a3318); color:white; }
.icx-minutes-head svg { flex-shrink:0; opacity:0.85; }
.icx-minutes-head h3 { font-family:"Playfair Display",serif; font-size:1.1rem; margin:0; }
.icx-minutes-head span { font-size:0.72rem; color:#A8C4A2; }
.icx-minutes-list { list-style:none; margin:0; padding:0.4rem 0; max-height:460px; overflow-y:auto; }
.icx-minutes-list li { display:flex; gap:0.9rem; align-items:center; padding:0.85rem 1.35rem; border-bottom:1px solid #F0EDE6; }
.icx-minutes-list li:last-child { border-bottom:none; }
.icx-minutes-list li:hover { background:#FAF6EF; }
.icx-mdate { flex-shrink:0; width:54px; height:56px; border-radius:10px; background:#FAF6EF; border:1px solid #E8DCC8; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1.1; }
.icx-mdate strong { font-family:"Playfair Display",serif; font-size:1.3rem; color:#3E5C39; }
.icx-mdate span { font-size:0.58rem; font-weight:700; text-transform:uppercase; color:#7A8A76; }
.icx-minfo { min-width:0; }
.icx-minfo h4 { font-size:0.88rem; font-weight:600; color:#2A2F27; margin:0 0 0.3rem; line-height:1.4; }
.icx-minfo a { display:inline-flex; align-items:center; gap:0.3rem; font-size:0.76rem; font-weight:700; color:#3E5C39; }
.icx-minfo a:hover { text-decoration:underline; }
.icx-nofile { font-size:0.74rem; color:#aaa; font-style:italic; }
.icx-minutes-empty { padding:1.5rem 1.35rem; margin:0; font-size:0.85rem; color:#7A8A76; }

/* members table */
.icx-members-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; flex-wrap:wrap; }
.icx-count { background:#3E5C39; color:white; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; padding:0.4rem 1rem; border-radius:100px; }
.icx-table-wrap { background:white; border:1px solid #E8DCC8; border-radius:16px; overflow:hidden; }
.icx-table { width:100%; border-collapse:collapse; font-size:0.9rem; }
.icx-table thead th { background:#3E5C39; color:white; text-align:left; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; padding:0.95rem 1.1rem; }
.icx-table tbody td { padding:0.9rem 1.1rem; border-bottom:1px solid #F0EDE6; color:#4A5447; vertical-align:middle; }
.icx-table tbody tr:last-child td { border-bottom:none; }
.icx-table tbody tr:nth-child(even) td { background:#FCFAF6; }
.icx-table tbody tr:hover td { background:#EDF5EB; }
.icx-sl { display:inline-flex; width:30px; height:30px; border-radius:50%; background:#D4E6CF; color:#3E5C39; font-weight:700; font-size:0.8rem; align-items:center; justify-content:center; }
.icx-name { font-weight:600; color:#2A2F27 !important; }
.icx-role { display:inline-block; background:#FAF6EF; border:1px solid #E8DCC8; color:#3E5C39; font-size:0.74rem; font-weight:600; padding:0.2rem 0.7rem; border-radius:100px; }
.icx-table a { color:#3E5C39; font-weight:500; }
.icx-table a:hover { text-decoration:underline; }

@media (max-width:980px) {
  .icx-top { grid-template-columns:1fr; }
  .icx-minutes { position:static; }
}
@media (max-width:700px) {
  .icx-wrap { padding:0 1rem; }
  .icx-about { padding:1.5rem 1.25rem; }
  .icx-table thead { display:none; }
  .icx-table, .icx-table tbody, .icx-table tr, .icx-table td { display:block; width:100%; }
  .icx-table tr { border-bottom:1px solid #E8DCC8; padding:0.6rem 0; }
  .icx-table tbody td { border:none; padding:0.35rem 1rem; display:flex; justify-content:space-between; gap:1rem; text-align:right; background:none !important; }
  .icx-table tbody td::before { content:attr(data-label); font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:#7A8A76; text-align:left; }
}

/* =====================================================================
   ACADEMIC CALENDAR  (acal-*)  - Google calendar style, flat
   ===================================================================== */
.acal-page { background: #FAF6EF; }
.acal-sec { padding: 3.5rem 1.5rem; }
.acal-sec--pdf { background: #fff; border-top: 1px solid #E8DCC8; }
.acal-wrap { max-width: 1240px; margin: 0 auto; }
.acal-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.acal-intro--sm { margin-bottom: 1.5rem; }
.acal-eyebrow { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.18em; color: #7D9B76; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.4rem; }
.acal-eyebrow::before { content: ''; width: 26px; height: 2px; background: #7D9B76; }
.acal-intro h2 { font-family: "Playfair Display", serif; font-size: clamp(1.6rem, 3vw, 2.2rem); color: #2A2F27; margin: 0; line-height: 1.2; }
.acal-intro p { margin: 0.35rem 0 0; color: #7A8A76; font-size: 0.9rem; }
.acal-pdf-btn { display: inline-flex; align-items: center; gap: 0.5rem; background: #3E5C39; color: #fff; text-decoration: none; padding: 0.7rem 1.2rem; border-radius: 6px; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.04em; transition: background 0.2s; }
.acal-pdf-btn:hover { background: #2a4a28; color: #fff; }
.acal-pdf-btn svg { width: 16px; height: 16px; }

.acal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.5rem; align-items: start; }
.acal-main { background: #fff; border: 1px solid #E8DCC8; border-radius: 12px; padding: 1.25rem; min-width: 0; }

/* toolbar */
.acal-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.acal-nav { display: flex; align-items: center; gap: 0.4rem; }
.acal-today { border: 1px solid #D4E6CF; background: #fff; color: #3E5C39; font-weight: 600; font-size: 0.82rem; padding: 0.45rem 1rem; border-radius: 6px; cursor: pointer; margin-right: 0.35rem; }
.acal-today:hover { background: #F2F7F0; }
.acal-arrow { width: 34px; height: 34px; border-radius: 50%; border: none; background: transparent; color: #3E5C39; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.acal-arrow:hover:not(:disabled) { background: #EEF4EC; }
.acal-arrow:disabled { opacity: 0.3; cursor: default; }
.acal-arrow svg { width: 20px; height: 20px; }
.acal-title { font-family: "Playfair Display", serif; font-size: 1.35rem; color: #2A2F27; margin: 0 0 0 0.5rem; font-weight: 700; white-space: nowrap; }
.acal-views { display: inline-flex; border: 1px solid #D4E6CF; border-radius: 6px; overflow: hidden; }
.acal-views button { display: inline-flex; align-items: center; gap: 0.35rem; border: none; background: #fff; color: #4A5447; font-size: 0.8rem; font-weight: 600; padding: 0.45rem 0.9rem; cursor: pointer; }
.acal-views button + button { border-left: 1px solid #D4E6CF; }
.acal-views button svg { width: 15px; height: 15px; }
.acal-views button.active { background: #3E5C39; color: #fff; }

/* month strip */
.acal-months { display: grid; grid-template-columns: repeat(12, 1fr); gap: 0.3rem; margin-bottom: 1rem; }
.acal-months button { position: relative; border: 1px solid #EFE6D6; background: #FAF6EF; color: #4A5447; font-size: 0.76rem; font-weight: 600; padding: 0.45rem 0; border-radius: 6px; cursor: pointer; }
.acal-months button.has::after { content: ''; position: absolute; top: 4px; right: 5px; width: 5px; height: 5px; border-radius: 50%; background: #7D9B76; }
.acal-months button:hover { border-color: #A8C4A2; }
.acal-months button.active { background: #3E5C39; border-color: #3E5C39; color: #fff; }
.acal-months button.active::after { background: #D4E6CF; }

/* grid */
.acal-board { border: 1px solid #E8DCC8; border-radius: 8px; overflow: hidden; }
.acal-dow { display: grid; grid-template-columns: repeat(7, 1fr); background: #F2EAD8; }
.acal-dow span { text-align: center; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 700; color: #5C7A55; padding: 0.55rem 0; }
.acal-dow span:first-child { color: #B4533C; }
.acal-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); row-gap: 2px; padding-bottom: 4px; border-top: 1px solid #EFE6D6; min-height: 112px; position: relative; }
.acal-cell { grid-row: 1 / -1; border-left: 1px solid #EFE6D6; padding: 4px 6px; cursor: pointer; margin-bottom: -4px; transition: background 0.15s; }
.acal-cell:first-child { border-left: none; }
.acal-cell:hover { background: #F7FAF6; }
.acal-cell.is-sun { background: #FDFBF6; }
.acal-cell.is-out .acal-num { color: #B9C2B5; }
.acal-cell.is-off { background: repeating-linear-gradient(135deg, #fff, #fff 6px, #FAF6EF 6px, #FAF6EF 12px); cursor: default; }
.acal-num { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; border-radius: 50%; font-size: 0.78rem; font-weight: 600; color: #2A2F27; }
.acal-cell.is-sun .acal-num { color: #B4533C; }
.acal-cell.is-today .acal-num { background: #3E5C39; color: #fff; }
.acal-bar { position: relative; z-index: 1; margin: 0 4px; border: none; border-radius: 4px; color: #fff; font-size: 0.72rem; font-weight: 600; line-height: 22px; height: 22px; padding: 0 7px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; font-family: inherit; min-width: 0; }
.acal-bar:hover { filter: brightness(1.12); }
.acal-bar.cont-l { margin-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.acal-bar.cont-r { margin-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.acal-more { position: relative; z-index: 1; border: none; background: none; text-align: left; font-size: 0.7rem; font-weight: 700; color: #3E5C39; padding: 0 8px; cursor: pointer; font-family: inherit; white-space: nowrap; overflow: hidden; }
.acal-more:hover { text-decoration: underline; }

/* list view */
.acal-list { border: 1px solid #E8DCC8; border-radius: 8px; overflow: hidden; }
.acal-li { display: flex; align-items: center; gap: 0.9rem; width: 100%; border: none; border-top: 1px solid #EFE6D6; background: #fff; padding: 0.8rem 1rem; text-align: left; cursor: pointer; font-family: inherit; }
.acal-li:first-child { border-top: none; }
.acal-li:hover { background: #F7FAF6; }
.acal-li.is-past { opacity: 0.55; }
.acal-li-date { width: 46px; flex-shrink: 0; text-align: center; line-height: 1.1; }
.acal-li-date b { display: block; font-size: 1.3rem; color: #2A2F27; font-family: "Playfair Display", serif; }
.acal-li-date small { font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.08em; color: #7A8A76; font-weight: 700; }
.acal-li-date.is-today b { color: #3E5C39; }
.acal-li-dot { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.acal-li-info { min-width: 0; }
.acal-li-info strong { display: block; font-size: 0.92rem; color: #2A2F27; }
.acal-li-info small { font-size: 0.78rem; color: #7A8A76; }

.acal-legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1.2rem; margin-top: 1rem; }
.acal-legend span { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.76rem; color: #4A5447; font-weight: 600; }
.acal-legend i { width: 11px; height: 11px; border-radius: 3px; display: inline-block; }

/* sidebar */
.acal-side { position: sticky; top: 170px; }
.acal-side-card { background: #fff; border: 1px solid #E8DCC8; border-radius: 12px; padding: 1.25rem; }
.acal-side-card h4 { margin: 0 0 0.9rem; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.16em; color: #5C7A55; font-weight: 700; }
.acal-up { list-style: none; margin: 0; padding: 0; }
.acal-up li + li { border-top: 1px solid #EFE6D6; }
.acal-up-item { display: flex; align-items: center; gap: 0.8rem; width: 100%; border: none; background: none; padding: 0.7rem 0; text-align: left; cursor: pointer; font-family: inherit; }
.acal-up-item:hover strong { color: #3E5C39; }
.acal-up-date { width: 46px; height: 50px; flex-shrink: 0; border-radius: 8px; background: var(--c); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.acal-up-date b { font-size: 1.15rem; }
.acal-up-date small { font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.08em; margin-top: 3px; font-weight: 700; }
.acal-up-info { min-width: 0; }
.acal-up-info strong { display: block; font-size: 0.86rem; color: #2A2F27; line-height: 1.3; }
.acal-up-info small { font-size: 0.74rem; color: #7A8A76; }
.acal-empty { color: #7A8A76; font-size: 0.88rem; margin: 0; }
.acal-empty--pad { padding: 2.5rem 1rem; text-align: center; }

/* popup */
.acal-modal { position: fixed; inset: 0; z-index: 3000; background: rgba(26, 36, 24, 0.55); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.acal-modal[hidden] { display: none; }
.acal-modal-box { position: relative; background: #fff; border-radius: 12px; width: 100%; max-width: 440px; max-height: 85vh; overflow: auto; padding: 1.6rem 1.5rem 1.4rem; }
.acal-modal-x { position: absolute; top: 0.7rem; right: 0.7rem; width: 34px; height: 34px; border-radius: 50%; border: none; background: #F2EAD8; color: #3E5C39; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.acal-modal-x svg { width: 16px; height: 16px; }
.acal-modal-box h3 { font-family: "Playfair Display", serif; font-size: 1.3rem; color: #2A2F27; margin: 0.35rem 2.2rem 0.35rem 0; line-height: 1.3; }
.acal-m-cat { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 700; color: var(--c); }
.acal-m-cat i { width: 10px; height: 10px; border-radius: 3px; background: var(--c); }
.acal-m-date { margin: 0; color: #5C7A55; font-size: 0.88rem; font-weight: 600; }
.acal-m-desc { margin: 0.9rem 0 0; color: #4A5447; font-size: 0.9rem; line-height: 1.7; }
.acal-m-list { margin-top: 0.75rem; }
.acal-m-item { display: flex; align-items: flex-start; gap: 0.7rem; width: 100%; border: none; border-top: 1px solid #EFE6D6; background: none; padding: 0.7rem 0; text-align: left; cursor: pointer; font-family: inherit; }
.acal-m-item i { width: 10px; height: 10px; border-radius: 3px; margin-top: 5px; flex-shrink: 0; }
.acal-m-item strong { display: block; font-size: 0.9rem; color: #2A2F27; }
.acal-m-item small { font-size: 0.76rem; color: #7A8A76; }
.acal-m-item:hover strong { color: #3E5C39; }
body.acal-lock { overflow: hidden; }

@media (max-width: 1024px) {
  .acal-layout { grid-template-columns: 1fr; }
  .acal-side { position: static; }
}
@media (max-width: 760px) {
  .acal-months { display: flex; overflow-x: auto; scrollbar-width: none; }
  .acal-months::-webkit-scrollbar { display: none; }
  .acal-months button { flex: 0 0 56px; }
}
@media (max-width: 640px) {
  .acal-sec { padding: 2.5rem 0.75rem; }
  .acal-main { padding: 0.75rem; }
  .acal-title { font-size: 1.1rem; margin-left: 0.25rem; }
  .acal-toolbar { gap: 0.6rem; }
  .acal-views { width: 100%; }
  .acal-views button { flex: 1; justify-content: center; }
  .acal-week { min-height: 86px; }
  .acal-cell { padding: 3px 2px; text-align: center; }
  .acal-num { min-width: 22px; height: 22px; font-size: 0.72rem; }
  .acal-bar { font-size: 0.6rem; padding: 0 3px; margin: 0 1px; border-radius: 3px; }
  .acal-more { font-size: 0.6rem; padding: 0 2px; text-align: center; }
  .acal-dow span { font-size: 0.6rem; letter-spacing: 0.04em; }
}

.acal-sec--pdf .doc-list-a { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.acal-sec--pdf .doc-list-a-item { min-width: 0; }
@media (max-width: 700px) { .acal-sec--pdf .doc-list-a { grid-template-columns: minmax(0, 1fr); } }

/* =====================================================================
   IQAC PAGE FIX - sidebar like Short Term / UG sidebar + no overflow
   ===================================================================== */
.iqac-layout { grid-template-columns: 270px minmax(0, 1fr); gap: 2rem; }
.iqac-right, .iqac-pane, .iqac-pane-body { min-width: 0; }
.iqac-sidebar { background: transparent; border: 0; padding: 0; box-shadow: none; }

.iqac-sidebar-nav {
  display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0;
  background: #fff; border: 1px solid #E8DCC8; border-radius: 10px; overflow: hidden auto;
  padding: 0; box-shadow: none;
  position: sticky; top: 170px; max-height: calc(100vh - 190px);
}
.iqac-nav-head {
  width: auto; background: #3E5C39; color: #fff; border: 0;
  font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 700;
  padding: 0.95rem 1.25rem; flex-shrink: 0;
}
.iqac-nav-btn {
  display: block; width: 100%; flex: 0 0 auto; min-width: 0;
  text-align: left; background: #fff; color: #4A5447;
  border: 0; border-bottom: 1px solid #F0EDE6; border-left: 3px solid transparent; border-radius: 0;
  padding: 0.85rem 1.25rem; font-family: "Jost", sans-serif; font-size: 0.88rem; font-weight: 500;
  letter-spacing: 0; line-height: 1.4; cursor: pointer; box-shadow: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.iqac-nav-btn:last-child { border-bottom: 0; }
.iqac-nav-btn:hover { background: #FAF6EF; color: #2A2F27; border-left-color: #7D9B76; }
.iqac-nav-btn.active { background: #FAF6EF; color: #3E5C39; border-left-color: #3E5C39; font-weight: 600; }
.iqac-sidebar-nav::-webkit-scrollbar { width: 4px; }
.iqac-sidebar-nav::-webkit-scrollbar-thumb { background: #A8C4A2; border-radius: 2px; }

/* document cards inside panes (MoUs, minutes, reports...) */
.iqac-pane .doc-list-a { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.iqac-pane .doc-list-a-item { min-width: 0; }
.iqac-pane .doc-list-a-info h4 { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.4; }
.iqac-pane [class*="grid"] > * { min-width: 0; }
.iqac-pane img { max-width: 100%; height: auto; }

@media (max-width: 1100px) {
  .iqac-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 1.5rem; }
  .iqac-pane .doc-list-a { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .iqac-layout { grid-template-columns: minmax(0, 1fr); }
  .iqac-sidebar-nav { position: static; max-height: none; flex-direction: column; }
  .iqac-nav-btn { width: 100%; font-size: 0.86rem; }
  .iqac-pane { padding: 1.25rem; }
}

/* =====================================================================
   SYLLABUS PAGE (syl2-*) - one syllabus per subject
   ===================================================================== */
.syl2-page { background: #FAF6EF; padding: 2.5rem 1.5rem 3rem; }
.syl2-wrap { max-width: 1200px; margin: 0 auto; }
.syl2-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin: 0 0 1.5rem; padding: 0; }
.syl2-eyebrow { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.18em; color: #7D9B76; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.4rem; }
.syl2-eyebrow::before { content: ''; width: 26px; height: 2px; background: #7D9B76; }
.syl2-head h2 { font-family: "Playfair Display", serif; font-size: clamp(1.6rem, 3vw, 2.2rem); color: #2A2F27; margin: 0; line-height: 1.2; }
.syl2-head p { margin: 0.4rem 0 0; color: #7A8A76; font-size: 0.92rem; }
.syl2-search { display: flex; align-items: center; gap: 0.5rem; background: #fff; border: 1px solid #E8DCC8; border-radius: 8px; padding: 0 0.85rem; width: 280px; max-width: 100%; }
.syl2-search svg { width: 17px; height: 17px; color: #7D9B76; flex-shrink: 0; }
.syl2-search input { border: 0; outline: 0; background: transparent; padding: 0.7rem 0; font-size: 0.88rem; width: 100%; font-family: inherit; color: #2A2F27; }
.syl2-search:focus-within { border-color: #7D9B76; }
.syl2-group { padding: 0; margin: 0; }
.syl2-group + .syl2-group { margin-top: 2rem; }
.syl2-group-title { display: flex; align-items: center; gap: 0.6rem; font-family: "Playfair Display", serif; font-size: 1.2rem; color: #2A2F27; margin: 0 0 1rem; padding-bottom: 0.6rem; border-bottom: 1px solid #E8DCC8; }
.syl2-group-title span { font-family: "Jost", sans-serif; font-size: 0.72rem; font-weight: 700; background: #3E5C39; color: #fff; border-radius: 100px; padding: 0.15rem 0.6rem; }
.syl2-list.doc-list-a { margin-top: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.syl2-list .doc-list-a-item { min-width: 0; }
.syl2-list .doc-list-a-info h4 { white-space: normal; overflow: visible; line-height: 1.4; font-size: 0.95rem; }
.syl2-soon { flex-shrink: 0; font-size: 0.72rem; font-weight: 600; color: #7A8A76; background: #F2EAD8; padding: 0.4rem 0.8rem; border-radius: 5px; }
.syl2-none { color: #7A8A76; text-align: center; padding: 2.5rem 0; margin: 0; }
@media (max-width: 760px) {
  .syl2-page { padding: 2rem 1rem 2.5rem; }
  .syl2-list.doc-list-a { grid-template-columns: minmax(0, 1fr); }
  .syl2-search { width: 100%; }
}

/* =====================================================================
   RESEARCH PAGES (rsx-*)  R&D Cell / IEDC / Publication - flat
   ===================================================================== */
.rsx-page { background: #FAF6EF; padding: 2.5rem 1.5rem 3.5rem; }
.rsx-wrap { max-width: 1200px; margin: 0 auto; }
.rsx-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin-bottom: 2rem; }
.rsx-tab { display: block; background: #fff; border: 1px solid #E8DCC8; border-radius: 10px; padding: 0.95rem 1.2rem; text-decoration: none; border-top: 3px solid #E8DCC8; transition: border-color 0.2s, background 0.2s; }
.rsx-tab strong { display: block; font-family: "Playfair Display", serif; font-size: 1.05rem; color: #2A2F27; }
.rsx-tab span { display: block; font-size: 0.8rem; color: #7A8A76; margin-top: 0.15rem; }
.rsx-tab:hover { border-top-color: #7D9B76; }
.rsx-tab.active { background: #3E5C39; border-color: #3E5C39; }
.rsx-tab.active strong { color: #fff; }
.rsx-tab.active span { color: #D4E6CF; }

.rsx-block { background: #fff; border: 1px solid #E8DCC8; border-radius: 12px; padding: 2rem; margin: 0 0 1.5rem; }
.rsx-eyebrow { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.18em; color: #7D9B76; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.45rem; }
.rsx-eyebrow::before { content: ''; width: 26px; height: 2px; background: #7D9B76; }
.rsx-block h2, .rsx-h2 { font-family: "Playfair Display", serif; font-size: clamp(1.35rem, 2.4vw, 1.8rem); color: #2A2F27; margin: 0 0 1rem; line-height: 1.25; }
.rsx-h2--sm { font-size: 1.3rem; }
.rsx-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.rsx-head h2 { margin: 0; }
.rsx-count { background: #EEF4EC; color: #3E5C39; font-size: 0.75rem; font-weight: 700; padding: 0.35rem 0.8rem; border-radius: 100px; white-space: nowrap; }
.rsx-lead { font-size: 1.02rem; color: #3E5C39; font-weight: 500; line-height: 1.7; margin: 0 0 1rem; }
.rsx-rich { font-size: 0.93rem; color: #4A5447; line-height: 1.85; }
.rsx-rich p { margin: 0 0 0.85rem; }
.rsx-rich p:last-child { margin-bottom: 0; }
.rsx-rich ul, .rsx-rich ol { margin: 0 0 0.85rem; padding-left: 1.2rem; }
.rsx-rich h4 { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.1em; color: #3E5C39; margin: 1.2rem 0 0.5rem; }
.rsx-rich h4:first-child { margin-top: 0; }
.rsx-ticks ul { list-style: none; padding-left: 0; }
.rsx-ticks ul li { position: relative; padding-left: 1.6rem; margin-bottom: 0.45rem; }
.rsx-ticks ul li::before { content: ''; position: absolute; left: 0; top: 0.42em; width: 15px; height: 15px; border-radius: 50%; background: #3E5C39 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 9px no-repeat; }

/* about + stats */
.rsx-about { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 2.5rem; align-items: start; }
.rsx-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.rsx-stats div { background: #FAF6EF; border: 1px solid #EFE6D6; border-radius: 10px; padding: 1.1rem 0.9rem; text-align: center; }
.rsx-stats strong { display: block; font-family: "Playfair Display", serif; font-size: 1.6rem; color: #3E5C39; line-height: 1.1; word-break: break-word; }
.rsx-stats span { display: block; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; color: #7A8A76; font-weight: 700; margin-top: 0.35rem; }

/* vision / mission / objectives */
.rsx-vmo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.rsx-vmo-card { background: #FAF6EF; border: 1px solid #EFE6D6; border-radius: 10px; padding: 1.4rem; }
.rsx-vmo-card--dark { background: #3E5C39; border-color: #3E5C39; }
.rsx-vmo-card--dark p { color: #fff; font-family: "Playfair Display", serif; font-size: 1.1rem; line-height: 1.6; margin: 0; }
.rsx-vmo-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.16em; font-weight: 700; color: #5C7A55; margin-bottom: 0.75rem; }
.rsx-vmo-card--dark .rsx-vmo-label { color: #D4E6CF; }
.rsx-vmo-card .rsx-rich { font-size: 0.88rem; line-height: 1.7; }

/* cards grid */
.rsx-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.rsx-card { position: relative; background: #FAF6EF; border: 1px solid #EFE6D6; border-left: 3px solid #3E5C39; border-radius: 10px; padding: 1.3rem 1.3rem 1.2rem; }
.rsx-num { position: absolute; top: 0.9rem; right: 1rem; font-family: "Playfair Display", serif; font-size: 1.7rem; font-weight: 700; color: rgba(62, 92, 57, 0.15); line-height: 1; }
.rsx-card h3 { font-family: "Playfair Display", serif; font-size: 1.02rem; color: #2A2F27; margin: 0 2.2rem 0.45rem 0; line-height: 1.35; }
.rsx-card p { font-size: 0.86rem; color: #4A5447; line-height: 1.65; margin: 0; }

/* members table */
.rsx-table-wrap { border: 1px solid #E8DCC8; border-radius: 10px; overflow: hidden; }
.rsx-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.rsx-table thead th { background: #3E5C39; color: #fff; text-align: left; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; padding: 0.8rem 1rem; white-space: nowrap; }
.rsx-table td { padding: 0.75rem 1rem; border-top: 1px solid #F0EDE6; color: #4A5447; vertical-align: middle; }
.rsx-table tbody tr:nth-child(even) td { background: #FCFAF5; }
.rsx-table td:first-child { width: 70px; text-align: center; color: #7D9B76; font-weight: 700; }
.rsx-table td strong { color: #2A2F27; font-weight: 600; }
.rsx-table a { color: #3E5C39; text-decoration: none; word-break: break-all; }
.rsx-table a:hover { text-decoration: underline; }
.rsx-empty { color: #7A8A76; margin: 0; font-size: 0.9rem; }

/* publication */
.rsx-pub { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 1.5rem; align-items: start; }
.rsx-block--flat { margin-bottom: 1.5rem; }
.rsx-badges { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: -0.3rem 0 1.2rem; }
.rsx-badges span { background: #EEF4EC; color: #3E5C39; font-size: 0.74rem; font-weight: 700; padding: 0.3rem 0.8rem; border-radius: 100px; }
.rsx-call { background: #3E5C39; border-radius: 12px; padding: 2rem; margin-bottom: 1.5rem; color: #fff; }
.rsx-call-label { display: inline-block; background: rgba(255,255,255,0.14); color: #D4E6CF; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.16em; font-weight: 700; padding: 0.3rem 0.8rem; border-radius: 100px; margin-bottom: 0.8rem; }
.rsx-call h3 { font-family: "Playfair Display", serif; font-size: 1.4rem; margin: 0 0 0.8rem; color: #fff; line-height: 1.35; }
.rsx-call .rsx-rich { color: rgba(255,255,255,0.85); }
.rsx-call-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,0.15); }
.rsx-call-date { font-weight: 600; color: #F2EAD8; font-size: 0.9rem; }
.rsx-btn { display: inline-flex; align-items: center; gap: 0.5rem; background: #fff; color: #3E5C39; text-decoration: none; font-weight: 700; font-size: 0.82rem; padding: 0.6rem 1.1rem; border-radius: 6px; word-break: break-all; }
.rsx-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.rsx-btn:hover { background: #F2EAD8; color: #2a4a28; }
.rsx-pub-side { position: sticky; top: 170px; display: flex; flex-direction: column; gap: 1rem; }
.rsx-side-card { background: #fff; border: 1px solid #E8DCC8; border-radius: 12px; padding: 1.3rem; }
.rsx-side-card h4 { margin: 0 0 0.8rem; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.16em; color: #5C7A55; font-weight: 700; }
.rsx-side-card--dark { background: #FAF6EF; }
.rsx-side-card--dark p { font-size: 0.86rem; color: #4A5447; margin: 0 0 0.9rem; line-height: 1.6; }
.rsx-side-card--dark .rsx-btn { background: #3E5C39; color: #fff; }
.rsx-side-card--dark .rsx-btn:hover { background: #2a4a28; color: #fff; }
.rsx-issues { list-style: none; margin: 0; padding: 0; }
.rsx-issues li { display: flex; align-items: center; gap: 0.75rem; padding: 0.7rem 0; border-top: 1px solid #EFE6D6; }
.rsx-issues li:first-child { border-top: 0; padding-top: 0; }
.rsx-issue-ico { width: 36px; height: 36px; border-radius: 8px; background: #EEF4EC; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsx-issue-ico svg { width: 18px; height: 18px; stroke: #3E5C39; }
.rsx-issue-t { flex: 1; min-width: 0; font-size: 0.87rem; font-weight: 600; color: #2A2F27; line-height: 1.4; }
.rsx-issue-dl { width: 34px; height: 34px; border-radius: 6px; background: #3E5C39; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsx-issue-dl svg { width: 16px; height: 16px; stroke: #fff; }
.rsx-issue-dl:hover { background: #2a4a28; }

@media (max-width: 1024px) {
  .rsx-about, .rsx-pub { grid-template-columns: minmax(0, 1fr); }
  .rsx-pub-side { position: static; }
  .rsx-vmo { grid-template-columns: minmax(0, 1fr); }
  .rsx-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .rsx-page { padding: 1.75rem 0.9rem 2.5rem; }
  .rsx-tabs { grid-template-columns: minmax(0, 1fr); gap: 0.5rem; }
  .rsx-tab span { display: none; }
  .rsx-block, .rsx-call { padding: 1.3rem; }
  .rsx-grid3 { grid-template-columns: minmax(0, 1fr); }
  .rsx-head { flex-direction: column; align-items: flex-start; }
  .rsx-table thead { display: none; }
  .rsx-table, .rsx-table tbody, .rsx-table tr, .rsx-table td { display: block; width: 100%; }
  .rsx-table tr { border-top: 1px solid #E8DCC8; padding: 0.4rem 0; }
  .rsx-table tbody tr:nth-child(even) td { background: transparent; }
  .rsx-table td { border: 0; padding: 0.3rem 1rem; display: flex; gap: 0.75rem; text-align: left; }
  .rsx-table td:first-child { width: 100%; text-align: left; }
  .rsx-table td::before { content: attr(data-label); flex: 0 0 90px; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.06em; color: #7A8A76; font-weight: 700; padding-top: 0.15rem; }
}

/* =====================================================================
   HOME - PHOTO GALLERY STRIP (hg-*)  12 photos from different albums
   ===================================================================== */
.hg-sec { background: #FAF6EF; padding: 4rem 1.5rem; }
.hg-wrap { max-width: 1240px; margin: 0 auto; }
.hg-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.75rem; flex-wrap: wrap; }
.hg-eyebrow { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.18em; color: #7D9B76; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.4rem; }
.hg-eyebrow::before { content: ''; width: 28px; height: 2px; background: #7D9B76; }
.hg-head h2 { font-family: "Playfair Display", serif; font-size: clamp(1.7rem, 3vw, 2.4rem); color: #2A2F27; margin: 0; line-height: 1.2; }
.hg-all { display: inline-flex; align-items: center; gap: 0.45rem; color: #3E5C39; font-weight: 700; font-size: 0.85rem; text-decoration: none; border: 1px solid #3E5C39; padding: 0.6rem 1.2rem; border-radius: 6px; transition: background 0.2s, color 0.2s; }
.hg-all svg { width: 16px; height: 16px; }
.hg-all:hover { background: #3E5C39; color: #fff; }
.hg-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
.hg-item { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: 10px; overflow: hidden; aspect-ratio: 4 / 3; background: #E8DCC8; cursor: pointer; }
.hg-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.hg-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.6rem 0.9rem 0.7rem; background: linear-gradient(to top, rgba(20, 35, 18, 0.85), transparent); color: #fff; font-size: 0.8rem; font-weight: 600; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: 0; transform: translateY(6px); transition: opacity 0.3s, transform 0.3s; }
.hg-item:hover img, .hg-item:focus-visible img { transform: scale(1.06); }
.hg-item:hover .hg-cap, .hg-item:focus-visible .hg-cap { opacity: 1; transform: none; }

.hg-lb { position: fixed; inset: 0; z-index: 4000; background: rgba(12, 18, 11, 0.94); display: flex; align-items: center; justify-content: center; padding: 3.5rem 4.5rem; }
.hg-lb[hidden] { display: none; }
.hg-lb-fig { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; }
.hg-lb-fig img { max-width: 100%; max-height: calc(100vh - 9rem); object-fit: contain; border-radius: 6px; display: block; }
.hg-lb-fig figcaption { display: flex; gap: 1.25rem; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 0.9rem; color: #fff; font-size: 0.9rem; }
.hg-lb-fig figcaption a { color: #A8C4A2; font-weight: 700; text-decoration: none; }
.hg-lb-fig figcaption a:hover { color: #D4E6CF; }
.hg-lb-x { position: absolute; top: 1rem; right: 1.25rem; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,0.12); color: #fff; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.hg-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255,255,255,0.12); color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }
.hg-lb-prev { left: 1rem; }
.hg-lb-next { right: 1rem; }
.hg-lb-x:hover, .hg-lb-nav:hover { background: rgba(255,255,255,0.25); }

@media (max-width: 900px) { .hg-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .hg-sec { padding: 2.75rem 1rem; }
  .hg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
  .hg-cap { opacity: 1; transform: none; font-size: 0.7rem; padding: 1.2rem 0.6rem 0.5rem; }
  .hg-lb { padding: 3.5rem 0.5rem 2rem; }
  .hg-lb-nav { top: auto; bottom: 0.75rem; transform: none; width: 42px; height: 42px; }
}

/* =====================================================================
   STUDENT ACHIEVEMENTS (sa-*)  - photos fully visible, flat
   ===================================================================== */
.sa-page { background: #FAF6EF; padding: 2.5rem 1.5rem 3.5rem; }
.sa-wrap { max-width: 1240px; margin: 0 auto; }
.sa-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.sa-eyebrow { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.18em; color: #7D9B76; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.4rem; }
.sa-eyebrow::before { content: ''; width: 26px; height: 2px; background: #7D9B76; }
.sa-intro h2 { font-family: "Playfair Display", serif; font-size: clamp(1.6rem, 3vw, 2.2rem); color: #2A2F27; margin: 0; line-height: 1.2; }
.sa-intro p { margin: 0.4rem 0 0; color: #7A8A76; font-size: 0.92rem; max-width: 560px; }
.sa-stats { display: flex; gap: 0.75rem; }
.sa-stats div { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 0.7rem; align-items: center; background: #fff; border: 1px solid #E8DCC8; border-radius: 10px; padding: 0.75rem 1.1rem; }
.sa-stats svg { grid-row: 1 / 3; width: 30px; height: 30px; color: #3E5C39; background: #EEF4EC; border-radius: 8px; padding: 5px; }
.sa-stats strong { font-family: "Playfair Display", serif; font-size: 1.4rem; color: #2A2F27; line-height: 1; }
.sa-stats span { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.1em; color: #7A8A76; font-weight: 700; }

.sa-filter { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 1.5rem; }
.sa-filter button { border: 1px solid #E8DCC8; background: #fff; color: #4A5447; font-family: inherit; font-weight: 600; font-size: 0.82rem; padding: 0.45rem 1rem; border-radius: 100px; cursor: pointer; }
.sa-filter button:hover { border-color: #A8C4A2; }
.sa-filter button.active { background: #3E5C39; border-color: #3E5C39; color: #fff; }

.sa-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.sa-card { background: #fff; border: 1px solid #E8DCC8; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; transition: border-color 0.2s; }
.sa-card:hover { border-color: #A8C4A2; }
.sa-photo { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; padding: 0; border: 0; background: #F2EAD8; cursor: zoom-in; overflow: hidden; }
.sa-photo[disabled], .sa-photo.no-img { cursor: default; }
.sa-photo-bg { position: absolute; inset: -20px; background-size: cover; background-position: center; filter: blur(18px) saturate(0.9); opacity: 0.45; }
.sa-photo img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; display: block; }
.sa-photo-ph { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; color: #A8C4A2; }
.sa-photo-ph svg { width: 64px; height: 64px; }
.sa-photo[disabled] .sa-photo-ph, .sa-photo.no-img .sa-photo-ph { display: flex; }
.sa-photo.no-img .sa-photo-bg { display: none; }
.sa-rank { position: absolute; z-index: 2; left: 0.7rem; top: 0.7rem; display: inline-flex; align-items: center; gap: 0.3rem; background: #3E5C39; color: #fff; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; padding: 0.3rem 0.65rem; border-radius: 100px; }
.sa-rank svg { width: 13px; height: 13px; }
.sa-body { padding: 1rem 1.1rem 1.15rem; display: flex; flex-direction: column; flex: 1; border-top: 3px solid #3E5C39; }
.sa-body h3 { font-family: "Playfair Display", serif; font-size: 1.05rem; color: #2A2F27; margin: 0 0 0.4rem; line-height: 1.3; }
.sa-body p { font-size: 0.86rem; color: #4A5447; line-height: 1.6; margin: 0 0 0.8rem; }
.sa-date { margin-top: auto; display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.75rem; font-weight: 600; color: #7A8A76; }
.sa-date svg { width: 14px; height: 14px; color: #7D9B76; }
.sa-empty { color: #7A8A76; text-align: center; padding: 3rem 0; margin: 0; }

.sa-lb { position: fixed; inset: 0; z-index: 4000; background: rgba(12, 18, 11, 0.94); display: flex; align-items: center; justify-content: center; padding: 3.5rem 4.5rem; }
.sa-lb[hidden] { display: none; }
.sa-lb figure { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; }
.sa-lb img { max-width: 100%; max-height: calc(100vh - 10rem); object-fit: contain; border-radius: 6px; display: block; }
.sa-lb figcaption { text-align: center; color: #fff; margin-top: 0.9rem; max-width: 640px; }
.sa-lb figcaption strong { display: block; font-family: "Playfair Display", serif; font-size: 1.15rem; }
.sa-lb figcaption span { display: block; font-size: 0.88rem; color: rgba(255,255,255,0.75); margin-top: 0.25rem; }
.sa-lb-x { position: absolute; top: 1rem; right: 1.25rem; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,0.12); color: #fff; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.sa-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255,255,255,0.12); color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }
.sa-lb-prev { left: 1rem; } .sa-lb-next { right: 1rem; }
.sa-lb-x:hover, .sa-lb-nav:hover { background: rgba(255,255,255,0.25); }

@media (max-width: 1100px) { .sa-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .sa-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
  .sa-body { padding: 0.8rem; }
  .sa-body h3 { font-size: 0.95rem; }
  .sa-body p { font-size: 0.8rem; }
  .sa-page { padding: 2rem 0.9rem 2.5rem; }
  .sa-lb { padding: 3.5rem 0.5rem 4rem; }
  .sa-lb-nav { top: auto; bottom: 0.75rem; transform: none; }
}
@media (max-width: 420px) { .sa-grid { grid-template-columns: minmax(0, 1fr); } }

/* ===== MOBILE HEADER: logo + white hamburger on one row, no Admission button ===== */
@media (max-width: 900px) {
  .site-header .hdr-brand-bar { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; gap: 0.75rem; }
  .site-header .hdr-right-block { display: none !important; }
  .site-header .hdr-logo-block { flex: 1 1 auto; min-width: 0; border-right: 0 !important; padding-right: 0 !important; margin-right: 0 !important; }
  .site-header .hdr-logo-block img { width: auto; max-width: 100%; height: auto; max-height: 46px; }
  .site-header .mob-hamburger { display: flex !important; flex-shrink: 0; margin-left: auto; padding: 0.5rem; background: transparent !important; border: 0; }
  .site-header .mob-hamburger span { background: #fff !important; width: 24px; height: 2px; }
}

/* ===== MOBILE MENU: readable sub-menus (dark background, white text) ===== */
@media (max-width: 900px) {
  .site-header .hdr-nav ul > li > .dropdown,
  .site-header .hdr-nav ul > li > .dropdown--2col,
  .site-header .hdr-nav ul > li > .dropdown--3col,
  .site-header .hdr-nav ul > li > .dropdown--mega {
    position: static !important; transform: none !important; width: auto !important; min-width: 0 !important;
    background: rgba(0, 0, 0, 0.22) !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important;
    grid-template-columns: 1fr !important; flex-direction: column !important; padding: 0 !important; margin: 0 !important;
  }
  .site-header .hdr-nav ul > li > .dropdown > li { width: 100% !important; border: 0 !important; box-shadow: none !important; }
  .site-header .hdr-nav ul > li > .dropdown > li > a,
  .site-header .hdr-nav ul > li > .dropdown a {
    display: block !important; color: rgba(255, 255, 255, 0.9) !important; background: transparent !important;
    font-size: 0.84rem !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important;
    padding: 0.7rem 1rem 0.7rem 2rem !important; border: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }
  .site-header .hdr-nav ul > li > .dropdown a:hover,
  .site-header .hdr-nav ul > li > .dropdown a:focus { background: rgba(255, 255, 255, 0.1) !important; color: #fff !important; }
  .site-header .hdr-nav ul > li > .dropdown a::before,
  .site-header .hdr-nav ul > li > .dropdown a::after { display: none !important; }
}

/* ===== MOBILE: lighter, glassy header + menu panel ===== */
@media (max-width: 900px) {
  body .site-header::before { background: rgba(30, 52, 28, 0.62) !important; -webkit-backdrop-filter: blur(14px) saturate(1.5); backdrop-filter: blur(14px) saturate(1.5); }
  /* one even shade: only the header's glass layer is coloured, every row inside is transparent */
  body .site-header .hdr-contact-bar,
  body .site-header .hdr-brand-bar,
  body .site-header .hdr-logo-block,
  body .site-header.scrolled .hdr-contact-bar,
  body .site-header.scrolled .hdr-brand-bar { background: transparent !important; box-shadow: none !important; }
  body .site-header .hdr-contact-bar { border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important; }
  body .site-header .hdr-brand-bar::before, body .site-header .hdr-brand-bar::after,
  body .site-header .hdr-contact-bar::before, body .site-header .hdr-contact-bar::after { display: none !important; }
  body .site-header::before, body .site-header.scrolled::before { background: rgba(30, 52, 28, 0.66) !important; }
  body .site-header .hdr-nav,
  body .site-header .hdr-nav.open,
  body .site-header .hdr-nav.mob-open {
    background: rgba(34, 58, 31, 0.78) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.5); backdrop-filter: blur(16px) saturate(1.5);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
  body .site-header .hdr-nav ul > li > .dropdown { background: rgba(0, 0, 0, 0.18) !important; }
  body .site-header .hdr-nav-inner { padding: 0 !important; background: transparent !important; }
  body .site-header .hdr-nav-inner > ul { background: transparent !important; width: 100%; }
  body .site-header .hdr-nav-inner > ul > li > a { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
  body .site-header .hdr-nav ul > li > .dropdown a { padding-left: 2.25rem !important; }
}

/* ===== HEADER LOGO: same white version as the footer ===== */
.site-header .hdr-logo-block img,
.site-header .logo-link img { filter: brightness(0) invert(1); }

/* ===== HEADER: accreditation logos + top links aligned right ===== */
.site-header .hdr-accred { display: flex; align-items: center; gap: 0.5rem; flex-shrink: 0; }
.site-header .accred-logo { width: 48px; height: 48px; border-radius: 50%; background: #fff; padding: 3px; object-fit: contain; display: block; flex-shrink: 0; filter: none !important; }
.site-header .hdr-accred .badge-circle { width: 48px; height: 48px; flex-shrink: 0; }
.site-header .hdr-center-links { flex: 1; justify-content: flex-end !important; }
@media (max-width: 1250px) {
  .site-header .accred-logo, .site-header .hdr-accred .badge-circle { width: 42px; height: 42px; }
  .site-header .hdr-accred { gap: 0.35rem; }
  .site-header .hdr-center-links a { padding: 0.3rem 0.55rem; }
}
@media (max-width: 1100px) {
  .site-header .hdr-accred .badge-nirf { display: none; }
  .site-header .hdr-right-block { padding: 0 1rem !important; gap: 0.75rem !important; }
  .site-header .accred-logo { width: 38px; height: 38px; padding: 2px; }
  .site-header .hdr-center-links a { padding: 0.3rem 0.45rem; font-size: 0.62rem; }
}
@media (max-width: 1024px) and (min-width: 901px) {
  .site-header .hdr-center-links { display: none !important; }
  .site-header .hdr-right-block { justify-content: flex-end !important; }
}

/* =====================================================================
   IQAC FEEDBACK ANALYSIS & ATR (fb-*)
   ===================================================================== */
.fb-page { background: #FAF6EF; padding: 2.5rem 1.5rem 3.5rem; }
.fb-wrap { max-width: 1200px; margin: 0 auto; }
.fb-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.fb-eyebrow { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.18em; color: #7D9B76; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.4rem; }
.fb-eyebrow::before { content: ''; width: 26px; height: 2px; background: #7D9B76; }
.fb-intro h2 { font-family: "Playfair Display", serif; font-size: clamp(1.5rem, 3vw, 2.1rem); color: #2A2F27; margin: 0; line-height: 1.2; }
.fb-intro p { margin: 0.5rem 0 0; color: #4A5447; font-size: 0.92rem; line-height: 1.7; max-width: 640px; }
.fb-stats { display: flex; gap: 0.75rem; }
.fb-stats div { background: #fff; border: 1px solid #E8DCC8; border-radius: 10px; padding: 0.8rem 1.2rem; text-align: center; min-width: 110px; }
.fb-stats strong { display: block; font-family: "Playfair Display", serif; font-size: 1.6rem; color: #3E5C39; line-height: 1; }
.fb-stats span { display: block; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.1em; color: #7A8A76; font-weight: 700; margin-top: 0.3rem; }
.fb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.fb-card { background: #fff; border: 1px solid #E8DCC8; border-radius: 12px; overflow: hidden; }
.fb-card-head { display: flex; align-items: center; gap: 0.9rem; padding: 1.1rem 1.3rem; background: #3E5C39; color: #fff; }
.fb-card-ico { width: 44px; height: 44px; border-radius: 10px; background: rgba(255,255,255,0.14); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fb-card-head h3 { font-family: "Playfair Display", serif; font-size: 1.15rem; margin: 0; color: #fff; line-height: 1.2; }
.fb-card-head span { font-size: 0.74rem; color: #D4E6CF; }
.fb-list { list-style: none; margin: 0; padding: 0.4rem 0; }
.fb-list li { display: flex; align-items: center; gap: 0.8rem; padding: 0.7rem 1.3rem; border-top: 1px solid #F0EDE6; }
.fb-list li:first-child { border-top: 0; }
.fb-list li:hover { background: #FAF6EF; }
.fb-doc { width: 34px; height: 34px; border-radius: 8px; background: #EEF4EC; color: #3E5C39; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fb-year { flex: 1; min-width: 0; font-weight: 600; color: #2A2F27; font-size: 0.95rem; }
.fb-year small { display: inline-block; margin-left: 0.5rem; font-size: 0.66rem; font-weight: 700; color: #7A8A76; background: #F2EAD8; border-radius: 4px; padding: 0.1rem 0.4rem; vertical-align: middle; }
.fb-btn { display: inline-flex; align-items: center; gap: 0.35rem; background: #3E5C39; color: #fff; text-decoration: none; font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.45rem 0.9rem; border-radius: 5px; flex-shrink: 0; }
.fb-btn:hover { background: #2a4a28; color: #fff; }
.fb-empty { color: #7A8A76; text-align: center; padding: 3rem 0; margin: 0; }
@media (max-width: 800px) {
  .fb-grid { grid-template-columns: minmax(0, 1fr); }
  .fb-page { padding: 2rem 0.9rem 2.5rem; }
  .fb-list li { padding: 0.65rem 1rem; }
}

/* ===== TOP BAR: phone / email links ===== */
.hdr-contact-bar a.hdr-contact-link { color: inherit; text-decoration: none; transition: color 0.2s; }
.hdr-contact-bar a.hdr-contact-link:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* =====================================================================
   NIRF REPORTS (nf-*)
   ===================================================================== */
.nf-page { background: #FAF6EF; padding: 2.5rem 1.5rem 3.5rem; }
.nf-wrap { max-width: 1100px; margin: 0 auto; }
.nf-head { margin-bottom: 1.75rem; }
.nf-eyebrow { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.18em; color: #7D9B76; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.4rem; }
.nf-eyebrow::before { content: ''; width: 26px; height: 2px; background: #7D9B76; }
.nf-head h2 { font-family: "Playfair Display", serif; font-size: clamp(1.6rem, 3vw, 2.2rem); color: #2A2F27; margin: 0; }
.nf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.25rem; }
.nf-card { background: #fff; border: 1px solid #E8DCC8; border-top: 4px solid #3E5C39; border-radius: 12px; padding: 1.75rem 1.5rem 1.5rem; display: flex; flex-direction: column; align-items: center; text-align: center; transition: border-color 0.2s; }
.nf-card:hover { border-color: #A8C4A2; border-top-color: #3E5C39; }
.nf-ico { position: relative; width: 72px; height: 72px; border-radius: 16px; background: #EEF4EC; color: #3E5C39; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; }
.nf-ico svg { width: 36px; height: 36px; }
.nf-ico span { position: absolute; bottom: -8px; right: -10px; background: #B4533C; color: #fff; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.06em; padding: 0.15rem 0.45rem; border-radius: 4px; }
.nf-card h3 { font-family: "Playfair Display", serif; font-size: 1.2rem; color: #2A2F27; margin: 0 0 1.25rem; line-height: 1.3; }
.nf-btn { margin-top: auto; display: inline-flex; align-items: center; gap: 0.45rem; background: #3E5C39; color: #fff; text-decoration: none; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.04em; padding: 0.65rem 1.25rem; border-radius: 6px; transition: background 0.2s; }
.nf-btn svg { width: 15px; height: 15px; }
.nf-btn:hover { background: #2a4a28; color: #fff; }
.nf-empty { color: #7A8A76; text-align: center; padding: 3rem 0; margin: 0; }
@media (max-width: 600px) { .nf-page { padding: 2rem 0.9rem 2.5rem; } .nf-grid { grid-template-columns: minmax(0, 1fr); } }

/* ===== MAIN MENU: single white underline on hover / active ===== */
@media (min-width: 901px) {
  body .site-header .hdr-nav ul > li > a,
  body .site-header .hdr-nav ul > li > a:hover,
  body .site-header .hdr-nav ul > li > a.active { border-bottom-color: transparent !important; box-shadow: none !important; }
  body .site-header .hdr-nav ul > li > a::after { background: #fff !important; height: 2px !important; }
}

/* =====================================================================
   FOOTER (ft-*) - logo + about | quick links | quick links | contact
   ===================================================================== */
footer.ft { background: #1a2e18; color: rgba(255,255,255,0.78); padding: 0; margin: 0; font-family: "Jost", sans-serif; }
.ft-inner { max-width: 1240px; margin: 0 auto; padding: 4rem 1.5rem 3rem; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.35fr; gap: 2.5rem; }
.ft-col h5 { font-family: "Playfair Display", serif; font-size: 1.12rem; font-weight: 700; color: #fff; margin: 0.4rem 0 1.25rem; padding-bottom: 0.7rem; position: relative; letter-spacing: 0; text-transform: none; }
.ft-col h5::after { content: ''; position: absolute; left: 0; bottom: 0; width: 38px; height: 2px; background: #A8C4A2; }
.ft-logo { display: inline-block; margin-bottom: 1.1rem; }
.ft-logo img { height: 58px; width: auto; filter: brightness(0) invert(1); display: block; }
.ft-brand p { font-size: 0.88rem; line-height: 1.8; color: rgba(255,255,255,0.7); margin: 0 0 1.1rem; }
.ft-badges { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.25rem; }
.ft-badges span { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #D4E6CF; border: 1px solid rgba(168,196,162,0.35); border-radius: 100px; padding: 0.25rem 0.7rem; }
.ft-social { display: flex; gap: 0.55rem; }
.ft-social a { width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.14); display: flex; align-items: center; justify-content: center; color: #fff; transition: background 0.2s, transform 0.2s; }
.ft-social a svg { width: 17px; height: 17px; }
.ft-social a:hover { background: #3E5C39; transform: translateY(-2px); }
.ft-links { list-style: none; margin: 0; padding: 0; }
.ft-links li { margin: 0 0 0.6rem; }
.ft-links a { color: rgba(255,255,255,0.75); text-decoration: none; font-size: 0.9rem; display: inline-flex; align-items: center; gap: 0.5rem; transition: color 0.2s, transform 0.2s; }
.ft-links a::before { content: ''; width: 6px; height: 6px; border-top: 1.5px solid #A8C4A2; border-right: 1.5px solid #A8C4A2; transform: rotate(45deg); flex-shrink: 0; }
.ft-links a:hover { color: #fff; transform: translateX(3px); }
.ft-contact { list-style: none; margin: 0 0 1.25rem; padding: 0; }
.ft-contact li { display: flex; align-items: flex-start; gap: 0.8rem; margin-bottom: 1rem; font-size: 0.9rem; line-height: 1.6; }
.ft-contact a { color: rgba(255,255,255,0.85); text-decoration: none; word-break: break-word; }
.ft-contact a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ft-ico { width: 34px; height: 34px; border-radius: 8px; background: rgba(168,196,162,0.14); color: #A8C4A2; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: -2px; }
.ft-ico svg { width: 16px; height: 16px; }
.ft-map { display: inline-flex; align-items: center; gap: 0.45rem; background: #3E5C39; color: #fff; text-decoration: none; font-size: 0.82rem; font-weight: 600; padding: 0.6rem 1.1rem; border-radius: 6px; transition: background 0.2s; }
.ft-map svg { width: 15px; height: 15px; }
.ft-map:hover { background: #4f7349; color: #fff; }
.ft-bottom { border-top: 1px solid rgba(255,255,255,0.1); max-width: 1240px; margin: 0 auto; padding: 1.2rem 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; flex-wrap: wrap; font-size: 0.8rem; color: rgba(255,255,255,0.55); }
.ft-bottom p { margin: 0; }
@media (max-width: 1024px) { .ft-inner { grid-template-columns: 1fr 1fr; gap: 2.25rem; } }
@media (max-width: 600px) {
  .ft-inner { grid-template-columns: 1fr 1fr; padding: 3rem 1.1rem 2rem; gap: 2rem 1.25rem; }
  .ft-brand, .ft-inner > .ft-col:last-child { grid-column: 1 / -1; }
  .ft-bottom { flex-direction: column; text-align: center; }
}

/* Council / leadership pages reuse the Sponsoring Body cards */
.spb-grid--4 { grid-template-columns: repeat(4, 1fr); }
.spb-info .pc-dept { margin: 0 0 0.5rem; text-align: center; }
.spb-info .pc-phone { margin-top: 0.6rem; }
@media (max-width: 860px) { .spb-grid--4 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .spb-grid--4 { grid-template-columns: repeat(2, 1fr); } }

/* =====================================================================
   RESPONSIVE CONTENT TABLES (rt-*) - tables typed in admin editors
   ===================================================================== */
.rt-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1rem 0 1.25rem; border: 1px solid #E8DCC8; border-radius: 10px; background: #fff; }
.rt-table { width: 100% !important; min-width: 560px; border-collapse: collapse; font-size: 0.88rem; margin: 0 !important; border: 0 !important; }
.rt-table th, .rt-table td { padding: 0.7rem 1rem !important; border: 0 !important; border-top: 1px solid #F0EDE6 !important; text-align: left; vertical-align: middle; color: #4A5447; height: auto !important; width: auto !important; }
.rt-table thead th, .rt-table tr.rt-head > * { background: #3E5C39 !important; color: #fff !important; font-size: 0.74rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; white-space: nowrap; border-top: 0 !important; }
.rt-table tbody tr:nth-child(even) td { background: #FCFAF5; }
.rt-table tbody tr:hover td { background: #F3F7F2; }
.rt-table a { color: #3E5C39; word-break: break-all; }
.rt-table p { margin: 0; }
@media (max-width: 700px) {
  .rt-wrap { border: 0; background: transparent; overflow: visible; }
  .rt-stack, .rt-wrap .rt-stack, .inner-page-full .rt-stack { min-width: 0 !important; }
  .rt-stack, .rt-stack tbody, .rt-stack tr, .rt-stack td, .rt-stack th { display: block; width: 100% !important; }
  .rt-stack thead, .rt-stack tr.rt-head { display: none; }
  .rt-stack tr { background: #fff; border: 1px solid #E8DCC8; border-left: 4px solid #3E5C39; border-radius: 10px; margin-bottom: 0.75rem; padding: 0.4rem 0; }
  .rt-stack tbody tr:nth-child(even) td, .rt-stack tbody tr:hover td { background: transparent; }
  .rt-stack td { display: flex; gap: 0.75rem; border: 0 !important; padding: 0.35rem 0.9rem !important; font-size: 0.86rem; }
  .rt-stack td[data-label]::before { content: attr(data-label); flex: 0 0 38%; max-width: 130px; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #7A8A76; padding-top: 0.15rem; }
  .rt-stack td:empty, .rt-stack td:not([data-label]):empty { display: none; }
}

/* =====================================================================
   FACULTY CARDS - same look as the Sponsoring Body cards
   ===================================================================== */
.fac-grid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important; gap: 1.4rem !important; align-items: stretch; }
.fac-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #E8DCC8 !important; border-radius: 22px !important; padding: 1.4rem 1.1rem 1.3rem; text-align: center; overflow: hidden; position: relative; box-shadow: none !important; transform: none !important; }
.fac-card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 46%; background: linear-gradient(160deg, #3E5C39 0%, #1a3318 100%); border-radius: 22px 22px 50% 50% / 22px 22px 18% 18%; transition: height 0.4s ease; z-index: 0; }
.fac-card:hover::before { height: 52%; }
.fac-card--hod { border-top: 1px solid #E8DCC8 !important; }
.fac-card-img { position: relative; z-index: 1; width: 86%; height: auto !important; aspect-ratio: 1 / 1; margin: 0.4rem auto 0; border-radius: 14px; border: 4px solid #fff; overflow: hidden; background: linear-gradient(135deg, #D4E6CF, #7D9B76); box-shadow: 7px 7px 0 #A8C4A2; transition: box-shadow 0.4s ease; }
.fac-card:hover .fac-card-img { box-shadow: -7px 7px 0 #A8C4A2; }
.fac-card-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; transition: transform 0.5s ease; }
.fac-card:hover .fac-card-img img { transform: scale(1.06); }
.fac-placeholder-icon { color: #fff; }
.fac-hod-badge { top: 0.5rem !important; right: 0.5rem !important; background: #fff !important; color: #3E5C39 !important; }
.fac-card-info { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; align-items: center; padding: 1.2rem 0 0 !important; }
.fac-card-info h4 { font-family: "Playfair Display", serif; font-size: 1.02rem !important; font-weight: 700; color: #2A2F27; line-height: 1.35; margin: 0 !important; min-height: 2.7em; display: flex; align-items: center; justify-content: center; }
.fac-card-info h4::after { content: none; }
.fac-card-info h4 + * { margin-top: 0.6rem; }
.fac-designation { display: inline-block; background: #FAF6EF; color: #3E5C39 !important; border: 1px solid #D4E6CF; font-size: 0.64rem !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: 0.1em; padding: 0.35rem 0.85rem; border-radius: 100px; margin: 0.6rem 0 0.5rem !important; position: relative; }
.fac-designation::before { content: ''; position: absolute; left: 50%; top: -0.75rem; width: 34px; height: 2px; margin-left: -17px; background: #7D9B76; }
.fac-qual { text-align: center; }
.fac-email { justify-content: center; }
.fac-card-info > a:last-child, .fac-card-info .fac-more, .fac-card-info .fac-link { margin-top: auto; padding-top: 0.6rem; font-size: 0.78rem; font-weight: 700; color: #3E5C39; text-decoration: none; }
.fac-card-info > a:last-child:hover, .fac-card-info .fac-more:hover, .fac-card-info .fac-link:hover { color: #1a3318; }
@media (max-width: 800px) { .fac-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 0.85rem !important; } .fac-card { padding: 1rem 0.7rem 1.1rem; border-radius: 18px !important; } .fac-card-info h4 { font-size: 0.88rem !important; } }
@media (max-width: 480px) { .fac-grid { grid-template-columns: repeat(2, 1fr) !important; } .fac-designation { font-size: 0.56rem !important; padding: 0.3rem 0.6rem; } }

/* ===== Bullets for lists typed in the admin editor (Statutes, IQAC, UG/PG) ===== */
.stat-content-body ul, .iqac-pane-body ul, .ug-panel-body ul { list-style: none; padding-left: 0.25rem; margin: 0 0 1rem; }
.stat-content-body ul > li, .iqac-pane-body ul > li, .ug-panel-body ul > li { position: relative; padding-left: 1.4rem; margin-bottom: 0.45rem; }
.stat-content-body ul > li::before, .iqac-pane-body ul > li::before, .ug-panel-body ul > li::before {
  content: ''; position: absolute; left: 0.2rem; top: 0.72em; width: 7px; height: 7px; border-radius: 50%; background: #3E5C39; box-shadow: 0 0 0 3px #D4E6CF; }
.stat-content-body ol, .iqac-pane-body ol, .ug-panel-body ol { list-style: decimal; padding-left: 1.6rem; margin: 0 0 1rem; }
.stat-content-body ol > li, .iqac-pane-body ol > li, .ug-panel-body ol > li { margin-bottom: 0.45rem; padding-left: 0.2rem; }
.stat-content-body ol > li::marker, .iqac-pane-body ol > li::marker, .ug-panel-body ol > li::marker { color: #3E5C39; font-weight: 700; }

/* =====================================================================
   STUDENT LIFE SIDEBAR (sls-*) - shown on every Student Life page
   ===================================================================== */
.sls-shell { max-width: 1320px; margin: 0 auto; padding: 2.5rem 1.5rem 3rem; display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 2rem; align-items: start; }
.sls-side { position: static; }
.sls-box { background: #fff; border: 1px solid #E8DCC8; border-radius: 10px; overflow: hidden; }
.sls-head { background: #3E5C39; color: #fff; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; padding: 0.95rem 1.25rem; }
.sls-nav { display: flex; flex-direction: column; }
.sls-nav a { display: block; padding: 0.8rem 1.25rem; font-size: 0.88rem; font-weight: 500; color: #4A5447; text-decoration: none; border-bottom: 1px solid #F0EDE6; border-left: 3px solid transparent; line-height: 1.4; transition: background 0.2s, color 0.2s, border-color 0.2s; }
.sls-nav a:last-child { border-bottom: 0; }
.sls-nav a:hover { background: #FAF6EF; color: #2A2F27; border-left-color: #7D9B76; }
.sls-nav a.active { background: #FAF6EF; color: #3E5C39; border-left-color: #3E5C39; font-weight: 600; }
.sls-nav::-webkit-scrollbar { width: 4px; } .sls-nav::-webkit-scrollbar-thumb { background: #A8C4A2; border-radius: 2px; }
.sls-main { min-width: 0; }
/* page sections inside the content column: no extra outer padding, no full-bleed widths */
.sls-main > section, .sls-main > div { max-width: 100%; }
.sls-shell:not(.sls-solo) .sls-main > section:first-child, .sls-shell:not(.sls-solo) .sls-main > div:first-child { margin-top: 0 !important; }
.sls-shell:not(.sls-solo) .sls-main > [class*="-page"], .sls-shell:not(.sls-solo) .sls-main > [class*="-section"] { padding-left: 0 !important; padding-right: 0 !important; padding-top: 0 !important; }
.sls-shell:not(.sls-solo) .sls-main [class*="-wrap"], .sls-shell:not(.sls-solo) .sls-main [class*="-inner"], .sls-shell:not(.sls-solo) .sls-main [class*="-container"] { max-width: 100% !important; }
@media (max-width: 900px) {
  .sls-shell { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; padding: 1.25rem 1rem 2.5rem; }
  .sls-side { position: static; }
  .sls-box { border-radius: 8px; }
  .sls-head { display: none; }
  .sls-nav { flex-direction: row; overflow-x: auto; overflow-y: hidden; max-height: none; scrollbar-width: none; }
  .sls-nav::-webkit-scrollbar { display: none; }
  .sls-nav a { flex: 0 0 auto; white-space: nowrap; border-bottom: 0; border-left: 0; border-right: 1px solid #F0EDE6; border-top: 3px solid transparent; padding: 0.7rem 1rem; font-size: 0.82rem; }
  .sls-nav a:hover { border-left-color: transparent; border-top-color: #7D9B76; }
  .sls-nav a.active { border-left-color: transparent; border-top-color: #3E5C39; }
}

.sls-bg { background: #FAF6EF; }
.sls-shell.sls-solo { display: block; max-width: none; padding: 0; }

/* Student Life pages with the sidebar: inner side-by-side blocks stack, so the page never has 3 columns */
.sls-shell:not(.sls-solo) .cm-intro-grid,
.sls-shell:not(.sls-solo) .plc-about-grid,
.sls-shell:not(.sls-solo) .icc-about,
.sls-shell:not(.sls-solo) .hostel-layout,
.sls-shell:not(.sls-solo) .res-two-col,
.sls-shell:not(.sls-solo) .adm-two-col,
.sls-shell:not(.sls-solo) .sl-hero-inner,
.sls-shell:not(.sls-solo) .prin-body-inner { grid-template-columns: minmax(0, 1fr) !important; gap: 1.75rem !important; }
.sls-shell:not(.sls-solo) .cm-id-card,
.sls-shell:not(.sls-solo) .hostel-layout > aside,
.sls-shell:not(.sls-solo) .icc-about > aside { position: static !important; top: auto !important; }

/* Student Life: no sticky / inner-scrolling sidebars (layout sidebar or the page's own) */
.sls-main [class*="sidebar"], .sls-main [class*="-side"], .sls-main .sl-page-layout > aside, .sls-main .act-layout > aside {
  position: static !important; max-height: none !important; overflow: visible !important; }

/* Sidebar mode: decorative side cards are not needed once the block is stacked */
.sls-shell:not(.sls-solo) .cm-id-card { display: none !important; }
.sls-shell:not(.sls-solo) .plc-about-img:has(.plc-dummy) { display: none !important; }
.sls-shell:not(.sls-solo) .plc-about-img { position: static !important; max-width: 560px; }
.sls-shell:not(.sls-solo) .plc-about-img img { width: 100%; height: auto; display: block; }

/* =====================================================================
   NSS COORDINATORS - same card style as Faculty / Sponsoring Body
   ===================================================================== */
.nss-members-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important; gap: 1.4rem !important; }
.nss-member-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid #E8DCC8 !important; border-radius: 22px !important; padding: 1.4rem 1.1rem 1.3rem; text-align: center; overflow: hidden; box-shadow: none !important; transform: none !important; }
.nss-member-card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 46%; background: linear-gradient(160deg, #3E5C39 0%, #1a3318 100%); border-radius: 22px 22px 50% 50% / 22px 22px 18% 18%; transition: height 0.4s ease; z-index: 0; }
.nss-member-card:hover::before { height: 52%; }
.nss-member-photo { position: relative; z-index: 1; width: 86% !important; height: auto !important; aspect-ratio: 1 / 1; margin: 0.4rem auto 0; border-radius: 14px; border: 4px solid #fff; overflow: hidden; background: linear-gradient(135deg, #D4E6CF, #7D9B76); box-shadow: 7px 7px 0 #A8C4A2; transition: box-shadow 0.4s ease; }
.nss-member-card:hover .nss-member-photo { box-shadow: -7px 7px 0 #A8C4A2; }
.nss-member-photo img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: center 18%; display: block; transition: transform 0.5s ease; }
.nss-member-card:hover .nss-member-photo img { transform: scale(1.06); }
.nss-member-avatar { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #fff; }
.nss-member-info { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; align-items: center; padding: 1.2rem 0 0 !important; border-top: 0 !important; }
.nss-member-info h4 { font-family: "Playfair Display", serif; font-size: 1.02rem !important; font-weight: 700; color: #2A2F27; line-height: 1.35; margin: 0 !important; min-height: 2.7em; display: flex; align-items: center; justify-content: center; }
.nss-member-info p { position: relative; display: inline-block; background: #FAF6EF; color: #3E5C39 !important; border: 1px solid #D4E6CF; font-size: 0.64rem !important; font-weight: 700 !important; letter-spacing: 0.1em; padding: 0.35rem 0.85rem; border-radius: 100px; margin: 1.1rem 0 0.6rem !important; }
.nss-member-info p::before { content: ''; position: absolute; left: 50%; top: -0.75rem; width: 34px; height: 2px; margin-left: -17px; background: #7D9B76; }
.nss-member-contact { justify-content: center; margin-top: auto; }
@media (max-width: 800px) { .nss-members-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 0.85rem !important; } .nss-member-card { padding: 1rem 0.7rem 1.1rem; border-radius: 18px !important; } .nss-member-info h4 { font-size: 0.88rem !important; } .nss-member-info p { font-size: 0.56rem !important; } }


/* ===== Header / footer logo: white transparent PNG (no filter), 90px ===== */
.site-header .hdr-logo-block img,
.site-header .logo-link img { filter: none !important; height: 90px !important; max-height: none !important; width: auto !important; max-width: none !important; }
.ft-logo img { filter: none !important; height: 70px !important; width: auto !important; }
@media (max-width: 1100px) {
  .site-header .hdr-logo-block img, .site-header .logo-link img { height: 64px !important; }
}
@media (max-width: 768px) {
  .site-header .hdr-logo-block img, .site-header .logo-link img { height: auto !important; max-height: 48px !important; max-width: 100% !important; }
}

/* ===== Header logo spacing + Login on one line ===== */
.site-header .hdr-logo-block { padding-right: 1.6rem !important; margin-right: 1.4rem !important; }
.site-header .hdr-logo-block img, .site-header .logo-link img { height: 90px !important; }
.login-btn { white-space: nowrap !important; }
@media (max-width: 1100px) { .site-header .hdr-logo-block img, .site-header .logo-link img { height: 60px !important; } }
@media (max-width: 768px) {
  .site-header .hdr-logo-block { padding-right: 0 !important; margin-right: 0 !important; }
  .site-header .hdr-logo-block img, .site-header .logo-link img { height: auto !important; max-height: 46px !important; }
}


/* ===== Header logo: fit the row ===== */
.site-header .hdr-logo-block { padding-right: 1.1rem !important; margin-right: .6rem !important; flex-shrink: 0; }
.site-header .hdr-logo-block img, .site-header .logo-link img { height: 68px !important; max-width: none !important; }
@media (max-width: 1280px) { .site-header .hdr-logo-block img, .site-header .logo-link img { height: 58px !important; } }
@media (max-width: 1100px) { .site-header .hdr-logo-block img, .site-header .logo-link img { height: 52px !important; } }
@media (max-width: 768px) {
  .site-header .hdr-logo-block { padding-right: 0 !important; margin-right: 0 !important; flex-shrink: 1; }
  .site-header .hdr-logo-block img, .site-header .logo-link img { height: auto !important; max-height: 44px !important; max-width: 100% !important; }
}


/* ===== Accreditation logos: equal-size white discs (HD) ===== */
.site-header .accred-logo { width: 54px !important; height: 54px !important; object-fit: contain !important; background: transparent !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; filter: drop-shadow(0 1px 2px rgba(0,0,0,.25)) !important; flex-shrink: 0; }
@media (max-width: 1280px) { .site-header .accred-logo { width: 46px !important; height: 46px !important; } }
@media (max-width: 1100px) { .site-header .accred-logo { width: 42px !important; height: 42px !important; } }
@media (max-width: 768px)  { .site-header .accred-logo { width: 38px !important; height: 38px !important; } }

/* ===== Header row 2: white logo & icon area (desktop), colour logo, equal-height icons ===== */
.logo-link .logo-color { display: none; }
@media (min-width: 901px) {
  body .site-header .hdr-brand-bar,
  body .site-header.scrolled .hdr-brand-bar {
    background: linear-gradient(90deg, #fffffff0 0%, #ffffffa6 55%, rgba(255, 255, 255, .9) 100%) !important;
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(62,92,57,.15) !important; box-shadow: 0 2px 10px rgba(0,0,0,.06) !important;
  }
  body .site-header .hdr-brand-bar::before, body .site-header .hdr-brand-bar::after { display: none !important; }
  .site-header .hdr-logo-block { background: transparent !important; border-right: 1px solid rgba(62,92,57,.18) !important; clip-path: none !important; }
  .site-header .logo-link .logo-white { display: none !important; }
  .site-header .logo-link .logo-color { display: block !important; height: 64px !important; width: auto !important; max-width: none !important; filter: none !important; }
  .site-header .hdr-right-block { background: transparent !important; }

  /* icons: same height, natural colours, no shadow */
  .site-header .hdr-accred { display: flex !important; align-items: center !important; gap: 1.1rem !important; }
  .site-header .accred-logo { height: 50px !important; width: auto !important; max-width: 80px !important; object-fit: contain !important; filter: none !important; background: transparent !important; padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; }

  /* links + buttons readable on white */
  .site-header .hdr-center-links a,
  .site-header.scrolled .hdr-center-links a { color: #2F4A2C !important; border-color: rgba(62,92,57,.2) !important; }
  .site-header .hdr-center-links a:hover { color: #7A9A72 !important; }
  .site-header .login-btn { background: transparent !important; color: #2F4A2C !important; border: 1.5px solid #3E5C39 !important; }
  .site-header .login-btn:hover { background: #3E5C39 !important; color: #fff !important; }
  .site-header .btn-admission { background: #3E5C39 !important; color: #fff !important; border-color: #3E5C39 !important; }
  .site-header .btn-admission:hover { background: #2F4A2C !important; color: #fff !important; }
}
@media (min-width: 901px) and (max-width: 1280px) {
  .site-header .logo-link .logo-color { height: 54px !important; }
  .site-header .accred-logo { height: 42px !important; }
  .site-header .hdr-accred { gap: .7rem !important; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .site-header .logo-link .logo-color { height: 46px !important; }
  .site-header .accred-logo { height: 36px !important; }
}

/* ===== Hide the top contact bar once the page is scrolled ===== */
.site-header .hdr-contact-bar { max-height: 140px; overflow: hidden; transition: max-height .35s ease, padding .35s ease, opacity .25s ease, border-width .35s ease; }
body .site-header.scrolled .hdr-contact-bar { max-height: 0 !important; min-height: 0 !important; height: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; opacity: 0; border-width: 0 !important; pointer-events: none; }
/* ===== DESKTOP DROPDOWN ITEMS: same look as inner pages (cream hover, dark text, no underline) ===== */
@media (min-width: 901px) {
  body .site-header .hdr-nav .dropdown li > a,
  body .site-header .hdr-nav .dropdown li > a.active { color: var(--text-dark, #2C3A28) !important; background: transparent !important; border-radius: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
  body .site-header .hdr-nav .dropdown li > a:hover,
  body .site-header .hdr-nav .dropdown li > a:focus { background: var(--cream, #F6F1E7) !important; color: var(--forest, #2F4A2C) !important; padding-left: 1.25rem !important; }
  body .site-header .hdr-nav .dropdown li > a::after,
  body .site-header .hdr-nav .dropdown li > a::before { display: none !important; content: none !important; }
}

/* ===== NSS: tidy text spacing, bullets, separate student coordinators card ===== */
.nss-about-card { padding: 2rem 2.25rem !important; }
.nss-about-card h2 { margin: 0 0 .9rem !important; }
.sl-page-content .nss-about-card .res-body,
.nss-about-card .res-body { padding: 0 !important; margin: 0 !important; font-size: .93rem; line-height: 1.8; color: #4A5447; }
.nss-about-card .res-body > *:first-child { margin-top: 0 !important; }
.nss-about-card .res-body > *:last-child { margin-bottom: 0 !important; }
.nss-about-card .res-body p { margin: 0 0 .9rem !important; padding: 0 !important; text-indent: 0 !important; }
.nss-about-card .res-body p:empty,
.nss-about-card .res-body p:has(> br:only-child) { display: none; }
.nss-about-card .res-body h2,
.nss-about-card .res-body h3,
.nss-about-card .res-body h4 { font-family: "Playfair Display", serif; color: #2A2F27; font-size: 1.12rem; font-weight: 700; margin: 1.4rem 0 .7rem !important; padding: 0 !important; line-height: 1.3; }
.nss-about-card .res-body ul,
.nss-about-card .res-body ol { margin: 0 0 1rem !important; padding: 0 !important; list-style: none !important; }
.nss-about-card .res-body li { position: relative; padding: 0 0 0 1.5rem !important; margin: 0 0 .55rem !important; list-style: none !important; }
.nss-about-card .res-body ul > li::before { content: ""; position: absolute; left: .2rem; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: #7D9B76; box-shadow: 0 0 0 3px #E3EEDF; }
.nss-about-card .res-body ol { counter-reset: nssol; }
.nss-about-card .res-body ol > li { counter-increment: nssol; padding-left: 1.9rem !important; }
.nss-about-card .res-body ol > li::before { content: counter(nssol); position: absolute; left: 0; top: .15em; width: 1.35rem; height: 1.35rem; border-radius: 50%; background: #3E5C39; color: #fff; font-size: .7rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }

.nss-scoord-card { background: #fff; border: 1px solid #E8DCC8; border-radius: 12px; padding: 2rem 2.25rem; margin-bottom: 1.5rem; }
.nss-scoord-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.nss-scoord-item { display: flex; align-items: center; gap: .85rem; background: #FAF6EF; border: 1px solid #E8DCC8; border-radius: 12px; padding: .9rem 1rem; }
.nss-scoord-ava { width: 46px; height: 46px; flex-shrink: 0; border-radius: 50%; background: #3E5C39; color: #fff; display: flex; align-items: center; justify-content: center; font-family: "Playfair Display", serif; font-size: 1.15rem; font-weight: 700; box-shadow: 3px 3px 0 #A8C4A2; }
.nss-scoord-item strong { display: block; color: #2A2F27; font-size: .95rem; font-weight: 700; line-height: 1.3; }
.nss-scoord-item span { display: inline-block; margin-top: .3rem; font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #3E5C39; background: #E3EEDF; border-radius: 30px; padding: .18rem .6rem; }
@media (max-width: 600px) {
  .nss-about-card, .nss-scoord-card { padding: 1.4rem 1.2rem !important; }
  .nss-scoord-grid { grid-template-columns: 1fr; }
}

/* ===== Bullets for lists typed in the admin editor (all content pages, e.g. Grievance procedure) ===== */
.res-body ul:not([class]),
.inner-page-full .content-body ul:not([class]),
.sl-page-content ul:not([class]) { list-style: none !important; padding-left: 0 !important; margin: 0 0 1rem !important; }
.res-body ul:not([class]) > li,
.inner-page-full .content-body ul:not([class]) > li,
.sl-page-content ul:not([class]) > li { position: relative; list-style: none !important; padding-left: 1.5rem !important; margin: 0 0 .6rem !important; line-height: 1.75; }
.res-body ul:not([class]) > li::before,
.inner-page-full .content-body ul:not([class]) > li::before,
.sl-page-content ul:not([class]) > li::before { content: ""; position: absolute; left: .2rem; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: #7D9B76; box-shadow: 0 0 0 3px #E3EEDF; }
.res-body ul:not([class]) ul:not([class]) > li::before,
.sl-page-content ul:not([class]) ul:not([class]) > li::before { background: transparent; border: 2px solid #7D9B76; width: 7px; height: 7px; box-shadow: none; }
.res-body ol:not([class]),
.sl-page-content ol:not([class]) { list-style: decimal !important; padding-left: 1.4rem !important; margin: 0 0 1rem !important; }
.res-body ol:not([class]) > li,
.sl-page-content ol:not([class]) > li { list-style: decimal !important; padding-left: .3rem !important; margin: 0 0 .6rem !important; }
.res-body ol:not([class]) > li::marker,
.sl-page-content ol:not([class]) > li::marker { color: #3E5C39; font-weight: 700; }
.nss-about-card .res-body ol:not([class]) { list-style: none !important; padding-left: 0 !important; }
.nss-about-card .res-body ol:not([class]) > li { list-style: none !important; padding-left: 1.9rem !important; }

/* no extra gap after the last item of admin-typed text */
.res-body > *:last-child, .res-body > *:last-child > *:last-child { margin-bottom: 0 !important; }

/* ===== ICC page: single column (about, then meeting minutes below) ===== */
.icx-top { grid-template-columns: 1fr !important; gap: 1.5rem !important; margin-bottom: 2rem !important; }
.icx-minutes { position: static !important; top: auto !important; }
.icx-page { padding: 0 !important; background: transparent !important; }
.icx-wrap { max-width: none !important; padding: 0 !important; }

/* ===== RTI: tighter, evenly spaced sections ===== */
.rti-page .rti-sec { padding: 3.25rem 0 !important; }
.rti-page .rti-sec + .rti-sec { border-top: 1px solid #EFE7D8; }
.rti-page .rti-head { margin-bottom: 2rem !important; }
.rti-page .rti-intro-text p:last-child { margin-bottom: 0 !important; }
@media (max-width: 700px) { .rti-page .rti-sec { padding: 2.25rem 0 !important; } }

/* ===== Multi-column dropdowns: keep the grid while fading in/out (no 1-column flash on close) ===== */
@media (min-width: 901px) {
  .hdr-nav .dropdown.dropdown--2col,
  .hdr-nav ul > li > .dropdown.dropdown--2col,
  .hdr-nav ul > li:hover > .dropdown.dropdown--2col { display: grid !important; grid-template-columns: 1fr 1fr !important; flex-direction: unset !important; }
  .hdr-nav .dropdown.dropdown--3col,
  .hdr-nav ul > li > .dropdown.dropdown--3col,
  .hdr-nav ul > li:hover > .dropdown.dropdown--3col { display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; flex-direction: unset !important; }
  .hdr-nav .dropdown { pointer-events: none; }
  .hdr-nav ul > li:hover > .dropdown { pointer-events: auto; }
  .hdr-nav .dropdown { transition: opacity .2s ease, visibility 0s linear .2s, transform .2s ease !important; }
  .hdr-nav ul > li:hover > .dropdown { transition: opacity .2s ease, visibility 0s linear 0s, transform .2s ease !important; }
}

/* ===== Login dropdown: same look as the main menu dropdowns (no left line) ===== */
body .site-header .login-dropdown {
  top: calc(100% + 8px) !important; right: 0 !important; min-width: 190px !important; padding: 0 !important; margin: 0 !important;
  background: rgba(255,255,255,.96) !important; -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
  border: 1px solid rgba(232,220,200,.9) !important; border-top: 3px solid #7D9B76 !important;
  border-radius: 0 0 8px 8px !important; box-shadow: 0 14px 40px rgba(10,25,10,.22) !important; overflow: hidden !important; list-style: none !important;
}
body .site-header .login-dropdown li { list-style: none !important; margin: 0 !important; border: 0 !important; }
body .site-header .login-dropdown li a {
  display: block !important; padding: .6rem 1.1rem !important; font-size: .84rem !important; font-weight: 500 !important;
  color: #2A2F27 !important; background: transparent !important; text-transform: none !important; letter-spacing: 0 !important;
  border: 0 !important; border-left: 0 !important; border-bottom: 1px solid #F0EADF !important; box-shadow: none !important;
  transition: background .15s, color .15s, padding-left .15s !important;
}
body .site-header .login-dropdown li:last-child a { border-bottom: 0 !important; }
body .site-header .login-dropdown li a:hover,
body .site-header .login-dropdown li a:focus { background: #FAF6EF !important; color: #2F4A2C !important; padding-left: 1.35rem !important; border-left: 0 !important; }
body .site-header .login-dropdown li a::before,
body .site-header .login-dropdown li a::after { display: none !important; content: none !important; }

/* ===== Resource detail: photo after the text, fully visible ===== */
.rs-detail-img--after { margin: 0 2.25rem 2rem; padding: 0; border-radius: 12px; overflow: hidden; background: #F4EFE4; border: 1px solid #E8DCC8; }
.rs-detail-img--after a { display: block; }
.rs-detail-img--after img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: contain; margin: 0 auto; }
.rs-detail-body { padding-bottom: 1.5rem !important; }
@media (max-width: 700px) { .rs-detail-img--after { margin: 0 1.25rem 1.5rem; } }

/* =====================================================================
   DIRECTOR / MANAGER MESSAGE (hm-*)
   ===================================================================== */
.hm-page { background: #FAF6EF; padding: 3.5rem 0 4.5rem; }
.hm-wrap { max-width: 1200px; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: 320px 1fr; gap: 2.5rem; align-items: start; }
.hm-card { background: #fff; border: 1px solid #E8DCC8; border-radius: 22px; overflow: hidden; position: sticky; top: 170px; }
.hm-photo { position: relative; padding: 1.6rem 1.6rem 0; }
.hm-photo::before { content: ""; position: absolute; inset: 0 0 45% 0; background: #3E5C39; border-radius: 0 0 50% 50% / 0 0 22% 22%; }
.hm-photo img, .hm-ini { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; border-radius: 14px; border: 5px solid #fff; box-shadow: 8px 8px 0 #A8C4A2; background: #E3EEDF; }
.hm-ini { display: flex; align-items: center; justify-content: center; font-family: "Playfair Display", serif; font-size: 4rem; font-weight: 700; color: #3E5C39; }
.hm-id { padding: 1.6rem 1.6rem 1.4rem; text-align: center; }
.hm-id h3 { font-family: "Playfair Display", serif; font-size: 1.3rem; font-weight: 700; color: #2A2F27; margin: 0 0 .55rem; line-height: 1.3; }
.hm-role { display: inline-block; background: #E3EEDF; color: #3E5C39; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; border-radius: 30px; padding: .3rem .85rem; }
.hm-contact { margin-top: 1rem; display: flex; flex-direction: column; gap: .3rem; font-size: .85rem; }
.hm-contact a { color: #5E6E5A; text-decoration: none; word-break: break-all; }
.hm-contact a:hover { color: #3E5C39; }
.hm-more { border-top: 1px solid #EFE7D8; display: flex; flex-direction: column; }
.hm-more a { padding: .8rem 1.4rem; font-size: .88rem; font-weight: 500; color: #2A2F27; text-decoration: none; border-bottom: 1px solid #EFE7D8; transition: background .15s, padding-left .15s; }
.hm-more a:last-child { border-bottom: 0; }
.hm-more a:hover { background: #FAF6EF; color: #2F4A2C; padding-left: 1.65rem; }
.hm-main { background: #fff; border: 1px solid #E8DCC8; border-radius: 22px; padding: 2.5rem 2.75rem; }
.hm-eyebrow { display: flex; align-items: center; gap: .6rem; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #7D9B76; margin-bottom: .6rem; }
.hm-eyebrow::before { content: ""; width: 26px; height: 2px; background: #7D9B76; }
.hm-main h2 { font-family: "Playfair Display", serif; font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 700; color: #2A2F27; margin: 0 0 1.4rem; }
.hm-quote { margin: 0 0 1.6rem; padding: .3rem 0 .3rem 1.2rem; border-left: 3px solid #A8C4A2; font-family: "Playfair Display", serif; font-style: italic; font-size: 1.25rem; line-height: 1.55; color: #3E5C39; }
.hm-body { font-size: .98rem; line-height: 1.9; color: #4A5447; padding: 0 !important; }
.hm-body p { margin: 0 0 1rem; text-align: justify; }
.hm-sign { margin-top: 2rem; padding-top: 1.2rem; border-top: 1px dashed #E8DCC8; display: flex; flex-direction: column; gap: .2rem; }
.hm-sign strong { font-family: "Playfair Display", serif; font-size: 1.1rem; color: #2A2F27; }
.hm-sign span { font-size: .85rem; color: #7A8A76; }
@media (max-width: 900px) {
  .hm-wrap { grid-template-columns: 1fr; padding: 0 1rem; gap: 1.5rem; }
  .hm-card { position: static; max-width: 360px; margin: 0 auto; width: 100%; }
  .hm-main { padding: 1.6rem 1.25rem; }
  .hm-body p { text-align: left; }
}

/* ===== DEPARTMENTS (dp-*) - cards link to each department website ===== */
.dp-page { background: #FAF6EF; padding: 3rem 0 4.5rem; }
.dp-wrap { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
.dp-head { margin-bottom: 2rem; }
.dp-eyebrow { display: flex; align-items: center; gap: .6rem; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #7D9B76; margin-bottom: .5rem; }
.dp-eyebrow::before { content: ""; width: 26px; height: 2px; background: #7D9B76; }
.dp-head h2 { font-family: "Playfair Display", serif; font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 700; color: #2A2F27; margin: 0 0 .5rem; }
.dp-head p { color: #5E6E5A; margin: 0; font-size: .95rem; }
.dp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.4rem; }
.dp-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; background: #fff; border: 1px solid #E8DCC8; border-top: 4px solid #3E5C39; border-radius: 14px; padding: 1.6rem 1.5rem 1.4rem; text-decoration: none; color: inherit; transition: transform .2s, box-shadow .2s, border-color .2s; }
.dp-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(62,92,57,.12); border-color: #CFE0C9; }
.dp-ic { width: 46px; height: 46px; border-radius: 12px; background: #E3EEDF; color: #3E5C39; display: flex; align-items: center; justify-content: center; margin-bottom: 1.1rem; transition: background .2s, color .2s; }
.dp-ic svg { width: 22px; height: 22px; }
.dp-card:hover .dp-ic { background: #3E5C39; color: #fff; }
.dp-card h3 { font-family: "Playfair Display", serif; font-size: 1.15rem; font-weight: 700; color: #2A2F27; margin: 0 0 .35rem; line-height: 1.3; }
.dp-count { font-size: .82rem; font-weight: 600; color: #7D9B76; margin-bottom: 1rem; }
.dp-link { margin-top: auto; display: inline-flex; align-items: center; gap: .4rem; font-size: .85rem; font-weight: 600; color: #3E5C39; }
.dp-link svg { width: 14px; height: 14px; transition: transform .2s; }
.dp-card:hover .dp-link svg { transform: translate(2px, -2px); }
.dp-card--plain:hover .dp-link svg { transform: translateX(3px); }
.dp-none { color: #7A8A76; }
@media (max-width: 600px) { .dp-wrap { padding: 0 1rem; } .dp-grid { grid-template-columns: 1fr 1fr; gap: .9rem; } .dp-card { padding: 1.2rem 1rem; } }
@media (max-width: 400px) { .dp-grid { grid-template-columns: 1fr; } }

/* =====================================================================
   NAAC (nc-*) - left tabs + document list
   ===================================================================== */
.nc-page { background: #FAF6EF; padding: 3rem 0 4.5rem; }
.nc-wrap { max-width: 1200px; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: 270px 1fr; gap: 2rem; align-items: start; }
.nc-side { background: #fff; border: 1px solid #E8DCC8; border-radius: 12px; overflow: hidden; position: sticky; top: 170px; }
.nc-side-head { background: #3E5C39; color: #fff; font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: .95rem 1.25rem; }
.nc-tab { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .9rem 1.25rem; border-bottom: 1px solid #F0EDE6; border-left: 3px solid transparent; color: #4A5447; font-weight: 500; font-size: .92rem; text-decoration: none; transition: background .15s, border-color .15s, color .15s; }
.nc-tab:last-child { border-bottom: 0; }
.nc-tab:hover { background: #FAF6EF; color: #2A2F27; border-left-color: #7D9B76; }
.nc-tab.active { background: #FAF6EF; color: #3E5C39; border-left-color: #3E5C39; font-weight: 700; }
.nc-tab em { font-style: normal; font-size: .72rem; font-weight: 700; min-width: 1.6rem; text-align: center; padding: .12rem .45rem; border-radius: 20px; background: #E3EEDF; color: #3E5C39; }
.nc-tab.active em { background: #3E5C39; color: #fff; }
.nc-main { background: #fff; border: 1px solid #E8DCC8; border-radius: 12px; padding: 2rem 2.25rem; min-height: 320px; }
.nc-panel { display: none; }
.nc-panel.active { display: block; animation: ncIn .25s ease; }
@keyframes ncIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.nc-head { margin-bottom: 1.5rem; padding-bottom: 1.1rem; border-bottom: 1px solid #F0EDE6; }
.nc-eyebrow { display: flex; align-items: center; gap: .6rem; font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #7D9B76; margin-bottom: .45rem; }
.nc-eyebrow::before { content: ""; width: 24px; height: 2px; background: #7D9B76; }
.nc-head h2 { font-family: "Playfair Display", serif; font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 700; color: #2A2F27; margin: 0 0 .3rem; }
.nc-head p { margin: 0; color: #5E6E5A; font-size: .92rem; }
.nc-list { display: flex; flex-direction: column; gap: .75rem; }
.nc-item { display: flex; align-items: center; gap: 1rem; padding: .9rem 1.1rem; background: #FAF6EF; border: 1px solid #E8DCC8; border-radius: 10px; transition: border-color .15s, background .15s; }
.nc-item:hover { background: #fff; border-color: #CFE0C9; }
.nc-ic { position: relative; width: 44px; height: 50px; flex-shrink: 0; border-radius: 8px; background: #fff; border: 1px solid #E8DCC8; color: #3E5C39; display: flex; align-items: center; justify-content: center; }
.nc-ic svg { width: 22px; height: 22px; }
.nc-ic b { position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%); background: #3E5C39; color: #fff; font-size: .55rem; font-weight: 700; letter-spacing: .05em; padding: .08rem .35rem; border-radius: 4px; }
.nc-info { flex: 1; min-width: 0; }
.nc-info h4 { margin: 0 0 .25rem; font-size: .96rem; font-weight: 600; color: #2A2F27; line-height: 1.35; }
.nc-year { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .06em; color: #3E5C39; background: #E3EEDF; border-radius: 20px; padding: .12rem .6rem; }
.nc-btn { display: inline-flex; align-items: center; gap: .4rem; flex-shrink: 0; background: #3E5C39; color: #fff; font-size: .8rem; font-weight: 600; padding: .55rem 1rem; border-radius: 8px; text-decoration: none; transition: background .15s; }
.nc-btn:hover { background: #2F4A2C; color: #fff; }
.nc-btn svg { width: 15px; height: 15px; }
.nc-empty { color: #7A8A76; background: #FAF6EF; border: 1px dashed #E8DCC8; border-radius: 10px; padding: 1.25rem 1.5rem; margin: 0; }
@media (max-width: 900px) {
  .nc-wrap { grid-template-columns: 1fr; padding: 0 1rem; gap: 1.25rem; }
  .nc-side { position: static; display: flex; overflow-x: auto; }
  .nc-side-head { display: none; }
  .nc-tab { flex: 1 0 auto; border-bottom: 3px solid transparent; border-left: 0; justify-content: center; }
  .nc-tab.active { border-bottom-color: #3E5C39; }
  .nc-main { padding: 1.4rem 1.1rem; }
  .nc-item { flex-wrap: wrap; }
  .nc-btn { margin-left: 60px; }
}