/* ═══════════════════════════════════════════════════════════
   DESIGN TOKENS – Emerald Green + Gold + Pink
   ═══════════════════════════════════════════════════════════ */
:root {
  --green-dark:   #0a3622;
  --green-mid:    #145c38;
  --green-light:  #1e8a52;
  --gold:         #c9a84c;
  --gold-light:   #e8c96e;
  --gold-pale:    #f5e9c8;
  --pink:         #e91e8c;
  --pink-mid:     #c2185b;
  --pink-light:   #f48fb1;
  --pink-pale:    #fce4ec;
  --cream:        #faf8f2;
  --white:        #ffffff;
  --text-dark:    #1a1a1a;
  --text-mid:     #3d3d3d;
  --text-muted:   #6b7280;
  --border:       #e5dfc8;
  --shadow-sm:    0 2px 8px rgba(10,54,34,0.08);
  --shadow-md:    0 8px 32px rgba(10,54,34,0.14);
  --shadow-lg:    0 20px 60px rgba(10,54,34,0.18);
  --shadow-pink:  0 8px 28px rgba(233,30,140,0.22);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family:'Outfit', sans-serif;  color:var(--text-dark); background:var(--cream); overflow-x:hidden; }

/* ── TOPBAR ── */
.topbar {
  background: var(--green-dark);
  color: rgba(255,255,255,.82);
  font-size: .78rem;
  padding: 8px 0;
  border-bottom: 2px solid var(--pink);
}
.topbar .container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.topbar-left  { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.topbar-right { display:flex; gap:14px; align-items:center; }
.topbar a { color:rgba(255,255,255,.8); text-decoration:none; transition:color .2s; }
.topbar a:hover { color:var(--pink-light); }
.tb-item { display:inline-flex; align-items:center; gap:6px; }
.tb-item i { color:var(--pink); font-size:.8rem; }
.social-links { display:flex; gap:8px; }
.social-links a {
  width:26px; height:26px;
  border: 1px solid rgba(233,30,140,.35);
  border-radius:50%;
  display:grid; place-items:center;
  color:rgba(255,255,255,.7);
  transition:all .25s;
  font-size:.7rem;
}
.social-links a:hover { background:var(--pink); border-color:var(--pink); color:var(--white); }

/* ── HEADER ── */
.header {
  background:var(--white);
  position:sticky; top:0; z-index:1000;
  border-bottom:3px solid transparent;
  border-image: linear-gradient(90deg, var(--green-dark), var(--gold), var(--pink)) 1;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .3s;
}
.header.scrolled { box-shadow:var(--shadow-md); }
.header-inner { display:flex; align-items:center; justify-content:space-between; height:74px; }

/* Logo */
.logo { display:flex; align-items:center; gap:13px; text-decoration:none; flex-shrink:0; }
.logo-icon {
  width:54px; height:54px;
  background:var(--green-dark);
  border-radius:50%;
  display:grid; place-items:center;
  border:2.5px solid var(--gold);
  overflow:hidden;
  flex-shrink:0;
}
.logo-icon img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.logo-icon .logo-fallback { color:var(--gold); font-size:22px; line-height:1; }
.logo-name    { font-family:'Amiri',serif; font-size:1.18rem; font-weight:700; color:var(--green-dark); letter-spacing:.03em; display:block; }
.logo-tagline { font-size:.6rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--pink); display:block; }

/* NAV */
.nav { display:flex; align-items:center; gap:0; list-style:none; height:100%; }
.nav > li { position:relative; height:100%; display:flex; align-items:center; }
.nav > li > a {
  display:flex; align-items:center; gap:5px;
  padding:0 16px; height:100%;
  font-size:.82rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  color:var(--text-mid); text-decoration:none;
  position:relative; transition:color .2s; white-space:nowrap;
}
.nav > li > a::after {
  content:''; position:absolute; bottom:0; left:16px; right:16px;
  height:3px; background:linear-gradient(90deg,var(--pink),var(--gold));
  transform:scaleX(0); transform-origin:left; transition:transform .25s;
}
.nav > li > a:hover,
.nav > li > a.active { color:var(--green-dark); }
.nav > li > a:hover::after,
.nav > li > a.active::after { transform:scaleX(1); }

/* MEGA MENU */
.mega-menu {
  display:none;
  position:absolute; top:100%; left:50%;
  transform:translateX(-50%) translateY(-8px);
  background:var(--white);
  border-top:3px solid var(--pink);
  border-radius:0 0 14px 14px;
  box-shadow:var(--shadow-lg);
  padding:28px; min-width:680px;
  opacity:0; pointer-events:none;
  transition:opacity .25s, transform .25s;
  z-index:999;
}
.nav > li:hover .mega-menu {
  display:grid; opacity:1; pointer-events:all;
  transform:translateX(-50%) translateY(0);
  animation:megaIn .2s ease forwards;
}
@keyframes megaIn { from{opacity:0;transform:translateX(-50%) translateY(-10px);}to{opacity:1;transform:translateX(-50%) translateY(0);} }

.dropdown-menu {
  position:absolute; top:100%; left:50%; transform:translateX(-50%);
  background:var(--white);
  border-top:3px solid var(--pink);
  border-radius:0 0 12px 12px;
  box-shadow:var(--shadow-md);
  padding:8px 0; min-width:220px;
  opacity:0; pointer-events:none; transition:opacity .2s;
  z-index:999; list-style:none;
}
.nav > li:hover .dropdown-menu { opacity:1; pointer-events:all; }
.dropdown-menu li a {
  display:flex; align-items:center; gap:10px;
  padding:11px 20px; font-size:.84rem; font-weight:500;
  color:var(--text-mid); text-decoration:none; transition:all .18s;
}
.dropdown-menu li a:hover { background:var(--pink-pale); color:var(--pink-mid); padding-left:26px; }
.dropdown-menu li a i { width:16px; text-align:center; color:var(--pink); }

