/* Kalpurush (Bangla glyphs only) — self-hosted, replaces the inline base64 face */
@font-face{font-family:"Kalpurush";src:url("../fonts/kalpurush.ttf") format("truetype");font-weight:100 900;font-display:swap;unicode-range:U+0964-0965,U+0980-09FF,U+200C-200D,U+25CC;}
:root{
  --ink:#0B1733; --paper:#F5F7FB; --surface:#FFFFFF; --line:#D9E0EC; --muted:#5A6785;
  --blue:#1D4ED8; --marigold:#E8A317; --growth:#0E9F6E;
  --on-blue:#FFFFFF; --deep:#0B1733; --on-deep:#F5F7FB;
  --blue-soft:rgba(29,78,216,.08); --mari-soft:rgba(232,163,23,.14);
  --nav-bg:rgba(245,247,251,.92); --shadow:rgba(11,23,51,.35);
  --band-dark-bg:#0B1733; --band-dark-surface:#13234B;
  --font-display:"Kalpurush","Anek Bangla","Kalpurush","Hind Siliguri","Noto Sans Bengali",sans-serif;
  --font-body:"Kalpurush","Hind Siliguri","Noto Sans Bengali",sans-serif;
  --font-mono:"JetBrains Mono","Kalpurush","Hind Siliguri",ui-monospace,monospace;
  --r:5px; --nav-h:60px; --gut:clamp(16px,4.5vw,28px);
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#EAF0FA; --paper:#0E1A35; --surface:#14213F; --line:#22304F; --muted:#93A0BC;
    --blue:#6E95FF; --marigold:#F2B840; --growth:#34C78F;
    --on-blue:#0A1226; --deep:#060C1C; --on-deep:#EAF0FA;
    --blue-soft:rgba(110,149,255,.12); --mari-soft:rgba(242,184,64,.14);
    --nav-bg:rgba(10,18,38,.9); --shadow:rgba(0,0,0,.6);
    --band-dark-bg:#040913; --band-dark-surface:#0C1630;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ink:#EAF0FA; --paper:#0E1A35; --surface:#14213F; --line:#22304F; --muted:#93A0BC;
  --blue:#6E95FF; --marigold:#F2B840; --growth:#34C78F;
  --on-blue:#0A1226; --deep:#060C1C; --on-deep:#EAF0FA;
  --blue-soft:rgba(110,149,255,.12); --mari-soft:rgba(242,184,64,.14);
  --nav-bg:rgba(10,18,38,.9); --shadow:rgba(0,0,0,.6);
  --band-dark-bg:#040913; --band-dark-surface:#0C1630;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth} }
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:clamp(17px,.4vw + 15.5px,18px);line-height:1.75;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.2;margin:0}
p{margin:0}
a{color:var(--blue);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:3px}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.wrap{max-width:1120px;margin:0 auto;padding:0 var(--gut);padding-left:max(var(--gut),env(safe-area-inset-left));padding-right:max(var(--gut),env(safe-area-inset-right))}
.skip{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--blue);color:var(--on-blue);padding:10px 14px;border-radius:var(--r)}
.skip:focus{left:12px}

/* ---------- bands: each sets its own tokens so alternation holds in both themes ---------- */
section,.band{background:var(--paper);color:var(--ink)}
.band-dark{
  --ink:#EAF0FA; --paper:var(--band-dark-bg); --surface:var(--band-dark-surface); --line:rgba(234,240,250,.14); --muted:#A7B3CC;
  --blue:#86A6FF; --marigold:#F2B840; --growth:#3DD39A; --on-blue:#0A1226;
  --blue-soft:rgba(134,166,255,.14); --mari-soft:rgba(242,184,64,.16); --shadow:rgba(0,0,0,.65);
  color-scheme:dark;
}
.band-light{
  --ink:#0B1733; --paper:#F5F7FB; --surface:#FFFFFF; --line:#D9E0EC; --muted:#5A6785;
  --blue:#1D4ED8; --marigold:#E8A317; --growth:#0E9F6E; --on-blue:#FFFFFF;
  --blue-soft:rgba(29,78,216,.08); --mari-soft:rgba(232,163,23,.16);
  color-scheme:light;
}
.band-mari{
  --paper:#E8A317; --surface:#F2B840; --ink:#0B1733; --muted:#3D2C06; --line:rgba(11,23,51,.22);
  --blue:#0B1733; --on-blue:#F5F7FB; --marigold:#0B1733; --blue-soft:rgba(11,23,51,.08);
  color-scheme:light;
}
.band-dark,.band-light,.band-mari{color:var(--ink)}

