/* =========================================================
   MTCN Kumhari Durg — Site Stylesheet
   Fonts : Playfair Display (headings) + Inter (body)
   Palette: Clinical Blue (trust & care) + Academic Gold accent
   — the blues are drawn from MTCN's own reference site,
   paired with a gold accent for a collegiate, trustworthy feel.
   ========================================================= */

:root{
  --navy:        #115c9b;
  --navy-deep:   #0a3562;
  --navy-soft:   #1f76bd;
  --gold:        #d99a2b;
  --gold-soft:   #f0c775;
  --ink:         #16233a;
  --muted:       #5c6b7a;
  --bg-soft:     #f2f7fc;
  --line:        #dfe9f3;
  --radius:      16px;
  --radius-sm:   12px;
  --shadow:      0 10px 30px -12px rgba(17,92,155,.16);
  --shadow-lg:   0 25px 60px -18px rgba(17,92,155,.26);
  --ff-head:     'Playfair Display', Georgia, serif;
  --ff-body:     'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--ff-body);
  color:var(--ink);
  background:#fff;
  line-height:1.7;
  overflow-x:hidden;
}
@media(min-width:1260px){
  .container{
    max-width:90% !important;
  }
}
/* =========================== Ambient light motion =========================== */
@keyframes floatDrift{
  0%, 100%{ transform:translate(0,0) scale(1); }
  33%{ transform:translate(26px,-20px) scale(1.08); }
  66%{ transform:translate(-18px,16px) scale(.95); }
}
@keyframes floatDriftAlt{
  0%, 100%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(-28px,-24px) scale(1.12); }
}
@media (prefers-reduced-motion: reduce){
  .inspiration-section::before, .inspiration-section::after,
  .why-section::before, .why-section::after,
  .light-orb, .footer-glow, .site-orb{ animation:none !important; }
}

/* =========================== Sitewide ambient background =========================== */
.site-ambient-bg{
  position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none;
}
.site-orb{position:absolute; border-radius:50%; filter:blur(40px);}
.site-orb-1{
  width:420px; height:420px; top:-8%; left:-6%; opacity:.35;
  background:radial-gradient(circle,rgba(217,154,43,.45),transparent 70%);
  animation:floatDrift 26s ease-in-out infinite;
}
.site-orb-2{
  width:360px; height:360px; top:20%; right:-8%; opacity:.3;
  background:radial-gradient(circle,rgba(17,92,155,.4),transparent 70%);
  animation:floatDriftAlt 30s ease-in-out infinite;
}
.site-orb-3{
  width:320px; height:320px; bottom:-6%; left:12%; opacity:.3;
  background:radial-gradient(circle,rgba(31,118,189,.4),transparent 70%);
  animation:floatDrift 34s ease-in-out infinite reverse;
}
.site-orb-4{
  width:280px; height:280px; bottom:8%; right:14%; opacity:.28;
  background:radial-gradient(circle,rgba(240,199,117,.5),transparent 70%);
  animation:floatDriftAlt 24s ease-in-out infinite reverse;
}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-head); color:var(--navy); font-weight:700; margin:0;}
p{color:var(--muted); margin:0 0 1rem;}
a{text-decoration:none; color:inherit; transition:.25s ease;}
img{max-width:100%; display:block;}
ul{margin:0; padding:0;}
.container{max-width:1240px;}

