/* MNMC homepage extras — loaded after styles.css */
:root{--hx-navy:#10245f;--hx-ink:#152044;--hx-muted:#4f5b70;--hx-line:#e1e6ef;--hx-purple:#5b35b0;--hx-orange:#c2410c;--hx-green:#0d6b18;--hx-tint:#eef2fb;--hx-focus:#1d4ed8}
.bn .hx-title,.bn .hx-card h3,.bn .hx-lead{line-height:1.5}
:where(.hx a,.hx button,.hx [tabindex]):focus-visible{outline:3px solid var(--hx-focus);outline-offset:3px;border-radius:10px}

/* shared head */
.hx-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}
.hx-title{margin:6px 0 8px;font-size:clamp(26px,3.4vw,38px);line-height:1.25;color:var(--hx-navy);letter-spacing:-.02em;text-wrap:balance;overflow-wrap:break-word}
.hx-lead{margin:0;max-width:60ch;color:var(--hx-muted);font-size:15px}
.hx-ctrl{display:flex;gap:8px;flex:none}
.hx-btn{width:46px;height:46px;border-radius:50%;border:1px solid #c9d1e0;background:#fff;color:var(--hx-navy);display:grid;place-items:center;cursor:pointer;font-size:20px;line-height:1;transition:background .2s,color .2s,border-color .2s}
.hx-btn:hover:not(:disabled){background:var(--hx-navy);color:#fff;border-color:var(--hx-navy)}
.hx-btn:disabled{opacity:.38;cursor:not-allowed}

/* ---------- Leadership slider ---------- */
.lead-slider{position:relative;background:#fff;border:1px solid var(--hx-line);border-radius:28px;box-shadow:0 18px 46px rgba(16,36,95,.08);overflow:hidden}
.lead-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.lead-track::-webkit-scrollbar{display:none}
.lead-slide{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(22px,4vw,52px);align-items:center;padding:clamp(20px,3.4vw,40px)}
.lead-fig{margin:0;width:100%;aspect-ratio:4/5;border-radius:22px;overflow:hidden;position:relative;background:linear-gradient(160deg,#e8eefc,#f3effd);box-shadow:inset 0 0 0 1px rgba(16,36,95,.08)}
.lead-fig img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.lead-fig img.is-cutout{mix-blend-mode:multiply}
.lead-body{min-width:0}
.lead-role{display:inline-block;font-size:13px;font-weight:800;color:var(--hx-purple);background:#f1ecff;border-radius:999px;padding:5px 14px}
.lead-name{margin:14px 0 4px;font-size:clamp(22px,2.6vw,30px);line-height:1.3;color:var(--hx-navy)}
.lead-org{margin:0 0 16px;font-size:13px;color:var(--hx-muted)}
.lead-quote{margin:0;position:relative;padding-left:18px;border-left:4px solid var(--hx-orange);color:#2c3750;font-size:clamp(15px,1.5vw,17px);line-height:1.9;max-width:62ch;overflow-wrap:break-word}
.lead-link{display:inline-flex;align-items:center;min-height:44px;margin-top:18px;color:var(--hx-purple);font-weight:800;font-size:14px;text-decoration:none;border-bottom:2px solid transparent}
.lead-link:hover{border-bottom-color:currentColor}
.lead-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px clamp(20px,3.4vw,40px) 20px}
.lead-tabs{display:flex;gap:8px;flex-wrap:wrap}
.lead-tab{min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid #c9d1e0;background:#fff;color:var(--hx-navy);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.2s}
.lead-tab[aria-selected="true"]{background:var(--hx-navy);border-color:var(--hx-navy);color:#fff}

/* ---------- Horizontal card scrollers (news / events) ---------- */
.hx-scroller{position:relative}
.hx-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:2px;padding:4px 2px 18px;scrollbar-width:thin;scrollbar-color:#b9c3d9 transparent;-webkit-overflow-scrolling:touch}
.hx-track::-webkit-scrollbar{height:8px}.hx-track::-webkit-scrollbar-thumb{background:#b9c3d9;border-radius:8px}
.hx-card{flex:0 0 min(320px,80%);scroll-snap-align:start;background:#fff;border:1px solid var(--hx-line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:0 8px 24px rgba(16,36,95,.06);transition:box-shadow .25s,transform .25s}
.hx-card:hover{box-shadow:0 16px 34px rgba(16,36,95,.12);transform:translateY(-3px)}
.hx-card:focus-within{box-shadow:0 0 0 3px var(--hx-focus)}
.hx-media{aspect-ratio:16/10;background:#e6ebf6;position:relative;overflow:hidden}
.hx-media img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .4s}
.hx-media.is-loaded img{opacity:1}
.hx-media:not(.is-loaded):not(.is-broken){background:linear-gradient(100deg,#e6ebf6 30%,#f4f7fd 50%,#e6ebf6 70%);background-size:200% 100%;animation:hx-shimmer 1.3s linear infinite}
.hx-media.is-broken{display:grid;place-items:center;color:var(--hx-muted);font-size:12px}
.hx-media.is-broken::after{content:"ছবি লোড হয়নি";font-weight:700}
.hx-media.is-broken img{display:none}
@keyframes hx-shimmer{to{background-position:-200% 0}}
.hx-tag{position:absolute;left:12px;top:12px;z-index:2;background:#fff;color:var(--hx-navy);font-size:12px;font-weight:800;padding:4px 11px;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.hx-tag.is-event{background:var(--hx-orange);color:#fff}
.hx-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.hx-card h3{margin:0 0 8px;font-size:17px;line-height:1.5;color:var(--hx-navy);overflow-wrap:break-word}
.hx-card p{margin:0 0 14px;font-size:14px;line-height:1.75;color:var(--hx-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hx-more{margin-top:auto;display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:800;color:var(--hx-purple);text-decoration:none}
.hx-more::after{content:"";position:absolute;inset:0}
.hx-more:focus-visible{outline-offset:-3px}
.hx-empty{padding:34px 20px;border:2px dashed #c9d1e0;border-radius:18px;text-align:center;color:var(--hx-muted);background:#fff}
.hx-empty a{color:var(--hx-purple);font-weight:800}

/* ---------- Gallery (bento) ---------- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,17vw,210px);grid-auto-flow:dense;gap:12px}
.g-item{position:relative;margin:0;border-radius:18px;overflow:hidden;background:#e6ebf6;cursor:zoom-in;border:0;padding:0;font:inherit;text-align:left;display:block;width:100%;height:100%}
.g-item.w2{grid-column:span 2}.g-item.h2{grid-row:span 2}
.g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease,opacity .4s;opacity:0}
.g-item.is-loaded img{opacity:1}
.g-item:not(.is-loaded):not(.is-broken){background:linear-gradient(100deg,#e6ebf6 30%,#f4f7fd 50%,#e6ebf6 70%);background-size:200% 100%;animation:hx-shimmer 1.3s linear infinite}
.g-item:hover img{transform:scale(1.05)}
.g-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,16,48,.78));pointer-events:none}
.g-cap{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;color:#fff;font-size:13px;font-weight:700;line-height:1.5;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.g-item:focus-visible{outline:3px solid var(--hx-focus);outline-offset:3px}
.hx-foot{display:flex;justify-content:center;margin-top:24px}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;z-index:200;background:rgba(6,10,28,.94);display:grid;grid-template-rows:auto 1fr auto;opacity:0;transition:opacity .2s;touch-action:pan-y}
.lb.open{opacity:1}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#fff;font-size:14px}
.lb-stage{position:relative;display:grid;place-items:center;min-height:0;padding:0 64px}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.lb-btn{background:rgba(255,255,255,.14);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:24px;cursor:pointer;display:grid;place-items:center}
.lb-btn:hover{background:rgba(255,255,255,.28)}
.lb-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%)}
.lb-prev{left:8px}.lb-next{right:8px}
.lb-cap{color:#e8ecf7;text-align:center;padding:12px 18px 20px;font-size:15px;line-height:1.6}
.lb-msg{color:#fff;font-size:14px}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(130px,30vw,200px)}
  .g-item.w2{grid-column:span 2}
}
@media(max-width:700px){
  .hx-head{flex-direction:column;align-items:flex-start}
  .hx-ctrl{align-self:flex-end;margin-top:-6px}
  .lead-slide{grid-template-columns:1fr;gap:18px;padding:18px}
  .lead-fig{max-width:260px;margin-inline:auto}
  .lead-body{text-align:left}
  .lead-bar{flex-direction:column;align-items:stretch}
  .lead-tabs{justify-content:center}
  .lb-stage{padding:0 8px}
  .lb-prev,.lb-next{top:auto;bottom:-4px;transform:none;background:rgba(255,255,255,.22)}
  .lb-cap{padding-bottom:66px}
}
@media(prefers-reduced-motion:reduce){
  .hx-media,.g-item{animation:none!important}.hx-card,.g-item img{transition:none}.hx-card:hover{transform:none}.g-item:hover img{transform:none}
  .lead-track,.hx-track{scroll-behavior:auto}
}

/* ===== Cover: cinematic glass hero ===== */
.hero-institutional:before{z-index:1;background:linear-gradient(115deg,rgba(10,24,70,.80),rgba(16,36,95,.45) 55%,rgba(13,107,24,.50))}
.hero-institutional .hero-bg{position:absolute;inset:0;z-index:0;height:auto;border:0;border-radius:0;box-shadow:none;background:#0a1646}
.hero-institutional .hero-bg:after{display:none}
.hero-bg .slide{transition:opacity 1.4s ease}
.hero-bg .slide img{transform:scale(1.02)}
.hero-bg .slide.is-active img{animation:kenburns 9s ease-out both}
.hero-bg .slide:nth-child(even).is-active img{animation-name:kenburns2}
@keyframes kenburns{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.16) translate3d(-2.5%,-1.5%,0)}}
@keyframes kenburns2{from{transform:scale(1.16) translate3d(2%,1%,0)}to{transform:scale(1.03) translate3d(0,0,0)}}
.hero-bg .slide-dots{left:auto;right:22px;bottom:18px;z-index:3}
.hero-glass{padding:clamp(22px,3.2vw,40px)!important;border-radius:30px;background:rgba(255,255,255,.10);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.30);box-shadow:0 24px 60px rgba(3,10,40,.35),inset 0 1px 0 rgba(255,255,255,.35);animation:glassIn .9s ease both}
@keyframes glassIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero-glass h1{text-shadow:0 4px 24px rgba(0,0,0,.35)}
.hero-stage{display:flex;flex-direction:column;align-items:center;gap:18px}
.hero-logo-glass{width:min(380px,78vw);aspect-ratio:1;padding:22px;border-radius:34px;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 70px rgba(3,10,40,.42),inset 0 1px 0 #fff;animation:logoFloat 6s ease-in-out infinite}
.hero-logo-glass img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 6px 14px rgba(16,36,95,.25))}
@keyframes logoFloat{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-14px) rotate(.6deg)}}
.hero-stage-label{text-align:center;color:#fff;padding:10px 18px;border-radius:16px;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25)}
.hero-stage-label strong{display:block;font-size:14px}.hero-stage-label span{font-size:12px;opacity:.9}

/* ===== Leadership: consistent backdrop ===== */
.lead-fig{background:radial-gradient(120% 90% at 50% 8%,#3a63c9 0%,#1d3a8a 55%,#10245f 100%)!important}
.lead-fig img.is-cutout{mix-blend-mode:normal;object-fit:contain;object-position:center bottom}
.lead-slide{transition:opacity .5s}

/* ===== Partners marquee ===== */
.marquee{overflow:hidden;position:relative;padding:8px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;gap:18px;width:max-content;animation:marq 32s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item{flex:0 0 auto;width:320px}
@keyframes marq{to{transform:translateX(calc(-50% - 9px))}}
@media(prefers-reduced-motion:reduce){.marquee{overflow-x:auto}.marquee-track{animation:none}.hero-bg .slide img,.hero-logo-glass,.hero-glass{animation:none!important}}
@media(max-width:1050px){.hero-stage{margin-top:6px}.hero-logo-glass{width:min(280px,70vw)}}
@media(max-width:700px){.marquee-item{width:260px}}

.marquee-item.partner-wide{width:400px}.partner-wide img{width:120px!important;height:auto!important;max-height:58px;object-fit:contain}.marquee-track{animation-duration:48s}
.marquee-item{text-decoration:none;color:var(--hx-ink)}
.marquee-item b{display:block;font-size:15px;line-height:1.4;color:var(--hx-navy)}
.marquee-item span{display:block;font-size:12px;line-height:1.5;color:var(--hx-muted);margin-top:2px}
.marquee-item>div{min-width:0}
.marquee-item img{flex:0 0 auto}
.partner-ministry img,.partner-nsda img{background:#fff}

/* ===== v5 final overrides: footer, floating buttons, contact phones ===== */
.footer{background:linear-gradient(135deg,#0b1230 0%,#14245f 65%,#3b2a85 100%);color:#dce1f2;padding:56px 0 0;margin-top:0}
.footer .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:40px;padding-bottom:40px;align-items:start}
.footer h3{color:#fff;font-size:15px;font-weight:800;margin:0 0 16px;letter-spacing:.01em}
.footer p,.footer a,.footer li,.footer address{color:#b9c3dc;font-size:14px;line-height:1.7;text-decoration:none;font-style:normal}
.footer a:hover{color:#fff}
.footer ul{list-style:none;margin:0;padding:0}
.footer .footer-brand{display:flex;gap:12px;align-items:center;margin:0 0 14px}
.footer .footer-brand img{width:60px;height:60px;border-radius:50%;background:#fff;padding:4px;object-fit:contain;flex:none}
.footer .footer-brand strong{display:block;color:#fff;font-size:16px;line-height:1.25}
.footer .footer-brand small{display:block;color:#9eabc6;font-size:12px}
.footer .f-tag{margin:0 0 16px;max-width:330px;font-size:13px}
.footer .f-links li{margin:0 0 9px}
.footer .f-links a{display:inline-block;padding:2px 0}
.footer .f-addr{margin:0 0 12px}
.footer .f-phones{margin:0 0 10px}
.footer .f-phones li{margin:0 0 4px}
.footer .f-phones a,.footer .f-mail{color:#fff;font-weight:700}
.footer .f-mail{display:inline-block;word-break:break-all}
.footer .social-row{display:flex;flex-wrap:nowrap;gap:10px;margin:0}
.footer .soc{width:42px;height:42px;min-height:0;padding:0;border-radius:50%;justify-content:center;gap:0;flex:none}
.footer .soc span{display:none}
.footer .soc svg{width:19px;height:19px}
.footer .devbar{border-top:1px solid rgba(255,255,255,.1);background:#080d24;min-height:0;padding:18px 20px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;text-align:center}
.footer .devbar span{font-size:12px;color:#cbd2e2}
.footer .devbar img{height:46px;width:auto;border-radius:10px}
.footer .copyright{background:#060a1c;color:#8d99b8;font-size:12px;text-align:center;padding:14px 16px}
@media(max-width:1050px){.footer .footer-grid{grid-template-columns:1fr 1fr;gap:32px 28px}.footer .f-brandcol,.footer .f-contact{grid-column:1/-1}}
@media(max-width:780px){.footer{padding:40px 0 0;padding-bottom:0!important}.footer .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px;padding-bottom:30px}.footer .f-tag{max-width:none}.footer .devbar{flex-direction:column;gap:10px;padding:16px}.footer .devbar img{height:40px}.footer .copyright{padding-bottom:78px}}
/* floating WhatsApp: smaller, never covers content */
.wa-float{width:48px;height:48px;right:14px;bottom:16px;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.wa-float svg{width:26px;height:26px}
@media(max-width:780px){.wa-float{bottom:16px;width:46px;height:46px}}
/* contact phones */
.phone-list{list-style:none;margin:6px 0 10px;padding:0}
.phone-list li{margin:0 0 6px}
.phone-list a{display:inline-block;font-weight:800;font-size:17px;color:var(--mnmc-blue,#173f83);text-decoration:none}

/* ===== v5.2 cover text colours (original glass layout kept) ===== */
.hero-glass{background:rgba(8,18,55,.30)}
.hero-glass h1{color:#69f08a;font-weight:900;text-shadow:0 2px 3px rgba(0,25,10,.75),0 4px 22px rgba(0,0,0,.55)}
.hero-glass .hero-place{color:#ffe27a;font-weight:900;text-shadow:0 2px 3px rgba(40,25,0,.7),0 3px 14px rgba(0,0,0,.5)}
.hero-glass .hero-subtitle{color:#fff;font-weight:900;background:rgba(255,255,255,.16);border-left-color:#69f08a;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.hero-institutional .hero-glass p{color:#fff;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.75),0 2px 12px rgba(0,0,0,.5)}
.hero-glass .hero-trust span{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.45);color:#fff;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.card a.btn-primary,.card a.btn-primary:hover{color:#fff;text-decoration:none}
/* v5.4 chairman photo + 3-program grid + mobile cover spacing */
.chairman-photo-slot img,.leadership-full-card .chairman-photo-slot img{object-fit:cover!important;object-position:center 22%!important;background:#fff}
.chairman-photo-slot,.leadership-full-card .message-top .chairman-photo-slot{width:104px!important;height:104px!important;min-height:104px!important;border-radius:18px}
.program-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.program-grid{grid-template-columns:1fr}}
@media(max-width:760px){.hero-institutional{padding-bottom:150px!important}}

