
:root{
  --edu-primary:#123f6d;
  --edu-primary-2:#0a2b4c;
  --edu-accent:#f0b429;
  --edu-accent-soft:#fff5d7;
  --edu-teal:#087f8c;
  --edu-bg:#f5f8fc;
  --edu-text:#172033;
  --edu-muted:#67748a;
  --edu-border:#dce5ef;
  --edu-success:#1f8b4c;
  --edu-danger:#c93c3c;
  --edu-shadow:0 18px 45px rgba(10,43,76,.12);
  --edu-radius:18px;
}
html{scroll-behavior:smooth}
body{
  font-family:"Hind Siliguri","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--edu-text);
  background:#fff;
  padding-bottom:0;
}
body.lang-en{font-family:"Inter","Hind Siliguri",system-ui,-apple-system,"Segoe UI",sans-serif}
a{text-decoration:none}
img{max-width:100%;height:auto}
.section-pad{padding:78px 0}
.section-title{font-weight:800;letter-spacing:-.02em}
.section-kicker{
  display:inline-flex;align-items:center;gap:.45rem;
  color:var(--edu-primary);font-weight:700;font-size:.88rem;
  text-transform:uppercase;letter-spacing:.08em
}
.section-kicker::before{content:"";width:28px;height:3px;background:var(--edu-accent);border-radius:999px}
.text-muted-edu{color:var(--edu-muted)!important}