.section{padding:clamp(52px,8vw,96px) 0;}
.bg-soft{
  background:var(--bg-soft); position:relative;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='44'%20height='44'%3E%3Cpath%20d='M20%209h4v9h9v4h-9v9h-4v-9h-9v-4h9z'%20fill='%23115c9b'%20fill-opacity='0.05'/%3E%3C/svg%3E");
}
.bg-soft > .container{position:relative; z-index:1;}
.bg-navy{background:linear-gradient(180deg,var(--navy-deep),var(--navy)); position:relative;}
.bg-navy .section-eyebrow{color:var(--gold-soft);}
.bg-navy p{color:#c2d0de;}

.section-head{max-width:680px; margin:0 auto 48px;}
.section-eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--ff-body); font-weight:700; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:14px;
}
.section-eyebrow::before{content:""; width:26px; height:2px; background:var(--gold); display:inline-block;}
.text-center .section-eyebrow::before{display:none;}
.text-center .section-eyebrow{justify-content:center;}
.section-title{font-size:clamp(1.7rem,1.2rem + 2vw,2.35rem); line-height:1.25;}
.text-white, .text-white p{color:#fff;}

.btn-cta{
  background:linear-gradient(135deg,var(--gold),#a8721c);
  color:#fff !important; border:none; font-weight:600; padding:.75rem 1.7rem;
  border-radius:50px; box-shadow:0 10px 22px -8px rgba(217,154,43,.55);
  transition:.3s ease; display:inline-flex; align-items:center; gap:8px; white-space:nowrap;
}
.btn-cta:hover{transform:translateY(-2px); box-shadow:0 16px 28px -8px rgba(217,154,43,.6); color:#fff;}
.btn-outline-light-cta{
  border:1.5px solid rgba(255,255,255,.65); color:#fff; padding:.72rem 1.6rem;
  border-radius:50px; font-weight:600; display:inline-flex; align-items:center; gap:8px; transition:.3s ease;
}
.btn-outline-light-cta:hover{background:#fff; color:var(--navy);}

/* =========================== Preloader =========================== */
#preloader{
  position:fixed; inset:0; z-index:9999;
  background:radial-gradient(circle at 50% 45%, var(--navy) 0%, var(--navy-deep) 75%);
  display:flex; align-items:center; justify-content:center; transition:opacity .6s ease, visibility .6s ease;
}
#preloader.loaded{opacity:0; visibility:hidden;}

.loader-wrap{display:flex; flex-direction:column; align-items:center; gap:22px;}
.loader-rings{position:relative; width:126px; height:126px;}
.loader-ring{
  position:absolute; inset:0; border-radius:50%; border:3px solid transparent;
  border-top-color:var(--gold); border-right-color:var(--gold-soft);
  animation:spin 1.5s linear infinite;
}
.loader-ring-2{
  inset:16px; border-top-color:rgba(255,255,255,.55); border-left-color:rgba(255,255,255,.25);
  border-right-color:transparent; border-bottom-color:transparent;
  animation:spin 2.1s linear infinite reverse;
}
.loader-logo-badge{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:110px; height:110px; border-radius:50%; background:#fff; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 6px rgba(255,255,255,.06), 0 10px 30px rgba(0,0,0,.4);
  animation:loaderPulse 2.4s ease-in-out infinite;
}
.loader-logo-badge img{width:100%; height:100%; object-fit:contain; padding:5px;}
.loader-text-badge{font-family:var(--ff-head); font-weight:800; font-size:1.05rem; letter-spacing:.04em; color:var(--navy);}
.loader-text{
  font-family:var(--ff-head); color:#fff; letter-spacing:.32em; text-transform:uppercase;
  font-size:.76rem; font-weight:600; opacity:.85; padding-left:.32em;
}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes loaderPulse{
  0%,100%{ transform:translate(-50%,-50%) scale(1); box-shadow:0 0 0 6px rgba(255,255,255,.06), 0 10px 30px rgba(0,0,0,.4); }
  50%{ transform:translate(-50%,-50%) scale(1.06); box-shadow:0 0 0 10px rgba(217,154,43,.16), 0 12px 34px rgba(0,0,0,.45); }
}
@media (prefers-reduced-motion: reduce){
  .loader-ring, .loader-ring-2, .loader-logo-badge{ animation:none !important; }
}

/* =========================== Top Bar =========================== */
.top-bar{
  background:var(--navy-deep); color:#fff; font-size:.85rem; padding:8px 0;
}
.header-contact li, .header-social li{display:inline-flex; align-items:center;}
.header-contact li{margin-right:22px;}
.header-contact i{color:var(--gold); margin-right:7px;}
.header-contact a{color:#c7d4e0;}
.header-contact a:hover{color:var(--gold-soft);}
.header-social li{margin-left:10px;}
.header-social a{
  width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center; font-size:.78rem; color:#c7d4e0;
}
.header-social a:hover{background:var(--gold); color:#fff;}

/* =========================== UIkit lightbox (gallery) =========================== */
/* UIkit's default z-index (1010) sits below our sticky navbar (1030) — raise it so the
   lightbox overlay covers the header instead of the navbar bleeding through on top. */
.uk-lightbox{z-index:1050;}

/* =========================== Navbar =========================== */
.site-navbar{
  background:#fff; box-shadow:0 2px 18px rgba(17,92,155,.06); z-index:1030; transition:.25s ease;
}
.site-navbar.scrolled{box-shadow:0 8px 26px rgba(17,92,155,.14);}
.navbar-brand{display:flex; align-items:center; gap:12px; padding:1px 0;}
nav .brand-mark{
  width:85px; height:85px; border-radius:12px; overflow:hidden; flex-shrink:0;
  /* box-shadow:0 6px 16px -4px rgba(17,92,155,.4); */
}
.brand-mark img{width:100%; height:100%; object-fit:cover; display:block;}
.brand-text{display:flex; flex-direction:column; line-height:1.1;}
.brand-title{font-family:var(--ff-head); font-weight:800; font-size:1.35rem; color:var(--navy); letter-spacing:.02em;}
.brand-sub{font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-weight:600;}

.navbar-nav{align-items:center; gap:2px;}
.nav-link{
  font-weight:600; font-size:.92rem; color:var(--ink) !important; padding:10px 14px !important;
  border-radius:8px; position:relative;
}
.nav-link:hover, .nav-link.active{color:var(--navy) !important;}
.nav-link.active{color:var(--gold) !important;}
.dropdown-menu{
  border:none; border-radius:var(--radius-sm); box-shadow:var(--shadow-lg); padding:10px; margin-top:8px;
}
.dropdown-item{border-radius:8px; padding:9px 14px; font-weight:500; font-size:.9rem;}
.dropdown-item:hover, .dropdown-item:focus{background:var(--bg-soft); color:var(--navy);}
.dropdown-header{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); font-weight:700;}

@media (min-width: 992px){
  .nav-item.dropdown:hover > .dropdown-menu{display:block; margin-top:0; animation:fadeDown .25s ease;}
  .dropdown-toggle::after{vertical-align:1px;}
}
@keyframes fadeDown{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}

.btn-cta{margin-left:4px;}

/* =========================== Hero Slider =========================== */
.hero-wrap{position:relative;}
.hero-slider{position:relative;}
/* Hero slides are pre-made banners with promotional text baked into the image
   itself (2000x1000 = 2:1). Sizing the box to that same aspect ratio — rather
   than a tall vh-based height — means the full banner always shows; a fixed
   vh height on narrow/tall phone screens forced object-fit:cover to crop most
   of the width away, cutting off the baked-in headline text. */
.hero-slide{aspect-ratio:2/1; overflow:hidden;}
.hero-slide img{width:100%; height:100%; object-fit:cover;}
.ambient-lights{position:absolute; inset:0; overflow:hidden; z-index:2; pointer-events:none;}
.light-orb{position:absolute; border-radius:50%; filter:blur(6px);}
.light-orb-1{
  width:280px; height:280px; top:6%; left:6%; opacity:.5;
  background:radial-gradient(circle,rgba(240,199,117,.55),transparent 70%);
  animation:floatDrift 16s ease-in-out infinite;
}
.light-orb-2{
  width:220px; height:220px; bottom:10%; right:8%; opacity:.45;
  background:radial-gradient(circle,rgba(31,118,189,.55),transparent 70%);
  animation:floatDriftAlt 20s ease-in-out infinite;
}
.light-orb-3{
  width:160px; height:160px; top:38%; right:22%; opacity:.35;
  background:radial-gradient(circle,rgba(217,154,43,.5),transparent 70%);
  animation:floatDrift 24s ease-in-out infinite reverse;
}
.hero-overlay-panel{
  position:absolute; left:0; right:0; bottom:0; z-index:3; padding:0 24px 56px;
  max-width:900px; margin:0 auto; color:#fff; text-align:center;
}
.hero-eyebrow{
  display:inline-block; background:rgba(255,255,255,.12); backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.25); padding:6px 16px; border-radius:50px;
  font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:20px; font-weight:600;
}
.hero-overlay-panel h1{color:#fff; font-size:clamp(1.9rem,1.1rem + 3.2vw,3rem); line-height:1.2; margin-bottom:26px;}
.hero-btns{display:flex; gap:16px; flex-wrap:wrap; justify-content:center;}

.hero-slider .slick-dots{bottom:26px; z-index:4;}
.hero-slider .slick-dots li button:before{color:#fff; opacity:.5; font-size:10px;}
.hero-slider .slick-dots li.slick-active button:before{opacity:1; color:var(--gold);}
.hero-slider .slick-arrow{
  z-index:4; width:46px; height:46px; background:rgba(255,255,255,.15); border-radius:50%;
  backdrop-filter:blur(4px);
}
.hero-slider .slick-arrow:before{font-family:'Font Awesome 6 Free'; font-weight:900; opacity:1;}
.hero-slider .slick-prev{left:28px;}
.hero-slider .slick-next{right:28px;}
.hero-slider .slick-prev:before{content:"\f104";}
.hero-slider .slick-next:before{content:"\f105";}

/* =========================== Quick facts strip =========================== */
.quick-facts{
  position:relative; margin-top:-64px; z-index:5; padding:0 16px;
}
.quick-facts .facts-inner{
  background:#fff; border-radius:var(--radius); box-shadow:var(--shadow-lg);
  padding:28px 12px; display:grid; grid-template-columns:repeat(4,1fr); gap:10px;
  position:relative; overflow:hidden;
}
.quick-facts .facts-inner::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--navy),var(--gold),var(--navy));
}
.fact-item{display:flex; align-items:center; gap:14px; padding:8px 14px; border-right:1px solid var(--line); justify-content:center;}
.fact-item:last-child{border-right:none;}
.fact-icon{
  width:48px; height:48px; border-radius:12px; background:var(--bg-soft); color:var(--navy);
  display:flex; align-items:center; justify-content:center; font-size:1.15rem; flex-shrink:0;
  transition:.3s ease;
}
.fact-item:hover .fact-icon{background:var(--navy); color:#fff; transform:scale(1.06);}
.fact-text strong{display:block; font-family:var(--ff-head); font-size:1rem; color:var(--navy); line-height:1.2;}
.fact-text span{font-size:.76rem; color:var(--muted); text-transform:uppercase; letter-spacing:.04em;}

/* =========================== Our Inspiration =========================== */
.inspiration-section{position:relative; overflow:hidden;}
.inspiration-section::before{
  content:""; position:absolute; top:-120px; right:-120px; width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle,rgba(217,154,43,.10),transparent 70%); pointer-events:none;
  animation:floatDrift 15s ease-in-out infinite;
}
.inspiration-section::after{
  content:""; position:absolute; bottom:-100px; left:-90px; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle,rgba(31,118,189,.12),transparent 70%); pointer-events:none;
  animation:floatDriftAlt 19s ease-in-out infinite;
}
.inspiration-slider{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-lg); position:relative;}
.insp-slide img{width:100%; height:460px; object-fit:cover;}
.inspiration-slider .slick-dots{position:absolute; bottom:16px; left:0; right:0; margin:0; z-index:2;}
.inspiration-slider .slick-dots li button:before{color:#fff; opacity:.6; font-size:9px;}
.inspiration-slider .slick-dots li.slick-active button:before{opacity:1; color:var(--gold);}
.inspiration-section .section-head{margin-bottom:44px;}
.inspiration-section p{font-size:1rem;}
.insp-caption{
  position:absolute; left:0; right:0; bottom:0; padding:34px 22px 20px;
  background:linear-gradient(0deg,rgba(10,53,98,.85),transparent); color:#fff; z-index:2;
}
.insp-caption span{font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-soft); font-weight:600;}

