:root{
  --brand:#0B4DA2; --accent:#F5A300; --dark:#0A1B33;
  --ink:#16233b; --muted:#5b6b82; --line:#e4e9f0; --bg:#f7f9fc;
  --ag-primary:var(--brand); --aic-primary:var(--brand);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Hind Siliguri','Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.6;
  overflow-x:clip;
}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
img,svg,video,iframe{max-width:100%}
img{height:auto}
table{max-width:100%}
h1,h2,h3,h4,p,a,span,li{overflow-wrap:break-word}

/* ── header ─────────────────────────────────────────── */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1020}
.navbar-brand{display:flex;align-items:center;gap:.55rem;font-weight:700;color:var(--dark);min-width:0;flex:0 1 auto}
.navbar-brand img{height:36px;width:auto;max-width:112px;object-fit:contain;flex:0 0 auto}
.navbar-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw;font-size:1rem}
.navbar-brand:hover{text-decoration:none}
@media (max-width:575.98px){ .navbar-brand img{max-width:84px;height:30px} .navbar-brand span{max-width:44vw;font-size:.9rem} }
.site-header .nav-link{color:var(--ink);font-weight:500}
.site-header .nav-link:hover{color:var(--brand);text-decoration:none}
.lang-toggle{border:1px solid var(--line);border-radius:999px;padding:.25rem .8rem!important}

.notice-bar{padding:.5rem 0;font-size:.92rem}
.notice-bar a{text-decoration:underline}
.notice-bar .container{flex-wrap:wrap;text-align:center;overflow-wrap:anywhere}
@media (max-width:575.98px){ .notice-bar{font-size:.8rem} }

/* ── sections ───────────────────────────────────────── */
.section{padding:64px 0}
.section.bg-light{background:#fff}
.section-head{font-size:clamp(1.4rem,3.2vw,2rem);font-weight:700;color:var(--dark);margin-bottom:.5rem}
.page-hero{padding:72px 0;background:linear-gradient(180deg,#fff, var(--bg));text-align:center}
.page-hero h1{font-size:clamp(1.7rem,4.4vw,2.8rem);font-weight:700;color:var(--dark)}
.page-hero .lead{color:var(--muted);max-width:640px;margin:.6rem auto 0}
.text-brand{color:var(--brand)!important}

.card{border:1px solid var(--line);border-radius:12px}

/* stats strip */
.stats-strip{background:var(--brand);color:#fff;padding:36px 0}
.stats-strip .bi{font-size:1.6rem;opacity:.85}
.stats-strip .stat-n{font-size:1.9rem;font-weight:700;line-height:1.1;margin-top:.25rem}
.stats-strip .stat-l{font-size:.9rem;opacity:.9}

/* ── buttons ────────────────────────────────────────── */
.btn-brand{background:var(--brand);border:1px solid var(--brand);color:#fff}
.btn-brand:hover{background:var(--dark);border-color:var(--dark);color:#fff}
.btn-outline-brand{background:transparent;border:1px solid var(--brand);color:var(--brand)}
.btn-outline-brand:hover{background:var(--brand);color:#fff}

/* ── footer ─────────────────────────────────────────── */
.site-footer{background:var(--dark);color:#c9d4e4;padding:48px 0 24px;margin-top:48px;border-top:4px solid var(--accent)}
.site-footer h5,.site-footer h6{color:#fff;display:flex;align-items:center;gap:.5rem}
.site-footer a{color:#c9d4e4}
.site-footer a:hover{color:#fff}
.site-footer hr{border-color:rgba(255,255,255,.15);margin:1.5rem 0 1rem}
.footer-logo{height:34px;width:auto;max-width:120px;background:#FBF6EE;border-radius:8px;padding:4px;object-fit:contain}
.social-row{display:flex;gap:.5rem;margin-top:.75rem}
.social-row a{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-size:1rem}
.social-row a:hover{background:var(--accent);border-color:var(--accent);color:var(--dark)}
.dev-credit{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:.2rem .7rem;font-size:.85rem;text-decoration:none}
.dev-credit:hover{background:rgba(255,255,255,.16)}
.dev-credit .bi-heart-fill{color:#ff5a7a;animation:heartbeat 1.6s ease-in-out infinite}
@keyframes heartbeat{0%,100%{transform:scale(1)}12%{transform:scale(1.25)}24%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.dev-credit .bi-heart-fill{animation:none}}

/* back-to-top */
.to-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:0;background:var(--brand);color:#fff;font-size:1.1rem;display:none;place-items:center;z-index:1030;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.to-top.show{display:grid}

@media (min-width:1200px){ .navbar-nav{flex-wrap:nowrap} }

/* ── §12.1 mobile safety net ────────────────────────── */
.container,.container-fluid{overflow-wrap:break-word}
.d-flex{min-width:0}
.row.g-5,.row.gx-5{--bs-gutter-x:1.5rem}
@media (max-width:767px){.section,.page-hero{padding:40px 0}}
@media (max-width:575.98px){
  .page-hero .btn-lg{font-size:.95rem;padding:.5rem .9rem}
  .page-hero .lead{font-size:1rem}
}

/* ── dark theme ─────────────────────────────────────── */
:root:not([data-theme="light"]) {}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#e7edf6; --muted:#9fb0c6; --line:#26364d; --bg:#0d1526;
  }
  :root:not([data-theme="light"]) .site-header,
  :root:not([data-theme="light"]) .card,
  :root:not([data-theme="light"]) .section.bg-light{background:#131e33}
}
:root[data-theme="dark"]{--ink:#e7edf6;--muted:#9fb0c6;--line:#26364d;--bg:#0d1526}