.mega-grid-2 { grid-template-columns:1fr 1fr; gap:0; }
.mega-grid-3 { grid-template-columns:repeat(3,1fr); gap:0; }
.mega-col { padding:0 20px; }
.mega-col:not(:last-child) { border-right:1px solid var(--border); }
.mega-col-title {
  font-size:.67rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  color:var(--pink); margin-bottom:14px; padding-bottom:8px;
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; gap:7px;
}
.mega-link {
  display:flex; align-items:flex-start; gap:10px;
  padding:9px 0; text-decoration:none; color:var(--text-mid);
  transition:color .18s; border-bottom:1px solid rgba(229,223,200,.5);
}
.mega-link:last-child { border-bottom:none; }
.mega-link:hover { color:var(--pink-mid); }
.mega-link:hover .ml-icon { background:var(--pink); }
.mega-link:hover .ml-icon i { color:var(--white); }
.ml-icon {
  width:30px; height:30px; flex-shrink:0;
  background:var(--pink-pale); border-radius:8px;
  display:grid; place-items:center; transition:all .18s; margin-top:1px;
}
.ml-icon i { color:var(--pink); font-size:.8rem; }
.ml-title { font-size:.84rem; font-weight:600; display:block; }
.ml-desc  { font-size:.72rem; color:var(--text-muted); display:block; margin-top:2px; }
.mega-featured {
  background:var(--green-dark); border-radius:12px; padding:22px; color:var(--white);
}
.mega-featured .mf-badge {
  font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--pink-light); background:rgba(233,30,140,.15);
  border:1px solid rgba(233,30,140,.3); border-radius:20px;
  padding:3px 10px; display:inline-block; margin-bottom:12px;
}
.mega-featured h4 { font-family:'Amiri',serif; font-size:1.1rem; color:var(--white); margin-bottom:8px; }
.mega-featured p  { font-size:.76rem; color:rgba(255,255,255,.65); line-height:1.65; margin-bottom:16px; }
.mega-featured .mf-btn {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--pink); color:var(--white); font-size:.75rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; padding:8px 16px;
  border-radius:6px; text-decoration:none; transition:background .2s;
}
.mega-featured .mf-btn:hover { background:var(--pink-mid); }
.mega-featured .mf-stat { display:flex; gap:16px; margin-top:16px; padding-top:16px; border-top:1px solid rgba(255,255,255,.1); }
.mf-stat-item .num { font-family:'Amiri',serif; font-size:1.4rem; color:var(--pink-light); display:block; font-weight:700; }
.mf-stat-item .lbl { font-size:.65rem; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.08em; }

/* Header Actions */
.header-actions { display:flex; align-items:center; gap:10px; }
.btn-apply {
  background:linear-gradient(135deg, var(--pink), var(--pink-mid));
  color:var(--white); border:none; padding:10px 22px; border-radius:8px;
  font-family:'Outfit',sans-serif; font-size:.8rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; cursor:pointer;
  text-decoration:none; display:inline-flex; align-items:center; gap:6px;
  transition:all .25s; box-shadow:var(--shadow-pink);
}
.btn-apply:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(233,30,140,.35); }
.btn-search {
  width:38px; height:38px; border:1.5px solid var(--border); border-radius:8px;
  background:transparent; cursor:pointer; display:grid; place-items:center;
  transition:all .2s; color:var(--text-mid); font-size:.9rem;
}
.btn-search:hover { border-color:var(--pink); color:var(--pink); background:var(--pink-pale); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:6px; border:none; background:transparent; }
.hamburger span { display:block; width:24px; height:2px; background:var(--green-dark); border-radius:2px; transition:all .3s; }

/* CONTAINER */
.container { max-width:1220px; margin:0 auto; padding:0 24px; }

/* ═══════════════════════════════════════════════════════════
   HERO SWIPER SLIDER
   ═══════════════════════════════════════════════════════════ */