/* =========================== About / Scholarship & Smart Labs =========================== */
.reasons-section .section-head{margin-bottom:44px;}
.reasons-col{
  position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  min-height:420px; display:flex; align-items:flex-end; cursor:pointer;
}
.reasons-col img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease;
}
.reasons-col:hover img, .reasons-col:focus-within img, .reasons-col.active img{transform:scale(1.08);}
.reasons-col::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(0deg,rgba(10,53,98,.95) 0%,rgba(10,53,98,.55) 45%,rgba(10,53,98,.15) 100%);
  transition:.4s ease;
}
.reasons-col:hover::before, .reasons-col:focus-within::before, .reasons-col.active::before{background:linear-gradient(0deg,rgba(10,53,98,.96) 0%,rgba(10,53,98,.75) 60%,rgba(10,53,98,.25) 100%);}
.reasons-overlay{position:relative; z-index:2; width:100%; padding:32px 28px; color:#fff;}
.reasons-titles h3{color:#fff; font-size:1.5rem; margin-bottom:4px;}
.reasons-titles h5{color:var(--gold-soft); font-family:var(--ff-body); font-weight:600; font-size:.9rem; margin-bottom:6px;}
.reasons-hint{
  display:flex; align-items:center; gap:8px; font-size:.78rem; color:#c9dbe8; opacity:.85;
  transition:opacity .3s ease, max-height .3s ease; max-height:24px; margin-top:6px;
}
.reasons-hint i{color:var(--gold);}
.reasons-body{
  max-height:0; opacity:0; overflow:hidden; transition:max-height .45s ease, opacity .4s ease .05s, margin-top .45s ease;
}
.reasons-col:hover .reasons-body, .reasons-col:focus-within .reasons-body, .reasons-col.active .reasons-body{max-height:260px; opacity:1; margin-top:14px;}
.reasons-col:hover .reasons-hint, .reasons-col:focus-within .reasons-hint, .reasons-col.active .reasons-hint{opacity:0; max-height:0;}
.reasons-body p{color:#dbe6f0; font-size:.92rem; margin-bottom:10px;}
.reasons-body p:last-child{margin-bottom:0;}

/* =========================== Value Cards (Mission/Vision/Philosophy/Programs) =========================== */
.why-section{position:relative; overflow:hidden;}
.why-section::before{
  content:""; position:absolute; bottom:-140px; left:-100px; width:320px; height:320px; border-radius:50%;
  background:radial-gradient(circle,rgba(217,154,43,.10),transparent 70%); pointer-events:none;
  animation:floatDrift 17s ease-in-out infinite;
}
.why-section::after{
  content:""; position:absolute; top:-110px; right:-90px; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle,rgba(31,118,189,.16),transparent 70%); pointer-events:none;
  animation:floatDriftAlt 21s ease-in-out infinite;
}
.value-card{
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-left:3px solid var(--gold);
  border-radius:var(--radius); padding:30px 28px; height:100%; transition:.3s ease;
  display:flex; align-items:flex-start; gap:20px;
}
.value-card:hover{background:rgba(255,255,255,.08); transform:translateY(-6px); box-shadow:var(--shadow-lg);}
.value-icon{
  width:60px; height:60px; border-radius:14px; background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center; padding:11px; flex-shrink:0;
}
.value-icon img{width:100%; height:100%; object-fit:contain;}
.value-text h4{color:#fff; font-size:1.15rem; margin-bottom:10px;}
.value-text p{color:#c2d0de; font-size:.92rem; margin-bottom:0;}

/* =========================== Courses =========================== */
.course-card{
  background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  height:100%; transition:.35s ease; border:1px solid var(--line); position:relative;
}
.course-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-lg);}
.course-media{height:246px; overflow:hidden; position:relative;}
.course-media img{width:100%; height:100%; object-fit:cover; transition:.5s ease;}
.course-card:hover .course-media img{transform:scale(1.08);}
.course-badge{
  position:absolute; top:14px; left:14px; background:rgba(10,53,98,.85); backdrop-filter:blur(3px);
  color:#fff; font-size:.68rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  padding:5px 12px; border-radius:50px; z-index:2;
}
.course-body{padding:26px 24px;}
.course-body h4{font-size:1.2rem; margin-bottom:10px;}
.course-body p{font-size:.9rem; min-height:96px;}
.course-link{font-weight:700; font-size:.85rem; color:var(--navy); display:inline-flex; align-items:center; gap:8px;}
.course-link i{font-size:.75rem; transition:.25s ease;}
.course-link:hover{color:var(--gold);}
.course-link:hover i{transform:translateX(4px);}

/* =========================== Facilities =========================== */
.facility-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  text-align:center; height:100%; transition:.3s ease; position:relative;
}
.facility-card:hover{border-color:var(--gold); box-shadow:var(--shadow-lg); transform:translateY(-6px);}
.facility-media{height:170px; position:relative;}
.facility-media img{width:100%; height:100%; object-fit:cover; transition:.5s ease;}
.facility-card:hover .facility-media img{transform:scale(1.08);}
.facility-media .facility-badge{
  position:absolute; bottom:-20px; left:50%; transform:translateX(-50%);
  width:44px; height:44px; border-radius:50%; background:var(--gold); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1rem; box-shadow:var(--shadow);
  border:3px solid #fff; z-index:2;
}
.facility-card h5{font-size:1.02rem; margin:0; padding:2px 16px 20px;}

/* Generic icon-circle utility (used on inner pages: contact cards, doc links) */
.icon-circle{
  width:70px; height:70px; margin:0 auto 18px; border-radius:50%; background:var(--bg-soft);
  display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:var(--navy);
  transition:.3s ease;
}
.facility-card:hover .icon-circle{background:var(--gold); color:#fff;}

/* =========================== News & Events =========================== */
.news-section{position:relative;}
.news-badge-row{display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:18px;}
.news-badge-row img{height:34px; width:auto; border-radius:4px; box-shadow:var(--shadow); opacity:.92;}
.news-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  height:100%; box-shadow:var(--shadow); transition:.3s ease; overflow:hidden; display:flex; flex-direction:column;
}
.news-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--gold);}
.news-card-accent{height:5px; width:100%; background:linear-gradient(90deg,var(--gold),var(--navy-soft));}
.news-card-body{padding:26px 24px 22px; display:flex; flex-direction:column; flex:1;}
.news-card-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
.news-card-icon{
  width:46px; height:46px; border-radius:12px; background:var(--bg-soft); color:var(--gold);
  display:flex; align-items:center; justify-content:center; font-size:1.05rem; flex-shrink:0;
}
.news-tag{
  font-size:.68rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  background:var(--bg-soft); color:var(--navy); padding:5px 12px; border-radius:50px;
}
.news-card h5{font-size:1.05rem; margin-bottom:10px;}
.news-excerpt{font-size:.87rem; margin-bottom:0; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;}
.news-card.expanded .news-excerpt{-webkit-line-clamp:unset; overflow:visible;}
.news-readmore{
  margin-top:14px; padding-top:14px; border-top:1px solid var(--line); font-weight:700; font-size:.8rem;
  color:var(--navy); display:inline-flex; align-items:center; gap:6px; background:none; border-left:none; border-right:none; border-bottom:none;
  cursor:pointer; width:100%; justify-content:flex-start;
}
.news-readmore i{transition:.25s ease; font-size:.7rem;}
.news-readmore:hover{color:var(--gold);}
.news-card.expanded .news-readmore i{transform:rotate(180deg);}

