/* Core theme */
:root{
  --primary:#0d6efd;
  --accent:#ffb606;
  --text:#1c1f23;
  --nav-h:82px;
  --radius:1rem;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;color:var(--text)}
.section-pad{padding:72px 0}

/* Navbar */
.navbar .nav-link,
.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active{ text-decoration:none !important; box-shadow:none !important; border:none !important; }
.navbar-brand img{ height:52px; max-height:52px; }
@media (max-width: 991.98px){ .navbar-brand img{ height:40px; max-height:40px; } }

/* Hero video */
.hero-video-wrap{position:relative;min-height:88vh;display:grid;place-items:center;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.85)}
.hero-video-wrap .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.25))}
.hero-content{position:relative;z-index:2;max-width:900px}
.hero-content .btn{border-radius:999px}

/* Quick links */
.quick-links{background:#071D49;color:#fff}
.card.lift{transition:transform .18s ease, box-shadow .18s ease}
.card.lift:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.icon-badge{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:var(--shadow)}

/* About */
.about-fig{padding-top:12px}
.spin-badge{position:absolute;left:-28px;top:-28px;width:120px;height:120px;border-radius:50%;background:#fff;border:6px solid #e6ebff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.08);animation:spin 12s linear infinite}
.spin-badge span{font-size:12px;font-weight:700;color:#071D49;text-transform:uppercase;text-align:center;line-height:1.15;letter-spacing:.06em}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.img-float{position:absolute;right:0%;bottom:-8%;width:250px}
.about-copy{border-left:3px solid #071D49;padding-left:18px}
@media (min-width:992px){.about-copy{max-width:560px}}

/* Partners */
.partners{background:linear-gradient(180deg,#fbf4ef 0%,#ffffff 55%,#eef1ff 100%)}
.partner-logo{height:140px;width:auto;filter:none;opacity:1}
@media (max-width:768px){.partner-logo{height:72px}}

/* Features */
.feature-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);box-shadow:var(--shadow)}
.feature-icon{font-size:28px;color:var(--accent)}

/* Video circle */
.video-circle{position:relative;display:inline-block}
.video-circle .play{position:absolute;inset:0;margin:auto;width:72px;height:72px;border-radius:50%;background:rgba(0,0,0,.55);display:block;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:ripple 2s infinite}
.video-circle .play::before{content:"";display:block;width:0;height:0;margin:26px auto 0;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #fff}
@keyframes ripple{0%{box-shadow:0 0 0 0 rgba(255,255,255,.6)}70%{box-shadow:0 0 0 24px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}

/* Courses */
.courses{background:linear-gradient(180deg,#fff8f4 0%,#f9f4ff 100%)}
.courses .badge{font-weight:700;letter-spacing:.08em;color:#0b5ed7;background:transparent}
.courses h3{font-size:2.25rem;font-weight:800;color:#071D49}
.card-cat{border:none;border-radius:1rem;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease}
.card-cat:hover{transform:translateY(-4px)}
.card-cat .card-body{background:#f3f6fb;padding:.95rem 1rem}
.card-cat h6{margin:0;font-weight:700;color:#071D49}

/* Stories */
.stories{background:linear-gradient(180deg,#fff7f1 0%,#ffffff 100%)}
.stories h3{font-size:2rem;font-weight:800;color:#071D49}
.story-frame{position:relative;width:100%;padding-top:66%;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);background:#e9eef7}
.story-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.story-frame:hover img{transform:scale(1.05)}
#storiesCarousel .carousel-control-prev,#storiesCarousel .carousel-control-next{filter:invert(1) grayscale(100%);opacity:.7}
#storiesCarousel .carousel-control-prev:hover,#storiesCarousel .carousel-control-next:hover{opacity:1}

/* Events */
.events{background:linear-gradient(180deg,#f3f7ff 0%,#ffffff 100%)}
.card.event{border:none;border-radius:1rem;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease, box-shadow .2s ease}
.card.event:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.12)}
.card.event img{height:220px;object-fit:cover}
.event .event-date{position:absolute;z-index:2;top:16px;left:16px;width:56px;height:56px;border-radius:14px;background:#071D49;color:#fff;display:grid;place-items:center;line-height:1;box-shadow:0 8px 22px rgba(7,29,73,.35)}
.event .event-date .day{font-size:18px;font-weight:800}.event .event-date .mon{font-size:12px;opacity:.8;text-transform:uppercase}

/* Blogs */
.blogs{background:linear-gradient(180deg,#fff 0%,#f6f3ff 100%)}
.card.blog{border:none;border-radius:1rem;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease, box-shadow .2s ease}
.card.blog:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.12)}
.card.blog img{height:220px;object-fit:cover}
.card.blog .badge{font-size:.65rem;letter-spacing:.06em}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease}
.reveal.show{opacity:1;transform:none}
.reveal.delay-1{transition-delay:.1s}.reveal.delay-2{transition-delay:.2s}.reveal.delay-3{transition-delay:.3s}

/* Footer */
footer{border-top:1px solid rgba(255,255,255,.1)}