section{padding:clamp(56px,8vw,104px) 0;border-bottom:1px solid var(--line)}
.kicker{font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--blue);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.kicker::before{content:"";width:22px;height:2px;background:var(--blue);flex:none}
h2{font-size:clamp(32px,4.6vw + 16px,60px);line-height:1.12;letter-spacing:-.01em;max-width:18ch}
.lede{color:var(--muted);margin-top:16px;max-width:58ch;font-size:clamp(17px,.5vw + 15.5px,19px)}

/* ---------- top bar ---------- */
.nav{position:sticky;top:0;z-index:20;background:var(--nav-bg);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:var(--nav-h)}
.back{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px 0 0;color:var(--ink);text-decoration:none;font-weight:600;font-size:16px;white-space:nowrap}
.back .arr{color:var(--blue);transition:transform .2s ease}
.back:hover{color:var(--blue)}
.back:hover .arr{transform:translateX(-3px)}
.mark{font-family:var(--font-display);font-weight:700;font-size:clamp(13px,1vw + 10px,17px);letter-spacing:.04em;color:var(--ink);white-space:nowrap}
.mark span{color:var(--blue)}
@media (max-width:359px){ .mark{display:none} }

/* ---------- hero ---------- */
.hero{padding:clamp(40px,8vw,104px) 0 clamp(52px,8vw,110px);position:relative;overflow:hidden;
  background-image:repeating-linear-gradient(to bottom,transparent 0 35px,rgba(234,240,250,.05) 35px 36px);background-color:var(--paper)}
.hero::before{content:"";position:absolute;top:0;bottom:0;left:clamp(8px,3vw,40px);width:1px;background:var(--marigold);opacity:.3}
.hero .wrap{position:relative}
.hero-grid{display:grid;gap:36px}
.id{display:flex;gap:18px;align-items:center}
.mono-gram{width:clamp(76px,16vw,108px);height:clamp(76px,16vw,108px);flex:none;border-radius:var(--r);background:var(--blue);color:var(--on-blue);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:clamp(30px,6vw,44px);letter-spacing:.02em;position:relative}
.mono-gram::after{content:"";position:absolute;left:14px;right:14px;bottom:13px;height:3px;background:var(--marigold)}
.speaker-tag{font-size:15px;font-weight:600;color:var(--marigold)}
.hero h1{font-size:clamp(2.35rem,9vw + .4rem,5.4rem);line-height:1.15;letter-spacing:-.01em;margin-top:4px}
.en-name{display:block;font-family:var(--font-body);font-weight:500;font-size:clamp(17px,1vw + 14px,21px);color:var(--muted);margin-top:8px;letter-spacing:.01em}
.role{display:inline-block;margin-top:22px;font-family:var(--font-display);font-weight:600;font-size:clamp(17px,1vw + 14px,21px);line-height:1.4;color:var(--blue);border-left:3px solid var(--blue);padding:2px 0 2px 12px;max-width:36ch}
.now{margin-top:12px;color:var(--muted);font-size:16.5px}
.quote{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.65rem,4.4vw + .6rem,3.2rem);line-height:1.22;letter-spacing:-.005em;max-width:22ch}
.quote::before{content:"“";display:block;font-size:1.6em;line-height:.6;color:var(--marigold);margin-bottom:.12em}
.quote em{font-style:normal;color:var(--marigold)}
.quote-by{display:block;margin-top:14px;font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--muted)}
.chips{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.chips li{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;background:var(--surface)}
.chips b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(22px,1.6vw + 16px,32px);line-height:1.1;color:var(--ink)}
.chips span{display:block;margin-top:4px;font-size:14.5px;line-height:1.4;color:var(--muted)}
.chips li:first-child b{color:var(--marigold)}
@media (min-width:880px){
  .hero-grid{grid-template-columns:1.05fr 1fr;align-items:end;gap:56px}
  .chips{grid-template-columns:repeat(4,1fr)}
}
@media (prefers-reduced-motion: no-preference){
  .hero-grid > *,.chips li{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
  .hero-grid > :nth-child(2){animation-delay:.12s}
  .chips li:nth-child(1){animation-delay:.2s} .chips li:nth-child(2){animation-delay:.26s}
  .chips li:nth-child(3){animation-delay:.32s} .chips li:nth-child(4){animation-delay:.38s}
  @keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}

/* ---------- story (note card) ---------- */
.story-grid{display:grid;gap:28px;margin-top:8px}
.note-card{max-width:720px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,4vw,36px) clamp(18px,4vw,36px) clamp(22px,4vw,36px) clamp(30px,5vw,48px);position:relative;
  background-image:repeating-linear-gradient(to bottom,transparent 0 33px,var(--line) 33px 34px);background-position:0 26px}