.hero-swiper { width:100%; height:92vh; min-height:600px; }
.hero-swiper .swiper-slide {
  position:relative; display:flex; align-items:center;
  overflow:hidden;
}
.slide-bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  transition:transform 8s ease;
  filter:brightness(.45) saturate(.7);
}
.swiper-slide-active .slide-bg { transform:scale(1.06); }
.slide-overlay {
  position:absolute; inset:0;
  background:linear-gradient(110deg, rgba(10,54,34,.92) 0%, rgba(10,54,34,.6) 55%, rgba(0,0,0,.2) 100%);
}
.slide-pattern {
  position:absolute; inset:0; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cpath d='M40 0L80 40L40 80L0 40Z' fill='none' stroke='%23c9a84c' stroke-width='1'/%3E%3C/svg%3E");
}
.slide-content {
  position:relative; z-index:2;
  max-width:720px;
  opacity:0; transform:translateY(30px);
  transition:opacity .8s .3s ease, transform .8s .3s ease;
}
.swiper-slide-active .slide-content { opacity:1; transform:translateY(0); }
.slide-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(233,30,140,.18); border:1px solid rgba(233,30,140,.5);
  border-radius:30px; padding:6px 16px;
  font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--pink-light); margin-bottom:22px;
}
.slide-badge::before { content:'✦'; font-size:9px; color:var(--pink-light); }
.slide-content h1 {
  font-family:'Amiri',serif;
  font-size:clamp(2.4rem,5.2vw,4.2rem);
  line-height:1.15; color:var(--white); margin-bottom:20px;
}
.slide-content h1 em { font-style:italic; color:var(--pink-light); }
.slide-content .subtitle {
  font-size:1rem; font-weight:300;
  color:rgba(255,255,255,.72); line-height:1.8;
  margin-bottom:34px; max-width:580px;
}
.slide-ctas { display:flex; gap:14px; flex-wrap:wrap; }
.btn-pink {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--pink); color:var(--white);
  padding:14px 28px; border-radius:10px;
  font-weight:700; font-size:.9rem; letter-spacing:.05em; text-transform:uppercase;
  text-decoration:none; transition:all .25s; border:none; cursor:pointer;
}
.btn-pink:hover { background:var(--pink-mid); transform:translateY(-2px); box-shadow:var(--shadow-pink); }
.btn-outline-white {
  display:inline-flex; align-items:center; gap:8px;
  border:2px solid rgba(255,255,255,.35); color:var(--white);
  padding:14px 28px; border-radius:10px;
  font-weight:600; font-size:.9rem; letter-spacing:.04em;
  text-decoration:none; transition:all .25s;
}
.btn-outline-white:hover { border-color:var(--pink-light); color:var(--pink-light); }
.slide-stats {
  display:flex; gap:36px; margin-top:52px; padding-top:36px;
  border-top:1px solid rgba(255,255,255,.12);
}
.slide-stat .num { font-family:'Amiri',serif; font-size:2rem; font-weight:700; color:var(--pink-light); display:block; line-height:1; }
.slide-stat .lbl { font-size:.72rem; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.1em; margin-top:4px; display:block; }

/* Swiper controls */
.swiper-button-next,
.swiper-button-prev {
  width:48px!important; height:48px!important;
  background:rgba(233,30,140,.85)!important;
  border-radius:50%!important;
  backdrop-filter:blur(6px);
  transition:background .2s;
  color:white!important;
}
.swiper-button-next:hover,
.swiper-button-prev:hover { background:var(--pink-mid)!important; }
.swiper-button-next::after,
.swiper-button-prev::after { font-size:1rem!important; font-weight:900!important; }
.swiper-pagination-bullet { background:rgba(255,255,255,.4)!important; width:8px!important; height:8px!important; }
.swiper-pagination-bullet-active { background:var(--pink)!important; width:28px!important; border-radius:4px!important; }

/* ── MARQUEE ── */
.marquee-bar { background:linear-gradient(90deg, var(--green-dark), var(--pink-mid), var(--green-dark)); padding:10px 0; overflow:hidden; }
.marquee-track { display:flex; animation:marquee 30s linear infinite; white-space:nowrap; }
.marquee-item {
  display:inline-flex; align-items:center; gap:10px;
  padding:0 30px; font-size:.78rem; font-weight:700;
  color:rgba(255,255,255,.85); letter-spacing:.08em; text-transform:uppercase;
}
.marquee-item::after { content:'✦'; color:var(--pink-light); opacity:.6; }
@keyframes marquee { from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ── SECTION STYLES ── */
section { padding:88px 0; }
.section-label {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.7rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--pink); margin-bottom:14px;
}
.section-label::before, .section-label::after { content:''; display:block; width:26px; height:1.5px; background:var(--pink); flex-shrink:0; }
.section-title { font-family:'Amiri',serif; font-size:clamp(1.9rem,3.5vw,2.8rem); font-weight:700; color:var(--green-dark); line-height:1.25; margin-bottom:16px; }
.section-desc  { font-size:.98rem; color:var(--text-muted); line-height:1.82; max-width:580px; }
.text-center { text-align:center; }
.text-center .section-desc    { margin:0 auto; }
.text-center .section-label   { justify-content:center; }

/* ── FEATURES ── */
.features { background:var(--white); }
.features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:50px; }
.feature-card {
  padding:34px 28px; border-radius:16px; border:1.5px solid var(--border);
  background:var(--white); transition:all .3s; position:relative; overflow:hidden;
}
.feature-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--green-dark), var(--pink));
  transform:scaleX(0); transform-origin:left; transition:transform .3s;
}
.feature-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:transparent; }
.feature-card:hover::before { transform:scaleX(1); }
.feature-icon { width:54px; height:54px; background:var(--pink-pale); border-radius:14px; display:grid; place-items:center; margin-bottom:20px; font-size:1.5rem; transition:all .3s; }
.feature-card:hover .feature-icon { background:var(--pink); }
.feature-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.22rem; font-weight:700; color:var(--green-dark); margin-bottom:10px; }
.feature-card p  { font-size:.87rem; color:var(--text-muted); line-height:1.75; }

