:root{
  /* Blue family palette */
  --navy-deep:#061b36;      /* darkest - menu bar */
  --navy:#0b2447;           /* primary navy */
  --navy-light:#14396b;     /* secondary */
  --blue:#1f5aa3;           /* accent blue */
  --blue-bright:#2e7fd6;    /* bright accent / links / motion highlights */
  --sky:#7fb8ef;            /* light accent */
  --gold:#c9a227;
  --gold-light:#e6c85a;
  --bg:#eef3fa;             /* very light blue-tinted background, not pure white */
  --card:#f7fafd;           /* near-white card, slight blue tint */
  --text:#122238;
  --muted:#5a7191;
  --border:#d7e3f2;
  --success:#1a8754;
  --danger:#c53030;
  --warning:#b7791f;
  --radius:10px;
  --shadow:0 4px 16px rgba(11,36,71,0.12);
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Segoe UI',Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;}
.container{max-width:1180px;margin:0 auto;padding:0 20px;}
a{text-decoration:none;color:inherit;}
h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;color:var(--navy);margin:0 0 .5em;}
img{max-width:100%;display:block;}

/* ---------- Enrollment Marquee ---------- */
.marquee{background:linear-gradient(90deg,var(--gold),var(--gold-light));color:var(--navy-deep);overflow:hidden;white-space:nowrap;padding:9px 0;font-weight:700;font-size:.85rem;letter-spacing:.4px;position:relative;z-index:101;}
.marquee-track{display:inline-flex;animation:marqueeScroll 24s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
.marquee-track span{padding-right:70px;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;}
@keyframes marqueeScroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ---------- Header / Menu (its own distinct color) ---------- */
.site-header{background:var(--navy-deep);position:sticky;top:0;z-index:100;box-shadow:var(--shadow);border-bottom:2px solid var(--blue);}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:64px;}
.brand{font-family:Georgia,serif;font-size:1.5rem;font-weight:bold;color:#fff;letter-spacing:1px;display:flex;align-items:center;gap:10px;}
.brand-logo{height:38px;width:auto;display:block;}
.brand-text{font-size:.95rem;line-height:1.25;font-family:Georgia,serif;}
.brand-text small{font-size:.62em;font-weight:400;color:#c9d9f0;letter-spacing:.5px;text-transform:uppercase;}
.main-nav{display:flex;align-items:center;gap:22px;}
.main-nav a{color:#c9d9f0;font-size:.95rem;transition:color .2s;}
.main-nav a:hover{color:var(--sky);}
.btn-nav{background:var(--blue-bright);color:#fff!important;padding:8px 16px;border-radius:6px;font-weight:600;transition:background .2s,transform .2s;}
.btn-nav:hover{background:var(--sky);transform:translateY(-1px);}
.btn-nav-outline{background:transparent;border:1px solid #3a5f92;color:#fff!important;padding:7px 15px;border-radius:6px;transition:background .2s;}
.btn-nav-outline:hover{background:rgba(255,255,255,.08);}
.nav-toggle{display:none;background:none;border:none;font-size:1.6rem;color:#fff;cursor:pointer;}

/* ---------- Hero (with motion background + visible photo) ---------- */
.hero{position:relative;overflow:hidden;padding:80px 0;color:#fff;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);}
.hero-bg-layer{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroZoom 18s ease-in-out infinite alternate;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(6,27,54,.62),rgba(31,90,163,.42));}
@keyframes heroZoom{
  0%{transform:scale(1) translate(0,0);}
  100%{transform:scale(1.14) translate(-1%,-1%);}
}
.hero .container.hero-grid{position:relative;z-index:1;}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
.hero h1{color:#fff;font-size:2.6rem;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.25);}
.hero p{color:#dce8f7;font-size:1.1rem;max-width:520px;}
.hero-tag{display:inline-block;background:rgba(201,162,39,.2);color:var(--gold-light);padding:6px 14px;border-radius:20px;font-size:.8rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;backdrop-filter:blur(2px);}
.hero-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.btn{display:inline-block;padding:13px 26px;border-radius:6px;font-weight:600;border:none;cursor:pointer;font-size:.95rem;transition:transform .2s,box-shadow .2s,background .2s;}
.btn-primary{background:var(--gold);color:var(--navy);}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 6px 16px rgba(201,162,39,.35);}
.btn-outline{background:transparent;border:1px solid #fff;color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.12);transform:translateY(-2px);}
.hero-visual{background:rgba(8,28,56,.55);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:24px;backdrop-filter:blur(3px);}
.hero-visual img{animation:heroFloat 5s ease-in-out infinite;box-shadow:0 10px 30px rgba(0,0,0,.35);}
@keyframes heroFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-10px);}
}
.hero-stat{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.hero-stat:last-child{border-bottom:none;}
.hero-stat b{color:var(--gold-light);font-size:1.4rem;display:block;}

/* ---------- Sections ---------- */
section{padding:70px 0;}
.section-head{text-align:center;max-width:640px;margin:0 auto 44px;}
.section-tag{color:var(--blue-bright);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:.8rem;}
.grid{display:grid;gap:26px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}

.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;border:1px solid var(--border);transition:transform .25s,box-shadow .25s;}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(11,36,71,.16);}
.feature-card{text-align:left;}
.feature-icon{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--navy),var(--blue));display:flex;align-items:center;justify-content:center;color:var(--gold-light);font-size:1.4rem;margin-bottom:16px;transition:transform .3s;}
.card:hover .feature-icon{transform:scale(1.08) rotate(-3deg);}
.feature-card h3{font-size:1.1rem;}
.feature-card p{color:var(--muted);font-size:.93rem;margin:0;}

.alt-bg{background:#e2ecf9;}
.cta{background:linear-gradient(135deg,var(--navy-deep),var(--navy-light));color:#fff;text-align:center;border-radius:16px;padding:60px 30px;margin:0 20px;}
.cta h2{color:#fff;}
.cta p{color:#c9d6e8;}

/* ---------- Forms ---------- */
.form-card{max-width:480px;margin:60px auto;background:var(--card);padding:40px;border-radius:var(--radius);box-shadow:var(--shadow);border-top:4px solid var(--blue);}
.form-wide{max-width:760px;}
label{display:block;font-weight:600;margin:16px 0 6px;font-size:.9rem;color:var(--navy);}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:6px;font-size:.95rem;font-family:inherit;background:#fff;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue-bright);box-shadow:0 0 0 3px rgba(46,127,214,.15);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-actions{margin-top:26px;}
.form-actions .btn{width:100%;}
.form-note{text-align:center;margin-top:18px;font-size:.9rem;color:var(--muted);}

/* ---------- Alerts ---------- */
.alert{padding:13px 16px;border-radius:8px;margin-bottom:18px;font-size:.9rem;}
.alert-success{background:#e6f6ee;color:var(--success);border:1px solid #b7e4cb;}
.alert-error{background:#fdeaea;color:var(--danger);border:1px solid #f3c1c1;}
.alert-warning{background:#fdf3dc;color:var(--warning);border:1px solid #f0dba0;}

/* ---------- Dashboard layout ---------- */
.dash-wrap{display:grid;grid-template-columns:240px 1fr;min-height:100vh;}
.sidebar{background:var(--navy-deep);color:#c9d9f0;padding:24px 0;border-right:2px solid var(--blue);}
.sidebar .brand{display:flex;align-items:center;gap:10px;padding:0 24px 20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:12px;}
.sidebar .brand-logo{height:32px;}
.sidebar a{display:block;padding:11px 24px;font-size:.92rem;color:#b7cbe8;border-left:3px solid transparent;transition:background .2s,border-color .2s;}
.sidebar a:hover,.sidebar a.active{background:rgba(46,127,214,.15);color:#fff;border-left-color:var(--gold);}
.sidebar .role-tag{padding:0 24px;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--gold-light);margin-bottom:6px;}
.dash-main{padding:26px 32px;background:var(--bg);}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;flex-wrap:wrap;gap:12px;}
.topbar h1{font-size:1.5rem;margin:0;}
.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px;}
.stat-card{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);border-left:4px solid var(--blue-bright);transition:transform .2s;}
.stat-card:hover{transform:translateY(-3px);}
.stat-card .num{font-size:1.8rem;font-weight:700;color:var(--navy);}
.stat-card .label{color:var(--muted);font-size:.85rem;}
.panel{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:24px;}
.panel h2{font-size:1.1rem;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:16px;color:var(--navy);}

table{width:100%;border-collapse:collapse;font-size:.9rem;}
th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--border);}
th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;background:#eaf1fb;}
tr:hover td{background:#f2f7fd;}
.table-wrap{overflow-x:auto;}

.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:600;}
.badge-green{background:#e6f6ee;color:var(--success);}
.badge-red{background:#fdeaea;color:var(--danger);}
.badge-yellow{background:#fdf3dc;color:var(--warning);}
.badge-blue{background:#dfeafc;color:var(--blue);}

.btn-sm{padding:6px 14px;font-size:.82rem;border-radius:5px;}
.btn-danger{background:var(--danger);color:#fff;}
.progress-bar{background:var(--border);border-radius:20px;height:8px;overflow:hidden;}
.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--gold));}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-deep);color:#c9d6e8;padding:50px 0 0;margin-top:60px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;padding-bottom:30px;}
.footer-grid h3,.footer-grid h4{color:#fff;}
.footer-grid a{display:block;color:#c9d6e8;padding:4px 0;font-size:.9rem;transition:color .2s;}
.footer-grid a:hover{color:var(--sky);}
.copyright{border-top:1px solid rgba(255,255,255,.1);text-align:center;padding:18px 0;font-size:.82rem;color:#93a5c2;}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .dash-wrap{grid-template-columns:1fr;}
  .sidebar{display:none;}
  .stat-cards{grid-template-columns:repeat(2,1fr);}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr 1fr;}
  .hero-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .nav-toggle{display:block;}
  .main-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--navy-deep);flex-direction:column;padding:16px;gap:4px;}
  .main-nav.open{display:flex;}
  .stat-cards{grid-template-columns:1fr;}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .form-card{margin:30px 16px;padding:26px;}
  table{font-size:.8rem;}
  .marquee-track span{padding-right:40px;font-size:.8rem;}
}

/* ================================================================
   HERO CAROUSEL — rotating slides with cross-fade transitions
   ================================================================ */
.hero-carousel{position:relative;overflow:hidden;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out;z-index:0;}
.hero-slide.active{opacity:1;z-index:1;}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroZoom 12s ease-in-out infinite alternate;}
.hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(6,27,54,.68),rgba(31,90,163,.46));}
.hero-carousel-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:8px;}
.hero-carousel-dots button{width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:transparent;cursor:pointer;padding:0;transition:background .2s,transform .2s;}
.hero-carousel-dots button.active{background:var(--gold);border-color:var(--gold);transform:scale(1.2);}
.hero-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(6,27,54,.5);color:#fff;border:1px solid rgba(255,255,255,.3);width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.hero-carousel-arrow:hover{background:rgba(46,127,214,.8);}
.hero-carousel-arrow.prev{left:16px;}
.hero-carousel-arrow.next{right:16px;}
.hero-slide-caption{position:absolute;left:0;bottom:60px;z-index:2;color:#fff;padding:0 20px;max-width:600px;}
.hero-slide-caption h3{color:#fff;font-size:1.6rem;text-shadow:0 2px 8px rgba(0,0,0,.4);}
.hero-slide-caption p{color:#dce8f7;margin:6px 0 14px;}

/* ================================================================
   ANIMATED STATISTICS (count-up numbers)
   ================================================================ */
.stat-counter{transition:transform .2s;}
.hero-stat:hover .stat-counter{transform:scale(1.08);}

/* ================================================================
   INTERACTIVE CONTENT CARDS (feature cards with reveal + shine)
   ================================================================ */
.interactive-card{position:relative;overflow:hidden;cursor:pointer;}
.interactive-card::before{content:'';position:absolute;top:0;left:-75%;width:50%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);transition:left .6s ease;}
.interactive-card:hover::before{left:125%;}
.interactive-card .card-more{max-height:0;overflow:hidden;transition:max-height .35s ease,margin-top .35s ease;font-size:.85rem;color:var(--muted);}
.interactive-card:hover .card-more,.interactive-card.expanded .card-more{max-height:120px;margin-top:10px;}
.interactive-card .card-arrow{display:inline-block;transition:transform .3s;color:var(--blue-bright);font-size:.8rem;margin-top:8px;}
.interactive-card:hover .card-arrow{transform:translateX(4px);}

/* ================================================================
   VIDEO SECTION
   ================================================================ */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.video-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);transition:transform .25s,box-shadow .25s;}
.video-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(11,36,71,.16);}
.video-card .video-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#000;}
.video-card video,.video-card iframe{width:100%;height:100%;border:none;display:block;}
.video-card .video-info{padding:16px;}
.video-card .video-info h4{margin:0 0 6px;font-size:1rem;color:var(--navy);}
.video-card .video-info p{margin:0;font-size:.85rem;color:var(--muted);}

/* ================================================================
   SCROLLING ANNOUNCEMENTS (extends existing .marquee)
   ================================================================ */
.marquee-track span.announcement-item{color:var(--navy-deep);}
.marquee-track span.announcement-item::before{content:'📢';margin-right:6px;}

/* ================================================================
   ADMISSIONS PAGE — steps, requirements, fee box, status tracker
   ================================================================ */
.steps-list{counter-reset:step;list-style:none;padding:0;margin:0;}
.steps-list li{counter-increment:step;position:relative;padding:14px 0 14px 52px;border-bottom:1px solid var(--border);}
.steps-list li:last-child{border-bottom:none;}
.steps-list li::before{content:counter(step);position:absolute;left:0;top:12px;width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;}
.requirements-list{list-style:none;padding:0;margin:0;}
.requirements-list li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid var(--border);font-size:.92rem;}
.requirements-list li:last-child{border-bottom:none;}
.requirements-list li::before{content:'✓';position:absolute;left:0;top:10px;color:var(--success);font-weight:700;}
.fee-box{background:linear-gradient(135deg,var(--navy),var(--navy-light));color:#fff;border-radius:var(--radius);padding:22px 26px;text-align:center;}
.fee-box .amount{font-size:2rem;font-weight:700;color:var(--gold-light);}
.status-lookup{background:var(--card);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);border-top:4px solid var(--blue);}
.status-timeline{display:flex;justify-content:space-between;margin:20px 0;position:relative;}
.status-timeline::before{content:'';position:absolute;top:16px;left:0;right:0;height:3px;background:var(--border);z-index:0;}
.status-step{position:relative;z-index:1;text-align:center;flex:1;}
.status-step .dot{width:34px;height:34px;border-radius:50%;background:var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-weight:700;font-size:.85rem;border:3px solid var(--bg);}
.status-step.done .dot{background:var(--success);color:#fff;}
.status-step.current .dot{background:var(--gold);color:var(--navy);}
.status-step .label{font-size:.78rem;color:var(--muted);}

/* ================================================================
   ACADEMICS PAGE — timetable grid, exams, policies
   ================================================================ */
.timetable-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.timetable-day{background:var(--card);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);}
.timetable-day h4{text-align:center;color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:8px;margin-bottom:10px;font-size:.95rem;}
.timetable-slot{background:#eaf1fb;border-radius:6px;padding:8px 10px;margin-bottom:8px;font-size:.8rem;}
.timetable-slot .time{color:var(--blue);font-weight:700;display:block;font-size:.75rem;}
.policy-card{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border);}
.policy-card:last-child{border-bottom:none;}

/* ================================================================
   LOCATION / CONTACT PAGE
   ================================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.map-embed{width:100%;height:340px;border:0;border-radius:var(--radius);box-shadow:var(--shadow);}
.office-info-list{list-style:none;padding:0;margin:0;}
.office-info-list li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:.9rem;}
.office-info-list li:last-child{border-bottom:none;}
.office-info-list .icon{width:24px;flex-shrink:0;text-align:center;color:var(--blue-bright);}

@media(max-width:900px){
  .video-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .timetable-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .video-grid{grid-template-columns:1fr;}
  .timetable-grid{grid-template-columns:1fr;}
  .hero-slide-caption{bottom:40px;}
  .hero-slide-caption h3{font-size:1.2rem;}
  .status-timeline{flex-wrap:wrap;gap:14px;}
  .status-timeline::before{display:none;}
}
