/* ====== Vars ====== */
:root{
  --brand-darkblue:#123249; /* C100 M80 Y48 K40 */
  --brand-blue:#20537A;     /* C95 M65 Y30 K15 */
  --brand-yellow:#F2AC33;   /* M35 Y85 */
  --brand-green:#82B822;    /* C50 Y100 */

  --ink:#0b1020;
  --muted:#7b879c;
  --soft:#f5f7fb;
  --radius:24px;
  --shadow:0 24px 60px rgba(2,6,23,.16);
  --max:1200px;

  /* Header heights */
  --topbar-h: 40px;
  --nav-h: 64px;
}

/* ====== Base ====== */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, sans-serif;
  color:var(--ink);
  background:#fff; /* header overlays hero, so body stays clean */
}
h1,h2,h3{font-family:Poppins, sans-serif}
.container{width:min(var(--max),92vw); margin-inline:auto}

/* ====== Topbar (fixed + transparent) ====== */
.topbar{
  position:fixed;
  top:0; left:0; width:100%;
  height:var(--topbar-h);
  z-index:1000;
  background:transparent;
  color:#fff;
  font-size:14px;
  pointer-events:auto;
}
.topbar .container{display:flex; justify-content:space-between; padding:8px 0}
.topbar .left{display:flex; gap:18px}
.topbar .social{display:flex; gap:12px}
.topbar .social a{color:#fff; text-decoration:none}

/* Topbar link hovers */
.topbar .left a,
.topbar .social a{
  color:#fff; text-decoration:none;
  transition: color .25s ease, text-decoration-color .25s ease;
  cursor:pointer;
}
.topbar .left a:hover{ color:var(--brand-yellow) }
.topbar .social a:hover{ color:var(--brand-green) }

/* ====== Navbar (fixed under topbar, transparent at top) ====== */
.nav{
  position:fixed;
  top:var(--topbar-h);
  left:0; width:100%;
  z-index:1002;
  background:transparent;
  transition: top .25s, background .25s, box-shadow .25s, border-color .25s;
  border-bottom:none;
}
.nav-inner{display:flex; justify-content:space-between; align-items:center; padding:16px 0}
.brand{display:flex; align-items:center; gap:.6rem; text-decoration:none}

/* Logo (swap) */
.logo{ height:28px; display:block }
.logo-light{display:block}
.logo-dark{display:none}
@media (max-width:960px){ .logo{ height:26px } }

/* Links (light at top) */
.links{display:flex; gap:26px}
.links a{
  color:#fff;
  font-weight:600;
  position:relative;
  text-decoration:none;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
  transition:color .2s, opacity .2s;
}
.links a::after{
  content:""; position:absolute; left:0; bottom:-6px;
  width:0%; height:2px; background:var(--brand-green);
  transition:width .25s;
}
.links a:hover{opacity:.9}
.links a:hover::after{ width:100% }

/* Mobile menu button */
.burger{display:none; background:none; border:0; cursor:pointer; padding:6px}
.burger span{display:block; width:22px; height:3px; background:#fff; margin:6px 0; transition:background .2s}
@media (max-width:960px){ .links{display:none} .burger{display:block} }

/* Mobile dropdown */
.mobile{display:none; background:var(--brand-darkblue); padding:12px; border-radius:14px; margin:0 4vw 12px}
.mobile a{display:block; color:#fff; padding:12px; text-decoration:none}
.mobile.open{display:block}

/* ====== Scrolled navbar ====== */
.nav.scrolled{
  top:0;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(2,6,23,.10);
  border-bottom:1px solid #eef2f6;
}
.nav.scrolled .links a{ color:var(--brand-darkblue); text-shadow:none }
.nav.scrolled .links a::after{ background:var(--brand-green) }
.nav.scrolled .burger span{ background:var(--brand-darkblue) }
.nav.scrolled .logo-light{display:none}
.nav.scrolled .logo-dark{display:block}

/* ====== Hero ====== */
.hero{
  position:relative; display:grid; place-items:center;
  min-height:86vh; color:#fff;
  background:
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.35)),
    url('assets/hero.jpg');
  background-size:cover; background-position:center;
}
.hero-content{text-align:center; padding:72px 0 150px}
.hero h1{font-size:clamp(36px,5vw,60px); margin:0 0 14px; text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero p{font-size:18px; margin:0 0 22px}
.btn{
  padding:14px 32px; border-radius:999px;
  background:linear-gradient(180deg, var(--brand-green), var(--brand-yellow));
  color:#fff; font-weight:800; letter-spacing:.02em;
  box-shadow:0 14px 32px rgba(18,50,73,.25);
  text-decoration:none; display:inline-block;
}
.btn:hover{ filter:brightness(.95) }

/* ====== Features ====== */
.features{
  position:absolute; left:50%; bottom:-56px; transform:translateX(-50%);
  display:grid; grid-template-columns:repeat(3,1fr);
  width:min(1050px,92vw); background:#fff; border-radius:26px; box-shadow:var(--shadow)
}
.feat{display:flex; align-items:center; gap:16px; padding:22px 26px}
.feat + .feat{border-left:1px solid #eee}
.ico{width:56px; height:56px; border-radius:16px; display:grid; place-items:center; background:#ecfeff; font-size:24px}
.feat h3{margin:0 0 8px; font-size:18px; color:var(--brand-darkblue)}
.feat a{font-weight:700; color:var(--brand-blue); text-decoration:none}
@media(max-width:820px){
  .features{grid-template-columns:1fr; bottom:-150px}
  .feat + .feat{border-left:none; border-top:1px solid #eee}
}

/* ====== Sections ====== */
.about{padding:160px 0 80px}
.about-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:32px}
.about-text ul{margin:12px 0 22px}
.about-text ul li{margin:8px 0}
.about-img{ border-radius:18px; overflow:hidden; box-shadow:0 10px 30px rgba(2,6,23,.08) }
.about-img img{ display:block; width:100%; height:auto; object-fit:cover }
@media (max-width:900px){ .about-grid{grid-template-columns:1fr} }

/* ====== Stats Section ====== */
.stats{
  position:relative;
  background:#f8fcfd;
  padding:80px 0;
  overflow:hidden;
}
.stats::before{
  content:"";
  position:absolute; inset:0;
  background:url('assets/world-map.svg') center no-repeat;
  background-size: min(1200px, 92vw) auto;
  opacity:.12;
  pointer-events:none;
}
.stats-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:24px; text-align:center; position:relative; z-index:1;
}
.stat{
  background:#fff; padding:30px 20px; border-radius:20px;
  box-shadow:0 8px 30px rgba(0,0,0,.06);
  transform:translateY(40px); opacity:0; transition:all .6s ease;
}
.stat.visible{ transform:translateY(0); opacity:1 }
.stat h3{ font-size:2rem; font-weight:700; margin:0 0 8px; color:var(--brand-darkblue) }
.stat p{ margin:0; font-size:15px; color:var(--ink) }
@media (max-width:900px){ .stats-grid{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:560px){ .stats-grid{ grid-template-columns:1fr } }

/* ====== How to Apply (Steps) ====== */
.apply-steps{ background:#fff; padding:80px 0; position:relative }
.apply-head{ text-align:center; margin-bottom:36px }
.apply-head h2{ margin:0 0 8px }
.apply-head .lead{ margin:0; color:var(--muted) }

.steps{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:22px; counter-reset:step; position:relative;
}
/* hide connector + badges per your latest instruction */
.steps::before{ display:none }
.step-badge{ display:none }

.step{
  position:relative; z-index:1;
  transform:translateY(24px); opacity:0; transition:all .6s ease;
}
.step.in-view{ transform:translateY(0); opacity:1 }

.step-card{
  background:#fff; border-radius:18px; box-shadow:0 10px 30px rgba(2,6,23,.08);
  padding:18px 16px; border:1px solid #eef2f6;
}
.step-card h3{ margin:10px 0 8px; color:var(--brand-darkblue); font-size:18px }
.step-card p{ margin:0; color:#334155; font-size:15px; line-height:1.6 }

.step-icon{
  width:44px; height:44px; border-radius:12px;
  display:grid; place-items:center;
  background:rgba(32,83,122,.08);
  color:var(--brand-blue);
}
.apply-cta{ display:flex; justify-content:center; margin-top:28px }
.btn.ghost{ background:transparent; color:var(--brand-darkblue); border:2px solid rgba(18,50,73,.16); box-shadow:none }
.btn.ghost:hover{ border-color:rgba(18,50,73,.32) }
@media (max-width:900px){ .steps{ grid-template-columns:1fr; gap:16px } }

/* ====== Partners (logo marquee) – Single, polished version ====== */
.partners{ background:#f7fafb; padding:72px 0 }
.partners .eyebrow{
  text-align:center; color:var(--muted); margin:0 0 6px;
  font-size:14px; letter-spacing:.06em; text-transform:uppercase;
}
.partners h2{ text-align:center; margin:0 0 24px; color:var(--brand-blue) }

/* Marquee shell with edge-fade */
.logo-marquee{
  position:relative; overflow:hidden; padding:14px 24px;
  mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}

/* Track that scrolls */
.logo-track{
  display:flex; align-items:center; gap:48px;
  will-change: transform;
  animation: marquee 45s linear infinite;
}
.logo-marquee:hover .logo-track{ animation-play-state: paused }

/* Each logo within safe padding for hover scale */
.logo-item{
  flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  padding:10px 12px;
}

/* Logos: full color; springy hover */
.logo-item img{
  height:84px; width:auto; display:block;
  transform-origin:center;
  transition: transform .25s ease; will-change: transform;
}
.logo-item:hover img,
.logo-item:focus-within img{ animation: logo-pop .35s cubic-bezier(.18,.89,.32,1.28) forwards }

@keyframes logo-pop{
  0%{transform:scale(1)} 60%{transform:scale(1.16)} 100%{transform:scale(1.12)}
}

/* Marquee keyframes (we duplicate content in JS so -50% loops) */
@keyframes marquee{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .logo-marquee{ overflow:visible; mask-image:none; -webkit-mask-image:none }
  .logo-track{ animation:none; flex-wrap:wrap; justify-content:center; gap:24px 32px }
  .logo-item img{ height:72px }
}

/* Small screens */
@media (max-width:560px){
  .logo-track{ gap:32px }
  .logo-item img{ height:64px }
}

/* ====== Latest Update & Useful Article ====== */
.news-duo{
  background:#f5f7fb;
}

/* Home page layout (two columns: Latest + Useful) */
.news-duo .container{
  width:min(1200px,92vw);
  margin:auto;
  padding:48px 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}

/* On the News page, use a single centered column */
.page-news .news-duo .container{
  max-width:900px;
  grid-template-columns:1fr;
}

/* Section title */
.news-title{
  margin:0 0 16px;
  font:600 22px/1.2 Poppins,sans-serif;
  color:#0b1020;
}

.news-list{
  display:flex;
  flex-direction:column;
  gap:18px;
}

/* ====== News & Events page (news.html) – 3-card grid like Blog/University ====== */

body.page-news{
  background:#f5f7fb;
}

/* hero on news page */
.page-news .hero{
  min-height:260px;
  text-align:center;
  background-position:center;
}

.page-news .hero .hero-content{
  padding:72px 0 70px;
  text-align:center;
}

.page-news .hero h1{
  font-size:34px;
}

.page-news .hero p{
  font-size:16px;
  opacity:.9;
}

/* make container a single wide column */
.page-news .news-duo{
  background:transparent;
}

.page-news .news-duo .container{
  width:min(1200px,92vw);
  margin:0 auto;
  padding:48px 0 72px;
  display:block;
}

.page-news .news-title{
  margin:0 0 16px;
  font:600 22px/1.3 Poppins,sans-serif;
  color:#0b1020;
}

/* 3 cards per row on desktop */
.page-news .news-list{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}

@media(max-width:900px){
  .page-news .news-list{
    grid-template-columns:repeat(2, 1fr); /* 2 on tablet */
  }
}

@media(max-width:640px){
  .page-news .news-list{
    grid-template-columns:1fr;            /* 1 on mobile */
  }
}

/* card design: like university card (image on top, text below) */
.page-news .news-card{
  display:flex;
  flex-direction:column;
  padding:0;
  border-radius:22px;
  overflow:hidden;
  background:#ffffff;
  border:1px solid #eef2f6;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
  text-decoration:none;
  color:inherit;
  transition:transform .25s ease, box-shadow .25s ease;
}

.page-news .news-card:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 16px 32px rgba(2,6,23,.12);
}

/* image full width on top */
.page-news .news-card .thumb{
  width:100%;
  height:200px;
  overflow:hidden;
  background:#e5e7eb;
}

.page-news .news-card .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .28s ease;
}

.page-news .news-card:hover .thumb img{
  transform:scale(1.04);
}

/* text block under image */
.page-news .news-card .text{
  padding:18px 20px 20px;
}

.page-news .news-card h4{
  margin:0 0 8px;
  font-size:17px;
  line-height:1.3;
  color:#0b1020;
}

.page-news .news-card p{
  margin:0;
  font-size:14px;
  color:#4b5563;
}

/* ====== Program Section ====== */
/* ====== Featured Programs ====== */
.programs{ background:#fff; padding:64px 0 }
.prog-head{ text-align:center; margin-bottom:24px }
.prog-head h2{ margin:0 0 6px }
.prog-head .lead{ margin:0; color:var(--muted) }

.prog-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}
@media (max-width:980px){ .prog-grid{ grid-template-columns: repeat(2, 1fr) } }
@media (max-width:620px){ .prog-grid{ grid-template-columns: 1fr } }

.prog-card{
  background:#fff;
  border:1px solid #eef2f6;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
  padding:16px;
  display:flex; flex-direction:column; gap:10px;
  transition: transform .25s ease, box-shadow .25s ease;
  text-decoration:none; color:inherit;
}
.prog-card:hover{ transform: translateY(-4px) scale(1.01); box-shadow:0 16px 32px rgba(2,6,23,.12) }

.prog-top{ display:flex; align-items:center; gap:12px }
.prog-icon{
  width:44px; height:44px; border-radius:12px;
  display:grid; place-items:center;
  background:rgba(32,83,122,.08);
  color:var(--brand-blue);
  font-weight:700;
}
.prog-title{ margin:0; font:600 18px/1.3 Poppins, sans-serif; color:var(--brand-darkblue) }
.prog-level{ margin:0; font-size:13px; color:var(--muted) }

.prog-meta{
  display:flex; gap:12px; flex-wrap:wrap; font-size:14px; color:#334155
}
.prog-meta span{
  background:#f5f7fb; border:1px solid #eef2f6; border-radius:999px;
  padding:6px 10px;
}

.prog-actions{ display:flex; justify-content:space-between; align-items:center; margin-top:4px }
.prog-fee{ font-weight:700; color:var(--brand-blue) }
.prog-cta{
  padding:10px 16px; border-radius:999px; background:linear-gradient(180deg, var(--brand-green), var(--brand-yellow));
  color:#fff; font-weight:700; text-decoration:none; box-shadow:0 10px 24px rgba(18,50,73,.18);
}
.prog-cta:hover{ filter:brightness(.95) }

/* ===== Testimonials (Trust) ===== */
.testimonials{ background:#fff; padding:64px 0 }
.t-head{ text-align:center; margin-bottom:18px }
.t-head .eyebrow{ color:var(--muted); margin:0 0 6px; text-transform:uppercase; letter-spacing:.06em; font-size:14px }
.t-head h2{ margin:0 }

/* carousel shell */
.t-carousel{ position:relative; }
.t-viewport{ overflow:hidden }
.t-track{
  display:flex; gap:18px; will-change:transform;
  transition: transform .45s ease;  
  padding:6px 2px;
}

/* card */
.t-card{
  flex:0 0 calc((100% - 36px)/3); /* 3 per view, gap 18px * 2 */
  background:#fff; border:1px solid #eef2f6; border-radius:18px;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
  padding:16px; text-decoration:none; color:inherit;
  display:flex; flex-direction:column; gap:10px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.t-card:hover{ transform:translateY(-4px); box-shadow:0 16px 32px rgba(2,6,23,.12) }

.t-top{ display:flex; align-items:center; gap:12px }
.t-photo{ width:54px; height:54px; border-radius:999px; overflow:hidden; flex:0 0 auto }
.t-photo img{ width:100%; height:100%; object-fit:cover; display:block }
.t-name{ margin:0; font:600 16px/1.3 Poppins, sans-serif; color:var(--brand-darkblue) }
.t-uni{ margin:0; font:500 13px/1.3 Inter, sans-serif; color:#20537A }

.t-badges{ display:flex; gap:8px; flex-wrap:wrap }
.badge{
  font:600 12px/1 Inter, sans-serif; padding:6px 10px; border-radius:999px;
  background:#f5f7fb; border:1px solid #eef2f6; color:#334155;
}
.badge.sch-full{ background:#e7f7df; border-color:#d3efc2; color:#25620d }
.badge.sch-partial{ background:#fff4df; border-color:#fde6bd; color:#7a4b00 }
.badge.sch-none{ background:#f2f4f7; border-color:#e5e7eb; color:#475569 }

.t-quote{ margin:2px 0 0; color:#334155; font:400 15px/1.7 Inter, sans-serif }

/* nav arrows */
.t-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:999px;
  border:1px solid #e5e7eb; background:#fff;
  box-shadow:0 6px 18px rgba(2,6,23,.06);
  cursor:pointer;
}
.t-nav.prev{ left:-8px }
.t-nav.next{ right:-8px }

/* dots */
.t-dots{ display:flex; justify-content:center; gap:8px; margin-top:10px }
.t-dot{
  width:8px; height:8px; border-radius:999px; background:#d1d5db; border:0;
}
.t-dot.active{ background:#16a34a }

/* responsive: 2 per view, then 1 per view */
@media (max-width:980px){
  .t-card{ flex:0 0 calc((100% - 18px)/2); }
}
@media (max-width:640px){
  .t-card{ flex:0 0 100%; }
  .t-nav.prev{ left:4px } .t-nav.next{ right:4px }
}

/* ====== Reduced motion preference ====== */
@media (prefers-reduced-motion: reduce){
  .nav{transition:none}
  .links a::after{transition:none}
}

/* ====== Footer ====== */
footer{
  background: var(--brand-darkblue); /* dark blue base */
  color:#cbd5e1;
  font:400 15px/1.6 Inter, sans-serif;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .6fr .6fr;
  gap:32px;
  padding:48px 0;
}

footer .brand.foot img{
  height:38px;
  margin-bottom:12px;
}

footer p{
  margin:0 0 12px;
  color:#cbd5e1;
}

footer h4{
  font:600 16px/1.3 Poppins, sans-serif;
  margin:0 0 12px;
  color:#fff;
}

.foot-list{ list-style:none; padding:0; margin:0 }
.foot-list li{ margin:6px 0 }
.foot-list a{
  color:#cbd5e1;
  text-decoration:none;
  transition:color .2s ease;
}
.foot-list a:hover{ color:var(--brand-yellow); }

.foot-list.contact li{
  display:flex;
  align-items:flex-start;
  gap:6px;
}

.foot-social{ display:flex; gap:10px; margin-top:12px }
.sbtn{
  width:34px; height:34px;
  display:grid; place-items:center;
  background:#0f2a3f;
  border-radius:8px;
  color:#cbd5e1;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  box-shadow:0 6px 16px rgba(0,0,0,.18);
  transition:transform .2s ease, filter .2s ease;
}
.sbtn:hover{ transform:translateY(-2px); filter:brightness(1.1); }

/* Bottom copy bar */
.copy{
  padding:14px 0;
  text-align:center;
  border-top:1px solid rgba(255,255,255,.15);
  font-size:14px;
}

/* ====== Our Services Section ====== */
/* Hover effect for Our Services cards */
.svc-item {
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.svc-item:hover {
  transform: translateY(-6px) scale(1.03);
  box-shadow: 0 16px 36px rgba(2,6,23,.15);
  border-color: var(--brand-green);
}

.svc-item:hover .svc-ico {
  background: var(--brand-green);
  color: #fff;
  transform: scale(1.1);
  transition: transform .3s ease, background .3s ease, color .3s ease;
}

.svc-item:hover h4 {
  color: var(--brand-blue);
}

/* Justify text in about and mission vision sections */
.about-text p,
.mv p {
  text-align: justify;
}

/* --- Vision image fixes --- */
.mv-grid { align-items: center; }

.vision-wrap{
  box-shadow: none !important;
  overflow: visible !important;
  border-radius: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

.vision-img{
  width: 320px;
  height: auto;
  display: block;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(2,6,23,.12);
}

.mv-grid > .vision-wrap { align-self: center; }

/* ====== University Detail Page (v2) ====== */

.page-university{
  background:#f3f4f6;
}

/* Hero on university.html */
.uni-hero{
  position:relative;
  min-height:320px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    linear-gradient(rgba(9,12,20,.80),rgba(9,12,20,.55)),
    url('assets/hero.jpg') center/cover no-repeat;
}

/* soft fade into page background */
.uni-hero::after{
  content:"";
  position:absolute;
  bottom:-1px;
  left:0;
  width:100%;
  height:100px;
  background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, #f3f4f6 100%);
  pointer-events:none;
}

.uni-hero h1{
  font-size:40px;
  font-weight:700;
  margin-bottom:6px;
}

.uni-hero p{
  font-size:15px;
  opacity:.9;
}

/* Main constrained layout */
.uni-detail-main{
  max-width:1120px;
  margin:0 auto;
  padding:40px 20px 96px;
}

/* Floating info card */
.uni-header-card{
  background:#ffffff;
  border-radius:26px;
  padding:30px 40px;
  box-shadow:0 32px 80px rgba(15,23,42,.18);
  display:flex;
  gap:28px;
  align-items:center;
  justify-content:space-between;
  margin-top:-92px;
  margin-bottom:10px;
  position:relative;
  z-index:5;
}

/* subtle top highlight on card */
.uni-header-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(148,163,184,.35);
  pointer-events:none;
}

.uni-header-logo{
  width:90px;
  height:90px;
  border-radius:20px;
  background:#ffffff;
  padding:12px;
  border:1px solid #e5e7eb;
  object-fit:contain;
  box-shadow:0 12px 28px rgba(15,23,42,0.08);
}

.uni-header-main h2{
  font-size:24px;
  font-weight:700;
  margin:0 0 6px;
  color:#0f172a;
}

.uni-header-meta{
  font-size:14px;
  color:#64748b;
  margin-bottom:8px;
}

/* Badge row under name */
.uni-badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.uni-badge-row .badge{
  font:600 12px/1 Inter, sans-serif;
  background:#eef4ff;
  color:#1e3a8a;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid #dbe4ff;
}

/* Header left side (logo + name + badges) */
.uni-header-left{
  display:flex;
  gap:18px;
  align-items:center;
}

/* Premium rank pill on the right */
.uni-header-facts{
  margin-left:auto;
  padding:12px 18px;
  border-radius:16px;
  background:linear-gradient(135deg,#0f172a,#1d4ed8);
  color:#e5e7eb;
  min-width:160px;
  text-align:right;
  box-shadow:0 14px 34px rgba(15,23,42,.35);
}

.fact-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  opacity:0.75;
}

.fact-value{
  font-size:22px;
  font-weight:700;
  margin-top:2px;
}

.fact-tag{
  margin-top:6px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.16);
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.06em;
}

/* Mobile layout: stack card + rank box */
@media(max-width:700px){
  .uni-header-card{
    flex-direction:column;
    align-items:flex-start;
  }
  .uni-header-facts{
    margin-left:0;
    margin-top:10px;
    text-align:left;
  }
  .fact-tag{
    justify-content:flex-start;
  }
}

/* Tabs */
.uni-tabs{
  display:flex;
  gap:28px;
  border-bottom:1px solid #e5e7eb;
  margin-top:12px;
}

.uni-tabs .tab{
  padding:10px 0;
  background:transparent;
  border:none;
  color:#6b7280;
  cursor:pointer;
  font:600 14px Inter;
  position:relative;
}

.uni-tabs .tab::after{
  content:"";
  position:absolute;
  bottom:-2px;
  left:0;
  width:0%;
  height:3px;
  background:#20537A;
  border-radius:4px;
  transition:width .28s ease;
}

.uni-tabs .tab:hover::after{
  width:100%;
}

.uni-tabs .tab.active{
  color:#20537A;
}

.uni-tabs .tab.active::after{
  width:100%;
}

/* Tab panels – white cards on grey background */
.panel{
  display:none;
  margin-top:14px;
  background:#ffffff;
  border-radius:22px;
  padding:26px 30px;
  box-shadow:0 26px 60px rgba(15,23,42,.14);
}

/* limit text width so it doesn’t feel like a wall of text */
.panel > *{
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
}

.panel.active{ display:block; }

/* On university detail page, all panels are visible (stacked sections) */
.page-university .panel{
  display:block;
}

.page-university .uni-section{
  margin-top: 18px;
}

.page-university .uni-section:first-of-type{
  margin-top: 28px;
}

/* Section title look */
.panel-section-title {
  font-size: 22px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 20px;
  padding-bottom: 6px;
  border-left: 4px solid #20537A;
  padding-left: 12px;
}

.program-item {
  background: #f8fafc;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  font-size: 14px;
  margin-bottom: 8px;
}

body.page-university {
  background: #f1f3f7;
}

.panel h3,
.panel h4{
  margin-top:1.6rem;
  margin-bottom:.7rem;
  font-size:18px;
  font-weight:700;
  color:#0f172a;
}

.panel p{
  font-size:15px;
  line-height:1.85;
  color:#111827;
}

.panel ul{
  padding-left:22px;
}

.panel li{
  margin-bottom:6px;
}

/* Gallery grid */
.gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

@media(max-width:900px){
  .gallery{ grid-template-columns:repeat(2,1fr); }
}

/* shared img/iframe styling */
.gallery img,
.gallery iframe{
  width:100%;
  height:200px;
  object-fit:cover;
  border-radius:14px;
  border:0;
}

/* Responsive tweaks */
@media(max-width:768px){
  .uni-detail-main{
    padding:28px 14px 72px;
  }

  .uni-header-card{
    flex-direction:column;
    align-items:flex-start;
    margin-top:-70px;
    padding:22px 18px;
  }

  .uni-header-logo{
    width:76px;
    height:76px;
  }

  .panel{
    padding:22px 18px;
  }

  .panel > *{
    max-width:none;
  }

  .uni-hero{
    min-height:260px;
  }
}

/* ===== PROGRAMS & SCHOLARSHIP IMPROVEMENTS ===== */
.panel-section-title{
  font-size:20px;
  font-weight:700;
  margin-bottom:12px;
  color:#0f172a;
  display:flex;
  align-items:center;
  gap:10px;
}

.panel-section-title svg{
  width:20px;
  height:20px;
  stroke:#20537A;
}

.program-list,
.scholarship-list{
  margin-top:8px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.program-item,
.scholarship-item{
  background:#f8fafc;
  padding:12px 16px;
  border-radius:12px;
  border:1px solid #e2e8f0;
  color:#1f2937;
  font-size:14px;
  font-weight:500;
}

/* ===== Collapsible About section ===== */
.panel.about-collapsed .about-inner{
  max-height:260px;
  overflow:hidden;
  position:relative;
}

.panel.about-collapsed .about-inner::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:80px;
  background:linear-gradient(to bottom, rgba(255,255,255,0), #ffffff);
}

.panel.about-expanded .about-inner{
  max-height:none;
}

.about-toggle{
  margin-top:14px;
  padding:7px 14px;
  border-radius:999px;
  border:1px solid #d1d5db;
  background:#f9fafb;
  font:600 13px Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:#374151;
  cursor:pointer;
  transition:
    background .15s ease,
    border-color .15s ease,
    color .15s ease,
    transform .12s ease;
}

.about-toggle:hover{
  background:#eef2ff;
  border-color:#4f46e5;
  color:#111827;
  transform:translateY(-1px);
}

/* ===== APPLY CTA on university page ===== */
.uni-cta{
  margin-top:28px;
  background:linear-gradient(135deg,#0f172a,#1d4f7e);
  border-radius:22px;
  padding:20px 24px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#e5f0ff;
  box-shadow:0 24px 60px rgba(15,23,42,.28);
}

.uni-cta-text h3{
  font-size:18px;
  font-weight:700;
  margin:0 0 4px;
}

.uni-cta-text p{
  margin:0;
  font-size:14px;
  color:#cbd5f5;
}

.uni-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.uni-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 18px;
  border-radius:999px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  border:1px solid rgba(255,255,255,0.85);
  background:#ffffff;
  color:#12355c;
  transition:all .2s ease;
}

.uni-cta-btn:hover{
  background:#e2efff;
  transform:translateY(-1px);
}

.uni-cta-btn.ghost{
  background:transparent;
  color:#e5f0ff;
  border-color:rgba(226,232,240,0.6);
}

.uni-cta-btn.ghost:hover{
  background:rgba(15,23,42,0.35);
}

/* mobile */
@media(max-width:768px){
  .uni-cta{
    padding:18px 16px;
  }
  .uni-cta-text h3{
    font-size:16px;
  }
}

/* =========================
   SINGLE POST PAGE (post.html)
   ========================= */

/* Page background just for post page */
body.page-post{
  background:#f3f4f6;
}

/* Hero at top of post page */
.page-post .page-hero{
  position:relative;
  min-height:34vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  background:
    linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.35)),
    url('assets/hero.jpg') center/cover no-repeat;
}

.page-post .page-hero .container{
  padding:70px 0 90px;
}

.page-post .page-hero h1{
  font-size:34px;
  font-weight:700;
  margin:0 0 6px;
}

.page-post .page-hero p{
  margin:0;
  font-size:15px;
  opacity:.9;
}

/* Main layout: article + sidebar */
.post-main{
  padding:40px 0 90px;
}

.post-layout{
  display:grid;
  grid-template-columns: minmax(0,3fr) minmax(0,1.4fr);
  gap:28px;
}

/* Article card */
.post-article{
  background:#ffffff;
  border-radius:24px;
  padding:26px 26px 30px;
  box-shadow:0 24px 60px rgba(15,23,42,.12);
}

.post-title{
  font-size:24px;
  font-weight:700;
  margin:0 0 16px;
  color:#0f172a;
}

.post-img{
  width:100%;
  height:auto;
  max-height:430px;
  object-fit:cover;
  border-radius:18px;
  margin-bottom:18px;
}

.post-body{
  font-size:15px;
  line-height:1.9;
  color:#111827;
}

.post-body p{
  margin:0 0 12px;
}

/* Sidebar */
.post-aside{
  align-self:flex-start;
}

.post-aside-title{
  font-size:18px;
  font-weight:700;
  margin:0 0 14px;
  color:#0f172a;
}

/* “More updates” mini cards (JS uses class="mini-post") */
.post-more-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.mini-post{
  display:grid;
  grid-template-columns:80px minmax(0,1fr);
  gap:10px;
  background:#ffffff;
  border-radius:18px;
  padding:10px 12px;
  text-decoration:none;
  color:inherit;
  box-shadow:0 12px 30px rgba(15,23,42,.10);
  transition:transform .18s ease, box-shadow .18s ease;
}

.mini-post img{
  width:80px;
  height:64px;
  object-fit:cover;
  border-radius:12px;
}

.mini-post strong{
  display:block;
  font-size:14px;
  margin-bottom:4px;
  color:#0f172a;
}

.mini-post p{
  margin:0;
  font-size:12px;
  color:#6b7280;
}

.mini-post:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(15,23,42,.18);
}

/* Responsive: stack sidebar under article */
@media (max-width:900px){
  .post-layout{
    grid-template-columns:1fr;
  }
  .post-aside{
    order:-1;           /* sidebar above or remove this line if you want it below */
  }
}

/* =========================================================
   NEWS + BLOG: 3-card grid like University page
   ========================================================= */

/* Both pages use the same wide layout */
body.page-news .news-duo .container,
body.page-blog .news-duo .container{
  display:block;
  width:min(1200px,92vw);
  margin:0 auto;
  padding:48px 0 72px;
}

/* 3 cards per row (tablet=2, mobile=1) */
body.page-news .news-list,
body.page-blog .news-list{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
}

@media (max-width:900px){
  body.page-news .news-list,
  body.page-blog .news-list{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:640px){
  body.page-news .news-list,
  body.page-blog .news-list{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Card style – same for News & Blog */
body.page-news .news-card,
body.page-blog .news-card{
  display:flex;
  flex-direction:column;
  padding:0;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  border:1px solid #eef2f6;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
  transition:transform .25s ease, box-shadow .25s ease;
  text-decoration:none;
  color:inherit;
}

body.page-news .news-card:hover,
body.page-blog .news-card:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 16px 32px rgba(2,6,23,.12);
}

/* Full-width image on top */
body.page-news .news-card .thumb,
body.page-blog .news-card .thumb{
  width:100%;
  height:200px;
  overflow:hidden;
}

body.page-news .news-card .thumb img,
body.page-blog .news-card .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Text area */
body.page-news .news-card .text,
body.page-blog .news-card .text{
  padding:18px 20px 20px;
}

body.page-news .news-card h4,
body.page-blog .news-card h4{
  margin:0 0 8px;
  font-size:17px;
  line-height:1.3;
  color:#0b1020;
}

body.page-news .news-card p,
body.page-blog .news-card p{
  margin:0;
  font-size:14px;
  color:#4b5563;
}

/* Optional author row (if you add it in JS/HTML) */
body.page-news .news-card .author-row,
body.page-blog .news-card .author-row{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  font-size:13px;
  color:#6b7280;
}

/* Fix layout only on News & Events page */
.page-news .news-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* Image on the left, text on the right, no huge whitespace */
.page-news .news-card{
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr); /* thumb | text */
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
}

/* Make the thumbnail a bit larger for this page */
.page-news .news-card .thumb{
  width: 120px;
  height: 90px;
  border-radius: 16px;
  overflow: hidden;
}

/* Ensure text block stretches nicely */
.page-news .news-card .text{
  padding-right: 4px;
}
/* =========================================================
   NEWS & EVENTS PAGE = SAME CARD STYLE AS BLOG
   ========================================================= */

body.page-news{
  background:#f5f7fb;
}

/* Same container as blog page */
.page-news .news-duo{
  background:transparent;
}

.page-news .news-duo .container{
  display:block;
  width:min(1200px,92vw);
  margin:0 auto;
  padding:48px 0 72px;
}

/* 3 cards per row (like universities / blog) */
.page-news .news-list{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}

@media(max-width:900px){
  .page-news .news-list{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media(max-width:640px){
  .page-news .news-list{
    grid-template-columns:1fr;
  }
}

/* Card look = same as blog cards */
.page-news .news-card{
  display:flex;
  flex-direction:column;
  padding:0;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  border:1px solid #eef2f6;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
  transition:transform .25s ease, box-shadow .25s ease;
}

.page-news .news-card:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 16px 32px rgba(2,6,23,.12);
}

/* full-width image on top */
.page-news .news-card .thumb{
  width:100%;
  height:200px;
  overflow:hidden;
}

.page-news .news-card .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* text block under image */
.page-news .news-card .text{
  padding:18px 20px 20px;
}

.page-news .news-card h4{
  margin:0 0 8px;
  font-size:17px;
  line-height:1.3;
  color:#0b1020;
}

.page-news .news-card p{
  margin:0;
  font-size:14px;
  color:#4b5563;
}

/* optional author row (if you add it in HTML/JS) */
.page-news .news-card .author-row{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  font-size:13px;
  color:#6b7280;
}
/* ==============================================
   BLOG & NEWS LIST PAGES – 3-CARD GRID LAYOUT
   (Works for blog.html and news.html only)
   ============================================== */

/* Container: single wide column, same on both pages */
.page-blog .news-duo .container,
.page-news .news-duo .container{
  width: min(1200px, 92vw);
  margin: 0 auto;
  padding: 48px 0 72px;
  display: block;             /* do NOT change home layout */
}

/* 3 cards per row on desktop */
.page-blog .news-list,
.page-news .news-list{
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

/* 2 per row on tablet */
@media (max-width: 980px){
  .page-blog .news-list,
  .page-news .news-list{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 1 per row on mobile */
@media (max-width: 640px){
  .page-blog .news-list,
  .page-news .news-list{
    grid-template-columns: 1fr;
  }
}

/* Card style (image on top, text below) */
.page-blog .news-card,
.page-news .news-card{
  display: flex;              /* override global grid/flex */
  flex-direction: column;
  align-items: stretch;
  padding: 0;                 /* we’ll pad inside .text */
  border-radius: 22px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #eef2f6;
  box-shadow: 0 10px 30px rgba(2,6,23,.06);
  transition: transform .25s ease, box-shadow .25s ease;
}

.page-blog .news-card:hover,
.page-news .news-card:hover{
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 16px 32px rgba(2,6,23,.12);
}

/* Full-width top image */
.page-blog .news-card .thumb,
.page-news .news-card .thumb{
  width: 100%;
  height: 200px;
  border-radius: 0;           /* square top corners */
  overflow: hidden;
  background: #e5e7eb;
}

.page-blog .news-card .thumb img,
.page-news .news-card .thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Text block under the image */
.page-blog .news-card .text,
.page-news .news-card .text{
  padding: 18px 20px 20px;
}

.page-blog .news-card h4,
.page-news .news-card h4{
  margin: 0 0 8px;
  font: 600 17px/1.3 Poppins, sans-serif;
  color: #0b1020;
}

.page-blog .news-card p,
.page-news .news-card p{
  margin: 0;
  font: 14px/1.7 Inter, sans-serif;
  color: #4b5563;
}
/* ================================
   HOME PAGE – News & Blog 3-card grid
   (index.html only, because it uses .news-col)
   ================================ */

/* Grid layout for the lists inside each column */
.news-duo .news-col .news-list{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3 cards per row on desktop */
  gap:18px;
}

/* 2 cards per row on medium screens */
@media (max-width: 1024px){
  .news-duo .news-col .news-list{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 1 card per row on mobile */
@media (max-width: 640px){
  .news-duo .news-col .news-list{
    grid-template-columns: 1fr;
  }
}

/* Card style: vertical card (image on top, text below),
   similar to your university / blog cards */
.news-duo .news-col .news-card{
  display:flex;
  flex-direction:column;
  padding:0;
  border-radius:22px;
  overflow:hidden;
  background:#ffffff;
  border:1px solid #eef2f6;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
  text-decoration:none;
  color:inherit;
  transition:transform .22s ease, box-shadow .22s ease;
}

.news-duo .news-col .news-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(15,23,42,.14);
}

/* Full-width image on top */
.news-duo .news-col .news-card .thumb{
  width:100%;
  height:180px;
  border-radius:0;
  overflow:hidden;
  background:#e5e7eb;
}

.news-duo .news-col .news-card .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Text block under the image */
.news-duo .news-col .news-card .text{
  padding:14px 16px 16px;
}

.news-duo .news-col .news-card h4{
  margin:0 0 6px;
  font:600 16px/1.3 Poppins, sans-serif;
  color:#0b1020;
}

.news-duo .news-col .news-card p{
  margin:0;
  font:400 13px/1.6 Inter, sans-serif;
  color:#4b5563;
}
/* =============================
   HOME PAGE: Make 2×2 grids
=============================*/

.home-news .news-col .news-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
}

@media (max-width: 760px) {
    .home-news .news-col .news-list {
        grid-template-columns: 1fr !important;
    }
}
.back-nav {
  display: flex;
  gap: 14px;
  margin: 40px 0 10px;
}

.back-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: linear-gradient(135deg, #7FB423 0%, #F2C94C 100%);
  color: #ffffff;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(127, 180, 35, 0.25);
  transition: all 0.25s ease;
}

.back-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(127, 180, 35, 0.35);
  opacity: 0.95;
}

.back-btn:active {
  transform: translateY(-1px);
}


/* ===== Testimonials: perfect alignment ===== */
.t-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.t-top{
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.t-photo img{
  width:54px;
  height:54px;
  border-radius:50%;
  object-fit:cover;
}

.t-name{
  margin:0;
  line-height:1.2;
}

.t-uni{
  margin:4px 0 0;
  line-height:1.2;
}

.t-sub{
  margin:6px 0 0;
  font-size:13px;
  color:#64748b;
  font-weight:600;
  line-height:1.2;
}

/* Keep message area aligned (same height in every card) */
.t-quote{
  margin-top:14px;
  line-height:1.65;

  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:6;     /* same number of lines */
  overflow:hidden;

  min-height: calc(1.65em * 6);  /* forces equal block height */
}


/* =========================
   MOBILE FIXES (REAL HEADER + FOOTER)
   Works with your header.html + footer.html
   ========================= */
@media (max-width: 768px){

  /* ---- Topbar: show only phone, hide email + social ---- */
  .topbar{
    height: 34px;
    font-size: 12px;
  }
  .topbar .container{
    padding: 6px 0;
    align-items: center;
  }

  /* Hide email (first link), keep phone (second link) */
  .topbar .left a:first-child{
    display: none !important;
  }

  /* Hide the social icons row on mobile */
  .topbar .social{
    display: none !important;
  }

  /* ---- Navbar spacing on mobile ---- */
  .nav{
    top: 34px; /* match topbar height above */
  }
  .nav-inner{
    padding: 12px 0;
  }

  /* ---- Hero text/button sizing ---- */
  .hero-content{
    padding: 64px 0 140px;
  }
  .hero h1{
    font-size: 30px;
    line-height: 1.18;
  }
  .hero p{
    font-size: 15px;
  }
  .hero .btn{
    width: min(420px, 92vw);
    padding: 14px 0;
    font-size: 16px;
  }

  /* ---- Footer: STACK into 1 column ---- */
  .footer-grid{
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 34px 0 !important;
  }

  footer .brand.foot img{
    height: 34px;
  }

  /* Prevent long footer text from feeling too wide */
  footer p{
    font-size: 14px;
    line-height: 1.65;
  }
}

/* =========================
   MOBILE FIXES (HEADER + FOOTER)
   ========================= */
@media (max-width: 768px){

  /* Make the CSS variables match mobile */
  :root{
    --topbar-h: 34px;
    --nav-h: 60px;
  }

  /* ---- Topbar: show only phone, hide email + social ---- */
  .topbar{
    height: var(--topbar-h);
    font-size: 12px;
  }

  .topbar .container{
    padding: 6px 0;
    align-items: center;
  }

  /* Hide email (first link), keep phone (second link) */
  .topbar .left a:first-child{
    display: none !important;
  }

  /* Hide social icons row on mobile */
  .topbar .social{
    display: none !important;
  }

  /* ---- Navbar spacing on mobile ---- */
  .nav{
    top: var(--topbar-h);
  }

  .nav-inner{
    padding: 12px 0;
  }

  /* ---- Hero text/button sizing ---- */
  .hero-content{
    padding: 64px 0 140px;
  }

  .hero h1{
    font-size: 30px;
    line-height: 1.18;
  }

  .hero p{
    font-size: 15px;
  }

  .hero .btn{
    width: min(420px, 92vw);
    padding: 14px 0;
    font-size: 16px;
  }

  /* ---- Footer: force 1 column ---- */
  .footer-grid{
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 34px 0 !important;
  }

  footer .brand.foot img{
    height: 34px;
  }

  footer p{
    font-size: 14px;
    line-height: 1.65;
  }
}
/* =========================
   GLOBAL CTA BUTTON FIX
   ========================= */

/* Primary CTA buttons */
.btn,
.btn-primary,
.apply-btn,
.apply-now,
a.apply,
button.apply {
  background: var(--brand-blue) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px;
  padding: 14px 32px;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: 0 10px 28px rgba(32, 83, 122, 0.35);
  transition: all 0.25s ease;
}

/* Hover */
.btn:hover,
.btn-primary:hover,
.apply-btn:hover,
.apply-now:hover,
a.apply:hover,
button.apply:hover {
  background: var(--brand-darkblue) !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(18, 50, 73, 0.45);
}

/* =========================
   SECONDARY BUTTONS
   ========================= */
.btn-secondary,
.learn-more,
a.learn {
  background: transparent !important;
  color: var(--brand-blue) !important;
  border: 2px solid var(--brand-blue) !important;
  border-radius: 999px;
  padding: 12px 28px;
  font-weight: 600;
  transition: all 0.25s ease;
}

.btn-secondary:hover,
.learn-more:hover,
a.learn:hover {
  background: var(--brand-blue) !important;
  color: #ffffff !important;
}


/* ============================
   BRAND PRIMARY BUTTON OVERRIDE
   ============================ */

a.btn,
button.btn,
.btn {
  background: linear-gradient(
    135deg,
    var(--brand-darkblue),
    var(--brand-blue)
  ) !important;

  color: #ffffff !important;
  border: none !important;

  font-weight: 700;
  letter-spacing: 0.4px;
  box-shadow: 0 12px 28px rgba(18, 50, 73, 0.35);
}

/* Hover state */
a.btn:hover,
button.btn:hover,
.btn:hover {
  background: linear-gradient(
    135deg,
    var(--brand-blue),
    var(--brand-darkblue)
  ) !important;

  transform: translateY(-1px);
  box-shadow: 0 16px 36px rgba(18, 50, 73, 0.45);
}


/* ============================
   PROGRAM CARD "APPLY" PILL
   ============================ */
.prog-cta{
  background: linear-gradient(135deg, var(--brand-darkblue), var(--brand-blue)) !important;
  color:#fff !important;
  box-shadow: 0 12px 28px rgba(18, 50, 73, 0.35) !important;
}

.prog-card:hover .prog-cta{
  background: linear-gradient(135deg, var(--brand-blue), var(--brand-darkblue)) !important;
}