/* ── ABOUT ── */
.about-split { background:var(--cream); overflow:hidden; }
.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.about-visual { position:relative; height:520px; }
.about-img-main { width:78%; height:420px; object-fit:cover; border-radius:20px; position:absolute; top:0; left:0; box-shadow:var(--shadow-md); }
.about-img-accent { width:55%; height:260px; object-fit:cover; border-radius:16px; position:absolute; bottom:0; right:0; border:6px solid var(--white); box-shadow:var(--shadow-md); }
.about-badge-float { position:absolute; top:40px; right:0; background:var(--pink); color:var(--white); border-radius:14px; padding:16px 20px; text-align:center; box-shadow:var(--shadow-pink); z-index:2; }
.about-badge-float .num { font-family:'Amiri',serif; font-size:1.8rem; font-weight:700; display:block; }
.about-badge-float .lbl { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; display:block; margin-top:3px; opacity:.85; }
.values-list { list-style:none; margin-top:26px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.values-list li { display:flex; align-items:center; gap:8px; font-size:.88rem; font-weight:500; color:var(--text-mid); }
.values-list li::before { content:'✦'; color:var(--pink); font-size:10px; flex-shrink:0; }
.about-cta { margin-top:34px; display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.btn-green { display:inline-flex; align-items:center; gap:8px; background:var(--green-dark); color:var(--white); padding:13px 26px; border-radius:10px; font-weight:700; font-size:.85rem; letter-spacing:.04em; text-decoration:none; transition:all .25s; }
.btn-green:hover { background:var(--green-mid); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-ghost { display:inline-flex; align-items:center; gap:6px; color:var(--pink); font-size:.85rem; font-weight:700; text-decoration:none; border-bottom:2px solid var(--pink); padding-bottom:2px; transition:color .2s; }

/* ── VISION/MISSION ── */
.vm-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:54px; }
.vm-card { background:var(--white); border-radius:18px; padding:32px; border-top:4px solid var(--pink); box-shadow:var(--shadow-sm); transition:all .3s; }
.vm-card:hover { box-shadow:var(--shadow-md); transform:translateY(-4px); }
.vm-card .vm-icon { font-size:2.2rem; margin-bottom:16px; }
.vm-card h3 { font-family:'Amiri',serif; font-size:1.28rem; color:var(--green-dark); margin-bottom:10px; }
.vm-card p  { font-size:.86rem; color:var(--text-muted); line-height:1.8; }

/* ── SCHOOLS ── */
.schools-dual { background:var(--white); }
.schools-tabs { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:50px; }
.school-card { border-radius:20px; overflow:hidden; position:relative; min-height:480px; display:flex; flex-direction:column; justify-content:flex-end; box-shadow:var(--shadow-md); cursor:pointer; transition:transform .3s; }
.school-card:hover { transform:translateY(-6px); }
.school-card-bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s; }
.school-card:hover .school-card-bg { transform:scale(1.04); }
.school-card-overlay { position:absolute; inset:0; background:linear-gradient(0deg, rgba(10,54,34,.92) 0%, rgba(10,54,34,.4) 60%, transparent 100%); }
.school-card-content { position:relative; z-index:2; padding:30px; }
.school-type-badge { display:inline-block; background:var(--pink); color:var(--white); font-size:.65rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; padding:4px 12px; border-radius:20px; margin-bottom:14px; }
.school-card-content h3 { font-family:'Amiri',serif; font-size:1.9rem; color:var(--white); margin-bottom:12px; line-height:1.2; }
.school-card-content p  { font-size:.86rem; color:rgba(255,255,255,.72); line-height:1.7; margin-bottom:20px; }
.school-features-mini { list-style:none; margin-bottom:22px; display:flex; flex-wrap:wrap; gap:8px; }
.school-features-mini li { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:20px; padding:4px 12px; font-size:.72rem; color:rgba(255,255,255,.8); }
.school-card-link { display:inline-flex; align-items:center; gap:8px; background:var(--pink); border:none; color:var(--white); padding:11px 22px; border-radius:8px; font-size:.82rem; font-weight:700; text-decoration:none; transition:all .25s; }
.school-card-link:hover { background:var(--pink-mid); }

/* ── STATS ── */
.stats-section { background:var(--green-dark); padding:68px 0; position:relative; overflow:hidden; }
.stats-section::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='1.5' fill='%23e91e8c' fill-opacity='0.1'/%3E%3C/svg%3E") repeat; pointer-events:none; }
.stats-inner { display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
.stat-item { text-align:center; padding:28px 18px; }
.stat-item:not(:last-child)::after { content:''; position:absolute; right:0; top:20%; bottom:20%; width:1px; background:rgba(233,30,140,.2); }
.stat-item .icon { font-size:1.6rem; margin-bottom:10px; display:block; }
.stat-item .num  { font-family:'Amiri',serif; font-size:3rem; font-weight:700; color:var(--pink-light); display:block; line-height:1; }
.stat-item .lbl  { font-size:.76rem; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.12em; margin-top:7px; display:block; }

/* ── FACILITIES ── */
.facilities { background:var(--cream); }
.fac-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:50px; }
.fac-item { background:var(--white); border-radius:16px; padding:26px; border:1.5px solid var(--border); display:flex; gap:18px; align-items:flex-start; transition:all .3s; }
.fac-item:hover { border-color:var(--pink); box-shadow:var(--shadow-sm); transform:translateY(-3px); }
.fac-icon  { font-size:1.6rem; flex-shrink:0; width:48px; height:48px; background:var(--pink-pale); border-radius:12px; display:grid; place-items:center; transition:background .3s; }
.fac-item:hover .fac-icon { background:var(--pink); }
.fac-body h4 { font-size:.92rem; font-weight:700; color:var(--green-dark); margin-bottom:6px; }
.fac-body p  { font-size:.8rem; color:var(--text-muted); line-height:1.65; }

/* ── NEWS ── */
.news-section { background:var(--white); }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:50px; }
.news-card { border-radius:18px; overflow:hidden; border:1.5px solid var(--border); transition:all .3s; background:var(--white); }
.news-card:hover { box-shadow:var(--shadow-md); transform:translateY(-5px); border-color:var(--pink); }
.news-card-img { height:210px; overflow:hidden; position:relative; }
.news-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.news-card:hover .news-card-img img { transform:scale(1.06); }
.news-cat-badge {
  position:absolute; top:14px; left:14px;
  background:var(--pink); color:var(--white);
  font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  padding:4px 12px; border-radius:20px;
}
.news-card-body { padding:22px; }
.news-meta { display:flex; align-items:center; gap:12px; font-size:.72rem; color:var(--text-muted); margin-bottom:10px; }
.news-meta i { color:var(--pink); }
.news-card-body h3 { font-family:'Amiri',serif; font-size:1.15rem; color:var(--green-dark); margin-bottom:10px; line-height:1.35; }
.news-card-body p  { font-size:.83rem; color:var(--text-muted); line-height:1.72; margin-bottom:16px; }
.news-read-more { display:inline-flex; align-items:center; gap:6px; color:var(--pink); font-size:.82rem; font-weight:700; text-decoration:none; transition:gap .2s; }
.news-read-more:hover { gap:10px; }
.news-view-all { text-align:center; margin-top:40px; }
.btn-outline-pink {
  display:inline-flex; align-items:center; gap:8px;
  border:2px solid var(--pink); color:var(--pink);
  padding:12px 28px; border-radius:10px; font-weight:700; font-size:.88rem;
  text-decoration:none; transition:all .25s; letter-spacing:.04em; text-transform:uppercase;
}
.btn-outline-pink:hover { background:var(--pink); color:var(--white); box-shadow:var(--shadow-pink); }

