/* Governing Body — Board of Directors (Silver Moon BD) */
#governing{ padding:clamp(64px,9vw,120px) 0; background:var(--ground-alt); }
#governing .gb-head{ max-width:760px; margin-bottom:clamp(28px,4vw,48px); }
#governing .gb-head h2{ font-family:var(--f-display); color:var(--ink); font-size:clamp(30px,4.2vw,48px); line-height:1.08; margin:.25em 0 .4em; font-weight:500; letter-spacing:-.01em; }
#governing .gb-head p.gb-lede{ color:var(--ink-soft); font-size:clamp(15px,1.4vw,17px); line-height:1.65; margin:0; }
#governing .gb-eyebrow{ font-family:var(--f-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin:0; }

/* tabs */
.gb-tabs{ display:inline-flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:999px; background:var(--surface); margin-bottom:18px; }
.gb-tabs[hidden]{ display:none; }
.gb-tab{ appearance:none; border:0; background:transparent; color:var(--ink-soft); font:600 13px/1 var(--f-body); padding:10px 16px; border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.gb-tab[aria-selected="true"]{ background:var(--night); color:var(--on-night); }
.gb-tab:focus-visible,.gb-ctl:focus-visible,.gb-dot:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.gb-tab svg{ width:14px; height:14px; }

/* stage (video-style slideshow) */
.gb-stage{ position:relative; background:var(--night); color:var(--on-night); border-radius:calc(var(--radius) * 2); overflow:hidden; box-shadow:var(--shadow); width:100%; height:clamp(440px, 52vw, 620px); isolation:isolate; }
.gb-stage::before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(120% 90% at 85% 10%, rgba(224,179,84,.16), transparent 55%), radial-gradient(90% 80% at 0% 100%, rgba(79,192,240,.14), transparent 60%); }
.gb-bars{ position:absolute; top:16px; left:20px; right:20px; display:flex; gap:6px; z-index:5; }
.gb-bar{ flex:1; height:3px; border-radius:2px; background:rgba(230,238,247,.22); overflow:hidden; }
.gb-bar i{ display:block; height:100%; width:0; background:var(--on-night); }
.gb-bar.done i{ width:100%; }
.gb-slide{ position:absolute; inset:0; display:grid; grid-template-columns:minmax(0,42%) 1fr; opacity:0; visibility:hidden; transition:opacity .7s ease, visibility 0s linear .7s; }
.gb-slide.on{ opacity:1; visibility:visible; transition:opacity .7s ease; }
.gb-photo{ position:relative; overflow:hidden; }
.gb-photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 18%; display:block; transform:scale(1.02); }
.gb-slide.on .gb-photo img{ animation:gbKen 6.5s ease-out both; }
@keyframes gbKen{ from{ transform:scale(1.14) translateY(2%); } to{ transform:scale(1.02) translateY(0); } }
.gb-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent 60%, var(--night) 100%); }
.gb-copy{ display:flex; flex-direction:column; justify-content:center; padding:56px clamp(24px,5vw,72px) 72px clamp(16px,3vw,40px); }
.gb-copy > *{ opacity:0; transform:translateY(14px); }
.gb-slide.on .gb-copy > *{ animation:gbUp .7s cubic-bezier(.2,.7,.2,1) forwards; }
.gb-slide.on .gb-copy > *:nth-child(2){ animation-delay:.12s; }
.gb-slide.on .gb-copy > *:nth-child(3){ animation-delay:.24s; }
.gb-slide.on .gb-copy > *:nth-child(4){ animation-delay:.36s; }
@keyframes gbUp{ to{ opacity:1; transform:none; } }
.gb-count{ font-family:var(--f-mono); font-size:12px; letter-spacing:.14em; color:var(--on-night-soft); margin:0 0 14px; }
.gb-role{ font-family:var(--f-mono); font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:#E0B354; margin:0 0 10px; }
.gb-name{ font-family:var(--f-display); font-size:clamp(30px,4.4vw,56px); line-height:1.05; font-weight:500; margin:0 0 26px; color:#fff; }
.gb-name .bn{ font-family:"Noto Serif Bengali", var(--f-display); font-weight:600; }
.gb-call{ align-self:flex-start; display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:999px; border:1px solid rgba(230,238,247,.28); color:var(--on-night); text-decoration:none; font:600 15px/1 var(--f-body); font-variant-numeric:tabular-nums; transition:background .2s, border-color .2s; }
.gb-call:hover{ background:rgba(230,238,247,.08); border-color:rgba(230,238,247,.5); }
.gb-call svg{ width:16px; height:16px; color:#E0B354; }
.gb-controls{ position:absolute; right:16px; bottom:16px; display:flex; gap:8px; align-items:center; z-index:6; }
.gb-ctl{ width:40px; height:40px; border-radius:50%; border:1px solid rgba(230,238,247,.28); background:rgba(4,22,44,.55); color:var(--on-night); display:grid; place-items:center; cursor:pointer; backdrop-filter:blur(6px); }
.gb-ctl:hover{ background:rgba(230,238,247,.12); }
.gb-ctl svg{ width:16px; height:16px; }
.gb-brand{ position:absolute; right:20px; top:30px; z-index:6; font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--on-night-soft); }

/* real video panel */
.gb-video{ background:#000; border-radius:calc(var(--radius) * 2); overflow:hidden; box-shadow:var(--shadow); }
.gb-video video{ display:block; width:100%; aspect-ratio:16/9; background:#000; }
.gb-video[hidden],.gb-stage[hidden]{ display:none; }

/* cards */
.gb-grid{ display:grid; grid-template-columns:repeat(var(--gb-cols,4),minmax(0,1fr)); gap:clamp(14px,2vw,24px); margin-top:clamp(28px,4vw,44px); }
.gb-card{ background:var(--surface); border:1px solid var(--line); border-radius:calc(var(--radius) * 2); overflow:hidden; display:flex; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease; }
.gb-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.gb-card button.gb-fig{ all:unset; cursor:pointer; display:block; aspect-ratio:4/5; overflow:hidden; background:var(--surface-2); }
.gb-card button.gb-fig:focus-visible{ outline:2px solid var(--accent); outline-offset:-2px; }
.gb-card img{ width:100%; height:100%; object-fit:cover; object-position:50% 15%; display:block; transition:transform .5s ease; }
.gb-card:hover img{ transform:scale(1.04); }
.gb-card .gb-body{ padding:16px 18px 18px; display:flex; flex-direction:column; gap:6px; flex:1; }
.gb-card .gb-r{ font-family:var(--f-mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.gb-card .gb-n{ font-family:var(--f-display); font-size:20px; line-height:1.2; color:var(--ink); font-weight:500; }
.gb-card .gb-n .bn{ font-family:"Noto Serif Bengali", var(--f-display); font-weight:600; }
.gb-card .gb-t{ margin-top:auto; padding-top:10px; display:inline-flex; align-items:center; gap:8px; color:var(--accent); text-decoration:none; font:600 14.5px/1.2 var(--f-body); font-variant-numeric:tabular-nums; }
.gb-card .gb-t svg{ width:14px; height:14px; }
.gb-card .gb-t:hover{ text-decoration:underline; text-underline-offset:3px; }
.gb-note{ margin-top:18px; font-size:13.5px; color:var(--ink-faint); }

@media (max-width:1100px){ .gb-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px){ .gb-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px){
  .gb-stage{ aspect-ratio:auto; min-height:0; height:640px; }
  .gb-slide{ grid-template-columns:1fr; grid-template-rows:56% 44%; }
  .gb-photo::after{ background:linear-gradient(180deg, transparent 55%, var(--night) 100%); }
  .gb-copy{ padding:8px 20px 72px; justify-content:flex-start; }
  .gb-name{ font-size:30px; margin-bottom:16px; }
  .gb-count{ margin-bottom:8px; }
  .gb-brand{ display:none; }
  .gb-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .gb-card .gb-body{ padding:12px 12px 14px; }
  .gb-card .gb-n{ font-size:16px; }
  .gb-card .gb-t{ font-size:12.5px; white-space:nowrap; gap:6px; }
  .gb-card .gb-t svg{ width:12px; height:12px; flex:none; }
}
@media (prefers-reduced-motion:reduce){
  .gb-slide.on .gb-photo img,.gb-slide.on .gb-copy > *{ animation:none; opacity:1; transform:none; }
  .gb-copy > *{ opacity:1; transform:none; }
}

/* Bangla labels: no letter-spacing in mono caps */
#governing .gb-eyebrow .bn,#governing .gb-role .bn,#governing .gb-r .bn,#governing .gb-count .bn{ font-family:"Hind Siliguri", var(--f-body); letter-spacing:0; font-size:1.1em; }