.topbar{
  background:var(--edu-primary-2);color:#eaf3fb;font-size:.9rem
}
.topbar a{color:#fff}
.topbar .top-item{display:inline-flex;align-items:center;gap:.4rem}
.lang-switch .btn{border-color:rgba(255,255,255,.28);color:#fff;padding:.2rem .55rem;font-size:.8rem}
.lang-switch .btn.active{background:var(--edu-accent);border-color:var(--edu-accent);color:#132235}

.brand-header{background:#fff;border-bottom:1px solid var(--edu-border)}
.brand-logo{width:64px;height:64px}
.brand-title{font-weight:800;color:var(--edu-primary-2);line-height:1.05}
.brand-subtitle{color:var(--edu-muted);font-size:.92rem}
.header-action{
  border:1px solid var(--edu-border);border-radius:14px;padding:.65rem .85rem;
  display:flex;gap:.75rem;align-items:center;background:#fff
}
.header-action i{color:var(--edu-accent);font-size:1.25rem}
.header-action small{display:block;color:var(--edu-muted)}
.header-action strong{color:var(--edu-primary-2);font-size:.92rem}

.navbar-edu{background:var(--edu-primary);box-shadow:0 8px 22px rgba(10,43,76,.18)}
.navbar-edu .navbar-nav .nav-link{color:#fff;font-weight:600;padding:.9rem .85rem}
.navbar-edu .navbar-nav .nav-link:hover,
.navbar-edu .navbar-nav .nav-link.active{color:var(--edu-accent)}
.navbar-edu .dropdown-menu{border:0;box-shadow:var(--edu-shadow);border-radius:14px;padding:.6rem}
.navbar-edu .dropdown-item{border-radius:9px;padding:.55rem .75rem}
.navbar-toggler{border-color:rgba(255,255,255,.35)}
.navbar-toggler:focus{box-shadow:none}

.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 85% 10%,rgba(240,180,41,.22),transparent 28%),
    linear-gradient(125deg,#0a2b4c 0%,#123f6d 55%,#087f8c 100%);
  color:#fff;
}
.hero::after{
  content:"";position:absolute;inset:auto -8% -36% auto;width:520px;height:520px;
  border:90px solid rgba(255,255,255,.06);border-radius:50%
}
.hero .container{position:relative;z-index:2}
.hero-badge{
  display:inline-flex;gap:.5rem;align-items:center;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  padding:.45rem .75rem;border-radius:999px;color:#fff;font-weight:600
}
.hero h1{font-size:clamp(2.3rem,5vw,4.7rem);font-weight:800;line-height:1.03;letter-spacing:-.035em}
.hero p{font-size:1.08rem;color:#d9e8f5;max-width:670px}
.btn-edu-accent{
  background:var(--edu-accent);border-color:var(--edu-accent);color:#172033;
  font-weight:700;border-radius:12px;padding:.75rem 1.1rem
}
.btn-edu-accent:hover{background:#ffca47;border-color:#ffca47;color:#172033}
.btn-edu-outline{
  border:1px solid rgba(255,255,255,.48);color:#fff;border-radius:12px;padding:.75rem 1.1rem;font-weight:700
}
.btn-edu-outline:hover{background:#fff;color:var(--edu-primary)}
.hero-visual{filter:drop-shadow(0 30px 45px rgba(0,0,0,.23))}
.stat-strip{
  margin-top:-36px;position:relative;z-index:5
}
.stat-card{
  background:#fff;border:1px solid rgba(220,229,239,.9);border-radius:var(--edu-radius);
  box-shadow:var(--edu-shadow);padding:1.1rem;height:100%
}
.stat-icon{
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  background:var(--edu-accent-soft);color:var(--edu-primary);font-size:1.25rem
}
.stat-card h4{font-weight:800;color:var(--edu-primary-2);margin:0}
.stat-card p{margin:0;color:var(--edu-muted);font-size:.9rem}

.notice-ticker{
  background:#fff;border:1px solid var(--edu-border);border-radius:15px;overflow:hidden;
  display:flex;align-items:stretch
}
.notice-label{
  min-width:145px;background:var(--edu-danger);color:#fff;font-weight:700;
  display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1rem
}
.ticker-track{overflow:hidden;flex:1;white-space:nowrap;display:flex;align-items:center}
.ticker-move{display:inline-block;padding-left:100%;animation:ticker 28s linear infinite}
.ticker-move:hover{animation-play-state:paused}
.ticker-move a{color:var(--edu-primary-2);font-weight:600;margin-right:42px}
.ticker-move i{color:var(--edu-accent)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-100%)}}

.quick-card{
  background:#fff;border:1px solid var(--edu-border);border-radius:var(--edu-radius);
  padding:1.25rem;transition:.25s ease;position:relative;overflow:hidden
}
.quick-card::after{
  content:"";position:absolute;right:-34px;bottom:-34px;width:92px;height:92px;
  border-radius:50%;background:var(--edu-accent-soft);transition:.25s
}
.quick-card:hover{transform:translateY(-7px);box-shadow:var(--edu-shadow);border-color:transparent}
.quick-card:hover::after{transform:scale(1.25)}
.quick-icon{
  width:54px;height:54px;display:grid;place-items:center;border-radius:16px;
  background:linear-gradient(135deg,var(--edu-primary),var(--edu-teal));color:#fff;font-size:1.35rem
}
.quick-card h5{font-weight:800;color:var(--edu-primary-2);margin-top:1rem}
.quick-card p{color:var(--edu-muted);margin-bottom:.75rem}
.quick-card .stretched-link{font-weight:700;color:var(--edu-primary)}

.about-panel{
  background:var(--edu-bg);border-radius:28px;padding:2rem;border:1px solid var(--edu-border)
}
.about-image{
  min-height:430px;border-radius:22px;background:
  linear-gradient(rgba(10,43,76,.12),rgba(10,43,76,.12)),
  url("../img/campus.jpg") center/cover no-repeat;
  position:relative;overflow:hidden
}
.about-badge{
  position:absolute;left:20px;bottom:20px;background:#fff;border-radius:16px;padding:1rem 1.15rem;
  box-shadow:var(--edu-shadow)
}
.about-badge strong{display:block;color:var(--edu-primary);font-size:1.6rem}
.check-list{list-style:none;padding:0;margin:0}
.check-list li{display:flex;gap:.65rem;margin:.65rem 0;color:var(--edu-muted)}
.check-list i{color:var(--edu-success)}

.card-edu{
  border:1px solid var(--edu-border);border-radius:var(--edu-radius);box-shadow:none;overflow:hidden
}
.card-edu .card-header{
  background:var(--edu-primary);color:#fff;border:0;font-weight:700;padding:1rem 1.15rem
}
.card-edu .list-group-item{border-color:var(--edu-border);padding:.95rem 1.1rem}
.notice-date{
  min-width:52px;border-radius:12px;background:var(--edu-accent-soft);color:var(--edu-primary);
  text-align:center;padding:.35rem .25rem;font-weight:800;line-height:1.05
}
.notice-date small{font-size:.7rem;display:block;text-transform:uppercase}
.notice-link{color:var(--edu-text);font-weight:600}
.notice-link:hover{color:var(--edu-primary)}
.badge-priority{background:#ffe4e4;color:#9b2424}

.principal-card{
  background:linear-gradient(145deg,#fff,#f7faff);border:1px solid var(--edu-border);
  border-radius:var(--edu-radius);padding:1.25rem
}
.principal-photo{
  width:92px;height:92px;border-radius:20px;object-fit:cover;border:4px solid #fff;
  box-shadow:0 10px 25px rgba(10,43,76,.16)
}

.program-card{
  border:1px solid var(--edu-border);border-radius:var(--edu-radius);
  overflow:hidden;background:#fff;height:100%;transition:.25s
}
.program-card:hover{transform:translateY(-6px);box-shadow:var(--edu-shadow)}
.program-banner{
  height:155px;background:linear-gradient(135deg,var(--edu-primary),var(--edu-teal));
  position:relative;display:flex;align-items:center;justify-content:center;color:#fff
}
.program-banner i{font-size:3rem;opacity:.9}
.program-badge{
  position:absolute;top:14px;right:14px;background:var(--edu-accent);color:#172033;
  font-weight:700;border-radius:999px;padding:.3rem .65rem;font-size:.75rem
}
.program-body{padding:1.2rem}
.program-body h5{font-weight:800}
.program-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--edu-muted);font-size:.9rem}

.event-card{display:flex;gap:1rem;padding:1rem;border:1px solid var(--edu-border);border-radius:16px;background:#fff}
.event-date{
  width:68px;min-width:68px;height:68px;border-radius:16px;background:var(--edu-primary);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1
}
.event-date strong{font-size:1.4rem}.event-date span{font-size:.75rem;text-transform:uppercase}
.event-card h6{font-weight:800;margin-bottom:.3rem}
.event-card p{color:var(--edu-muted);margin:0;font-size:.9rem}

.cta-band{
  background:
    radial-gradient(circle at 15% 30%,rgba(240,180,41,.22),transparent 25%),
    linear-gradient(115deg,var(--edu-primary-2),var(--edu-primary));
  color:#fff;border-radius:28px;padding:2.2rem;overflow:hidden;position:relative
}
.cta-band::after{content:"";position:absolute;right:-90px;top:-90px;width:230px;height:230px;border:46px solid rgba(255,255,255,.07);border-radius:50%}

.page-hero{
  background:linear-gradient(120deg,var(--edu-primary-2),var(--edu-primary));color:#fff;padding:58px 0
}
.breadcrumb-item a{color:#cfe2f3}.breadcrumb-item.active{color:#fff}.breadcrumb-item+.breadcrumb-item::before{color:#b9d0e3}

.form-control,.form-select{
  border-color:var(--edu-border);border-radius:12px;padding:.72rem .85rem
}
.form-control:focus,.form-select:focus{border-color:var(--edu-teal);box-shadow:0 0 0 .22rem rgba(8,127,140,.12)}
.btn-primary-edu{
  background:var(--edu-primary);border-color:var(--edu-primary);color:#fff;border-radius:12px;font-weight:700;padding:.72rem 1rem
}
.btn-primary-edu:hover{background:var(--edu-primary-2);border-color:var(--edu-primary-2);color:#fff}

.portal-shell{
  min-height:560px;border-radius:26px;overflow:hidden;border:1px solid var(--edu-border);box-shadow:var(--edu-shadow)
}
.portal-aside{background:linear-gradient(150deg,var(--edu-primary-2),var(--edu-primary));color:#fff;padding:2rem}
.portal-main{background:#fff;padding:2rem}
.portal-feature{display:flex;gap:.75rem;margin:1.1rem 0;color:#dceaf5}
.portal-feature i{color:var(--edu-accent)}

.footer-main{background:#0a263f;color:#d5e3ef;padding:64px 0 28px}
.footer-main h5{color:#fff;font-weight:800}
.footer-main a{color:#c8d9e7}
.footer-main a:hover{color:var(--edu-accent)}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin:.55rem 0}
.footer-contact{display:flex;gap:.7rem;margin:.7rem 0}
.footer-contact i{color:var(--edu-accent)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding-top:1.25rem;font-size:.9rem;color:#aebfd0}

.mobile-bottom-nav{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:1040;background:#fff;
  border-top:1px solid var(--edu-border);box-shadow:0 -12px 25px rgba(10,43,76,.12);
  grid-template-columns:repeat(5,1fr)
}
.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.55rem .2rem;color:var(--edu-muted);font-size:.72rem}
.mobile-bottom-nav i{font-size:1.15rem;color:var(--edu-primary)}
.mobile-bottom-nav a.highlight{background:var(--edu-accent-soft)}
.mobile-bottom-nav a.active{color:var(--edu-primary);font-weight:700}

.popup-cover{
  width:100%;height:160px;border-radius:14px;background:
  radial-gradient(circle at 75% 15%,rgba(240,180,41,.42),transparent 30%),
  linear-gradient(135deg,var(--edu-primary-2),var(--edu-primary),var(--edu-teal));
  color:#fff;display:grid;place-items:center;text-align:center;padding:1.5rem
}
.popup-cover i{font-size:2rem;color:var(--edu-accent)}

.toast-container{z-index:1090}
[data-lang]{display:none}
body.lang-bn [data-lang="bn"],body.lang-en [data-lang="en"]{display:initial}
body.lang-bn span[data-lang="bn"],body.lang-en span[data-lang="en"],
body.lang-bn a[data-lang="bn"],body.lang-en a[data-lang="en"],
body.lang-bn small[data-lang="bn"],body.lang-en small[data-lang="en"]{display:inline}
body.lang-bn div[data-lang="bn"],body.lang-en div[data-lang="en"],
body.lang-bn p[data-lang="bn"],body.lang-en p[data-lang="en"],
body.lang-bn h1[data-lang="bn"],body.lang-en h1[data-lang="en"],
body.lang-bn h2[data-lang="bn"],body.lang-en h2[data-lang="en"],
body.lang-bn h3[data-lang="bn"],body.lang-en h3[data-lang="en"],
body.lang-bn h4[data-lang="bn"],body.lang-en h4[data-lang="en"],
body.lang-bn h5[data-lang="bn"],body.lang-en h5[data-lang="en"],
body.lang-bn h6[data-lang="bn"],body.lang-en h6[data-lang="en"],
body.lang-bn li[data-lang="bn"],body.lang-en li[data-lang="en"]{display:block}

@media(max-width:991.98px){
  body{padding-bottom:69px}
  .brand-header .header-actions{display:none!important}
  .navbar-edu .navbar-nav .nav-link{padding:.65rem .3rem}
  .hero{padding-top:3rem!important}
  .hero-visual{max-width:520px;margin:2rem auto 0;display:block}
  .stat-strip{margin-top:-18px}
  .mobile-bottom-nav{display:grid}
  .section-pad{padding:58px 0}
}
@media(max-width:767.98px){
  .topbar .hide-mobile{display:none!important}
  .brand-logo{width:52px;height:52px}
  .brand-title{font-size:1.08rem}
  .brand-subtitle{font-size:.8rem}
  .hero h1{font-size:2.45rem}
  .notice-ticker{display:block}
  .notice-label{min-width:auto}
  .ticker-track{padding:.75rem 0}
  .about-image{min-height:315px}
  .portal-aside,.portal-main{padding:1.35rem}
}