/* ── EVENTS ── */
.events-section { background:var(--cream); }
.events-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; margin-top:50px; align-items:start; }
.events-list { display:flex; flex-direction:column; gap:18px; }
.event-card {
  background:var(--white); border-radius:16px; padding:22px;
  border:1.5px solid var(--border); display:flex; gap:18px; align-items:flex-start;
  transition:all .3s; position:relative; overflow:hidden;
}
.event-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--pink); border-radius:2px 0 0 2px; }
.event-card:hover { box-shadow:var(--shadow-md); transform:translateX(4px); border-color:var(--pink); }
.event-date-box {
  flex-shrink:0; width:58px; height:64px; border-radius:12px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
}
.event-date-box .day  { font-family:'Amiri',serif; font-size:1.6rem; font-weight:700; color:var(--white); line-height:1; }
.event-date-box .mon  { font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.75); }
.event-body { flex:1; min-width:0; }
.event-cat { font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; margin-bottom:5px; display:inline-block; padding:2px 8px; border-radius:10px; color:var(--white); }
.event-body h4 { font-size:.94rem; font-weight:700; color:var(--green-dark); margin-bottom:5px; line-height:1.3; }
.event-body p  { font-size:.78rem; color:var(--text-muted); line-height:1.6; }
.event-meta { display:flex; gap:12px; margin-top:8px; flex-wrap:wrap; }
.event-meta span { font-size:.72rem; color:var(--text-muted); display:flex; align-items:center; gap:4px; }
.event-meta i { color:var(--pink); font-size:.7rem; }

/* Events sidebar calendar */
.events-sidebar {}
.events-mini-cal {
  background:var(--white); border-radius:18px; padding:28px; border:1.5px solid var(--border);
  margin-bottom:24px;
}
.cal-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.cal-header h4 { font-family:'Amiri',serif; font-size:1.2rem; color:var(--green-dark); }
.cal-header .cal-nav { background:var(--pink-pale); border:none; width:28px; height:28px; border-radius:8px; cursor:pointer; color:var(--pink); font-size:.8rem; }
.cal-days-header { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-bottom:8px; }
.cal-days-header span { text-align:center; font-size:.6rem; font-weight:700; text-transform:uppercase; color:var(--text-muted); padding:4px 0; }
.cal-days { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.cal-day { aspect-ratio:1; display:grid; place-items:center; font-size:.75rem; border-radius:6px; cursor:pointer; transition:all .2s; color:var(--text-mid); }
.cal-day:hover { background:var(--pink-pale); color:var(--pink); }
.cal-day.today { background:var(--pink); color:var(--white); font-weight:700; border-radius:50%; }
.cal-day.has-event { background:var(--pink-pale); color:var(--pink); font-weight:700; position:relative; }
.cal-day.has-event::after { content:''; position:absolute; bottom:2px; width:4px; height:4px; background:var(--pink); border-radius:50%; }
.cal-day.other-month { color:var(--border); }

/* Upcoming event card */
.upcoming-event-card {
  background:linear-gradient(135deg, var(--pink), var(--pink-mid));
  border-radius:16px; padding:26px; color:var(--white);
  position:relative; overflow:hidden;
}
.upcoming-event-card::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='8' fill='none' stroke='%23fff' stroke-opacity='0.06' stroke-width='1'/%3E%3C/svg%3E") repeat; pointer-events:none; }
.upcoming-event-card h4 { font-family:'Amiri',serif; font-size:1.1rem; margin-bottom:10px; }
.upcoming-event-card p  { font-size:.8rem; opacity:.8; line-height:1.65; margin-bottom:16px; }
.upcoming-event-card .ue-meta { font-size:.74rem; opacity:.7; display:flex; gap:14px; margin-bottom:18px; }
.btn-white-sm { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.2); border:1.5px solid rgba(255,255,255,.35); color:var(--white); padding:8px 18px; border-radius:8px; font-size:.78rem; font-weight:700; text-decoration:none; transition:all .2s; }
.btn-white-sm:hover { background:rgba(255,255,255,.3); }