.note-card::before{content:"";position:absolute;top:0;bottom:0;left:clamp(14px,2.6vw,24px);width:1px;background:var(--marigold);opacity:.75}
.note-card .hi{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,1.6vw + 16px,28px);color:var(--blue)}
.note-card p{margin-top:12px;line-height:2;font-size:clamp(17px,.4vw + 15.5px,18.5px)}
.note-card strong{font-weight:600}
.note-card .sign{margin-top:18px;font-family:var(--font-display);font-weight:700;font-size:19px}
.note-card .sign small{display:block;font-family:var(--font-body);font-weight:500;font-size:14.5px;color:var(--muted)}
.facts{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink);align-self:start}
.facts li{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16.5px}
.facts .k{font-size:14.5px;font-weight:600;color:var(--muted);padding-top:1px}
@media (min-width:900px){ .story-grid{grid-template-columns:1.5fr 1fr;gap:48px} }

/* ---------- journey ---------- */
.journey{list-style:none;margin:36px 0 0;padding:0;position:relative;max-width:820px}
.journey::before{content:"";position:absolute;left:7px;top:14px;bottom:14px;width:2px;background:var(--line)}
.journey li{position:relative;padding:0 0 30px 36px}
.journey li:last-child{padding-bottom:0}
.journey li::before{content:"";position:absolute;left:0;top:9px;width:16px;height:16px;border-radius:50%;background:var(--paper);border:2px solid var(--muted)}
.journey .yr{display:inline-block;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;color:var(--blue);background:var(--blue-soft);padding:1px 8px;border-radius:3px}
.journey .yr.soft{font-family:var(--font-body);color:var(--muted);background:transparent;border:1px solid var(--line)}
.journey h3{font-size:clamp(21px,1.4vw + 16px,28px);margin-top:8px}
.journey p{color:var(--muted);margin-top:4px;max-width:58ch;font-size:17px}
.journey .key::before{border-color:var(--blue);background:var(--blue)}
.journey .today::before{border-color:var(--marigold);background:var(--marigold)}
.journey .today .yr{color:var(--ink);background:var(--mari-soft);font-family:var(--font-body)}
@media (min-width:720px){
  .journey::before{left:131px}
  .journey li{display:grid;grid-template-columns:100px 1fr;gap:56px;padding-left:0}
  .journey li::before{left:124px}
  .journey .yr{justify-self:end;align-self:start;margin-top:6px}
  .journey h3{margin-top:0}
}

/* ---------- ventures (dark) ---------- */
.ventures{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:12px}
.v{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--c,var(--line));border-radius:var(--r);padding:22px;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease}
.v:hover{transform:translateY(-2px)}
.v .pos{font-size:14.5px;font-weight:600;color:var(--c,var(--muted))}
.v h3{font-size:clamp(22px,1.4vw + 17px,28px);margin-top:4px;line-height:1.25}
.v p{color:var(--muted);margin-top:8px;font-size:16.5px;flex:1}
.v a{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:8px;font-weight:600;text-decoration:none}
.v a:hover{text-decoration:underline}
.v.main{--c:var(--blue)}
.v.chair{--c:var(--marigold)}
.v.vms{--c:var(--growth)}
@media (min-width:640px){ .ventures{grid-template-columns:1fr 1fr} .v.main{grid-column:1 / -1} }
@media (min-width:1000px){ .ventures{grid-template-columns:repeat(3,1fr)} .v.main{grid-column:span 2} }
@media (prefers-reduced-motion: reduce){ .v:hover,.p:hover{transform:none} }

