/* ==========================================================================
   Knowledge Group — design refinement layer
   Loaded AFTER main.css. Only presentation is changed here; no page text.
   Brand colours are the ones already used on the site:
     green  #14453D  (home theme)      blue  #1A73E8 / #0D47A1 (inner pages)
     gold   #DEC678 / #FBBC05          red   #CC3333 (logo / headings)
   ========================================================================== */

:root {
  --kg-green: #0d47a1;
  --kg-green-soft: #1565c0;
  --kg-blue: #1a73e8;
  --kg-blue-deep: #0d47a1;
  --kg-gold: #ffc107;
  --kg-gold-strong: #ffc107;
  --kg-red: #cc3333;
  --kg-ink: #111827;
  --kg-body: #4b5563;
  --kg-line: #e5e7eb;
  --kg-surface: #f6f8fa;
  --kg-radius: 14px;
  --kg-radius-sm: 10px;
  --kg-shadow: 0 6px 24px rgba(17, 24, 39, 0.07);
  --kg-shadow-hover: 0 14px 36px rgba(17, 24, 39, 0.13);
  --kg-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ---------- Base typography ---------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  color: var(--kg-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.heading3 h2, .heading3 h3 {
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  color: var(--kg-ink);
  letter-spacing: -0.01em;
  line-height: 1.25;
}

p { line-height: 1.75; }

img { max-width: 100%; }

/* ---------- Section headings: one consistent treatment ---------- */
.heading3.text-center h2,
.about-header h2,
.gallery-title,
.section-title {
  position: relative;
  font-weight: 700;
  font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem);
  padding-bottom: 18px;
}

.heading3.text-center h2::after,
.about-header h2::after,
.gallery-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin: 14px auto 0;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--kg-green), var(--kg-gold));
}

/* ---------- Header (kept as the floating pill, refined) ---------- */
.header-area.header-sticky .header-elements {
  box-shadow: 0 8px 30px rgba(17, 24, 39, 0.1);
}

.main-menu > ul > li > a {
  font-weight: 500;
  letter-spacing: 0.01em;
  transition: color 0.2s var(--kg-ease);
}

.main-menu .dropdown-padding {
  border-radius: var(--kg-radius-sm);
  box-shadow: var(--kg-shadow-hover);
  border: 1px solid var(--kg-line);
}

/* ---------- Hero slider: was ~1,400px tall (square banners) ----------
   Selectors are deliberately more specific than the page's own inline <style>. */
body .header-carousel-area3.owl-carousel .slider-item img {
  width: 100%;
  height: clamp(440px, max(46vw, 100vh), 960px);
  object-fit: cover;
  object-position: center 49%;
  margin-top: 0;
}

@media (max-width: 991px) {
  body .header-carousel-area3.owl-carousel .slider-item img { height: clamp(320px, 55vh, 480px); }
}

@media (max-width: 767px) {
  body .header-carousel-area3.owl-carousel .slider-item img {
    height: 320px;
    margin-top: 80px; /* clears the fixed mobile header */
  }
}

/* ---------- Buttons ---------- */
.header-btn4 {
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: transform 0.25s var(--kg-ease), box-shadow 0.25s var(--kg-ease);
}
.header-btn4:hover { transform: translateY(-2px); box-shadow: var(--kg-shadow-hover); }

/* ---------- Cards: Infrastructure / Facilities / Achievements ---------- */
.amenities-boxarea,
.facility-card,
.blog-boxarea {
  border-radius: var(--kg-radius);
  transition: transform 0.3s var(--kg-ease), box-shadow 0.3s var(--kg-ease);
}

.facility-card { box-shadow: var(--kg-shadow); }
.blog-boxarea { box-shadow: var(--kg-shadow); overflow: hidden; background: #fff; }

.amenities-boxarea:hover,
.facility-card:hover,
.blog-boxarea:hover {
  transform: translateY(-6px);
  box-shadow: var(--kg-shadow-hover);
}

.amenities-boxarea .content-area a {
  font-weight: 700;
  color: var(--kg-ink);
}

/* Achievements: show the whole poster instead of cutting it off */
.blog-boxarea .img1 img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  background: var(--kg-surface);
}

/* ---------- Campus directory cards ---------- */
.campus-card { transition: transform 0.3s var(--kg-ease), box-shadow 0.3s var(--kg-ease); }
.campus-card:hover { transform: translateY(-6px); box-shadow: var(--kg-shadow-hover); }
.campus-image { aspect-ratio: 16 / 9; overflow: hidden; background: var(--kg-surface); }
.campus-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

/* ---------- Inner-page hero banner ---------- */
.inner-main-hero-area { position: relative; }
.inner-main-hero-area::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 22, 56, 0.55), rgba(6, 22, 56, 0.1));
  pointer-events: none;
}
.inner-main-hero-area .container { position: relative; z-index: 1; }

/* ---------- Footer ---------- */
.footer3-section-area .footer-menu a,
.footer3-bottom-section a { transition: color 0.2s var(--kg-ease); }
.footer3-bottom-section a:hover { color: var(--kg-blue); }

/* ---------- Accessibility ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--kg-gold-strong);
  outline-offset: 3px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* main.css sets overflow on both <html> and <body>, which makes <body> a scroll
   container and stops position:sticky from working. <html> already hides sideways
   overflow (main.css forces it with !important), so <body> only needs to clip. */
body.homepage3-body { overflow-x: clip !important; overflow-y: visible !important; }

/* Nadiad banner is ultra-wide; keep the school name (left side) in the card crop */

/* ==========================================================================
   Home page refinements
   ========================================================================== */

/* Achievement posters: show the full poster, keep cards tidy */
.blog-boxarea.blog-boxarea .img1 img {
  aspect-ratio: 4 / 5;
  height: auto;
  object-fit: contain;
  background: var(--kg-surface);
}
.blog-boxarea .content-area { min-height: 0; }

/* Gallery strip: square thumbnails so poster headings are not cut off */
.gallery-item .gallery-img {
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: top center;
}

/* Testimonials: video centred against the review slider, arrows kept on screen */
.testimonial3-section-area .row { align-items: center; }
@media (min-width: 992px) {
  .testimonial3-section-area .testimonial-arrow-area .testimonial-arrows { right: -56px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .testimonial3-section-area .testimonial-arrow-area .testimonial-arrows { right: 6px; }
}

/* ==========================================================================
   Inner pages: contact polish
   ========================================================================== */

/* Contact cards: keep long e-mail / address on one clean block */
.contact-box { align-items: center; gap: 14px; }
.contact-box .content { min-width: 0; text-align: left; }
.contact-box .content a,
.contact-box .content p { overflow-wrap: anywhere; }
.contact-box .content a { font-size: clamp(13.5px, 1.1vw + 8px, 16px) !important; line-height: 1.5; }

/* ==========================================================================
   Accessibility: dropdown menus also open for keyboard users
   ========================================================================== */
.homepage3-body .header-area.homepage3 .header-elements .main-menu ul li:has(:focus-visible) > ul.dropdown-padding {
  visibility: visible;
  opacity: 1;
  z-index: 9;
  top: 50px;
  position: absolute;
}
.homepage3-body .header-area.homepage3 .header-elements .main-menu ul li.menu-small:has(:focus-visible) > ul.small-menu {
  visibility: visible;
  opacity: 1;
}
.main-menu a:focus-visible { outline-offset: 2px; }

/* ==========================================================================
   Campus pages + Notice Board (tabbed layout) — UI refinement, no text change
   Selectors use two classes so they win over each page's inline <style>.
   ========================================================================== */
body .tab-container {
  gap: 0;
  min-height: 0;
  overflow: clip;                     /* keeps rounded corners without breaking position:sticky */
  border: 1px solid var(--kg-line);
  border-radius: var(--kg-radius);
  box-shadow: var(--kg-shadow);
}

/* Sidebar: slimmer, and the tab list follows you while you read long panels */
.tab-container .sidebar-tabs {
  width: 290px;
  flex: 0 0 290px;
  padding: 28px 16px;
  background: var(--kg-surface);
  border-right: 1px solid var(--kg-line);
  overflow: visible;
}
.tab-container .tab-list {
  position: sticky;
  top: 130px;
  gap: 6px;
  margin: 0;
  padding: 0;
}
.tab-container .tab-item { margin: 0; }

.tab-container .tab-button {
  padding: 14px 16px;
  font-size: 0.98rem;
  font-weight: 600;
  gap: 14px;
  border-radius: 10px;
  border: 1px solid transparent;
  transition: background-color 0.2s var(--kg-ease), color 0.2s var(--kg-ease), border-color 0.2s var(--kg-ease), box-shadow 0.2s var(--kg-ease);
}
.tab-container .tab-button::before { display: none; }       /* removes the sliding fill */
.tab-container .tab-button:hover {
  transform: none;
  background: #fff;
  border-color: var(--kg-line);
}
.tab-container .tab-button.active {
  transform: none;
  background: #fff;
  color: var(--kg-blue-deep);
  border-color: var(--kg-line);
  box-shadow: 0 4px 14px rgba(13, 71, 161, 0.12), inset 4px 0 0 var(--kg-blue);
}
.tab-container .tab-button.active::after { display: none; } /* pulsing dot replaced by the left bar */
.tab-container .tab-button .tab-icon { font-size: 1.15rem; min-width: 24px; }
.tab-container .tab-button:hover .tab-icon,
.tab-container .tab-button.active .tab-icon { transform: none; color: var(--kg-blue); }

/* Content area */
.tab-container .content-area { padding: 40px 44px; background: #fff; }
.tab-container .content-header { margin-bottom: 32px; padding-bottom: 20px; }
.tab-container .content-title { font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.2rem); }
.tab-container .detail-section,
.tab-container .faculty-card,
.tab-container .news-card,
.tab-container .material-card {
  border-radius: var(--kg-radius);
  box-shadow: var(--kg-shadow);
}
.tab-container .faculty-card:hover,
.tab-container .news-card:hover,
.tab-container .material-card:hover { box-shadow: var(--kg-shadow-hover); }

/* Tables: sticky header, zebra rows, scroll inside the card on small screens */
.tab-container .timetable-container { overflow-x: auto; border-radius: var(--kg-radius-sm); border: 1px solid var(--kg-line); }
.tab-container .timetable { border-collapse: collapse; }
.tab-container .timetable th { position: sticky; top: 0; white-space: nowrap; }
.tab-container .timetable tbody tr:nth-child(even) { background: var(--kg-surface); }

/* Tablet and phone: tabs become a swipeable chip row instead of a tall stack */
@media (max-width: 991px) {
  .tab-container { flex-direction: column; border-radius: var(--kg-radius-sm); }
  .tab-container .sidebar-tabs {
    width: 100%;
    flex: none;
    padding: 12px;
    border-right: 0;
    border-bottom: 1px solid var(--kg-line);
    position: sticky;
    top: 82px;               /* sits just under the fixed mobile header */
    z-index: 5;
  }
  .tab-container .tab-list {
    position: static;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .tab-container .tab-item { flex: 0 0 auto; scroll-snap-align: start; }
  .tab-container .tab-button {
    width: auto;
    white-space: nowrap;
    padding: 10px 16px;
    border-radius: 999px;
    border: 1px solid var(--kg-line);
    background: #fff;
    gap: 10px;
  }
  .tab-container .tab-button.active {
    background: var(--kg-blue);
    color: #fff;
    border-color: var(--kg-blue);
    box-shadow: none;
  }
  .tab-container .tab-button.active .tab-icon { color: #fff; }
  .tab-container .content-area { padding: 26px 18px; }
}

/* ==========================================================================
   Gallery page — folder links become a card grid (same links, same text)
   ========================================================================== */
body .folders-section {
  background: linear-gradient(180deg, #fff 0%, var(--kg-surface) 100%);
  margin: 0;
  padding: 80px 16px 100px;
  border-radius: 0;
}

.folders-section .folder-grid {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.folders-section .folder-link {
  --accent: var(--kg-blue);
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  min-height: 230px;
  padding: 28px 26px 26px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--kg-line);
  border-top: 5px solid var(--accent);
  box-shadow: var(--kg-shadow);
  overflow: hidden;
  isolation: isolate;
  transition: transform 0.3s var(--kg-ease), box-shadow 0.3s var(--kg-ease), border-color 0.3s var(--kg-ease);
}
.folders-section .folder-link:nth-child(2) { --accent: var(--kg-green); }
.folders-section .folder-link:nth-child(3) { --accent: var(--kg-gold-strong); }

/* folder icon, drawn in CSS so the HTML stays untouched */
.folders-section .folder-link::before {
  content: "";
  position: absolute;
  top: 26px;
  left: 26px;
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background-color: var(--accent);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M10 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-8l-2-2z'/%3E%3C/svg%3E");
  box-shadow: 0 8px 18px color-mix(in srgb, var(--accent) 35%, transparent);
}
/* soft decorative circle in the corner */
.folders-section .folder-link::after {
  content: "";
  position: absolute;
  top: -50px;
  right: -50px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: var(--accent);
  opacity: 0.08;
  z-index: -1;
  transition: transform 0.4s var(--kg-ease), opacity 0.4s var(--kg-ease);
}

.folders-section .folder-link:hover {
  transform: translateY(-8px);
  border-color: var(--kg-line);
  border-top-color: var(--accent);
  background: #fff;
  box-shadow: var(--kg-shadow-hover);
}
.folders-section .folder-link:hover::after { transform: scale(1.5); opacity: 0.13; }

.folders-section .folder-info { flex: 0 0 auto; width: 100%; }
.folders-section .folder-name {
  margin: 0;
  font-size: clamp(1.35rem, 1rem + 1vw, 1.7rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--kg-ink);
}

.folders-section .folder-arrow {
  position: absolute;
  top: 28px;
  right: 24px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--kg-surface);
  color: var(--kg-ink);
  font-size: 0.95rem;
  opacity: 1;
  transition: background-color 0.25s var(--kg-ease), color 0.25s var(--kg-ease), transform 0.25s var(--kg-ease);
}
.folders-section .folder-link:hover .folder-arrow {
  background: var(--accent);
  color: #fff;
  transform: translate(3px, -3px);
}

@media (max-width: 991px) {
  body .folders-section { padding: 56px 16px 72px; }
  .folders-section .folder-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 575px) {
  .folders-section .folder-grid { grid-template-columns: 1fr; width: 100%; }
  .folders-section .folder-link { min-height: 170px; padding: 22px 20px 20px; }
  .folders-section .folder-link::before { top: 20px; left: 20px; width: 54px; height: 54px; background-size: 28px; }
}

/* ==========================================================================
   Home page — section-by-section UI refinement (animations untouched:
   only colours, spacing, radius, shadows and sizing are set here)
   ========================================================================== */

/* Consistent vertical rhythm (these sections carry inline padding:80px) */
body .property3-section-area,
body .service3-section-area,
body .about3-section-area { padding-top: clamp(56px, 7vw, 96px) !important; padding-bottom: clamp(56px, 7vw, 96px) !important; }

/* --- Welcome ------------------------------------------------------------ */
.property3-section-area { background: linear-gradient(180deg, #fff 0%, #f6f8fa 100%); }
.property3-section-area .img1 {
  border-radius: 28px;
  background:
    radial-gradient(circle at 20% 15%, rgba(255, 193, 7, 0.35), transparent 55%),
    radial-gradient(circle at 85% 90%, rgba(13, 71, 161, 0.14), transparent 55%),
    #fff;
  border: 1px solid var(--kg-line);
  box-shadow: var(--kg-shadow);
  padding: 18px;
}
.property3-section-area .property-content h3 {
  position: relative;
  padding-left: 18px;
  border-left: 5px solid var(--kg-gold-strong);
}
.property3-section-area .property-content p { font-size: 1.04rem; color: var(--kg-body); }
.property3-section-area .header-btn4 { padding: 14px 30px; }

/* --- Infrastructure ----------------------------------------------------- */
.service3-section-area .amenities-boxarea {
  padding: 28px 20px 24px;
  background: #fff;
  border: 1px solid var(--kg-line);
  border-radius: 20px;
  box-shadow: var(--kg-shadow);
}
.service3-section-area .amenities-boxarea .img1 {
  box-shadow: 0 0 0 6px #fff, 0 0 0 7px var(--kg-line), 0 14px 28px rgba(17, 24, 39, 0.14);
}
.service3-section-area .amenities-boxarea .content-area p { color: var(--kg-body); }

/* --- Facilities --------------------------------------------------------- */
.facility-card {
  min-height: 0 !important;
  padding: 34px 26px 30px !important;
  border: 1px solid rgba(17, 24, 39, 0.06);
  border-bottom: 4px solid var(--kg-gold-strong);
  border-radius: 18px !important;
}
.facility-card.bg-2 { border-bottom-color: var(--kg-red); }
.facility-card.bg-3 { border-bottom-color: var(--kg-green); }
.facility-card.bg-4 { border-bottom-color: var(--kg-blue); }
.facility-card .icon-box {
  width: 92px;
  height: 92px;
  margin: 0 auto 4px;
  display: grid;
  place-items: center;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(17, 24, 39, 0.1);
}
.facility-card h3 { font-size: 1.2rem !important; min-height: 0 !important; line-height: 1.35; }
.facility-card p { font-size: 0.98rem !important; }

/* --- Achievements ------------------------------------------------------- */
.blog-boxarea { border: 1px solid var(--kg-line); }
.blog-boxarea .content-area { padding: 22px 24px 26px; }
.blog-boxarea .content-area a {
  display: block;
  font-weight: 700;
  line-height: 1.4;
  color: var(--kg-ink);
}
.blog-boxarea .content-area ul { margin-bottom: 0; }

/* Carousel arrows (all home carousels) */
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  box-shadow: 0 6px 16px rgba(17, 24, 39, 0.18);
  transition: transform 0.2s var(--kg-ease), box-shadow 0.2s var(--kg-ease);
}
.owl-carousel .owl-nav button.owl-prev:hover,
.owl-carousel .owl-nav button.owl-next:hover { transform: scale(1.08); box-shadow: 0 10px 22px rgba(17, 24, 39, 0.24); }

/* --- Gallery strip ------------------------------------------------------ */
.gallery-item { border-radius: var(--kg-radius) !important; border: 1px solid var(--kg-line); }
.gallery-caption { padding: 14px 12px 16px; }
.gallery-caption h3 { font-weight: 700; letter-spacing: 0.01em; }

/* --- Testimonials ------------------------------------------------------- */
.testimonial3-section-area .row { align-items: center; }
.testimonial3-section-area .testimonial-video-area { height: auto; justify-content: center; }
.testimonial3-section-area .testimonial-video-area .img1 {
  flex: 0 0 auto;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--kg-shadow-hover);
}
.testimonial3-section-area .testimonial-video-area .img1 img {
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 0;
}
.testimonial3-section-area .testimonial-vertical,
.testimonial3-section-area .testimonial-arrow-area .testimonial-vertical { border-radius: 16px; }

/* --- Footer: tidy link columns ----------------------------------------- */
.footer3-bottom-section .footer-menu ul,
.footer3-bottom-section .footer-menu2 ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer3-bottom-section .footer-menu li,
.footer3-bottom-section .footer-menu2 li { display: block; margin: 0; }
.footer3-section-area .footer3-bottom-section .footer-menu ul > li.space24,
.footer3-section-area .footer3-bottom-section .footer-menu2 ul > li.space24 { display: none !important; height: 0 !important; }
.footer3-bottom-section .footer-menu { align-self: flex-start; }
@media (max-width: 767px) {
  .footer3-bottom-section .footer-menu ul,
  .footer3-bottom-section .footer-menu2 ul { align-items: center; text-align: center; }
}

/* ==========================================================================
   About Us page
   ========================================================================== */
.welcome-title { letter-spacing: -0.01em; }

/* Vision / Mission / Values: equal-height cards with a stronger hierarchy */
.vm-box { border-radius: 18px; box-shadow: var(--kg-shadow-hover); transition: transform 0.3s var(--kg-ease), box-shadow 0.3s var(--kg-ease); }
.vm-box:hover { transform: translateY(-6px); }
.vm-box h3 { letter-spacing: 0.06em; }

/* Philosophy: icon becomes a badge beside the text */
.philosophy-text h3 { font-weight: 700; font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem); }
.philosophy-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1120px; align-items: stretch; }
.philosophy-list li {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 26px 28px;
  border-radius: 16px;
  line-height: 1.7;
  color: var(--kg-body);
  font-size: 1.02rem;
}
.philosophy-list li .philosophy-icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  margin: 0;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(26, 115, 232, 0.1);
  font-size: 1.15rem;
}
.philosophy-list li:hover .philosophy-icon { background: rgba(251, 188, 5, 0.18); transform: none; }