/* ── OWL CAROUSEL – TESTIMONIALS ── */
.testimonials { background:var(--white); }
.owl-carousel .testimonial-card {
  background:var(--cream); border-radius:18px; padding:32px;
  border:1.5px solid var(--border); position:relative; margin:10px 12px 40px;
  transition:all .3s; box-shadow:var(--shadow-sm);
}
.owl-carousel .testimonial-card:hover { border-color:var(--pink); box-shadow:var(--shadow-md); }
.t-quote { font-family:'Amiri',serif; font-size:4.5rem; color:var(--pink-pale); position:absolute; top:10px; right:22px; line-height:1; }
.t-stars { color:var(--pink); font-size:.9rem; letter-spacing:2px; margin-bottom:14px; }
.t-text  { font-size:.9rem; color:var(--text-mid); line-height:1.82; margin-bottom:22px; font-style:italic; }
.t-author { display:flex; align-items:center; gap:12px; }
.t-avatar { width:44px; height:44px; border-radius:50%; border:2px solid var(--pink); display:grid; place-items:center; font-family:'Amiri',serif; font-size:1rem; font-weight:700; color:var(--white); flex-shrink:0; }
.t-name { font-size:.88rem; font-weight:700; color:var(--green-dark); }
.t-role { font-size:.74rem; color:var(--text-muted); }

/* OWL overrides */
.owl-dots { margin-top:10px!important; }
.owl-dots .owl-dot span { background:var(--border)!important; width:8px!important; height:8px!important; }
.owl-dots .owl-dot.active span { background:var(--pink)!important; width:28px!important; border-radius:4px!important; }
.owl-nav { display:none; }

/* ── ADMISSION ── */
.admission-section { background:var(--cream); }
.admission-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:60px; align-items:start; }
.steps-list { margin-top:30px; }
.step-item { display:flex; gap:18px; margin-bottom:26px; align-items:flex-start; }
.step-num { width:42px; height:42px; flex-shrink:0; border-radius:50%; background:var(--pink-pale); border:2px solid var(--pink); display:grid; place-items:center; font-family:'Amiri',serif; font-size:1.1rem; font-weight:700; color:var(--pink); }
.step-body h4 { font-size:.94rem; font-weight:700; color:var(--green-dark); margin-bottom:5px; }
.step-body p  { font-size:.82rem; color:var(--text-muted); line-height:1.65; }
.admission-card { background:var(--green-dark); border-radius:24px; padding:40px 34px; position:relative; overflow:hidden; color:var(--white); }
.admission-card::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 0L80 40L40 80L0 40Z' fill='none' stroke='%23e91e8c' stroke-opacity='0.08' stroke-width='1'/%3E%3C/svg%3E") repeat; pointer-events:none; }
.ac-title { font-family:'Amiri',serif; font-size:1.8rem; color:var(--white); margin-bottom:8px; }
.ac-sub   { font-size:.84rem; color:rgba(255,255,255,.6); margin-bottom:28px; }
.info-table { width:100%; border-collapse:collapse; margin-bottom:26px; }
.info-table tr { border-bottom:1px solid rgba(255,255,255,.08); }
.info-table tr:last-child { border-bottom:none; }
.info-table td { padding:11px 0; font-size:.84rem; }
.info-table td:first-child { color:rgba(255,255,255,.6); }
.info-table td:last-child { text-align:right; font-weight:600; color:var(--pink-light); }
.btn-gold { display:inline-flex; align-items:center; gap:8px; background:var(--gold); color:var(--green-dark); padding:13px 26px; border-radius:10px; font-weight:700; font-size:.88rem; letter-spacing:.04em; text-transform:uppercase; text-decoration:none; width:100%; justify-content:center; transition:all .25s; margin-bottom:12px; }
.btn-gold:hover { background:var(--gold-light); }

/* ── CTA BAND ── */
.cta-band { background:linear-gradient(135deg, var(--pink-mid) 0%, var(--pink) 50%, var(--green-dark) 100%); padding:80px 0; position:relative; overflow:hidden; }
.cta-band::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L60 30L30 60L0 30Z' fill='none' stroke='%23fff' stroke-opacity='0.05' stroke-width='1'/%3E%3C/svg%3E") repeat; }
.cta-inner { position:relative; text-align:center; }
.cta-inner h2 { font-family:'Amiri',serif; font-size:clamp(2rem,4vw,3.1rem); color:var(--white); margin-bottom:14px; }
.cta-inner p  { color:rgba(255,255,255,.7); font-size:1rem; max-width:520px; margin:0 auto 34px; line-height:1.8; }
.cta-btns { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
.btn-white { display:inline-flex; align-items:center; gap:8px; background:var(--white); color:var(--pink-mid); padding:14px 28px; border-radius:10px; font-weight:700; font-size:.9rem; letter-spacing:.05em; text-transform:uppercase; text-decoration:none; transition:all .25s; }
.btn-white:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(0,0,0,.2); }