/* =========================== Footer =========================== */
.site-footer{background:var(--navy-deep); color:#a9bdd1; padding:80px 0 0; position:relative; overflow:hidden;}
.site-footer::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; z-index:2; background:linear-gradient(90deg,var(--gold),var(--navy-soft),var(--gold));}
.footer-glow-wrap{position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none;}
.footer-glow{position:absolute; border-radius:50%; filter:blur(8px);}
.footer-glow-1{
  width:260px; height:260px; top:-70px; left:8%; opacity:.30;
  background:radial-gradient(circle,rgba(217,154,43,.5),transparent 70%);
  animation:floatDrift 18s ease-in-out infinite;
}
.footer-glow-2{
  width:220px; height:220px; bottom:-60px; right:10%; opacity:.28;
  background:radial-gradient(circle,rgba(31,118,189,.6),transparent 70%);
  animation:floatDriftAlt 22s ease-in-out infinite;
}
.site-footer .container, .site-footer .footer-bottom{position:relative; z-index:1;}
.footer-brand{display:flex; align-items:center; gap:14px; margin-bottom:6px;}
.footer-brand .brand-mark{width:72px; height:72px; border-radius:50%; overflow:hidden; flex-shrink:0;}
.footer-brand .brand-title{color:#fff;}
.footer-brand .brand-sub{color:#7f9cba;}
.footer-heading{color:#fff; font-family:var(--ff-body); font-weight:700; font-size:.95rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:20px;}
.footer-about{font-size:.88rem; color:#a9bdd1;}
.footer-links li{margin-bottom:12px;}
.footer-links a{color:#a9bdd1; font-size:.9rem; display:inline-block; transition:.25s ease;}
.footer-links a:hover{color:var(--gold-soft); padding-left:4px;}
.footer-contact li{display:flex; align-items:flex-start; gap:10px; margin-bottom:16px; font-size:.9rem;}
.footer-contact i{color:var(--gold); margin-top:4px;}
.footer-contact a{color:#a9bdd1;}
.footer-contact a:hover{color:var(--gold-soft);}
.footer-social{margin-top:22px;}
.footer-social li{display:inline-block; margin-right:10px;}
.footer-social a{
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.06);
  display:flex; align-items:center; justify-content:center; color:#c7d4e0;
}
.footer-social a:hover{background:var(--gold); color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08); margin-top:56px; padding:22px 0; font-size:.85rem;}
.footer-legal li{display:inline-block; margin-left:20px;}
.footer-legal a{color:#a9bdd1;}
.footer-legal a:hover{color:var(--gold-soft);}

/* =========================== Back to top =========================== */
.back-to-top{
  position:fixed; right:26px; bottom:26px; width:46px; height:46px; border-radius:50%;
  background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-lg); opacity:0; visibility:hidden; transform:translateY(10px);
  transition:.3s ease; z-index:999;
}
.back-to-top.show{opacity:1; visibility:visible; transform:translateY(0);}
.back-to-top:hover{background:var(--gold); color:#fff;}

/* =========================== Inner-page content blocks =========================== */
.content-block{padding:70px 0;}
.content-block h2.block-title{
  font-size:1.7rem; margin-bottom:20px; padding-bottom:14px; border-bottom:2px solid var(--line); position:relative;
  display:flex; align-items:center; gap:14px;
}
.content-block h2.block-title::after{
  content:""; position:absolute; left:0; bottom:-2px; width:64px; height:2px; background:var(--gold);
}
.heading-icon{
  width:44px; height:44px; border-radius:12px; background:var(--bg-soft); color:var(--navy);
  display:flex; align-items:center; justify-content:center; font-size:1.05rem; flex-shrink:0;
}
/* .content-block h4{font-size:1.15rem; color:var(--navy); margin:26px 0 12px;} */
.lead-img{border-radius:var(--radius); box-shadow:var(--shadow); width:100%; object-fit:cover;}
.content-block ul.plain-list{list-style:none; margin-bottom:0;}
.content-block ul.plain-list li{
  position:relative; padding-left:28px; margin-bottom:10px; color:var(--muted); font-size:.95rem;
}
.content-block ul.plain-list li::before{
  content:"\f00c"; font-family:'Font Awesome 6 Free'; font-weight:900; color:var(--gold);
  position:absolute; left:0; top:2px; font-size:.8rem;
}

.table-wrap{overflow-x:auto; border-radius:var(--radius); box-shadow:var(--shadow); margin-bottom:8px; -webkit-overflow-scrolling:touch;}
table.table-premium{width:100%; border-collapse:collapse; background:#fff; font-size:.88rem; min-width:640px;}
table.table-premium thead th{
  background:var(--navy); color:#fff; font-weight:600; padding:14px 16px; text-align:left; white-space:nowrap;
}
table.table-premium tbody td{padding:13px 16px; border-bottom:1px solid var(--line); color:var(--ink); vertical-align:top;}
table.table-premium tbody tr:last-child td{border-bottom:none;}
table.table-premium tbody tr:nth-child(even){background:var(--bg-soft);}
.faculty-grid .faculty-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); text-align:center;
  padding:28px 18px; height:100%; transition:.3s ease;
}
.faculty-grid .faculty-card:hover{box-shadow:var(--shadow-lg); transform:translateY(-6px); border-color:var(--gold);}
.faculty-photo-wrap{
  width:100px; height:100px; border-radius:50%; overflow:hidden; margin:0 auto 16px;
  border:3px solid var(--bg-soft); box-shadow:var(--shadow);
}
.faculty-photo-wrap img{width:100%; height:100%; object-fit:cover;}
.faculty-card h5{font-size:1rem; margin-bottom:4px;}
.faculty-card .faculty-role{color:var(--gold); font-weight:600; font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom:4px; display:block;}
.faculty-card .faculty-spec{color:var(--muted); font-size:.85rem;}

.info-strip{background:var(--bg-soft); border-radius:var(--radius); padding:24px 28px; margin-bottom:30px;}
.gallery-row img{border-radius:var(--radius-sm); box-shadow:var(--shadow); width:100%; height:374px;
  /* object-fit:cover; */
}

/* =========================== Photo Gallery Grid =========================== */
.photo-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media(max-width:991px){.photo-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:575px){.photo-grid{grid-template-columns:repeat(2,1fr);}}
.photo-grid-item{
  display:block; border-radius:var(--radius-sm); overflow:hidden; box-shadow:var(--shadow);
  aspect-ratio:4/3; position:relative;
}
.photo-grid-item img{width:100%; height:100%; object-fit:cover; transition:.4s ease;}
.photo-grid-item:hover img{transform:scale(1.08);}
.photo-grid-item::after{
  content:"\f00e"; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.2rem;
  background:rgba(17,92,155,0); opacity:0; transition:.3s ease;
}
.photo-grid-item:hover::after{background:rgba(17,92,155,.45); opacity:1;}

/* =========================== Contact / Enquiry Forms =========================== */
.contact-form .form-control{
  border:1px solid var(--line); border-radius:var(--radius-sm); padding:.85rem 1.1rem;
  font-size:.94rem; background:#fff;
}
.contact-form .form-control:focus{
  border-color:var(--gold); box-shadow:0 0 0 3px rgba(217,154,43,.18); outline:none;
}
.contact-form textarea.form-control{resize:vertical;}
.map-wrap{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); height:100%;}
.map-wrap iframe{display:block; min-height:330px;}
.map-wrap-route{
  height:330px; display:flex; align-items:center; justify-content:center;
  background:#fdf6e3; padding:16px;
}
.map-wrap-route img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain;}

.contact-info-list{list-style:none;}
.contact-info-list li{display:flex; align-items:flex-start; gap:18px; margin-bottom:26px;}
.contact-info-list li:last-child{margin-bottom:0;}
.contact-info-list .icon-circle{margin:0; flex-shrink:0;}
.contact-info-list strong{display:block; color:var(--navy); font-family:var(--ff-head); font-size:1.05rem; margin-bottom:4px;}
.contact-info-list span{color:var(--muted); font-size:.92rem;}
.contact-info-list span a{color:var(--muted);}
.contact-info-list span a:hover{color:var(--gold);}

.contact-form label.field-label{
  display:block; font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--navy); margin-bottom:8px;
}
.radio-group{display:flex; flex-wrap:wrap; gap:10px;}
.radio-chip{
  display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:50px;
  padding:.55rem 1.1rem; font-size:.88rem; color:var(--ink); cursor:pointer; transition:.25s ease; background:#fff;
}
.radio-chip input{accent-color:var(--gold); margin:0;}
.radio-chip:hover{border-color:var(--gold);}
.radio-chip:has(input:checked){border-color:var(--gold); background:rgba(217,154,43,.08); font-weight:600;}

/* =========================== Inner page banner (stub pages) =========================== */
.page-banner{
  background:linear-gradient(115deg,rgba(10,53,98,.88),rgba(10,53,98,.72)),url('../images/gallery/51.jpg');
  background-size:cover; background-position:center; padding:120px 0 70px; color:#fff;
}
.page-banner h1{color:#fff; font-size:clamp(1.7rem,1.2rem + 2vw,2.4rem); margin-bottom:12px;}
.breadcrumb-nav a{color:var(--gold-soft); font-weight:600;}
.breadcrumb-nav span{color:#c2d0de; margin:0 8px;}
.page-placeholder{padding:90px 0; text-align:center;}
.page-placeholder i{font-size:2.6rem; color:var(--gold); margin-bottom:22px;}
.page-placeholder h3{margin-bottom:14px;}
.page-placeholder p{max-width:520px; margin:0 auto 28px;}

/* =========================== Responsive =========================== */
@media (max-width: 1199.98px){
  .quick-facts .facts-inner{grid-template-columns:repeat(2,1fr); row-gap:20px;}
  .fact-item:nth-child(2n){border-right:none;}
  .fact-item:nth-child(1), .fact-item:nth-child(2){border-bottom:1px solid var(--line); padding-bottom:16px;}
}
@media (max-width: 991px){
  .navbar-collapse{padding:18px 0; max-height:80vh; overflow-y:auto;}
  .nav-link{padding:12px 6px !important;}
  .dropdown-menu{box-shadow:none; background:var(--bg-soft); padding:6px 6px 6px 16px;}
  .btn-cta{margin:10px 0 0;}
  .section{padding:56px 0;}
  .quick-facts{margin-top:-40px;}
  .quick-facts .facts-inner{padding:22px 10px;}
  .fact-text strong{font-size:.92rem;}
  /* wide g-4/g-5 row gutters exceed the container's own padding below desktop,
     causing horizontal overflow — clamp them back to the container gutter */
  .row.g-4, .row.g-5{--bs-gutter-x:1.5rem;}
}
@media (max-width: 767.98px){
  .hero-overlay-panel{padding-bottom:40px;}
  .hero-slider .slick-arrow{display:none !important;}
  .value-card{flex-direction:column; text-align:left;}
  .reasons-col{min-height:340px;}
  .insp-slide img{height:320px;}
  .quick-facts .facts-inner{grid-template-columns:repeat(2,1fr);}
  .course-body p{min-height:auto;}
}
@media (max-width: 575px){
  .header-contact li{margin-right:14px; font-size:.78rem;}
  .header-contact li:last-child{margin-right:0;}
  .hero-btns{flex-direction:column; width:100%;}
  .hero-btns .btn-cta, .hero-btns .btn-outline-light-cta{width:100%; justify-content:center;}
  .quick-facts{margin-top:-30px; padding:0 12px;}
  .quick-facts .facts-inner{grid-template-columns:1fr; gap:14px; padding:20px 16px;}
  .fact-item{border-right:none !important; border-bottom:1px solid var(--line); padding-bottom:14px; justify-content:flex-start;}
  .fact-item:last-child{border-bottom:none; padding-bottom:0;}
  .section-title{font-size:1.5rem;}
  .footer-legal li{margin-left:0; margin-right:16px;}
  .site-orb{filter:blur(28px);}
  .site-orb-1, .site-orb-2{width:240px; height:240px;}
  .site-orb-3, .site-orb-4{width:200px; height:200px;}
}