/* Core pillars: same width as the rest of the page, readable titles */
.key-points-section h2.container {
  display: block;
  color: var(--kg-ink);
  font-weight: 700;
  font-size: clamp(1.9rem, 1.3rem + 1.8vw, 2.6rem);
}
.key-points-section h2.container::after { background: linear-gradient(90deg, var(--kg-green), var(--kg-gold)); width: 64px; height: 4px; }
.key-points-grid.container { max-width: 1200px; width: 100%; gap: 22px; flex-wrap: wrap; }
.key-points-grid .point-card { width: calc(25% - 17px); min-height: 360px; border-radius: 18px; }
.key-points-grid .point-card h4 { color: #fff; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); }
.key-points-grid .point-card p { font-size: 1.02rem; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); }
.point-card:hover { transform: translateY(-8px); }

@media (max-width: 1199px) {
  .key-points-grid .point-card { width: calc(50% - 11px); min-height: 0; }
}
@media (max-width: 991px) {
  .philosophy-list { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
  .key-points-grid .point-card { width: 100%; }
  .philosophy-list li { padding: 20px; gap: 14px; }
}

/* ==========================================================================
   Campus directory (campus.html)
   ========================================================================== */
.archive-title { font-weight: 800; letter-spacing: -0.02em; }
.archive-subtitle { max-width: 760px; margin-left: auto; margin-right: auto; }

/* Stats become a row of cards */
.stats-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  max-width: 920px;
  margin: 36px auto 0;
}
.stats-bar .stat-item {
  background: #fff;
  border: 1px solid var(--kg-line);
  border-top: 4px solid var(--kg-blue);
  border-radius: var(--kg-radius);
  box-shadow: var(--kg-shadow);
  padding: 22px 12px 18px;
  text-align: center;
}
.stats-bar .stat-item:nth-child(2) { border-top-color: var(--kg-green); }
.stats-bar .stat-item:nth-child(3) { border-top-color: var(--kg-gold-strong); }
.stats-bar .stat-item:nth-child(4) { border-top-color: var(--kg-red); }
.stats-bar .stat-number { font-weight: 800; line-height: 1.1; }
.stats-bar .stat-label { margin-top: 6px; font-weight: 500; }

/* Campus cards: equal height, button pinned to the bottom */
.campus-grid { align-items: stretch; }
.campus-card { display: flex; flex-direction: column; border: 1px solid var(--kg-line); border-radius: 18px; overflow: hidden; }
.campus-card .campus-content { display: flex; flex-direction: column; flex: 1; }
.campus-card .campus-link { margin-top: auto; }
.campus-badge { box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18); }

/* "One Vision" block: titles were dark on blue */
.map-section h3 { color: #fff !important; font-weight: 700; }
.map-section [style*="grid-template-columns"] > div { border: 1px solid rgba(255, 255, 255, 0.18); }

@media (max-width: 767px) {
  .stats-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* ==========================================================================
   Contact page
   ========================================================================== */
body .contact-inner-area { background: linear-gradient(180deg, #fff 0%, var(--kg-surface) 100%); }
body .contact-inner-area .contact-inner-boxarea {
  background: #fff;
  border: 1px solid var(--kg-line);
  border-radius: 22px;
  box-shadow: var(--kg-shadow-hover);
  padding: clamp(24px, 4vw, 56px);
}
.contact-input-section h3 { font-weight: 700; font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem); }

/* Form fields */
.contact-input-section .input-area input,
.contact-input-section .input-area textarea,
.contact-input-section .input-area .nice-select {
  border-radius: 10px;
  border: 1px solid #d5dbe3;
  background: #fbfcfd;
  transition: border-color 0.2s var(--kg-ease), box-shadow 0.2s var(--kg-ease), background-color 0.2s var(--kg-ease);
}
.contact-input-section .input-area input:focus,
.contact-input-section .input-area textarea:focus,
.contact-input-section .input-area .nice-select.open,
.contact-input-section .input-area .nice-select:focus {
  background: #fff;
  border-color: var(--kg-green);
  box-shadow: 0 0 0 4px rgba(13, 71, 161, 0.12);
  outline: none;
}
.contact-input-section .header-btn4 { padding: 14px 34px; }

/* Call / Email / Address cards */
body .contact-box {
  border: 1px solid var(--kg-line);
  border-left: 4px solid var(--kg-blue);
  border-radius: 12px;
  box-shadow: var(--kg-shadow);
}
body .contact-box:nth-child(2) { border-left-color: var(--kg-green); }
body .contact-box:nth-child(3) { border-left-color: var(--kg-gold-strong); }
.contact-box:hover { transform: translateY(-3px); box-shadow: var(--kg-shadow-hover); }

/* Campus tabs: clear scroll hint instead of a hard clipped card */
.location-nav-container { position: relative; border-radius: 16px; }
.location-nav { scroll-snap-type: x proximity; scrollbar-width: thin; padding-bottom: 8px; }
.location-nav-item { scroll-snap-align: start; border-radius: 12px; }
.location-nav-container::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 36px;
  border-radius: 0 16px 16px 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fff);
  pointer-events: none;
}

/* Campus detail panel */
.location-section .location-title { font-weight: 700; }
.location-section .maps-area { border-radius: 16px; overflow: hidden; box-shadow: var(--kg-shadow); }
.location-section .maps-area iframe { display: block; }
.location-section .contact-author-box { border-radius: 16px; }
.contact-input-section .input-area .nice-select { border: 1px solid #d5dbe3 !important; border-radius: 10px !important; }

/* ==========================================================================
   Home: Infrastructure — one clean row of equal-height cards
   ========================================================================== */
.service3-section-area .row > [class*="col-"] > .space40 { display: none !important; }   /* removes the staggered offset */
.service3-section-area .row > [class*="col-"]:has(.amenities-boxarea) { display: flex; margin-bottom: 24px; }
.service3-section-area .row > [class*="col-"] > .heading3 { width: 100%; }
.service3-section-area .amenities-boxarea { width: 100%; margin-bottom: 0; display: flex; flex-direction: column; align-items: center; }
.service3-section-area .amenities-boxarea .space32 { display: none; }
.service3-section-area .amenities-boxarea .content-area { margin-top: 26px; flex: 1; display: block; width: 100%; }
.service3-section-area .amenities-boxarea .content-area a { display: block; font-size: 1.3rem; }
.service3-section-area .amenities-boxarea .content-area .space18 { height: 12px; }

/* ==========================================================================
   Home: Testimonials — fixed card height so the vertical slider always
   shows exactly two whole cards (slick otherwise measures slides while
   images/fonts are still loading and clips them)
   ========================================================================== */
.testimonial3-section-area .testimonial3-vertical-slider .testimonial-vertical {
  box-sizing: border-box;
  height: 372px;
  margin: 0;
}
.testimonial3-section-area .testimonial3-vertical-slider .slick-list { height: 775px !important; }
@media (max-width: 575px) {
  .testimonial3-section-area .testimonial3-vertical-slider .testimonial-vertical { height: 400px; }
  .testimonial3-section-area .testimonial3-vertical-slider .slick-list { height: 835px !important; }
}

/* ==========================================================================
   Inner-page hero banners (real campus photos, one per page)
   ========================================================================== */
body .inner-main-hero-area {
  background-size: cover !important;
  background-position: center 40% !important;
  background-repeat: no-repeat !important;
  display: flex;
  align-items: flex-end;
}
body .inner-main-hero-area > .container { padding-bottom: 38px; }
body .inner-main-hero-area::before {
  background: linear-gradient(90deg, rgba(6, 22, 56, 0.55) 0%, rgba(6, 22, 56, 0.1) 60%), linear-gradient(180deg, rgba(6, 22, 56, 0.4) 0%, rgba(6, 22, 56, 0.1) 40%, rgba(6, 22, 56, 0.65) 100%);
}
body .inner-main-hero-area .inner-heading h2 { text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5); font-weight: 800; letter-spacing: -0.01em; }
body .inner-main-hero-area .inner-heading p,
body .inner-main-hero-area .inner-heading p a { text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55); }
body .inner-main-hero-area.hero-tint::before { background: none; }

/* ==========================================================================
   Home: Achievements / Gallery / FG Education / Testimonials — polish pass
   (colours, spacing, sizing only; no text or behaviour changes)
   ========================================================================== */