/* ── CONTACT ── */
.contact-section { background:var(--white); }
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:60px; align-items:start; }
.contact-info-item { display:flex; align-items:center; gap:14px; font-size:.9rem; color:var(--text-mid); margin-bottom:18px; text-decoration:none; transition:color .2s; }
.contact-info-item:hover { color:var(--pink); }
.ci-icon { width:42px; height:42px; background:var(--pink-pale); border-radius:10px; display:grid; place-items:center; flex-shrink:0; color:var(--pink); font-size:1rem; }
.contact-form { background:var(--cream); border-radius:20px; padding:38px; border:1.5px solid var(--border); }
.contact-form h3 { font-family:'Amiri',serif; font-size:1.4rem; color:var(--green-dark); margin-bottom:24px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:.76rem; font-weight:700; color:var(--text-mid); margin-bottom:6px; letter-spacing:.06em; text-transform:uppercase; }
.form-control {
  width:100%; padding:12px 16px; border:1.5px solid var(--border); border-radius:8px;
  font-family:'Outfit',sans-serif; font-size:.88rem; color:var(--text-dark);
  background:var(--white); outline:none; transition:border-color .2s;
  appearance:none; -webkit-appearance:none;
}
.form-control:focus { border-color:var(--pink); box-shadow:0 0 0 3px rgba(233,30,140,.08); }
textarea.form-control { resize:vertical; min-height:110px; }
.btn-submit { width:100%; justify-content:center; background:linear-gradient(135deg,var(--pink),var(--pink-mid)); color:var(--white); border:none; cursor:pointer; padding:14px; font-family:'Outfit',sans-serif; font-size:.9rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; border-radius:10px; display:flex; align-items:center; gap:8px; transition:all .25s; }
.btn-submit:hover { transform:translateY(-2px); box-shadow:var(--shadow-pink); }

/* ── FOOTER ── */
.footer { background:#071e10; color:rgba(255,255,255,.7); padding:72px 0 0; border-top:3px solid var(--pink); }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:44px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,.06); }
.footer-logo { display:flex; align-items:center; gap:12px; text-decoration:none; margin-bottom:16px; }
.footer-logo .logo-icon { width:48px; height:48px; border-color:rgba(201,168,76,.5); }
.footer-logo .logo-name    { color:var(--white); font-size:1.1rem; }
.footer-logo .logo-tagline { color:var(--pink); }
.footer-brand p { font-size:.84rem; line-height:1.8; color:rgba(255,255,255,.5); margin-bottom:20px; }
.footer-contact-item { display:flex; align-items:center; gap:10px; font-size:.82rem; color:rgba(255,255,255,.55); margin-bottom:10px; text-decoration:none; transition:color .2s; }
.footer-contact-item:hover { color:var(--pink-light); }
.footer-contact-item i { color:var(--pink); font-size:.85rem; }
.footer-col h4 { font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--pink); margin-bottom:18px; padding-bottom:9px; border-bottom:1px solid rgba(233,30,140,.2); }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:9px; }
.footer-links a { font-size:.84rem; color:rgba(255,255,255,.5); text-decoration:none; transition:color .2s; display:flex; align-items:center; gap:6px; }
.footer-links a::before { content:'›'; color:var(--pink); }
.footer-links a:hover { color:var(--pink-light); }
.footer-socials { display:flex; gap:8px; margin-top:16px; }
.footer-socials a { width:34px; height:34px; border-radius:8px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); display:grid; place-items:center; color:rgba(255,255,255,.5); transition:all .25s; text-decoration:none; font-size:.8rem; }
.footer-socials a:hover { background:var(--pink); border-color:var(--pink); color:var(--white); }
.footer-bottom { padding:20px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:.78rem; color:rgba(255,255,255,.3); }
.footer-bottom-links { display:flex; gap:18px; }
.footer-bottom-links a { color:rgba(255,255,255,.3); text-decoration:none; transition:color .2s; }
.footer-bottom-links a:hover { color:var(--pink-light); }
.admin-link { color:var(--pink)!important; text-decoration:none; }
.admin-link:hover { color:var(--pink-light)!important; }

/* ── MOBILE MENU ── */
.mobile-menu-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1100; backdrop-filter:blur(3px); }
.mobile-menu { position:fixed; top:0; right:0; bottom:0; width:320px; background:var(--white); z-index:1200; transform:translateX(100%); transition:transform .35s cubic-bezier(.4,0,.2,1); overflow-y:auto; box-shadow:var(--shadow-lg); }
.mobile-menu.open { transform:translateX(0); }
.mobile-menu-overlay.open { display:block; }
.mm-header { display:flex; justify-content:space-between; align-items:center; padding:18px 22px; background:var(--green-dark); border-bottom:3px solid var(--pink); }
.mm-close { background:rgba(255,255,255,.1); border:none; width:34px; height:34px; border-radius:8px; cursor:pointer; color:var(--white); display:grid; place-items:center; font-size:1rem; }
.mm-item > a { display:flex; justify-content:space-between; align-items:center; padding:13px 22px; font-size:.88rem; font-weight:600; color:var(--text-mid); text-decoration:none; border-bottom:1px solid rgba(229,223,200,.4); transition:color .2s; }
.mm-item > a:hover { color:var(--pink); background:var(--pink-pale); }
.mm-sub { display:none; background:var(--cream); }
.mm-sub.open { display:block; }
.mm-sub a { display:block; padding:9px 22px 9px 36px; font-size:.83rem; color:var(--text-muted); text-decoration:none; border-bottom:1px solid rgba(229,223,200,.4); transition:color .2s; }
.mm-sub a:hover { color:var(--pink); }
.mm-cta { padding:18px 22px; }
.mm-cta .btn-apply { width:100%; justify-content:center; }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);} }
.animated { animation:fadeUp .55s ease both; }

