:root{
  --green:#006a4e; --green-l:#0a8f6a; --red:#f42a41; --ink:#0d1512; --muted:#58665f;
  --mint:#cfe8dc; --mint-2:#e6f3ec; --nav:#111916; --r:28px;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:Inter,"Noto Sans Bengali",system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.55;overflow-x:hidden}
html[lang=bn] body{font-family:"Noto Sans Bengali",Inter,system-ui,sans-serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--nav);color:#fff;height:56px}
.nav .wrap{display:flex;align-items:center;height:100%;gap:28px}
.logo-pill{background:#fff;border-radius:10px;padding:6px 12px;display:flex;align-items:center;flex-shrink:0}
.logo-pill img{height:18px;width:auto;display:block}
.nav-links{display:flex;gap:22px;font-size:14px;color:#c7d2cc;white-space:nowrap}
.nav-links a:hover{color:#fff}
.spacer{flex:1}

/* buttons */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border-radius:999px;font-weight:600;font-size:14px;border:0;cursor:pointer;font-family:inherit;white-space:nowrap;flex-shrink:0;line-height:1.2;transition:transform .2s,background .2s,box-shadow .2s}
.pill:hover{transform:translateY(-2px)}
.pill.white{background:#fff;color:var(--ink)}
.pill.green{background:var(--green);color:#fff}
.pill.green:hover{background:var(--green-l);box-shadow:0 10px 24px rgba(0,106,78,.3)}
.pill.red{background:var(--red);color:#fff}
.pill.lg{padding:15px 26px;font-size:15px}
.pill[aria-disabled=true]{opacity:.6;cursor:not-allowed}

/* language */
.lang{position:relative}
.lang-btn{background:rgba(255,255,255,.12);color:#fff;padding:8px 14px;border-radius:999px;border:0;font:600 13px Inter,sans-serif;cursor:pointer;display:flex;gap:6px;align-items:center}
.lang-btn:hover{background:rgba(255,255,255,.2)}
.lang-menu{position:absolute;right:0;top:calc(100% + 10px);background:#fff;color:var(--ink);border-radius:16px;padding:6px;min-width:150px;box-shadow:0 18px 40px rgba(0,0,0,.2);display:none}
.lang.open .lang-menu{display:block}
.lang-menu button{display:flex;width:100%;justify-content:space-between;padding:10px 12px;border:0;background:none;border-radius:10px;cursor:pointer;font:500 14px Inter,"Noto Sans Bengali",sans-serif}
.lang-menu button:hover,.lang-menu button.on{background:var(--mint-2)}
.lang-menu button.on{color:var(--green);font-weight:700}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;background:linear-gradient(160deg,#cfe8dc 0%,#bfe0d0 55%,#f6c9ce 130%);padding-top:56px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.hero.short{min-height:84vh;min-height:84svh}
.mark{font-family:Anton,"Noto Sans Bengali",sans-serif;text-transform:uppercase;font-size:clamp(64px,17.5vw,260px);line-height:.95;letter-spacing:-.01em;color:var(--green);text-align:center;padding:4vh 0 0;position:relative;z-index:1;white-space:nowrap}
.mark small{display:block;font-size:.34em;color:var(--red);letter-spacing:.34em;margin-top:.1em;text-indent:.34em}
.hero-body{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:28px 40px;flex-wrap:wrap;padding-bottom:48px}
.hero-body p{flex:1 1 320px;max-width:460px;font-size:clamp(17px,2vw,22px);font-weight:500}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.status{display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;margin-bottom:14px}
.status::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(244,42,65,.18)}

/* magnetic cubes */
.cubes{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.cube{position:absolute;width:var(--s);height:var(--s);will-change:transform}
.float{width:100%;height:100%;position:relative;animation:float 11s ease-in-out infinite;filter:drop-shadow(0 28px 22px rgba(0,50,35,.22));animation-delay:var(--d)}
.cube i{position:absolute;inset:0}
.cube .t{background:linear-gradient(135deg,var(--c1),color-mix(in srgb,var(--c1) 80%,#000));clip-path:polygon(50% 0,100% 25%,50% 50%,0 25%)}
.cube .l{background:linear-gradient(180deg,var(--c2),color-mix(in srgb,var(--c2) 78%,#000));clip-path:polygon(0 25%,50% 50%,50% 100%,0 75%)}
.cube .r{background:linear-gradient(180deg,var(--c3),color-mix(in srgb,var(--c3) 75%,#000));clip-path:polygon(100% 25%,50% 50%,50% 100%,100% 75%)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.cube.a{--s:min(30vw,340px);--c1:#0a8f6a;--c2:#006a4e;--c3:#004d38;--d:0s;right:6%;top:26%}
.cube.b{--s:min(14vw,160px);--c1:#ff6677;--c2:#f42a41;--c3:#c4122a;--d:-3s;left:8%;top:52%}
.cube.c{--s:min(9vw,100px);--c1:#fff;--c2:#dfeee6;--c3:#bcd6c9;--d:-6s;right:36%;top:60%}
.cube.d{--s:min(7vw,70px);--c1:#ff6677;--c2:#f42a41;--c3:#c4122a;--d:-2s;left:52%;top:42%}
.cube.e{--s:min(8vw,90px);--c1:#2fb88d;--c2:#0a8f6a;--c3:#006a4e;--d:-5s;left:24%;top:38%}
@media(prefers-reduced-motion:reduce){.float{animation:none}}

/* sections */
section{padding:110px 0}
.statement{text-align:center;font-size:clamp(30px,5vw,60px);line-height:1.08;font-weight:700;letter-spacing:-.025em;max-width:16em;margin:0 auto}
.statement span{color:var(--green)}
.center-p{text-align:center;max-width:46em;margin:28px auto 0;color:var(--muted);font-size:18px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.sec-head h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.02em;line-height:1.1}
.arrows{display:flex;gap:8px}
.arrows button{width:40px;height:40px;border-radius:50%;border:0;background:#eef1ef;cursor:pointer;font-size:18px}
.arrows button:hover{background:var(--mint)}

/* carousel */
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 24px 8px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail::before,.rail::after{content:"";flex:0 0 max(0px,calc((100vw - 1200px)/2))}
.slide{flex:0 0 min(86vw,420px);height:min(70vw,400px);scroll-snap-align:start;border-radius:var(--r);padding:32px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.slide .k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin-bottom:10px;display:block}
.slide h3{font-size:clamp(26px,3vw,34px);line-height:1.08;letter-spacing:-.02em}
.slide p{max-width:22em;opacity:.92;font-size:16px;margin-top:10px}
.slide .n{font-family:Anton,sans-serif;font-size:96px;line-height:1;opacity:.28;position:absolute;right:26px;bottom:6px}
.s1{background:linear-gradient(145deg,#0a8f6a,#006a4e)}
.s2{background:linear-gradient(145deg,#ff5468,#f42a41 60%,#c4122a)}
.s3{background:linear-gradient(145deg,#26332d,#0d1512)}
.s4{background:linear-gradient(145deg,#6fc2a2,#2e9a78)}
.s5{background:linear-gradient(145deg,#ff7a8a,#e0223a)}
.s6{background:linear-gradient(145deg,#12a47a,#004d38)}

/* panels */
.tint{background:var(--mint-2)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:48px}
.panel{border-radius:var(--r);padding:44px;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:#fff}
.panel.g{background:var(--green);color:#fff}
.panel .ico{position:absolute;top:26px;right:34px;font-family:Anton,sans-serif;font-size:120px;line-height:1;opacity:.14}
.panel h3{font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;line-height:1.1}
.panel p{margin-top:12px;max-width:28em;opacity:.85}
.chip{display:inline-block;align-self:flex-start;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;background:rgba(255,255,255,.2)}
.panel:not(.g) .chip{background:var(--mint-2);color:var(--green)}

/* criteria */
.crit{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
.crit div{background:#f4f6f5;border-radius:var(--r);padding:28px}
.crit b{font-family:Anton,sans-serif;font-weight:400;font-size:44px;color:var(--red);display:block;line-height:1}
.crit h4{font-size:18px;margin:14px 0 6px;line-height:1.25}
.crit p{font-size:14.5px;color:var(--muted)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.stat{border-radius:var(--r);background:#f4f6f5;padding:30px}
.stat b{font-family:Anton,sans-serif;font-weight:400;font-size:clamp(44px,6vw,76px);line-height:1;color:var(--green);display:block}
.stat:nth-child(2) b{color:var(--red)}
.stat span{color:var(--muted);font-size:15px}

/* cohort */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.card{border-radius:var(--r);padding:28px;min-height:230px;background:#f4f6f5;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s,background .25s}
.card:hover{transform:translateY(-4px);background:var(--mint-2)}
.card .ci{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;font-family:Anton,sans-serif;font-size:22px;background:var(--green)}
.card:nth-child(even) .ci{background:var(--red)}
.card h4{font-size:22px;margin:22px 0 6px}
.card p{color:var(--muted);font-size:14.5px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
.team div{background:#fff;border-radius:20px;padding:20px 22px}
.team b{display:block;font-size:17px}
.team span{color:var(--green);font-size:13px;font-weight:600}

/* dark */
.dark{background:var(--ink);color:#fff;border-radius:40px 40px 0 0}
.dark .big{font-family:Anton,"Noto Sans Bengali",sans-serif;text-transform:uppercase;font-size:clamp(48px,10vw,150px);line-height:.95;margin-bottom:48px}
.dark .big span{color:var(--red)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.dark p.lead{color:#aebbb4;max-width:30em;margin-bottom:24px}
form{display:grid;gap:12px}
input,select,textarea{font:inherit;padding:15px 18px;border-radius:16px;border:1px solid #2c3a33;background:#16201b;color:#fff;width:100%}
input::placeholder,textarea::placeholder{color:#7d8d85}
input:focus,select:focus,textarea:focus{outline:2px solid var(--green-l);border-color:transparent}
.note{font-size:12px;color:#7d8d85}
.thanks{display:none;background:#16201b;border:1px solid #2c3a33;border-radius:16px;padding:18px 20px;color:#bfe0d0}
.sent .thanks{display:block}.sent form{display:none}
footer{background:var(--ink);color:#7d8d85;font-size:13px;padding:0 0 36px}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #222e28;padding-top:24px}
footer a:hover{color:#fff}

/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

@media(max-width:960px){.crit{grid-template-columns:1fr 1fr}}
@media(max-width:860px){
  .nav-links{display:none}
  .duo,.cols,.cards,.team{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  section{padding:72px 0}
  .nav .pill.apply{display:none}
  .cube.a{right:-12%;top:30%}
  .hero-cta{width:100%}
}
@media(max-width:560px){.crit{grid-template-columns:1fr}}
.hero.short .cube.c,.hero.short .cube.d,.hero.short .cube.e{display:none}
.hero.short .cube.b{left:auto;right:34%;top:66%}
@media(max-width:860px){.hero.short .cube.b{right:8%;top:74%}.hero.short .cube.a{top:10%}}

/* review mode */
.review-bar{position:fixed;left:0;right:0;bottom:0;z-index:99;background:#ffd23f;color:#201a00;padding:10px 16px;font:600 13px Inter,sans-serif;text-align:center}
.review-mode [data-review]{outline:2px dashed #ffb100;outline-offset:3px;background-image:linear-gradient(rgba(255,210,63,.22),rgba(255,210,63,.22));position:relative}
.review-mode [data-review]::after{content:"!" attr(data-rn);position:absolute;top:-10px;left:-10px;background:#ffb100;color:#201a00;font:700 11px Inter,sans-serif;border-radius:999px;padding:2px 7px;z-index:5}

/* cursor ring */
.ring{position:fixed;left:0;top:0;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;border:1.5px solid var(--green);background:radial-gradient(circle,rgba(0,106,78,.10),rgba(0,106,78,0) 70%);opacity:0;transition:opacity .25s,width .25s,height .25s,margin .25s,border-color .25s;pointer-events:none;z-index:4;will-change:transform}
.ring.on{opacity:1}
.ring.near{width:88px;height:88px;margin:-44px 0 0 -44px;border-color:var(--red)}
@media (hover:none){.ring{display:none}}

.crit{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:48px;counter-reset:s}
.step{background:#fff;border-radius:var(--r);padding:26px 22px;position:relative}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font-weight:700;margin-bottom:16px}
.step:last-child::before{background:var(--red)}
.step h4{font-size:18px;line-height:1.2;margin-bottom:6px}
.step p{font-size:14.5px;color:var(--muted)}
.alum{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px;margin-top:44px}
.alum .card.win{background:var(--green);color:#fff}
.alum .card.win p{color:#d7efe5}.alum .card.win .tag{background:rgba(255,255,255,.2);color:#fff}
.tag{display:inline-block;align-self:flex-start;padding:4px 11px;border-radius:999px;background:var(--mint-2);color:var(--green);font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:12px}
a.card{color:inherit}
.card .go{margin-top:14px;font-size:13px;font-weight:700;color:var(--green)}
.team a:hover{color:var(--green);text-decoration:underline}
details{background:#fff;border-radius:20px;padding:20px 24px;margin-bottom:12px}
details summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px}
details summary::after{content:"+";font-size:22px;color:var(--green);line-height:1}
details[open] summary::after{content:"–"}
details p{margin-top:12px;color:var(--muted)}
.faq{max-width:820px;margin:44px auto 0}
.social{display:flex;gap:16px;flex-wrap:wrap}
.prose{max-width:760px;margin:0 auto}.prose h3{margin:32px 0 8px;font-size:20px}.prose p{color:var(--muted);margin-bottom:10px}
@media(max-width:960px){.steps{grid-template-columns:1fr 1fr}.alum{grid-template-columns:1fr}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}

.team{grid-template-columns:repeat(4,1fr)!important;gap:22px!important}
.member{margin:0;text-align:center}
.member .ph{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:linear-gradient(145deg,#cfe8dc,#e6f3ec);display:grid;place-items:center}
.member:nth-child(3n) .ph{background:linear-gradient(145deg,#f9d3d8,#fdeaec)}
.member img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.member .ini{font-family:Anton,sans-serif;font-size:56px;color:var(--green);opacity:.55}
.member figcaption{padding-top:12px}
.member b{font-size:16px;line-height:1.25;display:block}
@media(max-width:960px){.team{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:640px){.team{grid-template-columns:repeat(2,1fr)!important}}

.steps{grid-template-columns:repeat(4,1fr)!important}
.stats{grid-template-columns:repeat(4,1fr)}
.member span{display:block;color:var(--green);font-size:13px;font-weight:600;margin-top:2px}
.duo .panel{min-height:260px}
@media(max-width:960px){.steps{grid-template-columns:1fr 1fr!important}.stats{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.stats{grid-template-columns:1fr!important}}

/* ---- v3: white bar, soul ---- */
.nav{background:#fff;color:var(--ink);border-bottom:1px solid #e6ebe8}
.nav-links{color:#55635c}.nav-links a:hover{color:var(--green)}
.logo-pill{background:transparent;padding:0}
.logo-pill img{height:20px}
.lang-btn{background:#eef3f0;color:var(--ink)}.lang-btn:hover{background:var(--mint)}
.nav .pill.white{background:var(--green);color:#fff}
.nav .pill.white:hover{background:var(--green-l)}
.cube.a{top:calc(56px + 4vh + clamp(64px,17.5vw,260px) + 1.2vw);right:3%}
.hero.short .cube.a{top:20%;right:6%}
.stat b.txt{font-size:clamp(30px,3.6vw,46px);line-height:1.05;letter-spacing:0}
.badge{display:inline-block;background:#fff3c4;color:#6b4e00;border:1.5px dashed #e0a800;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:700}
/* partner image placeholders */
.duo .panel{min-height:440px}
.duo{align-items:stretch}
.pimg{position:absolute;left:16px;right:16px;top:16px;height:34%;min-height:124px;border-radius:20px;border:1.5px dashed rgba(0,106,78,.35);background:var(--mint-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--green);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.panel.g .pimg{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);color:#fff}
.pimg svg{width:30px;height:30px;opacity:.8}
/* what you get: fix snap + diagonal image cut at 70deg */
.rail{scroll-padding-left:max(24px,calc((100vw - 1200px)/2 + 24px))}
.slide{--sh:min(70vw,400px);--ph:var(--sh);height:var(--sh);flex-basis:min(86vw,520px)}
.slide>div:first-child{max-width:calc(100% - var(--ph)*.364 - 80px)}
.slide .pic{position:absolute;right:0;bottom:0;height:var(--ph);width:calc(var(--ph)*.364 + 110px);clip-path:polygon(calc(var(--ph)*.364) 0,100% 0,100% 100%,0 100%);background:linear-gradient(160deg,rgba(255,255,255,.26),rgba(255,255,255,.08));display:grid;place-items:center;padding-left:calc(var(--ph)*.364*.5)}
.slide .pic::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-20deg,rgba(255,255,255,.07) 0 2px,transparent 2px 14px)}
.slide .pic svg{width:76px;height:76px;color:#fff;position:relative;z-index:1}
.slide .n{right:auto;left:26px}
@media(max-width:560px){
  .slide{--sh:360px;--ph:calc(var(--sh)*.5)}
  .slide>div:first-child{max-width:none}
  .slide .pic svg{width:56px;height:56px}
  .slide .n{left:auto;right:auto;left:24px;bottom:4px}
}
/* team: 4 + 3 centred, identical tiles */
.team{display:flex!important;flex-wrap:wrap;justify-content:center;gap:26px 22px!important}
.member{flex:0 0 calc((100% - 66px)/4);max-width:calc((100% - 66px)/4)}
.member>a{display:block;color:inherit}
.member .ph,.member:nth-child(3n) .ph{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--mint)!important;display:block;transition:transform .25s,box-shadow .25s}
.member img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 12%}
.member>a:hover .ph{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,106,78,.2)}
.member .in{position:absolute;right:12px;bottom:12px;width:30px;height:30px;padding:7px;border-radius:50%;background:#fff;color:#0a66c2;box-shadow:0 4px 10px rgba(0,0,0,.18)}
@media(max-width:960px){.member{flex-basis:calc((100% - 44px)/3);max-width:calc((100% - 44px)/3)}}
@media(max-width:640px){.member{flex-basis:calc((100% - 22px)/2);max-width:calc((100% - 22px)/2)}}
@media(max-width:860px){.duo .panel{min-height:420px}}

/* ---- v4: offset cubes, hero bar, bento partners, criteria graphics ---- */
.cube.a{right:-5%;top:calc(56px + 4vh + clamp(64px,17.5vw,260px) + 3vw)}
.cube.b{left:-3%;top:50%}
.cube.c{right:auto;left:30%;top:auto;bottom:24%}
.hero.short .cube.a{right:-4%;top:18%}
.hero.short .cube.b{left:auto;right:30%;top:68%}
.hero-bar{position:relative;z-index:3;background:#004d38;color:#fff}
.hero-bar .wrap{display:grid;grid-template-columns:repeat(5,auto);justify-content:space-between;gap:12px 28px;padding-top:16px;padding-bottom:16px}
.hero-bar small{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.65;font-weight:600}
.hero-bar b{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}
.hero-bar a:hover{text-decoration:underline}
.hero-bar .dot{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(244,42,65,.3)}
@media(max-width:860px){.hero-bar .wrap{grid-template-columns:1fr 1fr;justify-content:stretch}.hero-bar b{font-size:14px}.cube.a{right:-14%}}
.bento{grid-template-columns:repeat(6,1fr)!important;gap:18px}
.bento .w4{grid-column:span 4}.bento .w2{grid-column:span 2}
.bento .panel{min-height:470px;padding:44px;justify-content:flex-end;padding-top:calc(min(34%,170px) + 44px)}
.bento .panel.w2{min-height:470px}
.bento .ico{display:block!important;position:absolute;top:auto;bottom:-34px;right:18px;font-size:260px;line-height:1;opacity:.13;z-index:0}
.bento .pphoto{position:absolute;left:0;top:0;width:100%;height:36%;object-fit:cover;z-index:1}
.bento .panel>*:not(.ico):not(.pphoto){position:relative;z-index:2}
.bento .chip{margin-top:0}
@media(max-width:860px){.bento{grid-template-columns:1fr!important}.bento .w4,.bento .w2{grid-column:span 1}.bento .panel{min-height:430px}}
/* criteria: graphic elements */
.crit>div{position:relative;overflow:hidden}
.crit>div::after{content:"";position:absolute;right:-46px;top:-46px;width:130px;height:130px;border-radius:50%;background:var(--mint-2);z-index:0}
.crit>div:nth-child(even)::after{background:#fde3e6}
.crit>div>*{position:relative;z-index:1}
.crit .gi{position:absolute!important;right:18px;top:18px;width:30px;height:30px;color:var(--green);z-index:2}
.crit>div:nth-child(even) .gi{color:var(--red)}
.crit>div{padding-top:34px}
/* cube placement pass */
.cube.a{--s:min(24vw,280px);right:-6%}
.cube.b{--s:min(12vw,140px);left:-3%;top:calc(56px + 4vh + clamp(64px,17.5vw,260px) + 6vw)}
.cube.c{--s:min(7vw,84px);left:46%;right:auto;bottom:auto;top:calc(56px + 4vh + clamp(64px,17.5vw,260px) + 7vw)}
.hero.short .cube.a{--s:min(26vw,300px)}
.hero.short .cube.b{top:68%}
/* criteria grid: balanced rows */
.crit{display:flex!important;flex-wrap:wrap;justify-content:center;gap:18px!important}
.crit>div{flex:0 0 calc((100% - 36px)/3);max-width:calc((100% - 36px)/3)}
@media(min-width:1180px){.crit:has(>div:nth-child(5))>div{flex-basis:calc((100% - 72px)/5);max-width:calc((100% - 72px)/5)}}
@media(max-width:700px){.crit>div{flex-basis:100%;max-width:100%}}

/* ---- v5 hero: staggered central cube cluster, slanted solid bar ---- */
.hero5{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-start;padding-top:56px;background:radial-gradient(120% 90% at 50% 45%,#dff0e7 0%,#bfe0d0 55%,#f3c6cc 135%)}
.hero5 .mark{font-size:clamp(70px,19.5vw,300px);padding:3vh 0 0;line-height:.9}
.hero5 .mark .w{display:inline-block;transform:scaleY(1.12);transform-origin:50% 0;margin-bottom:.1em}
.hero5 .mark small{display:flex;align-items:center;justify-content:center;gap:.9em;font-size:.3em;letter-spacing:.38em;text-indent:0;margin-top:.12em}
.hero5 .mark small::before,.hero5 .mark small::after{content:"";height:.06em;width:min(12vw,150px);background:var(--red);border-radius:2px}
.hero5 .stage{position:relative;flex:1;min-height:34vh}
.hero5 .cubes{position:absolute;inset:0;overflow:visible}
.hero5 .stage .cube.e{--s:min(8vw,11vh);left:27%;top:6%;right:auto;bottom:auto}
.hero5 .stage .cube.b{--s:min(13vw,19vh);left:57%;top:-4%;right:auto;bottom:auto}
.hero5 .stage .cube.a{--s:min(21vw,31vh);left:37%;top:20%;right:auto;bottom:auto}
.hero5 .stage .cube.d{--s:min(9vw,12.5vh);left:66%;top:44%;right:auto;bottom:auto}
.hero5 .stage .cube.c{--s:min(7vw,10vh);left:30%;top:56%;right:auto;bottom:auto}
.hero5 .hero-bar{position:relative;z-index:3;background:#004d38;color:#fff;clip-path:polygon(0 clamp(14px,3.2vw,44px),100% 0,100% 100%,0 100%);padding-top:clamp(14px,3.2vw,44px)}
.hero5 .hero-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px 40px;flex-wrap:wrap;padding-top:26px;padding-bottom:28px}
.hero5 .hero-bar p{flex:1 1 360px;max-width:560px;font-size:clamp(16px,1.7vw,21px);font-weight:500;line-height:1.45;margin:0;color:#e6f3ec}
.hero5 .hero-bar .hero-cta{margin:0;flex-shrink:0}
@media(max-width:860px){
  .hero5 .stage{min-height:30vh}
  .hero5 .stage .cube.a{left:30%;top:24%}
  .hero5 .stage .cube.b{left:58%}
  .hero5 .stage .cube.d{left:68%;top:52%}
  .hero5 .stage .cube.c{left:20%;top:58%}
  .hero5 .stage .cube.e{left:18%;top:4%}
  .hero5 .hero-bar .hero-cta{width:100%}
  .hero5 .hero-bar .pill{flex:1 1 150px}
}
@media(max-width:860px){.hero5 .stage .cube.b{top:12%}.hero5 .stage .cube.e{top:16%}.hero5 .stage .cube.a{top:30%}}

/* back to the original 3-cube arrangement, inside the new hero */
.hero5 .stage .cube.a{--s:min(27vw,40vh);left:auto;right:6%;top:6%}
.hero5 .stage .cube.b{--s:min(14vw,21vh);left:8%;top:38%;right:auto}
.hero5 .stage .cube.c{--s:min(9vw,13vh);left:auto;right:36%;top:50%}
@media(max-width:860px){
  .hero5 .stage .cube.a{--s:min(40vw,34vh);left:auto;right:-4%;top:8%}
  .hero5 .stage .cube.b{left:6%;top:44%}
  .hero5 .stage .cube.c{right:34%;top:60%}
}
@media(min-width:861px){.hero5 .stage .cube.a{--s:min(25vw,36vh);top:0}.hero5 .stage .cube.b{top:34%}.hero5 .stage .cube.c{top:46%}}
/* stronger vertical stagger: red high-left, green mid-right, white low-centre */
.hero5 .stage .cube.b{left:10%;top:-2%}
.hero5 .stage .cube.a{--s:min(22vw,31vh);top:22%}
.hero5 .stage .cube.c{right:40%;top:66%}
@media(max-width:860px){
  .hero5 .stage .cube.b{left:8%;top:4%}
  .hero5 .stage .cube.a{--s:min(36vw,30vh);right:-2%;top:30%}
  .hero5 .stage .cube.c{right:42%;top:68%}
}
@media(min-width:861px){.hero5 .stage .cube.a{top:14%}}
/* hero bar: buttons right next to the text */
.hero5 .hero-bar .wrap{justify-content:flex-start;gap:20px 32px}
.hero5 .hero-bar p{flex:0 1 520px}

/* green bar: raised, with tonal cubes behind the text */
.hero5 .hero-bar{margin-top:-52px;padding-top:calc(clamp(14px,3.2vw,44px) + 52px)}
.hero5 .hero-bar .wrap{position:relative;z-index:2}
.bcubes{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.bcube{position:absolute;width:var(--s);height:var(--s)}
.bcube .float{animation-duration:14s;filter:none}
.bcube i{position:absolute;inset:0}
.bcube .t{background:var(--c1);clip-path:polygon(50% 0,100% 25%,50% 50%,0 25%)}
.bcube .l{background:var(--c2);clip-path:polygon(0 25%,50% 50%,50% 100%,0 75%)}
.bcube .r{background:var(--c3);clip-path:polygon(100% 25%,50% 50%,50% 100%,100% 75%)}
.bcube.p{--s:min(15vw,190px);--c1:#0b6a50;--c2:#005a41;--c3:#00402f;left:-3%;top:34%}
.bcube.q{--s:min(10vw,120px);--c1:#127a5c;--c2:#00634a;--c3:#004836;left:34%;top:58%;animation-delay:-4s}
.bcube.r{--s:min(17vw,210px);--c1:#08604a;--c2:#004c39;--c3:#00382a;left:58%;top:26%}
.bcube.s{--s:min(8vw,96px);--c1:#1b8465;--c2:#0a6a50;--c3:#004f3b;right:5%;top:64%}
@media(min-width:861px){.hero5 .stage .cube.a{top:6%}.hero5 .stage .cube.c{top:56%}}
@media(max-width:860px){.hero5 .hero-bar{margin-top:-36px;padding-top:calc(clamp(14px,3.2vw,44px) + 36px)}.bcube.p{left:-8%}.bcube.r{left:62%}}
.bcube.p{--c1:#12795c;--c2:#006449;--c3:#00463a;left:-2%;top:12%}
.bcube.q{--c1:#1b8a69;--c2:#0a7054;--c3:#00523f;left:30%;top:46%}
.bcube.r{--c1:#0d6a50;--c2:#005640;--c3:#003c2d;left:56%;top:2%}
.bcube.s{--c1:#259a76;--c2:#0f7d5e;--c3:#005c45;right:4%;top:50%}

/* ---- v6: cubes behind the headline (pale tones), hero fits the screen ---- */
.hero5{height:100vh;height:100svh;min-height:520px}
.hero5 .headline{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.hero5 .mark{position:relative;z-index:1;font-size:clamp(64px,min(19.5vw,31vh),300px);padding:0}
.hero5 .cubes{position:absolute;inset:0;z-index:0;overflow:visible}
.hero5 .float{filter:drop-shadow(0 22px 20px rgba(0,70,48,.13))}
.hero5 .cube.a{--s:min(30vw,46vh);--c1:#a9d8c3;--c2:#8cc6ac;--c3:#74b399;right:3%;left:auto;top:36%;bottom:auto}
.hero5 .cube.b{--s:min(18vw,27vh);--c1:#f8c3ca;--c2:#f1a5af;--c3:#e68c98;left:4%;right:auto;top:4%;bottom:auto}
.hero5 .cube.c{--s:min(11vw,16vh);--c1:#ffffff;--c2:#eaf4ef;--c3:#d3e6dc;left:46%;right:auto;top:64%;bottom:auto}
.hero5 .hero-bar{margin-top:0;padding-top:clamp(14px,3.2vw,44px)}
.hero5 .bcubes{display:none}
@media(max-width:860px){
  .hero5{min-height:100svh;height:auto}
  .hero5 .headline{min-height:56vh}
  .hero5 .mark{font-size:19.5vw}
  .hero5 .cube.a{--s:44vw;right:-8%;top:44%}
  .hero5 .cube.b{--s:26vw;left:2%;top:6%}
  .hero5 .cube.c{--s:16vw;left:40%;top:72%}
}

/* ---- v7: left-aligned headline over a slow photo slideshow, cubes stay on top of the photos ---- */
.hero5{background:#00382a}
.hero5 .bgs{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero5 .bgs i{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:heroShow 36s infinite;transform:scale(1.04)}
.hero5 .bgs i:nth-child(1){animation-delay:0s}.hero5 .bgs i:nth-child(2){animation-delay:6s}.hero5 .bgs i:nth-child(3){animation-delay:12s}
.hero5 .bgs i:nth-child(4){animation-delay:18s}.hero5 .bgs i:nth-child(5){animation-delay:24s}.hero5 .bgs i:nth-child(6){animation-delay:30s}
.hero5 .bgs i:nth-child(1){opacity:1}
@keyframes heroShow{0%{opacity:0;transform:scale(1.04)}4%{opacity:1}16.7%{opacity:1}21%{opacity:0}100%{opacity:0;transform:scale(1.12)}}
.hero5 .bgs::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(0,56,42,.88) 0%,rgba(0,77,56,.66) 40%,rgba(0,77,56,.26) 75%,rgba(0,56,42,.18) 100%)}
.hero5 .headline{justify-content:flex-start;padding-left:calc(max(0px,(100% - 1200px)/2) + 24px);z-index:1}
.hero5 .mark{text-align:left;color:#fff;font-size:clamp(60px,min(14.5vw,27vh),260px)}
.hero5 .mark .w{transform-origin:0 0}
.hero5 .mark small{justify-content:flex-start;color:#ff6677;gap:.7em;letter-spacing:.34em}
.hero5 .mark small::before{display:none}
.hero5 .mark small::after{flex:0 0 auto;width:min(10vw,120px)}
.hero5 .cubes{z-index:1}
.hero5 .cube.a{--c1:#c6ead9;--c2:#a5d6bf;--c3:#86c3a9;right:5%;top:30%}
.hero5 .cube.b{left:auto;right:30%;top:6%;--s:min(13vw,19vh)}
.hero5 .cube.c{left:auto;right:42%;top:66%;--s:min(8vw,12vh)}
.hero5 .float{filter:drop-shadow(0 26px 24px rgba(0,0,0,.28))}
@media(max-width:860px){
  .hero5 .headline{padding-left:24px;align-items:center}
  .hero5 .mark{font-size:17vw}
  .hero5 .cube.a{--s:38vw;right:-8%;top:50%}.hero5 .cube.b{right:8%;left:auto;top:6%;--s:20vw}.hero5 .cube.c{right:auto;left:48%;top:78%;--s:14vw}
}
@media(prefers-reduced-motion:reduce){.hero5 .bgs i{animation:none}.hero5 .bgs i:nth-child(1){opacity:1}}

/* partner photos: taller strip so faces are not cut off */
.bento .panel{min-height:600px;padding-top:calc(min(50%,300px) + 44px)}
.bento .panel.w2{min-height:600px}
.bento .pphoto{height:50%;max-height:300px;object-position:50% 20%}
.bento .w4 .pphoto{object-position:50% 4%}

/* v8: SVG logo (icon + wordmark + "Bangladesh") */
.logo-pill img{height:40px}
@media(max-width:640px){.logo-pill img{height:34px}}

/* v9: cohort logo tiles */
.card .ci{width:100%;height:96px;border-radius:14px;background:#fff!important;padding:14px 20px}
.card .ci img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.card:hover .ci{background:#fff}
.card .ci{display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}
.card .ci img{width:auto;height:100%;max-width:100%;object-fit:contain}

/* v10: stat colours red/green/red/green, no corner "notch" on criteria cards, tighter tint gap, calm cohort hover */
.stats.alt .stat b{color:var(--red)}
.stats.alt .stat:nth-child(even) b{color:var(--green)}
.crit>div::after{background:#d3eadf}
.crit>div:nth-child(even)::after{background:#fde3e6}
.tint+.tint{padding-top:56px}
.card:hover{background:#f4f6f5;box-shadow:inset 0 0 0 2px #004d38}