/* ---- Achievements ----------------------------------------------------- */
.blog-inner-section-area { background: linear-gradient(180deg, var(--kg-surface) 0%, #fff 100%); }
.blog-boxarea.blog-boxarea { border-radius: 20px; overflow: hidden; background: #fff; box-shadow: var(--kg-shadow); }
.blog-boxarea .img1 { border-radius: 0; background: #f1f4f7; }
.blog-boxarea .img1 img { border-radius: 0; }
.blog-boxarea .content-area { border-top: 3px solid var(--kg-gold-strong); }
.blog-boxarea .content-area ul { display: flex; gap: 8px; color: #6b7280; font-size: 0.85rem; margin-bottom: 10px; }
.blog-boxarea .content-area a { font-size: 1.05rem; }

/* ---- Gallery strip ----------------------------------------------------- */
.gallery-container { max-width: 1240px; }
.gallery-item { background: #fff; box-shadow: var(--kg-shadow) !important; overflow: hidden; }
.gallery-item .gallery-img { aspect-ratio: 4 / 5; object-fit: cover; object-position: top center; background: #f1f4f7; }
.gallery-caption { background: #fff; border-top: 3px solid var(--kg-gold-strong); }
.gallery-caption h3 { font-size: 1.02rem !important; color: var(--kg-ink) !important; text-transform: uppercase; letter-spacing: 0.04em; }

/* ---- FG Education app section ----------------------------------------- */
.fg-app-section {
  background:
    radial-gradient(900px 500px at 85% 20%, rgba(255, 193, 7, 0.16), transparent 60%),
    radial-gradient(700px 500px at 0% 100%, rgba(255, 255, 255, 0.06), transparent 60%),
    linear-gradient(135deg, #0a3d8f 0%, #0d47a1 55%, #1565c0 100%) !important;
  padding: clamp(64px, 8vw, 110px) 0 !important;
}
.fg-app-title { position: relative; padding-bottom: 18px; letter-spacing: -0.01em; }
.fg-app-title::after { content: ""; display: block; width: 64px; height: 4px; margin-top: 14px; border-radius: 4px; background: var(--kg-gold-strong); }
.fg-features-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 36px; }
.fg-feature-item {
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  transition: background-color 0.25s var(--kg-ease), transform 0.25s var(--kg-ease), border-color 0.25s var(--kg-ease);
}
.fg-feature-item:hover { background: rgba(255, 255, 255, 0.14); transform: translateY(-2px); border-color: rgba(255, 193, 7, 0.6); }
.fg-feature-icon { width: 44px; height: 44px; margin-right: 14px; background: rgba(255, 193, 7, 0.2); border-color: rgba(255, 193, 7, 0.45); }
.fg-feature-icon i { font-size: 1.15rem; color: var(--kg-gold); }
.fg-feature-text h4 { font-size: 1.02rem; font-weight: 600; line-height: 1.35; margin: 0; }
.fg-download-section { margin-top: 0; }
.fg-download-title { font-size: 1.1rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--kg-gold); }
.fg-download-buttons { flex-wrap: wrap; gap: 12px; }
.fg-store-btn { padding: 13px 26px; border-radius: 12px; }
.fg-store-btn i { font-size: 1.5rem; margin-right: 10px; }
.fg-app-mockup { filter: drop-shadow(0 30px 40px rgba(0, 0, 0, 0.45)); }
.fg-app-mockup img { border-radius: 28px; }
@media (max-width: 575px) { .fg-features-list { grid-template-columns: 1fr; } }

/* ---- Testimonials ------------------------------------------------------ */
.testimonial3-section-area { background: linear-gradient(180deg, #fff 0%, var(--kg-surface) 100%); }
.testimonial3-section-area .testimonial-arrow-area {
  background: linear-gradient(160deg, #ffd54f 0%, var(--kg-gold) 100%);
  border-radius: 24px;
  box-shadow: var(--kg-shadow-hover);
}
.testimonial3-section-area .testimonial-vertical { box-shadow: 0 6px 18px rgba(17, 24, 39, 0.1); }
.testimonial3-section-area .testimonial-vertical > span { color: var(--kg-ink); font-weight: 700; }
.testimonial3-section-area .testimonial-video-area .img1 { border: 6px solid #fff; border-radius: 22px; }
.testimonial3-section-area .testimonial-video-area .icons a { box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35); }
.testimonial3-section-area .testimonial-prev-arrow button,
.testimonial3-section-area .testimonial-next-arrow button { background: var(--kg-green) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(13, 71, 161, 0.35); }
@media (max-width: 767px) {
  body .fg-feature-item { flex-direction: row !important; text-align: left !important; align-items: center; }
  body .fg-feature-icon { margin: 0 14px 0 0 !important; }
  body .fg-app-title { text-align: left !important; }
}

/* ==========================================================================
   BOLD PASS — Achievements / Gallery / Testimonials (clearly new look)
   ========================================================================== */

/* ---- Achievements: dark green showcase -------------------------------- */
body .blog-inner-section-area {
  position: relative;
  background:
    radial-gradient(700px 380px at 12% 0%, rgba(255, 193, 7, 0.18), transparent 60%),
    radial-gradient(600px 400px at 100% 100%, rgba(255, 255, 255, 0.07), transparent 60%),
    linear-gradient(160deg, #08306b 0%, #0d47a1 60%, #1565c0 100%);
  padding-top: clamp(64px, 8vw, 110px);
  padding-bottom: clamp(72px, 9vw, 120px);
}
body .blog-inner-section-area .gallery-title,
body .blog-inner-section-area h2 { color: #fff !important; text-shadow: none; }
body .blog-inner-section-area .gallery-title::after { content: ""; display: block; width: 72px; height: 4px; margin: 16px auto 0; border-radius: 4px; background: var(--kg-gold-strong); }
body .blog-inner-section-area .owl-nav button.owl-prev,
body .blog-inner-section-area .owl-nav button.owl-next,
body .blog-inner-section-area .owl-prev,
body .blog-inner-section-area .owl-next { background: var(--kg-gold-strong) !important; color: #08306b !important; }
body .blog-inner-section-area .blog-boxarea.blog-boxarea {
  border: 0;
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
  transition: transform 0.35s var(--kg-ease), box-shadow 0.35s var(--kg-ease);
}
body .blog-inner-section-area .blog-boxarea:hover { transform: translateY(-8px); box-shadow: 0 26px 50px rgba(0, 0, 0, 0.45); }
body .blog-inner-section-area .blog-boxarea .img1 { background: #fff; }

/* ---- Gallery: raised white panel on a soft tinted band ---------------- */
body .gallery-container {
  max-width: 1240px;
  margin: clamp(48px, 6vw, 90px) auto;
  padding: clamp(28px, 4vw, 56px);
  background: #fff;
  border: 1px solid var(--kg-line);
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(17, 24, 39, 0.1);
}
body .gallery-container .gallery-title { margin-bottom: 36px; color: var(--kg-green); text-shadow: none; }
body .gallery-item {
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(17, 24, 39, 0.14) !important;
  transition: transform 0.35s var(--kg-ease), box-shadow 0.35s var(--kg-ease);
}
body .gallery-item:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(17, 24, 39, 0.22) !important; }
body .gallery-caption { background: var(--kg-green) !important; border-top: 0; padding: 14px 10px 16px; }
body .gallery-caption h3 { color: #fff !important; margin: 0; }

/* ---- Testimonials: green panel, gold-framed video --------------------- */
body .testimonial3-section-area { background: linear-gradient(180deg, #fff 0%, #eef4fc 100%); }
body .testimonial3-section-area .testimonial-arrow-area {
  background: linear-gradient(160deg, #08306b 0%, #0d47a1 100%);
  border-radius: 28px;
  box-shadow: 0 28px 60px rgba(8, 48, 107, 0.35);
}
body .testimonial3-section-area .testimonial-vertical {
  border-left: 6px solid var(--kg-gold-strong);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
}
body .testimonial3-section-area .testimonial-video-area .img1 {
  border: 0;
  border-radius: 24px;
  box-shadow: 16px 16px 0 var(--kg-gold), 0 30px 60px rgba(8, 48, 107, 0.3);
  margin: 0 16px 16px 0;
}
body .testimonial3-section-area .testimonial-prev-arrow button,
body .testimonial3-section-area .testimonial-next-arrow button { background: var(--kg-gold-strong) !important; color: #08306b !important; }

/* ---- Home section headings: one consistent, stronger style ----------- */
body .heading3.text-center h2,
body .about-header h2 { font-weight: 800; letter-spacing: -0.02em; }

/* --- fixes for the bold pass (selectors that actually carry the styles) --- */
body .blog-inner-section-area.sp6 {
  background:
    radial-gradient(700px 380px at 12% 0%, rgba(255, 193, 7, 0.18), transparent 60%),
    radial-gradient(600px 400px at 100% 100%, rgba(255, 255, 255, 0.07), transparent 60%),
    linear-gradient(160deg, #08306b 0%, #0d47a1 60%, #1565c0 100%) !important;
}
body .testimonial3-section-area .testimonial3-vertical-slider {
  background: linear-gradient(160deg, #08306b 0%, #0d47a1 100%) !important;
  border-radius: 28px;
  box-shadow: 0 28px 60px rgba(8, 48, 107, 0.35);
}
body .testimonial3-section-area .testimonial-arrow-area { background: none; box-shadow: none; }
body .testimonial3-section-area .testimonial-video-area .video-wrapper {
  border-radius: 24px;
  box-shadow: 16px 16px 0 var(--kg-gold), 0 30px 60px rgba(8, 48, 107, 0.3);
  margin: 0 16px 16px 0;
  background: #08306b;
}
body .testimonial3-section-area .testimonial-video-area .video-wrapper img { border-radius: 24px !important; display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
body .testimonial3-section-area .testimonial-video-area .icons { left: 50%; top: 50%; transform: translate(-50%, -50%); }

/* ==========================================================================
   Home: Welcome section — photo card with gold frame, stronger text column
   ========================================================================== */
body .property3-section-area {
  background:
    radial-gradient(600px 400px at 95% 10%, rgba(255, 193, 7, 0.2), transparent 60%),
    linear-gradient(180deg, #fff 0%, #f3f6f5 100%);
}
body .property3-section-area .img1 {
  position: relative;
  padding: 0;
  border: 0;
  border-radius: 26px;
  background: none;
  box-shadow: 18px 18px 0 var(--kg-gold), 0 30px 60px rgba(8, 48, 107, 0.25);
  overflow: hidden;
}
body .property3-section-area .img1 img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 26px;
}
body .property3-section-area .property-content h3 {
  border-left: 0;
  padding-left: 0;
  line-height: 1.3;
}
body .property3-section-area .property-content h3 > span:first-of-type { display: inline-block; line-height: 1.15; }
body .property3-section-area .property-content h3::before {
  content: "";
  display: block;
  width: 64px;
  height: 5px;
  margin-bottom: 18px;
  border-radius: 4px;
  background: var(--kg-gold-strong);
}
body .property3-section-area .property-content p { font-size: 1.06rem; line-height: 1.8; color: #4b5563; }
body .property3-section-area .header-btn4 { background: var(--kg-green); border-radius: 999px; padding: 15px 34px; box-shadow: 0 12px 26px rgba(13, 71, 161, 0.3); }
@media (max-width: 991px) {
  body .property3-section-area .img1 { box-shadow: 12px 12px 0 var(--kg-gold), 0 20px 40px rgba(8, 48, 107, 0.2); margin: 0 12px 28px 0; }
}

/* ==========================================================================
   One theme everywhere: the theme's own green variables become the site blue
   and the beige accent becomes the site yellow
   ========================================================================== */
:root {
  --ztc-text-text-10: #0d47a1;
  --ztc-bg-bg-8: #0d47a1;
  --ztc-bg-bg-9: #ffc107;
  --ztc-text-text-11: #ffc107;
}

/* ==========================================================================
   REFINEMENT 2 — buttons, Achievements, Gallery, Testimonials
   ========================================================================== */

/* Buttons: the theme's green hover-circle becomes a soft white highlight */
.header-btn4::after { background: rgba(255, 255, 255, 0.22) !important; }
.header-btn4 { background: var(--kg-blue-deep); }
.header-btn4:hover { background: var(--kg-blue); }

/* ---- Achievements: white cards, even image area, tidy footer ----------- */
body .blog-inner-section-area .blog-boxarea .img1 { background: #fff; }
body .blog-inner-section-area .blog-boxarea .img1 img { aspect-ratio: 4 / 5; object-fit: contain; background: #fff; }
body .blog-inner-section-area .blog-boxarea .content-area { border-top: 4px solid var(--kg-gold-strong); padding: 22px 26px 28px; background: #fff; }
body .blog-inner-section-area .blog-boxarea .content-area a { color: var(--kg-blue-deep); font-size: 1.1rem; }
body .blog-inner-section-area .owl-nav { margin-bottom: 8px; }

/* ---- Gallery: whole posters, arrows outside the cards ------------------- */
body .gallery-carousel { position: relative; }
body .gallery-item .gallery-img { aspect-ratio: 4 / 5; object-fit: contain; object-position: center; background: #f4f7fb; }
body .gallery-carousel .owl-nav {
  left: -30px;
  width: calc(100% + 60px);
  padding: 0;
  pointer-events: none;
}
body .gallery-carousel .owl-nav button {
  pointer-events: auto;
  background: var(--kg-blue) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(26, 115, 232, 0.4);
}
body .gallery-carousel .owl-nav button:hover { background: var(--kg-blue-deep) !important; }
body .gallery-carousel .owl-dot.active { background: var(--kg-blue) !important; }
@media (max-width: 991px) { body .gallery-carousel .owl-nav { left: 0; width: 100%; padding: 0 8px; } }

/* ---- Testimonials: light layout, tall video, white review cards -------- */
body .testimonial3-section-area { background: linear-gradient(180deg, #fff 0%, #eaf2fd 100%); }
body .testimonial3-section-area .row { align-items: stretch; }
body .testimonial3-section-area .row > [class*="col-"] { display: block; }
body .testimonial3-section-area .testimonial-video-area { height: 100%; padding: 0 16px 16px 0; }
body .testimonial3-section-area .testimonial-video-area .video-wrapper {
  height: 100%;
  min-height: 420px;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 16px 16px 0 var(--kg-gold-strong), 0 24px 50px rgba(13, 71, 161, 0.25);
  margin: 0;
}
body .testimonial3-section-area .testimonial-video-area .video-wrapper img {
  height: 100%;
  width: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  border-radius: 0 !important;
  transition: transform 0.6s var(--kg-ease);
}
body .testimonial3-section-area .testimonial-video-area .video-wrapper:hover img { transform: scale(1.04); }
body .testimonial3-section-area .testimonial-video-area .icons a { width: 76px; height: 76px; line-height: 76px; font-size: 1.3rem; background: #fff; color: var(--kg-blue-deep); }

body .testimonial3-section-area .testimonial3-vertical-slider { background: none !important; box-shadow: none; border-radius: 0; }
body .testimonial3-section-area .testimonial3-vertical-slider .testimonial-vertical {
  background: #fff;
  border: 1px solid #d9e6f7;
  border-left: 6px solid var(--kg-gold-strong);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(13, 71, 161, 0.12);
  padding: 28px 30px;
}
body .testimonial3-section-area .testimonial-vertical .verical-boxarea .images-area .text a { color: var(--kg-blue-deep); font-weight: 700; }
body .testimonial3-section-area .testimonial-vertical .quito { filter: hue-rotate(160deg) saturate(1.6); opacity: 0.9; }
body .testimonial3-section-area .testimonial-prev-arrow button,
body .testimonial3-section-area .testimonial-next-arrow button { background: var(--kg-blue) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(26, 115, 232, 0.4); }
@media (max-width: 991px) {
  body .testimonial3-section-area .testimonial-video-area { height: auto; margin-bottom: 36px; }
  body .testimonial3-section-area .testimonial-video-area .video-wrapper { min-height: 0; aspect-ratio: 4 / 3; }
}
@media (max-width: 575px) {
  body .testimonial3-section-area .testimonial-arrow-area { padding: 0; margin: 0; }
  body .testimonial3-section-area .testimonial3-vertical-slider { margin: 0; padding: 0; }
}

/* ==========================================================================
   REFINEMENT 3 — equal-height Achievements, Gallery placeholders, FG section
   ========================================================================== */

/* Achievements: every card the same height, no dead space at the bottom */
body .blog-inner-section-area .owl-stage { display: flex; }
body .blog-inner-section-area .owl-item { display: flex; height: auto; }
body .blog-inner-section-area .owl-item > .col-lg-4,
body .blog-inner-section-area .owl-item > div { width: 100%; display: flex; padding: 0 !important; }
body .blog-inner-section-area .blog-boxarea.blog-boxarea { width: 100%; display: flex; flex-direction: column; margin: 0 8px; }
body .blog-inner-section-area .blog-boxarea .img1 { flex: 0 0 auto; }
body .blog-inner-section-area .blog-boxarea .content-area { flex: 1 1 auto; margin: 0; border-radius: 0; box-shadow: none; padding: 20px 24px 24px; }
body .blog-inner-section-area .blog-boxarea .content-area .space20,
body .blog-inner-section-area .blog-boxarea .content-area .space24 { height: 8px; }
body .blog-inner-section-area .blog-boxarea .content-area > a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Gallery: neat skeleton while remote posters load, caption always at the bottom */
body .gallery-item { display: flex; flex-direction: column; background: #fff; }
body .gallery-item .gallery-img {
  background: linear-gradient(110deg, #eef3fa 30%, #f8fbff 50%, #eef3fa 70%);
  background-size: 200% 100%;
  animation: kg-shimmer 1.4s linear infinite;
}
@keyframes kg-shimmer { to { background-position-x: -200%; } }
body .gallery-caption { margin-top: auto; }

/* FG Education: framed phone with a gold disc, solid store buttons */
body .fg-app-section .fg-col-image { position: relative; }
body .fg-app-section .fg-app-mockup { position: relative; display: inline-block; }
body .fg-app-section .fg-app-mockup::before {
  content: "";
  position: absolute;
  inset: 8% -8% 2% -8%;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 40%, rgba(255, 193, 7, 0.55), rgba(255, 193, 7, 0) 68%);
  z-index: -1;
}
body .fg-app-section .fg-app-title { font-size: clamp(2.2rem, 1.6rem + 2vw, 3.2rem); }
body .fg-feature-item { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.18); }
body .fg-feature-item:hover { background: #fff; border-color: #fff; }
body .fg-feature-item:hover .fg-feature-text h4 { color: var(--kg-blue-deep); }
body .fg-feature-item:hover .fg-feature-icon { background: var(--kg-blue); border-color: var(--kg-blue); }
body .fg-feature-item:hover .fg-feature-icon i { color: #fff; }
body .fg-store-btn { background: #fff !important; color: var(--kg-blue-deep) !important; border: 0 !important; font-weight: 700; box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25); }
body .fg-store-btn:hover { background: var(--kg-gold-strong) !important; color: #111 !important; }

/* ==========================================================================
   Achievements: plain light background (blue background removed)
   ========================================================================== */
body .blog-inner-section-area.sp6 { background: #f6f8fb !important; }
body .blog-inner-section-area .gallery-title,
body .blog-inner-section-area h2 { color: var(--kg-ink) !important; }
body .blog-inner-section-area .gallery-title::after { background: var(--kg-gold-strong); }
body .blog-inner-section-area .owl-nav button.owl-prev,
body .blog-inner-section-area .owl-nav button.owl-next,
body .blog-inner-section-area .owl-prev,
body .blog-inner-section-area .owl-next { background: var(--kg-blue) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(26, 115, 232, 0.35); }
body .blog-inner-section-area .blog-boxarea.blog-boxarea { border: 1px solid #e3e9f2; box-shadow: 0 12px 30px rgba(17, 24, 39, 0.1); }
body .blog-inner-section-area .blog-boxarea:hover { box-shadow: 0 20px 42px rgba(17, 24, 39, 0.16); }

/* Achievements arrows: sit on the sides of the cards, like the Gallery */
body .blog-inner-section-area .blog-carousel { position: relative; }
body .blog-inner-section-area .blog-carousel .owl-nav {
  position: absolute !important;
  top: 42%;
  left: -26px;
  width: calc(100% + 52px);
  margin: 0 !important;
  padding: 0;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
}
body .blog-inner-section-area .blog-carousel .owl-nav button { pointer-events: auto; position: static !important; margin: 0 !important; width: 48px; height: 48px; }
@media (max-width: 1399px) { body .blog-inner-section-area .blog-carousel .owl-nav { left: 4px; width: calc(100% - 8px); } }

/* ==========================================================================
   FG Education — light showcase (replaces the blue background)
   ========================================================================== */
body .fg-app-section {
  background:
    radial-gradient(700px 420px at 100% 0%, rgba(255, 193, 7, 0.14), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #eef4fd 100%) !important;
}
body .fg-app-section::before { opacity: 0; }
body .fg-app-section .fg-floating { background: rgba(26, 115, 232, 0.08); }
body .fg-app-section .fg-app-title { color: var(--kg-ink); }
body .fg-app-section .fg-app-title::after { background: var(--kg-gold-strong); }

body .fg-feature-item {
  background: #fff;
  border: 1px solid #dde8f7;
  box-shadow: 0 8px 22px rgba(13, 71, 161, 0.08);
}
body .fg-feature-item:hover { background: #fff; border-color: var(--kg-blue); transform: translateY(-3px); box-shadow: 0 14px 30px rgba(26, 115, 232, 0.2); }
body .fg-feature-icon { background: #e8f1fe; border: 0; }
body .fg-feature-icon i { color: var(--kg-blue); }
body .fg-feature-text h4 { color: var(--kg-blue-deep); }
body .fg-feature-item:hover .fg-feature-icon { background: var(--kg-blue); }
body .fg-feature-item:hover .fg-feature-icon i { color: #fff; }
body .fg-feature-item:hover .fg-feature-text h4 { color: var(--kg-blue-deep); }

body .fg-download-title { color: var(--kg-ink); }
body .fg-store-btn { background: var(--kg-blue-deep) !important; color: #fff !important; box-shadow: 0 10px 24px rgba(13, 71, 161, 0.3); }
body .fg-store-btn:hover { background: var(--kg-blue) !important; color: #fff !important; }

body .fg-app-section .fg-app-mockup::before {
  inset: 6% -6% 0 -6%;
  background: linear-gradient(160deg, var(--kg-blue) 0%, var(--kg-blue-deep) 100%);
  border-radius: 40% 40% 36% 36% / 30% 30% 26% 26%;
  box-shadow: 0 30px 60px rgba(13, 71, 161, 0.3);
  z-index: -1;
}
body .fg-app-section .fg-app-mockup { filter: drop-shadow(0 26px 34px rgba(0, 0, 0, 0.3)); }

/* ==========================================================================
   Welcome image: the shaped cut-out sits on a soft blue panel; its white
   areas blend into the panel so only the building shape shows
   ========================================================================== */
body .property3-section-area .img1 {
  position: relative;
  padding: clamp(24px, 4vw, 48px);
  border-radius: 32px;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 12%, rgba(255, 193, 7, 0.55) 0 70px, transparent 71px),
    radial-gradient(circle at 92% 92%, rgba(26, 115, 232, 0.35) 0 110px, transparent 111px),
    linear-gradient(150deg, #e6f0fe 0%, #cfe2fc 100%);
  border: 1px solid #c3d9f8;
  box-shadow: 0 30px 60px rgba(13, 71, 161, 0.2);
}
body .property3-section-area .img1::before {
  content: "";
  position: absolute;
  inset: 16px;
  border: 2px dashed rgba(26, 115, 232, 0.35);
  border-radius: 22px;
  pointer-events: none;
}
body .property3-section-area .img1 img {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: auto;
  height: auto;
  max-height: 560px;
  margin: 0 auto;
  object-fit: contain;
  border-radius: 0;
  mix-blend-mode: multiply;
}
@media (max-width: 991px) {
  body .property3-section-area .img1 { margin: 0 0 28px; box-shadow: 0 20px 40px rgba(13, 71, 161, 0.18); }
  body .property3-section-area .img1 img { max-height: 420px; }
}
body .property3-section-area .img1 { height: auto !important; }

/* Welcome image: clean white card, one yellow accent (blue tint removed) */
body .property3-section-area .img1 {
  background: #fff;
  border: 1px solid #eceff4;
  border-radius: 28px;
  box-shadow: 0 24px 50px rgba(17, 24, 39, 0.1);
  padding: clamp(24px, 4vw, 44px);
}
body .property3-section-area .img1::before {
  inset: auto;
  top: 0;
  left: 0;
  width: 120px;
  height: 120px;
  border: 0;
  border-radius: 28px 0 100% 0;
  background: var(--kg-gold-strong);
  opacity: 1;
}
body .property3-section-area .img1 img { position: relative; z-index: 1; }

/* Welcome image: cut-out building over a faded real campus photo */
body .property3-section-area .img1 {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.35) 100%),
    url("../img/campuses/knowledge-nadiad.webp") center 30% / cover no-repeat;
  border: 0;
  box-shadow: 0 28px 56px rgba(17, 24, 39, 0.22);
}
body .property3-section-area .img1::before { display: none; }
body .property3-section-area .img1::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 8px;
  background: var(--kg-gold-strong);
  z-index: 2;
}
body .property3-section-area .img1 img { mix-blend-mode: multiply; }

/* Welcome image — final: clean backdrop, building shape centred and framed */
body .property3-section-area .img1 {
  background:
    radial-gradient(circle at 50% 46%, #fff6d6 0 36%, transparent 37%),
    linear-gradient(180deg, #ffffff 0%, #f1f5fb 100%);
  border: 1px solid #e6ecf5;
  box-shadow: 0 28px 56px rgba(17, 24, 39, 0.12);
  padding: clamp(28px, 4vw, 52px);
}
body .property3-section-area .img1::before { display: none !important; }
body .property3-section-area .img1::after {
  content: "";
  position: absolute;
  left: 50%; bottom: 0;
  width: 46%; height: 6px;
  transform: translateX(-50%);
  border-radius: 6px 6px 0 0;
  background: var(--kg-gold-strong);
}
body .property3-section-area .img1 img { mix-blend-mode: multiply; max-height: 540px; }
body .property3-section-area .img1 {
  background:
    linear-gradient(var(--kg-gold-strong), var(--kg-gold-strong)) center bottom / 46% 6px no-repeat,
    radial-gradient(circle at 50% 46%, #fff6d6 0 36%, transparent 37%),
    linear-gradient(180deg, #ffffff 0%, #f1f5fb 100%);
}
body .property3-section-area .img1::after { content: none !important; }

/* Sticky header: one clean full-width bar (no pill-inside-a-bar) */
body .header-area.homepage3.sticky {
  padding: 8px 0;
  background: rgba(255, 255, 255, 0.97);
  -webkit-backdrop-filter: saturate(1.4) blur(8px);
  backdrop-filter: saturate(1.4) blur(8px);
  box-shadow: 0 2px 18px rgba(17, 24, 39, 0.1);
  border-bottom: 1px solid #eef1f6;
}
body .header-area.homepage3.sticky .header-elements {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
body .header-area.homepage3.sticky .site-logo img { margin-top: 0 !important; max-height: 58px; width: auto; }
body .header-area.homepage3.sticky .header-elements { align-items: center; min-height: 64px; }
body .header-area.homepage3.sticky .site-logo { display: flex; align-items: center; }
body .header-area.homepage3.sticky .site-logo img { max-height: 64px; height: 64px; width: auto; }
body .header-area.homepage3.sticky .main-menu > ul { display: flex; align-items: center; margin: 0; }
body .header-area.homepage3.sticky .site-logo img { height: auto; max-height: none; width: 86px; }

/* Buttons: remove the leftover circle; clean fill + lift on hover */
.header-btn4::after, .header-btn4:hover::after, .header-btn4:hover:after { content: none !important; display: none !important; }
.header-btn4 {
  background: linear-gradient(135deg, var(--kg-blue) 0%, var(--kg-blue-deep) 100%);
  padding: 15px 32px;
  box-shadow: 0 10px 22px rgba(13, 71, 161, 0.28);
  transition: transform 0.25s var(--kg-ease), box-shadow 0.25s var(--kg-ease), background-color 0.25s var(--kg-ease);
}
.header-btn4:hover { background: linear-gradient(135deg, var(--kg-blue-deep) 0%, #0a3678 100%); transform: translateY(-2px); box-shadow: 0 16px 30px rgba(13, 71, 161, 0.38); }
body .property3-section-area .header-btn4 { background: linear-gradient(135deg, var(--kg-blue) 0%, var(--kg-blue-deep) 100%); box-shadow: 0 10px 22px rgba(13, 71, 161, 0.28); }

/* Video play button: pulse ring centred on the button */
body .testimonial3-section-area .testimonial-video-area .icons a { position: relative; z-index: 2; }
body .testimonial3-section-area .testimonial-video-area .icons a::after {
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(255, 255, 255, 0.55) !important;
  opacity: 1 !important;
  z-index: -1;
  animation: kg-play-pulse 1.8s ease-out infinite !important;
}
@keyframes kg-play-pulse {
  0%   { transform: scale(1);   opacity: 0.7; }
  100% { transform: scale(1.9); opacity: 0; }
}
body .testimonial3-section-area .testimonial-video-area .icons a i { line-height: inherit; }

/* ==========================================================================
   Video modal
   ========================================================================== */
.kg-video-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 24px; }
.kg-video-modal[hidden] { display: none; }
.kg-video-backdrop { position: absolute; inset: 0; background: rgba(6, 22, 56, 0.82); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: kg-fade 0.25s ease; }
.kg-video-dialog { position: relative; width: min(960px, 100%); animation: kg-pop 0.3s var(--kg-ease); }
.kg-video-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; border-radius: 18px; overflow: hidden; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55); border: 4px solid #fff; }
.kg-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kg-video-close {
  position: absolute; top: -52px; right: 0; width: 42px; height: 42px; border-radius: 50%; border: 0;
  background: #fff; color: var(--kg-ink); font-size: 1.7rem; line-height: 1; cursor: pointer;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35); transition: background-color 0.2s, color 0.2s, transform 0.2s;
}
.kg-video-close:hover { background: var(--kg-gold-strong); transform: rotate(90deg); }
@keyframes kg-fade { from { opacity: 0; } }
@keyframes kg-pop { from { opacity: 0; transform: translateY(14px) scale(0.97); } }
@media (max-width: 575px) { .kg-video-modal { padding: 12px; } .kg-video-frame { border-radius: 12px; border-width: 3px; } .kg-video-close { top: -48px; } }
.kg-video-yt { display: block; width: max-content; margin: 14px auto 0; padding: 9px 22px; border-radius: 999px; background: #fff; color: var(--kg-blue-deep); font-weight: 700; font-size: 0.92rem; text-decoration: none; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); }
.kg-video-yt:hover { background: var(--kg-gold-strong); color: #111; }

/* ==========================================================================
   Contact page — form + info cards polish
   ========================================================================== */
body .contact-input-section .header-btn4,
body .contact-input-section button.header-btn4 {
  background: linear-gradient(135deg, var(--kg-blue) 0%, var(--kg-blue-deep) 100%) !important;
  border: 0; border-radius: 999px; padding: 15px 38px; font-size: 1rem; letter-spacing: 0.02em;
  box-shadow: 0 12px 24px rgba(13, 71, 161, 0.3);
}
body .contact-input-section .header-btn4:hover { transform: translateY(-2px); box-shadow: 0 18px 32px rgba(13, 71, 161, 0.4); }

body .contact-input-section { padding-right: clamp(0px, 3vw, 40px); }
body .contact-input-section h3 { position: relative; padding-bottom: 14px; }
body .contact-input-section h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 54px; height: 4px; border-radius: 4px; background: var(--kg-gold-strong); }
body .contact-input-section p { color: #5b6472; line-height: 1.7; }
body .contact-input-section .input-area input,
body .contact-input-section .input-area .nice-select { height: 56px; line-height: 54px; padding: 0 18px; font-size: 0.98rem; }
body .contact-input-section .input-area .nice-select { line-height: 54px; }
body .contact-input-section .input-area textarea { min-height: 160px; padding: 16px 18px; font-size: 0.98rem; resize: vertical; }
body .contact-input-section .input-area input::placeholder,
body .contact-input-section .input-area textarea::placeholder { color: #8a93a2; }

/* Info cards */
body .contact-box { padding: 18px 20px; gap: 16px; background: #fff; }
body .contact-box .icons {
  flex: 0 0 52px; width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center;
  background: #e8f1fe;
}
body .contact-box:nth-child(2) .icons { background: #e3ebfa; }
body .contact-box:nth-child(3) .icons { background: #fff4cc; }
body .contact-box .icons img {
  width: 26px; height: 26px;
  filter: brightness(0) saturate(100%) invert(30%) sepia(88%) saturate(2400%) hue-rotate(205deg) brightness(95%);
}
body .contact-box:nth-child(3) .icons img { display: none; }
body .contact-box:nth-child(3) .icons::before {
  content: ""; width: 26px; height: 26px;
  background: #b78500;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .contact-box .content p { font-weight: 700; color: var(--kg-ink); margin: 0 0 4px; font-size: 1.05rem; }
body .contact-box .content a { color: #3d4757; line-height: 1.5; }
body .contact-box .content a:hover { color: var(--kg-blue); }
body .contact-box + .contact-box { margin-top: 14px; }
body .contact-inner-area .contact-box .icons { display: grid !important; place-items: center; background: #e8f1fe !important; }
body .contact-inner-area .contact-box:nth-child(2) .icons { background: #e3ebfa !important; }
body .contact-inner-area .contact-box:nth-child(3) .icons { background: #fff4cc !important; }
body .contact-inner-area .contact-box:nth-child(3) .icons::before { display: block; }
body .contact-input-section .input-area input,
body .contact-input-section .input-area textarea,
body .contact-input-section .input-area .nice-select { border-radius: 12px !important; border: 1px solid #d5dbe3 !important; }
body .contact-input-section .input-area .nice-select { display: flex; align-items: center; float: none; width: 100%; }
body .contact-input-section .input-area .nice-select .current { line-height: normal; }

/* Contact: campus tabs stick below the fixed header, and the chosen panel
   scrolls to just under the tabs (nothing hidden behind the header) */
body .location-nav-container { position: sticky; top: 100px; z-index: 20; }
body .location-section { scroll-margin-top: 340px; }
@media (max-width: 991px) {
  body .location-nav-container { top: 84px; }
  body .location-section { scroll-margin-top: 300px; }
}

/* Header logo: full logo with school name (icon + text), kept legible */
.homepage3-body .header-area.homepage3 .site-logo { width: auto !important; height: auto !important; display: flex; align-items: center; flex-shrink: 0; }
.homepage3-body .header-area.homepage3 .site-logo a { display: block; line-height: 0; }
.homepage3-body .header-area.homepage3 .site-logo img { margin-top: 0 !important; height: auto !important; width: 104px !important; max-width: none !important; display: block; padding: 0; }
.homepage3-body .header-area.homepage3.sticky .site-logo img { height: auto !important; width: 86px !important; margin-top: 0 !important; }


/* Dropdowns: always a vertical list, wide enough that each item stays on one line
   (the sticky-header rule above used to flex the nested lists sideways). */
body .header-area.homepage3 .header-elements .main-menu ul li ul.dropdown-padding {
  display: block !important;
  width: max-content !important;
  min-width: 225px;
  max-width: 340px;
}
body .header-area.homepage3 .header-elements .main-menu ul li ul.dropdown-padding li {
  display: block !important;
  width: 100% !important;
}
body .header-area.homepage3 .header-elements .main-menu ul li ul.dropdown-padding li a {
  white-space: nowrap;
}

/* ---------- Desktop menu: one line at every width ----------
   More pages means more links. Keep them on a single row, give the header more room on big
   screens, tighten spacing as the screen narrows, and hand over to the hamburger menu when
   they can no longer fit. (Selectors match the theme's own specificity so they win.) */
.homepage3-body .header-area.homepage3 .header-elements .main-menu ul { white-space: nowrap; }
.homepage3-body .header-area.homepage3 .header-elements .main-menu ul li { white-space: nowrap; }
.homepage3-body .header-area.homepage3 .header-elements .main-menu ul li ul.dropdown-padding li a { white-space: nowrap; padding: 8px; }
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li > a { white-space: nowrap; padding: 0 13px; font-size: 16px; }
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li > i { margin-right: 4px; }
@media (min-width: 1500px) {
  .homepage3-body .header-area.homepage3 > .container { max-width: min(94vw, 1500px); }
}
@media (max-width: 1799px) {
  .homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li > a { padding: 0 10px; font-size: 15px; }
}
@media (max-width: 1599px) {
  .homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li > a { padding: 0 8px; font-size: 14.5px; }
}
/* below this width even the tightest menu cannot fit: use the hamburger header instead */
@media (min-width: 992px) and (max-width: 1499px) {
  body .header-area.homepage3.d-lg-block { display: none !important; }
  body .mobile-header.d-lg-none { display: block !important; }
}

/* centre the links in the space between the logo and the right edge (they used to hug the right side) */
.homepage3-body .header-area.homepage3 .header-elements .main-menu { flex: 1 1 auto; text-align: center; }
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul { display: inline-block; }

/* Current section in the menu (Our Campus on the Campus page and each campus page) */
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li.menu-current > a { color: #e0a31a; font-weight: 600; }
.mobile-nav li.menu-current > a { color: #e0a31a; font-weight: 600; }

/* "Back to Our Campus" button in the banner of each campus page */
.inner-heading .back-campus {
  display: inline-flex; align-items: center; gap: 10px;
  margin-top: 22px; padding: 11px 22px;
  border: 1px solid rgba(255, 255, 255, .55); border-radius: 999px;
  background: rgba(255, 255, 255, .14); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  color: #fff; font-size: 15px; font-weight: 600; text-decoration: none; letter-spacing: .01em;
  transition: background .25s, color .25s, transform .25s, border-color .25s;
}
.inner-heading .back-campus i { font-size: 13px; transition: transform .25s; }
.inner-heading .back-campus:hover { background: #ffc107; border-color: #ffc107; color: #1f2937; transform: translateY(-2px); }
.inner-heading .back-campus:hover i { transform: translateX(-4px); }
@media (max-width: 575px) { .inner-heading .back-campus { margin-top: 16px; padding: 10px 18px; font-size: 14px; } }

/* ---- FG Education app: straight, sharp phone on a clean panel (replaces the tilted phone + blob) ---- */
body .fg-app-section .fg-col-image { display: flex; justify-content: center; align-items: center; }
body .fg-app-section .fg-app-mockup { display: block; filter: none; width: 100%; max-width: 520px; margin: 0 auto; }
body .fg-app-section .fg-app-mockup::before { content: none; }
body .fg-app-section .fg-phone-stage {
  position: relative; display: flex; justify-content: center; align-items: center;
  padding: 44px 24px 36px; border-radius: 36px; overflow: visible;
  background:
    radial-gradient(420px 320px at 50% 18%, rgba(255, 255, 255, .22), transparent 70%),
    linear-gradient(160deg, #1a73e8 0%, #0d47a1 100%);
  box-shadow: 0 30px 60px rgba(13, 71, 161, .28), inset 0 0 0 1px rgba(255, 255, 255, .18);
}
body .fg-app-section .fg-phone-stage::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, .14) 1.2px, transparent 1.2px); background-size: 22px 22px;
  -webkit-mask-image: linear-gradient(180deg, #000, transparent 80%); mask-image: linear-gradient(180deg, #000, transparent 80%);
}
body .fg-app-section .fg-app-mockup img {
  position: relative; z-index: 1; display: block;
  width: auto; height: auto; max-width: 100%; max-height: 600px;
  border-radius: 0; transform: none; transition: transform .5s ease;
  filter: drop-shadow(0 22px 26px rgba(0, 10, 40, .45));
}
body .fg-app-section .fg-app-mockup:hover img { transform: translateY(-6px); }
body .fg-app-section .fg-chip {
  position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 9px; white-space: nowrap;
  padding: 10px 16px; border-radius: 999px; background: #fff; color: #0d47a1;
  font: 600 14px/1 "Poppins", "Inter", sans-serif; box-shadow: 0 12px 26px rgba(0, 10, 40, .28);
  animation: kgChip 5s ease-in-out infinite;
}
body .fg-app-section .fg-chip i { color: #e0a31a; font-size: 15px; }
body .fg-app-section .fg-chip-1 { left: -34px; top: 17%; }
body .fg-app-section .fg-chip-2 { right: -34px; top: 46%; animation-delay: -1.7s; }
body .fg-app-section .fg-chip-3 { left: -28px; bottom: 13%; animation-delay: -3.3s; }
@keyframes kgChip { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
@media (prefers-reduced-motion: reduce) { body .fg-app-section .fg-chip { animation: none; } }
@media (max-width: 992px) {
  body .fg-app-section .fg-app-mockup { max-width: 440px; }
  body .fg-app-section .fg-app-mockup img { max-width: 100%; max-height: 520px; }
}
@media (max-width: 575px) {
  body .fg-app-section .fg-phone-stage { padding: 32px 14px 28px; border-radius: 28px; }
  body .fg-app-section .fg-app-mockup img { max-height: 440px; }
  body .fg-app-section .fg-chip { font-size: 12.5px; padding: 8px 12px; }
  body .fg-app-section .fg-chip-1 { left: -6px; } body .fg-app-section .fg-chip-2 { right: -6px; } body .fg-app-section .fg-chip-3 { left: -4px; }
}

/* ---- Welcome block: intact campus photo + tidier text ---- */
body .property3-section-area .welcome-photo { position: relative; padding: 0 22px 22px 0; }
body .property3-section-area .welcome-photo::before {
  content: ""; position: absolute; right: 0; bottom: 0; width: 72%; height: 72%;
  border-radius: 28px; background: linear-gradient(135deg, #ffc107, #ffe08a); z-index: 0;
}
body .property3-section-area .welcome-photo-frame {
  position: relative; z-index: 1; border-radius: 28px; overflow: hidden; background: #eef3fd;
  box-shadow: 0 28px 56px rgba(17, 24, 39, .22);
}
body .property3-section-area .welcome-photo-frame img {
  display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; mix-blend-mode: normal; max-height: none;
  transition: transform .8s ease;
}
body .property3-section-area .welcome-photo:hover img { transform: scale(1.04); }
body .property3-section-area .welcome-badge {
  position: absolute; left: 18px; right: 18px; bottom: 18px; display: flex; align-items: center; gap: 14px;
  padding: 14px 18px; border-radius: 16px; background: rgba(255, 255, 255, .94);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 14px 30px rgba(0, 10, 40, .22);
}
body .property3-section-area .welcome-badge > i {
  flex: 0 0 46px; height: 46px; display: grid; place-items: center; border-radius: 50%;
  background: #e8f0fe; color: var(--kg-blue); font-size: 19px;
}
body .property3-section-area .welcome-badge strong { display: block; font-size: 16px; color: #0d47a1; line-height: 1.3; }
body .property3-section-area .welcome-badge span { display: block; font-size: 13px; color: #5f6b7a; margin-top: 2px; }

body .property3-section-area .welcome-eyebrow {
  display: inline-block; margin: 0 0 14px; padding: 7px 16px; border-radius: 999px;
  background: #fff4cc; color: #8a5a00; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
body .property3-section-area .welcome-title { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.3; color: #111827; }
body .property3-section-area .welcome-name { display: block; margin-top: 2px; font-size: clamp(30px, 3vw, 42px); line-height: 1.15; color: #cc3333; }
body .property3-section-area .welcome-title small { display: block; margin-top: 10px; font-size: 18px; font-weight: 600; color: #0d47a1; }
body .property3-section-area .welcome-lead { font-size: 1.12em; line-height: 1.8; color: #374151; }
body .property3-section-area .welcome-points { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 10px; }
body .property3-section-area .welcome-points li { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border: 1px solid #e3ebf8; border-radius: 14px; background: #f7f9fd; list-style: none; color: #1f2937; font-weight: 600; }
body .property3-section-area .welcome-points i { flex: 0 0 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #e8f0fe; color: var(--kg-blue); font-size: 15px; }
@media (max-width: 991px) {
  body .property3-section-area .welcome-photo { margin-bottom: 36px; padding: 0 14px 14px 0; }
}
@media (max-width: 575px) {
  body .property3-section-area .welcome-badge { left: 10px; right: 10px; bottom: 10px; padding: 10px 12px; }
  body .property3-section-area .welcome-badge strong { font-size: 14px; }
}
@media (min-width: 992px) {
  body .property3-section-area .row.align-items-center > .col-lg-6 { align-self: flex-start; position: sticky; top: 110px; }
}

/* Header logo: fit fully inside the white bar (it used to hang out of the bottom) */
.homepage3-body .header-area.homepage3 .header-elements { align-items: center; }
.homepage3-body .header-area.homepage3 .site-logo { padding: 6px 0; }
.homepage3-body .header-area.homepage3 .site-logo img { height: 62px !important; width: auto !important; max-width: none !important; margin-top: 0 !important; object-fit: contain; }
.homepage3-body .header-area.homepage3.sticky .site-logo { padding: 0; }
.homepage3-body .header-area.homepage3.sticky .site-logo img { height: 54px !important; width: auto !important; }

/* ---- Home slider: new campus renders. Each slide shows the whole image over a blurred copy of itself,
   so square and wide pictures both look right at any screen size. ---- */
body .header-carousel-area3.owl-carousel .slider-item {
  position: relative; overflow: hidden; background: #0b2a5e;
  height: clamp(460px, min(100vh, 56vw), 900px);
}
body .header-carousel-area3.owl-carousel .slider-item::before {
  content: ""; position: absolute; inset: -40px; background: inherit; background-size: cover; background-position: center; background-repeat: no-repeat;
  filter: blur(26px) saturate(1.1); transform: scale(1.1);
}
body .header-carousel-area3.owl-carousel .slider-item::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(5, 20, 55, .45) 0%, rgba(5, 20, 55, 0) 28%, rgba(5, 20, 55, 0) 78%, rgba(5, 20, 55, .35) 100%);
}
body .header-carousel-area3.owl-carousel .slider-item img {
  position: relative; z-index: 1; display: block; width: 100%; height: 100%;
  box-sizing: border-box; padding: 96px 0 18px; margin: 0;
  object-fit: contain; object-position: center;
}
@media (max-width: 991px) {
  body .header-carousel-area3.owl-carousel .slider-item { height: clamp(300px, 62vw, 520px); }
  body .header-carousel-area3.owl-carousel .slider-item img { padding: 74px 0 12px; }
}
@media (max-width: 767px) {
  body .header-carousel-area3.owl-carousel .slider-item { height: 300px; }
  body .header-carousel-area3.owl-carousel .slider-item img { height: 100%; margin-top: 0; padding: 70px 0 8px; }
}


/* ---- Home slider: full-bleed pictures (edge to edge, no side panels) ---- */
body .header-carousel-area3.owl-carousel .slider-item { background: #0b2a5e; height: clamp(480px, min(100vh, 52vw), 980px); }
body .header-carousel-area3.owl-carousel .slider-item::before { content: none; }
body .header-carousel-area3.owl-carousel .slider-item img {
  width: 100%; height: 100%; padding: 0; margin: 0; object-fit: cover; object-position: center 62%;
}
@media (max-width: 991px) { body .header-carousel-area3.owl-carousel .slider-item { height: clamp(300px, 62vw, 560px); } body .header-carousel-area3.owl-carousel .slider-item img { padding: 0; } }
@media (max-width: 767px) { body .header-carousel-area3.owl-carousel .slider-item { height: 340px; } body .header-carousel-area3.owl-carousel .slider-item img { padding: 0; margin: 0; } }

/* ---------- Header: About Knowledge Group menu + Enquire Now button ---------- */
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li.menu-enquire { margin-left: 8px; }
.kg-enquire {
  display: inline-block;
  background: linear-gradient(135deg, var(--kg-blue) 0%, var(--kg-blue-deep) 100%);
  color: #fff !important;
  border-radius: 999px;
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(13, 71, 161, 0.28);
  transition: transform 0.25s var(--kg-ease), box-shadow 0.25s var(--kg-ease);
}
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li > a.kg-enquire { padding: 12px 22px; font-size: 15px; margin-left: 6px; }
.kg-enquire:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(13, 71, 161, 0.38); }
.mobile-nav li.menu-enquire { padding: 14px 0 6px; }
.mobile-nav li.menu-enquire > a.kg-enquire { display: block; text-align: center; padding: 13px 20px; }

/* Enquire Now: pinned to the right end of the header; the links stay centred between logo and button */
.homepage3-body .header-area.homepage3 .header-elements .main-menu { position: relative; }
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li.menu-enquire { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); margin: 0; }
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul { padding-right: 0; }

/* Arrow inside Enquire Now */
.kg-enquire i { margin-left: 8px; font-size: 0.85em; transition: transform 0.25s var(--kg-ease); }
.kg-enquire:hover i { transform: translateX(4px); }

/* =====================================================================
   HOME PAGE REFINEMENTS
   ===================================================================== */

/* ---- Hero: each picture shown whole and sharp beside its own heading ---- */
body .header-carousel-area3.owl-carousel .slider-item {
  position: relative; overflow: hidden; height: auto; min-height: 0; background-color: #0b2a5e;
  background-size: cover; background-position: center;
  padding: 124px 0 56px;
}
body .header-carousel-area3.owl-carousel .slider-item::before {
  content: ""; position: absolute; inset: -40px; background: inherit; background-size: cover; background-position: center;
  filter: blur(22px) saturate(1.1); transform: scale(1.08);
}
body .header-carousel-area3.owl-carousel .slider-item::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(100deg, rgba(5, 20, 55, .86) 0%, rgba(5, 20, 55, .62) 48%, rgba(5, 20, 55, .25) 100%);
}
body .header-carousel-area3 .hero-split {
  position: relative; z-index: 2; max-width: 1240px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 70px);
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 64px); align-items: center;
}
body .header-carousel-area3 .hero-copy { color: #fff; }
body .header-carousel-area3 .hero-eyebrow {
  display: inline-block; padding: 7px 16px; border-radius: 999px; background: rgba(255, 193, 7, .18); color: #ffd966;
  border: 1px solid rgba(255, 193, 7, .5); font: 600 13px/1 "Inter", sans-serif; letter-spacing: .14em; text-transform: uppercase;
}
body .header-carousel-area3 .hero-title {
  margin: 18px 0 10px; color: #fff; font: 700 clamp(2rem, 1.2rem + 2.6vw, 3.6rem)/1.1 "Inter", sans-serif; letter-spacing: -.01em;
}
body .header-carousel-area3 .hero-sub { margin: 0 0 28px; color: rgba(255, 255, 255, .88); font: 500 clamp(1rem, .9rem + .4vw, 1.25rem)/1.5 "Inter", sans-serif; }
body .header-carousel-area3 .hero-copy .kg-enquire { padding: 14px 26px; font-size: 16px; }
body .header-carousel-area3.owl-carousel .slider-item .hero-pic { display: flex; justify-content: center; }
body .header-carousel-area3.owl-carousel .slider-item .hero-pic img {
  width: auto; max-width: 100%; height: auto; max-height: min(580px, 62vh); margin: 0; padding: 0;
  object-fit: contain; border-radius: 22px; box-shadow: 0 28px 60px rgba(0, 10, 40, .5); border: 4px solid rgba(255, 255, 255, .9);
}
body .header-carousel-area3 .owl-nav { position: absolute; top: 50%; left: 0; width: 100%; margin: 0; z-index: 3; }
@media (max-width: 991px) {
  body .header-carousel-area3.owl-carousel .slider-item { padding: 100px 0 40px; }
  body .header-carousel-area3 .hero-split { grid-template-columns: 1fr; gap: 22px; text-align: center; }
  body .header-carousel-area3.owl-carousel .slider-item .hero-pic { order: -1; }
  body .header-carousel-area3.owl-carousel .slider-item .hero-pic img { max-height: 340px; }
  body .header-carousel-area3 .hero-sub { margin-bottom: 20px; }
}
@media (max-width: 575px) {
  body .header-carousel-area3.owl-carousel .slider-item { padding: 88px 0 34px; }
  body .header-carousel-area3.owl-carousel .slider-item .hero-pic img { max-height: 240px; border-radius: 16px; }
}

/* ---- About: picture and text start on the same line ---- */
body .property3-section-area > .container > .row { align-items: flex-start !important; }
/* the picture stays level with the text while the long text scrolls past */
@media (min-width: 992px) { body .property3-section-area .welcome-photo { position: sticky; top: 110px; } }
body .property3-section-area .property-content > .space20:first-child { display: none; }

/* ---- Achievements: same-size poster tiles ---- */
body .blog-inner-section-area .blog-boxarea .img1 { background: #f1f5fa; }
body .blog-inner-section-area .blog-boxarea .img1 img { width: 100%; aspect-ratio: 4 / 5; object-fit: contain; background: #f1f5fa; display: block; }
body .blog-inner-section-area .blog-boxarea .content-area ul { font-weight: 600; color: var(--kg-blue-deep); }
body .blog-inner-section-area .blog-boxarea .content-area ul li:last-child { color: #4b5563; font-weight: 500; }
body .blog-inner-section-area .blog-boxarea .content-area a { display: block; min-height: 2.8em; }

/* ---- Gallery: no outer panel, no tinted box behind posters, larger arrows ---- */
body .gallery-container { background: none; border: 0; box-shadow: none; border-radius: 0; padding: 20px; }
body .gallery-item .gallery-img { background: #fff; animation: none; }
body .gallery-carousel .owl-nav { left: -40px; width: calc(100% + 80px); }
body .gallery-carousel .owl-nav button { width: 60px !important; height: 60px !important; font-size: 2rem !important; }
@media (max-width: 1399px) { body .gallery-carousel .owl-nav { left: -10px; width: calc(100% + 20px); } }
@media (max-width: 991px) { body .gallery-carousel .owl-nav { left: 0; width: 100%; padding: 0 4px; } body .gallery-carousel .owl-nav button { width: 48px !important; height: 48px !important; font-size: 1.6rem !important; } }

/* ---- Mobile app: compact, picture left, features right, store buttons under the features ---- */
body .fg-app-section { padding: 48px 0; }
body .fg-app-section .fg-row { align-items: center; }
body .fg-app-section .fg-col-image { order: -1; flex: 0 0 36%; max-width: 36%; }
body .fg-app-section .fg-col-content { flex: 0 0 64%; max-width: 64%; padding-left: 28px; }
body .fg-app-section .fg-app-mockup { max-width: 320px; }
body .fg-app-section .fg-phone-stage { padding: 26px 18px 22px; border-radius: 28px; }
body .fg-app-section .fg-app-mockup img { max-height: 400px; }
body .fg-app-section .fg-chip { font-size: 12px; padding: 8px 12px; }
body .fg-app-section .fg-chip-1 { left: -22px; } body .fg-app-section .fg-chip-2 { right: -22px; } body .fg-app-section .fg-chip-3 { left: -18px; }
body .fg-app-section .fg-app-title { font-size: clamp(1.8rem, 1.3rem + 1.4vw, 2.5rem); padding-bottom: 6px; margin: 0; }
body .fg-app-section .fg-app-title::after { margin-top: 8px; }
body .fg-app-section .space20 { height: 12px; }
body .fg-features-list { gap: 8px; margin-bottom: 18px; }
body .fg-feature-item { padding: 8px 12px; }
body .fg-feature-icon { width: 36px; height: 36px; margin-right: 12px; flex: 0 0 36px; }
body .fg-feature-icon i { font-size: 1rem; }
body .fg-feature-text h4 { font-size: .92rem; line-height: 1.3; }
body .fg-download-section { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
body .fg-download-section .fg-download-title { margin: 0; font-size: .95rem; letter-spacing: .12em; }
body .fg-download-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
body .fg-store-btn { padding: 10px 20px; }
@media (max-width: 768px) {
  body .fg-app-section .fg-col-image, body .fg-app-section .fg-col-content { flex: 0 0 100%; max-width: 100%; padding-left: 15px; }
  body .fg-app-section .fg-col-image { margin-bottom: 24px; }
  body .fg-app-section .fg-app-mockup img { max-height: 340px; }
}

/* Card shadows were clipped by the carousel viewport (visible as a faint rectangle): give them room */
body .gallery-carousel .owl-stage-outer,
body .blog-inner-section-area .blog-carousel .owl-stage-outer { padding: 20px 0 48px; margin: -20px 0 -48px; }
body .gallery-container { margin-bottom: 30px; }
body .blog-inner-section-area .blog-boxarea .img1,
body .blog-inner-section-area .blog-boxarea .img1 img { background: #fff; }

/* Soft shadow that stays inside the carousel viewport sideways (negative spread) */
body .gallery-item,
body .blog-inner-section-area .blog-boxarea.blog-boxarea { box-shadow: 0 16px 22px -12px rgba(17, 24, 39, .3) !important; }
body .gallery-item:hover,
body .blog-inner-section-area .blog-boxarea.blog-boxarea:hover { box-shadow: 0 22px 26px -12px rgba(17, 24, 39, .38) !important; }

/* ---- About: picture on the left, wider text so the whole block reads on one screen ---- */
@media (min-width: 992px) {
  body .property3-section-area > .container { max-width: 1320px; }
  body .property3-section-area .welcome-photo { padding: 0 18px 18px 0; }
  body .property3-section-area .property-content { padding-left: 24px; }
}
body .property3-section-area .property-content p { line-height: 1.65; margin-bottom: 0; }
body .property3-section-area .property-content .space16 { height: 10px; }
body .property3-section-area .welcome-lead { font-size: 1.05em; line-height: 1.65; }
body .property3-section-area .welcome-title { font-size: 22px; }
body .property3-section-area .welcome-name { font-size: clamp(28px, 2.6vw, 38px); }
body .property3-section-area .welcome-title small { margin-top: 6px; font-size: 16px; }
body .property3-section-area .welcome-points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
body .property3-section-area .welcome-points li { padding: 10px 12px; gap: 10px; font-size: 14px; line-height: 1.3; }
body .property3-section-area .welcome-points i { flex-basis: 34px; height: 34px; }
body .property3-section-area .property-content .space32 { height: 20px; }
@media (max-width: 767px) { body .property3-section-area .welcome-points { grid-template-columns: 1fr; } }

/* =====================================================================
   ACHIEVEMENTS — modern dark showcase: whole poster over its own blurred glow,
   result badge on the picture, clean caption beneath
   ===================================================================== */
body .blog-inner-section-area.sp6 {
  background:
    radial-gradient(640px 360px at 8% 0%, rgba(255, 193, 7, .2), transparent 62%),
    radial-gradient(700px 420px at 100% 100%, rgba(66, 133, 244, .22), transparent 60%),
    linear-gradient(165deg, #07204a 0%, #0a2f6b 55%, #0d3b82 100%) !important;
}
body .blog-inner-section-area.sp6 .gallery-title { color: #fff !important; letter-spacing: -.01em; margin-bottom: 44px; }
body .blog-inner-section-area.sp6 .blog-boxarea.blog-boxarea {
  position: relative; overflow: hidden; border-radius: 26px;
  background: rgba(255, 255, 255, .07) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  box-shadow: 0 22px 34px -16px rgba(0, 8, 30, .6) !important;
  transition: transform .35s var(--kg-ease), border-color .35s var(--kg-ease), box-shadow .35s var(--kg-ease);
}
body .blog-inner-section-area.sp6 .blog-boxarea.blog-boxarea:hover {
  transform: translateY(-8px); border-color: rgba(255, 193, 7, .75) !important;
  box-shadow: 0 28px 40px -16px rgba(0, 8, 30, .75), 0 0 0 1px rgba(255, 193, 7, .35) !important;
}
body .blog-inner-section-area.sp6 .blog-boxarea .img1 {
  position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #0a2a5e; border-radius: 0;
}
body .blog-inner-section-area.sp6 .blog-boxarea .img1::before {
  content: ""; position: absolute; inset: -24px; z-index: 0;
  background: var(--poster) center / cover no-repeat; filter: blur(24px) saturate(1.25) brightness(.85); transform: scale(1.1);
}
body .blog-inner-section-area.sp6 .blog-boxarea .img1 img {
  position: relative; z-index: 1; display: block; width: 100%; height: 100%; aspect-ratio: auto;
  object-fit: contain; background: transparent; transition: transform .6s var(--kg-ease);
}
body .blog-inner-section-area.sp6 .blog-boxarea:hover .img1 img { transform: scale(1.04); }
body .blog-inner-section-area.sp6 .blog-boxarea .content-area {
  position: relative; background: transparent !important; border-top: 0 !important; padding: 30px 24px 24px;
}
body .blog-inner-section-area.sp6 .blog-boxarea .content-area ul { display: block; margin: 0; padding: 0; }
body .blog-inner-section-area.sp6 .blog-boxarea .content-area ul li { list-style: none; }
body .blog-inner-section-area.sp6 .blog-boxarea .content-area ul li span { display: none; }
body .blog-inner-section-area.sp6 .blog-boxarea .content-area ul li:first-child {
  color: #ffd45e; font: 600 12.5px/1 "Inter", sans-serif; letter-spacing: .14em; text-transform: uppercase;
}
/* result badge pinned on the picture */
body .blog-inner-section-area.sp6 .blog-boxarea .content-area ul li:last-child {
  position: absolute; top: -17px; left: 24px; z-index: 3; padding: 9px 15px; border-radius: 999px;
  background: linear-gradient(135deg, #ffd45e, #f0a500); color: #3a2600 !important; font: 700 13px/1 "Inter", sans-serif;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .35);
}
body .blog-inner-section-area.sp6 .blog-boxarea .content-area ul li:last-child::before { content: "\2605\00a0"; }
body .blog-inner-section-area.sp6 .blog-boxarea .content-area a {
  display: block; min-height: 0; margin-top: 10px; color: #fff !important; font: 700 1.2rem/1.3 "Inter", sans-serif; letter-spacing: -.005em;
}
body .blog-inner-section-area.sp6 .blog-boxarea .content-area .space20,
body .blog-inner-section-area.sp6 .blog-boxarea .content-area .space24 { display: none; }
body .blog-inner-section-area.sp6 .owl-nav button { box-shadow: 0 10px 22px rgba(0, 0, 0, .35); }
body .blog-inner-section-area.sp6 .blog-boxarea .img1 { height: auto !important; max-height: none !important; }
body .blog-inner-section-area.sp6 .blog-boxarea .img1 img { height: 100% !important; max-height: none !important; }

/* ---- Achievements, take 2: no coloured band — clean white section, light cards, better slider ---- */
body .blog-inner-section-area.sp6 { background: #fff !important; }
body .blog-inner-section-area.sp6 .gallery-title,
body .blog-inner-section-area.sp6 h2 { color: #081511 !important; }
body .blog-inner-section-area.sp6 .blog-boxarea.blog-boxarea {
  background: #fff !important; border: 1px solid #e3eaf6 !important;
  box-shadow: 0 20px 28px -18px rgba(13, 50, 110, .4) !important;
}
body .blog-inner-section-area.sp6 .blog-boxarea.blog-boxarea:hover {
  border-color: #f0b400 !important; box-shadow: 0 26px 34px -18px rgba(13, 50, 110, .5) !important;
}
body .blog-inner-section-area.sp6 .blog-boxarea .img1::before { filter: blur(24px) saturate(1.2) brightness(1); opacity: .55; }
body .blog-inner-section-area.sp6 .blog-boxarea .img1 { background: #f3f6fb; }
body .blog-inner-section-area.sp6 .blog-boxarea .content-area ul li:first-child { color: #b87900; }
body .blog-inner-section-area.sp6 .blog-boxarea .content-area a { color: #0d2a5c !important; }
body .blog-inner-section-area.sp6 .blog-boxarea .content-area ul li:last-child { box-shadow: 0 8px 16px rgba(184, 121, 0, .3); }

/* arrows: white round buttons that fill blue on hover */
body .blog-inner-section-area.sp6 .owl-nav button.owl-prev,
body .blog-inner-section-area.sp6 .owl-nav button.owl-next {
  width: 54px !important; height: 54px !important; border-radius: 50% !important; font-size: 1.2rem !important;
  background: #fff !important; color: #0d47a1 !important; border: 1px solid #d7e3f6 !important;
  box-shadow: 0 10px 22px rgba(13, 50, 110, .2) !important; transition: background .25s, color .25s, transform .25s;
}
body .blog-inner-section-area.sp6 .owl-nav button.owl-prev:hover,
body .blog-inner-section-area.sp6 .owl-nav button.owl-next:hover { background: #0d47a1 !important; color: #fff !important; transform: scale(1.08); }

/* dots: small pills, the active one stretches */
body .blog-inner-section-area.sp6 .owl-dots { display: flex; justify-content: center; gap: 8px; margin-top: 34px; }
body .blog-inner-section-area.sp6 .owl-dots .owl-dot { background: none !important; width: auto; height: auto; margin: 0; transform: none; }
body .blog-inner-section-area.sp6 .owl-dots .owl-dot span {
  display: block; width: 10px; height: 10px; border-radius: 999px; background: #c9d6ea; transition: width .3s var(--kg-ease), background .3s;
}
body .blog-inner-section-area.sp6 .owl-dots .owl-dot.active span { width: 32px; background: #0d47a1; }
@media (max-width: 767px) { body .blog-inner-section-area.sp6 .owl-nav { display: block !important; } }

/* ---- Home hero: full-screen picture only (no blurred backdrop, no side text) ---- */
body .header-carousel-area3.hero-full.owl-carousel .slider-item {
  height: 100vh; height: 100svh; min-height: 420px; padding: 0; background: #0b2a5e;
}
body .header-carousel-area3.hero-full.owl-carousel .slider-item::before,
body .header-carousel-area3.hero-full.owl-carousel .slider-item::after { content: none; }
body .header-carousel-area3.hero-full .slider-item picture { display: block; width: 100%; height: 100%; }
body .header-carousel-area3.hero-full.owl-carousel .slider-item img {
  display: block; width: 100%; height: 100%; max-height: none; margin: 0; padding: 0;
  object-fit: cover; object-position: center; border: 0; border-radius: 0; box-shadow: none;
}
@media (max-width: 991px) {
  body .header-carousel-area3.hero-full.owl-carousel .slider-item { height: 100vh; height: 100svh; padding: 0; }
  body .header-carousel-area3.hero-full.owl-carousel .slider-item img { height: 100%; margin: 0; padding: 0; }
}
/* phones: slide takes the 4:5 shape of the mobile pictures, so the whole picture shows (a full-height slide would crop the sides) */
@media (max-width: 767px) {
  body .header-carousel-area3.hero-full.owl-carousel .slider-item { height: auto; min-height: 0; aspect-ratio: 4 / 5; }
}

/* hero text on the picture: clean card, picture itself stays untinted */
body .header-carousel-area3.hero-full.owl-carousel .slider-item { position: relative; }
body .header-carousel-area3.hero-full.owl-carousel .slider-item::after { content: none; }
body .header-carousel-area3.hero-full .hero-overlay {
  position: absolute; inset: 0; z-index: 2; display: flex; align-items: flex-end;
  padding: 90px clamp(24px, 8vw, 160px) clamp(36px, 8vh, 80px); pointer-events: none;
}
body .header-carousel-area3.hero-full .hero-copy { width: fit-content; max-width: 100%; pointer-events: auto; padding: 0; background: none; border: 0; box-shadow: none; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
body .header-carousel-area3.hero-full .hero-title { margin: 0; padding: 8px 20px 10px; border-radius: 10px; background: rgba(10, 14, 22, .74); font-size: clamp(1.8rem, 1.2rem + 1.2vw, 2.5rem); line-height: 1.15; text-shadow: none; }
body .header-carousel-area3.hero-full .hero-sub { margin: 0; padding: 5px 16px 6px; border-radius: 8px; background: rgba(10, 14, 22, .74); text-shadow: none; }
@media (max-width: 767px) {
  body .header-carousel-area3.hero-full .hero-overlay { padding: 0 14px 16px; }
  body .header-carousel-area3.hero-full .hero-copy { gap: 8px; }
  body .header-carousel-area3.hero-full .hero-eyebrow { padding: 5px 12px; font-size: 11px; }
  body .header-carousel-area3.hero-full .hero-title { padding: 6px 14px 8px; font-size: 1.45rem; }
  body .header-carousel-area3.hero-full .hero-sub { padding: 4px 12px 5px; font-size: .95rem; }
  body .header-carousel-area3.hero-full .hero-copy .kg-enquire { padding: 10px 18px; font-size: 14px; }
  body .header-carousel-area3.hero-full .owl-nav { top: 32%; }
}

/* smooth wheel scrolling (assets/js/smooth-scroll.js) */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
html.kg-dragging, html.kg-dragging * { cursor: grabbing !important; user-select: none !important; -webkit-user-select: none !important; }
html.lenis img { -webkit-user-drag: none; user-drag: none; }
body .header-carousel-area3.hero-full .owl-stage-outer { cursor: grab; }
body .header-carousel-area3.hero-full.owl-grab .owl-stage-outer { cursor: grabbing; }

/* ---------- WhatsApp floating button: right side, stacked above the scroll-to-top button ---------- */
.wa-sidebar { left: auto !important; right: 30px; bottom: 30px; align-items: flex-end; transition: bottom .25s ease; }
body:has(.progress-wrap.active-progress) .wa-sidebar { bottom: 100px; }
.wa-expanded { left: auto !important; right: 0; }
.wa-tooltip { left: auto !important; right: 70px; }
.wa-tooltip:after { right: auto; left: 100%; border-color: transparent transparent transparent #2d3748; }
@media (max-width: 768px) {
  .wa-sidebar { right: 30px; bottom: 20px; }
  body:has(.progress-wrap.active-progress) .wa-sidebar { bottom: 88px; }
  .wa-tooltip { right: 65px; }
  .wa-expanded { width: min(280px, calc(100vw - 32px)); }
}

/* ---------- Form validation states (shared: contact + admissions + any form using KGForm) ---------- */
.kg-field-error { display: block; margin: 7px 2px 0; color: #c62828; font-size: 14px; line-height: 1.4; font-weight: 500; }
.kg-field-error[hidden] { display: none; }
.kg-counter { display: block; margin: 6px 2px 0; text-align: right; color: #6b7280; font-size: 12px; }
.kg-counter.over { color: #c62828; font-weight: 600; }
html body :is(input, textarea, select, .nice-select).kg-invalid:not(#_) {
  border-color: #c62828 !important; background-color: #fff8f8 !important; box-shadow: 0 0 0 3px rgba(198, 40, 40, .12) !important;
}
html body :is(input, textarea, .nice-select).kg-valid:not(#_) { border-color: #2e9d5b !important; }
.kg-form-summary { margin: 0 0 14px; padding: 12px 16px; border-radius: 10px; background: #fdecec; color: #b71c1c; font-size: 15px; font-weight: 600; }
.kg-form-summary[hidden], .kg-form-success[hidden] { display: none; }
.kg-form-success { margin: 0 0 14px; padding: 12px 16px; border-radius: 10px; background: #e8f6ee; color: #1b6b3d; font-size: 15px; font-weight: 600; }
.kg-form-success i { margin-right: 6px; }
/* admissions captcha: keep the code image level with the input even when an error line appears under it */
.ad-captcha { align-items: flex-start !important; }
.ad-captcha-box { margin-top: 31px; }

/* ---------- Standard dropdown: ONE design for every dropdown on the site ----------
   Height / corner / border follow the text boxes of the form they sit in (set the three variables on the form). */
html body .nice-select {
  float: none; display: flex; align-items: center; width: 100%; height: var(--kg-sel-h, 51px); line-height: normal; padding: 0 44px 0 16px;
  border: 1px solid var(--kg-sel-border, #c5d4ee); border-radius: var(--kg-sel-r, 8px); background: #fff; box-shadow: none; font-size: 15px; font-weight: 400; color: #1f2937;
  transition: border-color .2s, box-shadow .2s;
}
html body .nice-select .current { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: normal; }
html body .nice-select:hover { border-color: #9db8e6; }
html body .nice-select.open, .nice-select:focus { border-color: #1a73e8; box-shadow: 0 0 0 3px rgba(26, 115, 232, .18); }
html body .nice-select:after {
  width: 8px; height: 8px; right: 18px; top: 50%; margin-top: -6px; border-width: 0 2px 2px 0; border-color: #5b6b86;
  transition: transform .2s, margin-top .2s;
}
html body .nice-select.open:after { transform: rotate(-135deg); margin-top: -2px; }
html body .nice-select .list { width: 100%; max-height: min(420px, 62vh); overflow-y: auto; margin-top: 6px; border: 1px solid #dbe5f6; border-radius: 10px; box-shadow: 0 16px 32px -14px rgba(13, 71, 161, .35); padding: 6px 0; }
html body .nice-select .option { min-height: 0; line-height: 1.4; padding: 9px 16px; font-size: 15px; font-weight: 400; color: #1f2937; }
html body .nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus { background: #eef4fd; color: #0d47a1; }
html body .nice-select .option.selected { font-weight: 600; }
html body .nice-select.disabled { background: #f3f6fb; border-color: #dfe6f3; color: #9aa6b8; opacity: 1; }
html body .nice-select.disabled:after { border-color: #b8c2d3; }
/* each form tells its dropdowns which text-box size to match */
.contact-input-section { --kg-sel-h: 56px; --kg-sel-r: 12px; --kg-sel-border: #d5dbe3; }
.fee-field { --kg-sel-h: 50px; --kg-sel-r: 8px; --kg-sel-border: #c5d4ee; }
html body .nice-select .current { color: #1f2937; }


/* ---------- Captcha (contact form) ---------- */
.kg-captcha { display: flex; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.kg-captcha .input-area { flex: 1 1 240px; max-width: 360px; }
.kg-captcha-box { display: flex; align-items: center; gap: 10px; min-height: 56px; }
.kg-captcha-box img { display: block; width: 170px; height: 52px; border: 1px solid #d5dbe3; border-radius: 10px; background: #f6f9ff; }
.kg-captcha-new {
  width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #d5dbe3; background: #fff; color: #1a73e8;
  cursor: pointer; transition: background .2s, transform .3s, border-color .2s;
}
.kg-captcha-new:hover { background: #eef4fd; border-color: #c6dcf8; transform: rotate(120deg); }
.kg-captcha-new:focus-visible { outline: 3px solid #ffc107; outline-offset: 2px; }

/* ==========================================================================
   One banner height on every inner page (change the three values to resize them all)
   ========================================================================== */
:root { --kg-banner-h: 440px; }
body .inner-main-hero-area { height: var(--kg-banner-h); min-height: 0 !important; box-sizing: border-box; overflow: hidden; }
@media (max-width: 991px) { :root { --kg-banner-h: 380px; } }
@media (max-width: 575px) { :root { --kg-banner-h: 340px; } }
.kg-captcha-field { flex: 1 1 240px; max-width: 360px; min-width: 0; }
.kg-captcha-field input { width: 100%; }

/* no blank flash while pictures load */
.inner-main-hero-area { background-color: #12305f; background-size: cover; background-position: center; }
body .header-carousel-area3.hero-full.owl-carousel .slider-item { background: #12305f; }

/* header: a little breathing room between the pill's left edge and the logo */
body .header-area .header-elements .site-logo { margin-left: 22px; }

/* banner keeps its fixed height; text sits low and clears the floating header */
body .inner-main-hero-area { height: var(--kg-banner-h); min-height: 0; padding: 0 !important; }
body .inner-main-hero-area > .container { padding-top: 110px; padding-bottom: 44px; }
body .inner-main-hero-area .row > [class*="col-lg-"] { flex: 0 0 100%; max-width: 100%; }
body .inner-main-hero-area .inner-heading h2 { overflow-wrap: anywhere; }
@media (max-width: 991px) { body .inner-main-hero-area > .container { padding-top: 100px; padding-bottom: 36px; } }

/* banner title and breadcrumb on the left, vertically centred below the header */
body .inner-main-hero-area .inner-heading { text-align: left; }
body .inner-main-hero-area .inner-heading p { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; }

/* banner text vertically centred in the visible area below the header */
body .inner-main-hero-area { align-items: center; padding: 96px 0 0 !important; }
body .inner-main-hero-area > .container { padding-top: 0; padding-bottom: 0; }
@media (max-width: 991px) {
  body .inner-main-hero-area { padding: 0 !important; }
  body .inner-main-hero-area > .container { padding-top: 0; padding-bottom: 0; }
}
html body .header-area.homepage3 .header-elements .main-menu ul li ul :is(li, a, ul) { text-align: left !important; }
html body .header-area.homepage3 .header-elements .main-menu ul li ul.dropdown-padding { text-align: left !important; }

/* header: 11 menu items + button must fit on one row */
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li > a { padding: 0 7px; font-size: 14.5px; letter-spacing: 0; }
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li > a > i { margin-left: 3px; font-size: 11px; }
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li.menu-enquire { margin-left: 4px; }
.homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li > a.kg-enquire { padding: 11px 18px; font-size: 14.5px; margin-left: 0; }
@media (max-width: 1799px) {
  .homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li > a { padding: 0 5px; font-size: 14px; }
}
@media (max-width: 1599px) {
  .homepage3-body .header-area.homepage3 .header-elements .main-menu > ul > li > a { padding: 0 4px; font-size: 13.5px; }
}
/* hamburger header below 1500px (unchanged) */
/* leave room on the right for the absolutely-placed Enquire Now button */
.homepage3-body .header-area.homepage3 .header-elements .main-menu { padding-right: 152px; }

/* ---------- Toast messages (KGForm.toast) ---------- */
#kgToasts { position: fixed; top: 96px; right: 24px; z-index: 100000; display: flex; flex-direction: column; gap: 12px; width: min(420px, calc(100vw - 32px)); pointer-events: none; }
.kg-toast {
  pointer-events: auto; display: flex; align-items: flex-start; gap: 12px; padding: 16px 16px 16px 18px; border-radius: 14px; background: #fff; color: #1c2623;
  border: 1px solid #e3eaf6; border-left-width: 5px; box-shadow: 0 18px 40px -16px rgba(13, 30, 70, .45);
  font-size: 15px; line-height: 1.5; font-weight: 500; opacity: 0; transform: translateX(32px); transition: opacity .35s ease, transform .35s cubic-bezier(.2, .8, .2, 1);
}
.kg-toast.in { opacity: 1; transform: none; }
.kg-toast > i { font-size: 20px; margin-top: 1px; }
.kg-toast > span { flex: 1; }
.kg-toast > button { border: 0; background: none; font-size: 22px; line-height: 1; color: #8a96a8; cursor: pointer; padding: 0 2px; }
.kg-toast > button:hover { color: #1c2623; }
.kg-toast--success { border-left-color: #2e9d5b; } .kg-toast--success > i { color: #2e9d5b; }
.kg-toast--error { border-left-color: #c62828; } .kg-toast--error > i { color: #c62828; }
@media (max-width: 575px) { #kgToasts { top: 78px; right: 16px; } }

/* dropdown list: scrollbar is always visible, so people can see there are more options below */
html body .nice-select .list::-webkit-scrollbar { width: 10px; }
html body .nice-select .list::-webkit-scrollbar-track { background: #eef2f9; border-radius: 10px; margin: 6px 0; }
html body .nice-select .list::-webkit-scrollbar-thumb { background: #9db8e6; border-radius: 10px; border: 2px solid #eef2f9; }
html body .nice-select .list::-webkit-scrollbar-thumb:hover { background: #1a73e8; }
@supports not selector(::-webkit-scrollbar) { html body .nice-select .list { scrollbar-color: #9db8e6 #eef2f9; scrollbar-width: thin; } }

/* search box at the top of long dropdown lists (assets/js/select-search.js) */
html body .nice-select .list .kg-ss { position: sticky; top: -6px; z-index: 3; margin: -6px 0 4px; padding: 10px 12px 8px; background: #fff; border-bottom: 1px solid #e3eaf6; min-height: 0; line-height: normal; cursor: default; }
html body .nice-select .list .kg-ss:hover { background: #fff; }
html body .nice-select .list .kg-ss input { display: block; width: 100%; height: 38px; padding: 0 12px 0 34px; border: 1px solid #c5d4ee; border-radius: 8px; font: 400 15px/1 'Inter', sans-serif; color: #1f2937; background: #f7f9fe url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6b86' stroke-width='2.2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M20 20l-3.5-3.5'/></svg>") no-repeat 11px center; outline: none; box-shadow: none; }
html body .nice-select .list .kg-ss input:focus { border-color: #1a73e8; background-color: #fff; box-shadow: 0 0 0 3px rgba(26, 115, 232, .15); }
html body .nice-select .list .kg-ss-none { display: block; padding: 12px 4px 4px; color: #6b7280; font-size: 14px; }

/* ==========================================================================
   LIGHT BANDS: no dark-blue backgrounds. Closing call-to-action strips, the philosophy band, the Scholarship / Campus
   banners and the Campus "One Vision" section all use pale blue panels, navy headings and the site's blue buttons.
   ========================================================================== */

/* --- call-to-action strips: "Back to the school", "Come and see it for yourself", "How to Apply", "Find the right campus" --- */
html body .pg-cta, html body .sch-apply {
  position: relative; overflow: hidden; color: #1f2937; border: 1px solid #d3e3fb; border-radius: 22px;
  background: linear-gradient(120deg, #eef5ff 0%, #f8fbff 60%, #ffffff 100%);
  box-shadow: 0 22px 46px -30px rgba(13, 71, 161, .45);
}
html body .pg-cta::before, html body .sch-apply::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: linear-gradient(180deg, #1a73e8, #6ea8f5); border-radius: 22px 0 0 22px; }
html body .pg-cta::after, html body .sch-apply::after { content: ""; position: absolute; right: -80px; top: -120px; width: 260px; height: 260px; border-radius: 50%; background: rgba(26, 115, 232, .06); pointer-events: none; }
html body .pg-cta > *, html body .sch-apply > * { position: relative; z-index: 1; }
html body .pg-cta h2, html body .sch-apply h2 { color: #0d47a1; }
html body .pg-cta p, html body .sch-apply p { color: #5f6b7a; }
html body .sch-apply p b { color: #0d47a1; }
/* the buttons: solid blue + outlined blue, same size, lift on hover */
html body .pg-cta .ab-btn, html body .sch-apply .sch-btn, html body .pg-cta .pg-link, html body .sch-apply .sch-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 28px; border-radius: 999px;
  font-size: 15px; font-weight: 600; text-decoration: none; transition: background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s;
}
html body .pg-cta .ab-btn, html body .sch-apply .sch-btn { background: #1a73e8; color: #fff !important; border: 1px solid #1a73e8; box-shadow: 0 12px 24px -14px rgba(26, 115, 232, .8); }
html body .pg-cta .ab-btn:hover, html body .sch-apply .sch-btn:hover { background: #1565d8; border-color: #1565d8; color: #fff !important; transform: translateY(-2px); }
html body .pg-cta .pg-link, html body .sch-apply .sch-link { background: #fff; color: #1a73e8; border: 1px solid #b9cdee; padding-bottom: 0; }
html body .pg-cta .pg-link:hover, html body .sch-apply .sch-link:hover { background: #eef4ff; border-color: #1a73e8; color: #0d47a1; text-decoration: none; transform: translateY(-2px); }
html body .pg-cta .ab-btn i, html body .pg-cta .pg-link i, html body .sch-apply .sch-btn i, html body .sch-apply .sch-link i { font-size: 13px; transition: transform .2s; }
html body .pg-cta .ab-btn:hover i, html body .pg-cta .pg-link:hover i, html body .sch-apply .sch-btn:hover i, html body .sch-apply .sch-link:hover i { transform: translateX(4px); }
html body .sch-apply-cta { background: transparent; border: 0; padding: 0; backdrop-filter: none; }

/* --- philosophy / promise band: "We Groom, We Nurture" --- */
html body section.pg-band {
  background: linear-gradient(135deg, #eaf2ff 0%, #f7faff 55%, #ffffff 100%);
  border-top: 1px solid #d3e3fb; border-bottom: 1px solid #d3e3fb; color: #0d47a1;
}
html body section.pg-band p:not(#_) { color: #0d47a1 !important; }
html body section.pg-band em { color: #1a73e8; box-shadow: none; padding: 0; }
html body section.pg-band small:not(#_) { color: #5f6b7a !important; font-weight: 600; letter-spacing: .16em; }
html body section.pg-band small::before { content: ""; display: block; width: 44px; height: 3px; margin: 0 auto 14px; border-radius: 3px; background: #1a73e8; }

/* --- Campus page: "One Vision, Multiple Campuses" (its dark colours are written inline, hence !important) --- */
html body .map-section[style*="gradient"] { background: linear-gradient(135deg, #eef5ff 0%, #f8fbff 70%, #ffffff 100%) !important; color: #1f2937 !important; border: 1px solid #d3e3fb; box-shadow: 0 22px 46px -30px rgba(13, 71, 161, .4); }
html body .map-section[style*="gradient"] .map-title { color: #0d47a1 !important; }
html body .map-section[style*="gradient"] .map-subtitle { color: #5f6b7a !important; }
html body .map-section[style*="gradient"] [style*="rgba(255,255,255,0.1)"] { background: #fff !important; border: 1px solid #dbe6f7; box-shadow: 0 14px 30px -22px rgba(13, 71, 161, .45); backdrop-filter: none !important; }
html body .map-section[style*="gradient"] h3 { color: #0d47a1 !important; }
html body .map-section[style*="gradient"] p { color: #5f6b7a !important; }

@media (max-width: 767px) {
  html body .pg-cta::before, html body .sch-apply::before { width: 5px; }
}
html body section.pg-band p em:not(#_) { color: #1a73e8 !important; }
html body .ad-care-end em { color: #1a73e8; }

/* ---------- light call-to-action cards: clean edges, buttons side by side ---------- */
html body .pg-cta::before, html body .pg-cta::after, html body .sch-apply::before, html body .sch-apply::after { display: none; }
html body .sch-apply { grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; padding: 44px 52px; }
html body .sch-apply h2 { margin-bottom: 10px; }
html body .sch-apply p { max-width: 680px; text-wrap: balance; }
html body .sch-apply-cta { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px; }
html body .pg-cta { padding: 38px 48px; }
html body .pg-cta p { text-wrap: balance; }
@media (max-width: 991px) {
  html body .sch-apply { grid-template-columns: 1fr; gap: 24px; padding: 32px 26px; }
}
@media (max-width: 575px) {
  html body .sch-apply-cta .sch-btn, html body .sch-apply-cta .sch-link { flex: 1 1 100%; }
  html body .pg-cta { padding: 30px 24px; }
}

/* ---------- Admissions: information panel + "what we care about" block ---------- */
html body .ad-panel { background: linear-gradient(135deg, #eef5ff 0%, #f8fbff 60%, #ffffff 100%); border: 1px solid #d3e3fb; box-shadow: 0 22px 46px -30px rgba(13, 71, 161, .4); padding: 44px 40px 48px; }
html body .ad-panel h2 { color: #0d47a1; margin-bottom: 30px; }
html body .ad-panel-grid a { border: 1px solid #dbe6f7; background: #fff; box-shadow: 0 12px 26px -20px rgba(13, 71, 161, .45); transition: transform .25s, box-shadow .25s, border-color .25s; }
html body .ad-panel-grid a:hover { transform: translateY(-4px); border-color: #b9cdee; box-shadow: 0 18px 32px -20px rgba(13, 71, 161, .55); }

html body .ad-care { text-align: center; padding: 64px 0 72px; }
html body .ad-care .container { max-width: 900px; }
html body .ad-care-intro { display: block; margin: 0 0 18px; font: 600 13px/1.4 'Inter', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #1a73e8; }
html body .ad-care-intro::before, html body .ad-care-intro::after { content: ""; display: inline-block; width: 28px; height: 2px; background: #1a73e8; vertical-align: middle; margin: 0 12px; opacity: .5; }
html body .ad-care h2:not(.ad-care-end) { justify-content: center; gap: 14px 18px; margin-bottom: 26px; }
html body .ad-care h2:not(.ad-care-end) span { padding: 14px 28px; border: 1px solid #d3e3fb; border-radius: 16px; background: linear-gradient(135deg, #eef5ff, #fff); color: #0d47a1; box-shadow: 0 14px 28px -22px rgba(13, 71, 161, .5); }
html body .ad-care-sub { max-width: 640px; margin: 0 auto 22px; font-size: 18px; line-height: 1.7; color: #5f6b7a; }
html body .ad-care-end { color: #0d47a1; }
@media (max-width: 575px) { html body .ad-care h2:not(.ad-care-end) span { width: 100%; padding: 12px 18px; } }

/* ---------- "Explore More" link cards: same pale panel + white cards as the other info panels ---------- */
html body .container:has(> .ab-title + .ab-underline + .pg-lcards), html body .container:has(> .ab-title + .ab-underline + .pg-sub + .pg-lcards) {
  max-width: 1180px; padding: 44px 40px 48px; border: 1px solid #d3e3fb; border-radius: 20px;
  background: linear-gradient(135deg, #eef5ff 0%, #f8fbff 60%, #ffffff 100%); box-shadow: 0 22px 46px -30px rgba(13, 71, 161, .4);
}
html body .container:has(> .ab-title + .ab-underline + .pg-lcards) .ab-title, html body .container:has(> .ab-title + .ab-underline + .pg-sub + .pg-lcards) .ab-title { color: #0d47a1; }
html body .pg-lcards { gap: 20px; }
html body .pg-lcards a { border-color: #dbe6f7; border-radius: 14px; box-shadow: 0 12px 26px -20px rgba(13, 71, 161, .45); }
html body .pg-lcards a:hover { transform: translateY(-4px); border-color: #b9cdee; box-shadow: 0 18px 32px -20px rgba(13, 71, 161, .55); }
@media (max-width: 767px) { html body .container:has(> .ab-title + .ab-underline + .pg-lcards), html body .container:has(> .ab-title + .ab-underline + .pg-sub + .pg-lcards) { padding: 30px 18px 32px; border-radius: 16px; width: calc(100% - 32px); } }

/* ---------- Same pale-blue theme on Admissions / Scholarship / Inter-Campus Transfer / Alumni: no cream or yellow panels ---------- */
/* link cards in the info panels: all five (or four) stay on one row */
html body .ad-panel-grid { flex-wrap: nowrap; gap: 20px; }
html body .ad-panel-grid a { flex: 1 1 0; min-width: 0; max-width: 230px; }
@media (max-width: 767px) { html body .ad-panel-grid { flex-wrap: wrap; } html body .ad-panel-grid a { flex: 1 1 calc(50% - 10px); max-width: none; } }
/* notes */
html body .ad-note, html body .sch-note { background: #eef5ff; border: 1px solid #d3e3fb; border-left: 5px solid #1a73e8; border-radius: 12px; color: #475569; }
html body .ad-note > i { color: #1a73e8; }
html body .sch-note b { color: #0d47a1; }
/* big panels that had a cream corner */
html body .ad-enquiry-card { background: linear-gradient(135deg, #eef5ff 0%, #f8fbff 60%, #ffffff 100%); border-color: #d3e3fb; }
html body .it-card { background: linear-gradient(135deg, #eef5ff 0%, #f8fbff 60%, #ffffff 100%); border: 1px solid #d3e3fb; box-shadow: 0 22px 46px -30px rgba(13, 71, 161, .4); }
/* scholarship benefit cards: blue top edge instead of blue-yellow */
html body .sch-cards article:before { background: linear-gradient(90deg, #1a73e8, #6ea8f5); }
html body .sch-cards article { border-color: #dbe6f7; }
html body .sch-copy h3 span, html body .sch-title span { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: #1a73e8; }

/* ---------- Explore More link cards (used on every page; the base style is repeated here for pages that do not load pages.css) ---------- */
.ad-explore { padding: 24px 0 80px; }
.pg-lcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pg-lcards a { display: flex; flex-direction: column; gap: 8px; padding: 30px 28px; border: 1px solid #dbe6f7; border-radius: 14px; background: #fff; text-decoration: none; transition: transform .25s, box-shadow .25s, border-color .25s; }
.pg-lcards i.pg-li { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #e8f0fe; color: #1a73e8; font-size: 20px; margin-bottom: 6px; }
.pg-lcards strong { font-size: 20px; font-weight: 600; color: #0d47a1; }
.pg-lcards p { margin: 0; font-size: 16px; line-height: 1.65; color: #5f6b7a; }
.pg-lcards em { margin-top: 6px; font-style: normal; font-weight: 600; font-size: 15px; color: #1a73e8; }
.pg-lcards em i { font-size: 12px; margin-left: 4px; transition: transform .2s; }
.pg-lcards a:hover em i { transform: translateX(4px); }
/* 4 cards: 2 x 2 ; 5 cards: 3 + 2 centred */
.pg-lcards:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, 1fr); }
.pg-lcards:has(> :nth-child(5):last-child) { grid-template-columns: repeat(6, 1fr); }
.pg-lcards:has(> :nth-child(5):last-child) > a { grid-column: span 2; }
.pg-lcards:has(> :nth-child(5):last-child) > a:nth-child(4) { grid-column: 2 / span 2; }
.pg-lcards:has(> :nth-child(5):last-child) > a:nth-child(5) { grid-column: 4 / span 2; }
@media (max-width: 991px) { .pg-lcards, .pg-lcards:has(> :nth-child(5):last-child) { grid-template-columns: 1fr 1fr; } .pg-lcards:has(> :nth-child(5):last-child) > a, .pg-lcards:has(> :nth-child(5):last-child) > a:nth-child(4), .pg-lcards:has(> :nth-child(5):last-child) > a:nth-child(5) { grid-column: auto; } }
@media (max-width: 575px) { .pg-lcards, .pg-lcards:has(> :nth-child(4):last-child), .pg-lcards:has(> :nth-child(5):last-child) { grid-template-columns: 1fr; } .ad-explore { padding-bottom: 56px; } }

/* ---------- link cards: every card of a block on ONE row on desktop (falls back to wrapping on narrower screens) ---------- */
@media (min-width: 1200px) {
  html body .ad-explore .container { max-width: 1320px; padding-left: 36px; padding-right: 36px; }
  html body .ad-explore .pg-lcards, html body .ad-explore .pg-lcards:has(> :nth-child(4):last-child), html body .ad-explore .pg-lcards:has(> :nth-child(5):last-child) { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 16px; }
  html body .ad-explore .pg-lcards:has(> :nth-child(4):last-child) { --cols: 4; }
  html body .ad-explore .pg-lcards:has(> :nth-child(5):last-child) { --cols: 5; }
  html body .ad-explore .pg-lcards:has(> :nth-child(5):last-child) > a, html body .ad-explore .pg-lcards:has(> :nth-child(5):last-child) > a:nth-child(4), html body .ad-explore .pg-lcards:has(> :nth-child(5):last-child) > a:nth-child(5) { grid-column: auto; }
  html body .ad-explore .pg-lcards a { padding: 26px 20px 24px; }
  html body .ad-explore .pg-lcards strong { font-size: 18px; line-height: 1.3; }
  html body .ad-explore .pg-lcards p { font-size: 15px; line-height: 1.55; }
}

/* ---------- "Prefer to talk?" card (Enquiry page): light panel, round icons ---------- */
html body .eq-contact { background: linear-gradient(135deg, #eef5ff 0%, #f8fbff 60%, #ffffff 100%); color: #1f2937; border: 1px solid #d3e3fb; box-shadow: 0 22px 46px -30px rgba(13, 71, 161, .4); }
html body .eq-contact h3 { color: #0d47a1; }
html body .eq-contact ul { gap: 12px; }
html body .eq-contact li { align-items: center; padding: 12px 14px; border: 1px solid #dbe6f7; border-radius: 12px; background: #fff; color: #334155; box-shadow: 0 10px 22px -18px rgba(13, 71, 161, .45); }
html body .eq-contact li i { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; margin: 0; border-radius: 50%; background: #e8f0fe; color: #1a73e8; font-size: 15px; }
html body .eq-contact a { color: #0d47a1; font-weight: 500; }
html body .eq-contact a:hover { color: #1a73e8; text-decoration: none; }