/* ── RESPONSIVE ── */
@media (max-width:1060px) { .nav > li > a { padding:0 11px; font-size:.78rem; } }
@media (max-width:960px) {
  .nav, .header-actions .btn-search { display:none; }
  .hamburger { display:flex; }
  .features-grid, .schools-tabs, .news-grid { grid-template-columns:1fr; }
  .about-layout, .admission-layout, .contact-grid { grid-template-columns:1fr; gap:36px; }
  .about-visual { height:320px; }
  .stats-inner { grid-template-columns:repeat(2,1fr); }
  .fac-grid { grid-template-columns:1fr 1fr; }
  .vm-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .events-layout { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  section { padding:60px 0; }
  .hero-swiper { height:85vh; }
  .fac-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .stats-inner { grid-template-columns:1fr 1fr; }
  .form-row { grid-template-columns:1fr; }
}

/* BACK TO TOP */
#backToTop {
  position: fixed;
  right: 22px;
  bottom: 110px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: none;
  background: linear-gradient(135deg,#145c38,#0a3622);
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 10px 25px rgba(0,0,0,.25);
  z-index: 9999;
  transition: all .3s ease;
}

#backToTop:hover {
  transform: translateY(-3px);
}

/* Shift WhatsApp button so they don't overlap */
#wa-launcher {
  bottom: 25px;
}

/* =====================================================
   FULL MOBILE RESPONSIVE FIXES
===================================================== */

/* Tablets */
@media (max-width: 992px) {

    .container{
        padding-left:15px;
        padding-right:15px;
    }

    .header-inner{
        height:auto;
        min-height:72px;
        padding:10px 0;
    }

    .logo-name{
        font-size:1rem;
    }

    .logo-tagline{
        font-size:.55rem;
    }

    .slide-content{
        max-width:100%;
    }

    .slide-stats{
        gap:20px;
        flex-wrap:wrap;
    }

    .about-img-main,
    .about-img-accent{
        position:relative;
        width:100%;
        height:auto;
        left:auto;
        right:auto;
        top:auto;
        bottom:auto;
    }

    .about-visual{
        height:auto;
        display:flex;
        flex-direction:column;
        gap:15px;
    }

    .about-badge-float{
        position:relative;
        top:auto;
        right:auto;
        margin-bottom:15px;
        display:inline-block;
    }
}


/* Mobile */
@media (max-width: 768px) {

    html,
    body{
        overflow-x:hidden;
    }

    .topbar{
        padding:8px 0;
    }

    .topbar .container{
        flex-direction:column;
        text-align:center;
    }

    .topbar-left,
    .topbar-right{
        justify-content:center;
    }

    .logo{
        max-width:80%;
    }

    .logo-name{
        font-size:.9rem;
        line-height:1.2;
    }

    .logo-tagline{
        font-size:.5rem;
        letter-spacing:.08em;
    }

    .hero-swiper{
        min-height:500px;
        height:80vh;
    }

    .slide-content h1{
        font-size:2rem;
    }

    .slide-content .subtitle{
        font-size:.9rem;
        line-height:1.7;
    }

    .slide-stats{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:15px;
    }

    .slide-stat .num{
        font-size:1.5rem;
    }

    .btn-pink,
    .btn-outline-white,
    .btn-green,
    .btn-gold,
    .btn-white{
        width:100%;
        justify-content:center;
    }

    .features-grid,
    .news-grid,
    .schools-tabs,
    .vm-grid,
    .fac-grid{
        grid-template-columns:1fr !important;
    }

    .values-list{
        grid-template-columns:1fr;
    }

    .stats-inner{
        grid-template-columns:1fr 1fr;
    }

    .event-card{
        flex-direction:column;
    }

    .event-date-box{
        width:100%;
        height:auto;
        padding:12px;
        flex-direction:row;
        gap:10px;
    }

    .contact-form{
        padding:25px;
    }

    .footer-bottom{
        flex-direction:column;
        text-align:center;
    }

    .footer-bottom-links{
        justify-content:center;
        flex-wrap:wrap;
    }

    .mobile-menu{
        width:100%;
        max-width:350px;
    }

    table{
        display:block;
        overflow-x:auto;
        white-space:nowrap;
    }

    iframe,
    video,
    img{
        max-width:100%;
        height:auto;
    }
}


/* Small Phones */
@media (max-width: 480px) {

    section{
        padding:50px 0;
    }

    .container{
        padding-left:12px;
        padding-right:12px;
    }

    .logo-icon{
        width:44px;
        height:44px;
    }

    .logo-name{
        font-size:.8rem;
    }

    .logo-tagline{
        display:none;
    }

    .header-actions .btn-apply{
        display:none;
    }

    .slide-content h1{
        font-size:1.7rem;
    }

    .slide-badge{
        font-size:.6rem;
    }

    .section-title{
        font-size:1.6rem;
    }

    .section-desc{
        font-size:.9rem;
    }

    .stats-inner{
        grid-template-columns:1fr;
    }

    .stat-item .num{
        font-size:2rem;
    }

    .feature-card,
    .vm-card,
    .fac-item,
    .news-card-body,
    .contact-form,
    .admission-card{
        padding:20px;
    }

    .form-control{
        font-size:16px; /* Prevents iPhone zoom */
    }

    #backToTop{
        width:42px;
        height:42px;
        right:15px;
        bottom:90px;
    }

    #wa-launcher{
        bottom:20px;
        right:15px;
    }
}

.desktop-only{
    display:inline-flex;
}

@media (max-width:480px){
    .desktop-only{
        display:none !important;
    }
}