/* ---------- products ---------- */
.products{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:12px}
.p{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 18px 20px;position:relative;display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease}
.p:hover{border-color:var(--blue);transform:translateY(-2px)}
.p .cat{font-size:13.5px;font-weight:600;color:var(--muted);letter-spacing:.01em}
.p h3{font-size:clamp(20px,.8vw + 17px,23px);margin-top:2px}
.p p{margin-top:6px;font-size:17px;line-height:1.7;flex:1}
.p .stat{display:inline-block;margin-top:10px;font-size:14.5px;font-weight:600;color:var(--growth)}
.p a{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;font-weight:600;text-decoration:none}
.p a:hover{text-decoration:underline}
.p.flag{border-color:var(--blue);background:linear-gradient(var(--blue-soft),var(--blue-soft)),var(--surface)}
.p.flag .cat{color:var(--blue)}
.p.ai .cat{color:var(--blue)}
.prod-note{margin-top:18px;color:var(--muted);font-size:15.5px;max-width:62ch}
@media (min-width:640px){ .products{grid-template-columns:1fr 1fr} }
@media (min-width:1000px){ .products{grid-template-columns:repeat(3,1fr)} }

/* ---------- why (marigold) ---------- */
.why h2{max-width:16ch}
.why-body{display:grid;gap:18px;margin-top:24px;max-width:680px}
.why-body p{font-size:clamp(17.5px,.5vw + 16px,20px);line-height:1.85}
.why-body strong{font-weight:600}
.two-goals{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:10px;max-width:820px}
.two-goals li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}
.two-goals .n{font-family:var(--font-display);font-weight:700;font-size:22px;width:44px;height:44px;display:grid;place-items:center;background:var(--ink);color:var(--paper);border-radius:var(--r)}
.two-goals b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(19px,.8vw + 16px,22px);line-height:1.3}
.two-goals span{display:block;margin-top:4px;font-size:16.5px;color:var(--muted)}
.why-sign{margin-top:24px;font-family:var(--font-display);font-weight:700;font-size:19px}
@media (min-width:760px){ .two-goals{grid-template-columns:1fr 1fr} }

/* ---------- memberships ---------- */
.members{list-style:none;margin:32px 0 0;padding:0;border-top:2px solid var(--ink);max-width:860px}
.members li{display:grid;grid-template-columns:1fr;gap:2px;padding:16px 0;border-bottom:1px solid var(--line)}
.members b{font-family:var(--font-display);font-weight:700;font-size:clamp(20px,1vw + 16px,24px);line-height:1.3}
.members span{color:var(--muted);font-size:16.5px}
.members .glc{display:inline-block;font-family:var(--font-mono);font-size:13.5px;font-weight:600;color:var(--blue);border:1px solid var(--blue);border-radius:3px;padding:0 6px;margin-left:6px;vertical-align:3px;white-space:nowrap}
@media (min-width:720px){ .members li{grid-template-columns:minmax(220px,1fr) 1.4fr;gap:24px;align-items:baseline} }

/* ---------- footer ---------- */
footer{padding:clamp(48px,7vw,80px) 0 calc(36px + env(safe-area-inset-bottom))}
footer h2{font-size:clamp(28px,3.4vw + 16px,46px);max-width:20ch}
.links{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:10px;max-width:760px}
.links a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .2s ease}
.links a:hover{border-color:var(--blue)}
.links b{display:block;font-family:var(--font-mono);font-weight:400;font-size:clamp(15px,.6vw + 13px,17px);word-break:break-word}
.links small{display:block;font-size:14.5px;color:var(--muted)}
.links .ext{color:var(--blue);flex:none;font-size:20px}
@media (min-width:760px){ .links{grid-template-columns:repeat(3,1fr)} }
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:var(--on-blue);font-weight:600;font-size:17px;line-height:1.2;text-decoration:none;padding:12px 22px;border-radius:var(--r);min-height:48px;transition:filter .15s ease}
.btn:hover{filter:brightness(1.1)}
.foot-row small{color:var(--muted);font-size:14.5px}
