:root{
  --teal-deep:#3D0A22;
  --teal:#E2136E;
  --teal-soft:#F0498F;
  --green:#FF6FA5;
  --green-deep:#8A0E44;
  --orange:#E8862E;
  --orange-deep:#C96A1A;
  --paper:#F7EAF0;
  --card:#FFF7FA;
  --ink:#2A0E1D;
  --ink-soft:#70505f;
  --line: rgba(226,19,110,0.16);
  --sdg4:#C5192D; --sdg5:#FF3A21; --sdg8:#A21942; --sdg12:#BF8B2E; --sdg13:#3F7E44;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper); color:var(--ink); font-family:'Hind Siliguri','Inter',sans-serif; line-height:1.7; overflow-x:hidden;}
h1,h2,h3,.display{font-family:'Baloo Da 2','Hind Siliguri',sans-serif; font-weight:700; color:var(--teal-deep); line-height:1.25;}
.eyebrow{font-family:'Space Grotesk',sans-serif; letter-spacing:.14em; text-transform:uppercase; font-size:.72rem; font-weight:600; color:var(--orange-deep);}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1120px; margin:0 auto; padding:0 28px;}
ul{list-style:none;}

body[data-lang="bn"] .en{display:none;}
body[data-lang="en"] .bn{display:none;}
body[data-lang="en"] h1,body[data-lang="en"] h2,body[data-lang="en"] h3,body[data-lang="en"] .display{font-family:'Space Grotesk','Baloo Da 2',sans-serif;}

header.nav{position:sticky; top:0; z-index:100; background:rgba(239,237,218,.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.nav-inner{max-width:1120px; margin:0 auto; padding:14px 28px; display:flex; align-items:center; justify-content:space-between; gap:16px;}
.brand{display:flex; align-items:center; gap:10px;}
.brand img{width:38px; height:38px; border-radius:50%; object-fit:cover; border:2px solid var(--teal);}
.brand-name{font-family:'Baloo Da 2',sans-serif; font-weight:700; font-size:1.02rem; color:var(--teal-deep);}
.brand-name small{display:block; font-family:'Space Grotesk',sans-serif; font-weight:500; font-size:.62rem; letter-spacing:.08em; color:var(--ink-soft); text-transform:uppercase;}
nav.links{display:flex; gap:22px; font-size:.88rem; font-weight:600; color:var(--ink-soft);}
nav.links a:hover, nav.links a.active{color:var(--teal);}
.nav-actions{display:flex; align-items:center; gap:10px;}
.lang-toggle{display:flex; border:1.5px solid var(--teal); border-radius:99px; overflow:hidden; font-family:'Space Grotesk',sans-serif; font-size:.72rem; font-weight:600;}
.lang-toggle button{padding:6px 12px; background:transparent; border:none; cursor:pointer; color:var(--teal-deep);}
.lang-toggle button.active{background:var(--teal); color:#fff;}
.btn{display:inline-block; padding:10px 20px; border-radius:99px; font-weight:600; font-size:.88rem; background:var(--orange); color:#fff; border:1.5px solid var(--orange); cursor:pointer;}
.btn:hover{background:var(--orange-deep); border-color:var(--orange-deep);}
.btn.ghost{background:transparent; color:var(--teal-deep); border:1.5px solid var(--teal-deep);}
.hamburger{display:none; background:none; border:none; font-size:1.5rem; color:var(--teal-deep); cursor:pointer;}
@media (max-width:860px){
  nav.links{display:none; position:absolute; top:100%; left:0; right:0; background:var(--paper); flex-direction:column; padding:16px 28px; border-bottom:1px solid var(--line); gap:14px;}
  nav.links.open{display:flex;}
  .hamburger{display:block;}
  .nav-actions .btn{padding:8px 14px; font-size:.8rem;}
}

.hero{position:relative; background:radial-gradient(120% 140% at 15% -10%, #1a5654 0%, var(--teal-deep) 55%, #0a2422 100%); color:#F3F2E4; padding:80px 0 56px; overflow:hidden;}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:50px; align-items:center;}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;}}
.hero .eyebrow{color:#F2B26B;}
.hero h1{color:#fff; font-size:2.5rem; margin:14px 0 18px;}
.hero h1 .accent{color:#8FD6A8;}
.hero p.lead{font-size:1.03rem; color:#D9E4DC; max-width:52ch; margin-bottom:26px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:30px;}
.hero-meta{display:flex; gap:24px; flex-wrap:wrap; font-family:'Space Grotesk',sans-serif;}
.hero-meta div{border-left:2px solid var(--orange); padding-left:12px;}
.hero-meta b{display:block; font-size:1.4rem; color:#fff;}
.hero-meta span{font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:#B8C7BE;}
.hero-art{position:relative; display:flex; align-items:center; justify-content:center;}
.hero-art .ring{width:300px; height:300px; border-radius:50%; background:conic-gradient(from 220deg, var(--green) 0deg, var(--teal-soft) 120deg, var(--orange) 230deg, var(--green) 360deg); display:flex; align-items:center; justify-content:center; padding:14px; box-shadow:0 30px 60px rgba(0,0,0,.35);}
.hero-art .ring img{width:100%; height:100%; border-radius:50%; object-fit:cover; border:6px solid var(--teal-deep); background:#fff;}
.river-wave{position:absolute; bottom:-2px; left:0; width:100%; line-height:0;}

.page-hero{background:linear-gradient(160deg, var(--teal-deep), #123f41); color:#fff; padding:64px 0 46px;}
.page-hero .eyebrow{color:#F2B26B;}
.page-hero h1{color:#fff; font-size:2.1rem; margin-top:10px;}
.page-hero p{color:#D9E4DC; max-width:60ch; margin-top:10px;}

section{padding:70px 0;}
.section-head{max-width:640px; margin-bottom:36px;}
.section-head h2{font-size:1.8rem; margin-top:8px;}
.section-head p{color:var(--ink-soft); margin-top:10px;}
.band-alt{background:var(--card); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.band-deep{background:var(--teal-deep); color:#EDEBDB;}
.band-deep .eyebrow{color:#F2B26B;}
.band-deep h2{color:#fff;}
.band-deep p{color:#C7D4CC;}

.about-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:44px; align-items:start;}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;}}
.about-grid p{margin-bottom:14px; color:var(--ink-soft);}
.fact-card{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px 24px;}
.fact-card dl{display:grid; grid-template-columns:auto 1fr; gap:8px 14px; font-size:.92rem;}
.fact-card dt{font-family:'Space Grotesk',sans-serif; font-weight:600; color:var(--teal); white-space:nowrap;}
.fact-card dd{color:var(--ink-soft);}

.vm-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
@media (max-width:760px){.vm-grid{grid-template-columns:1fr;}}
.vm-card{border-radius:20px; padding:32px;}
.vm-card.vision{background:linear-gradient(160deg,#1F6F72,#123f41); color:#fff;}
.vm-card.mission{background:var(--card); border:1px solid var(--line);}
.vm-card h3{font-size:1.25rem;}
.vm-card.vision h3{color:#fff;}
.vm-card.vision p{color:#DCEEE8; margin-top:10px;}
.vm-card.mission ul{margin-top:14px;}
.vm-card.mission li{padding:10px 0 10px 30px; position:relative; border-top:1px dashed var(--line); color:var(--ink-soft);}
.vm-card.mission li:first-child{border-top:none;}
.vm-card.mission li::before{content:"\2192"; position:absolute; left:0; color:var(--orange); font-weight:700;}

.values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media (max-width:760px){.values-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.values-grid{grid-template-columns:1fr;}}
.value-chip{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px;}
.value-chip .num{font-family:'Space Grotesk',sans-serif; color:var(--orange); font-weight:700; font-size:.8rem;}
.value-chip h4{font-family:'Baloo Da 2',sans-serif; margin-top:6px; font-size:1rem; color:var(--teal-deep);}

.sdg-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
@media (max-width:900px){.sdg-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.sdg-grid{grid-template-columns:repeat(2,1fr);}}
.sdg-card{border-radius:14px; padding:20px 16px; color:#fff; min-height:150px; display:flex; flex-direction:column; justify-content:space-between;}
.sdg-card .goal-no{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.6rem;}
.sdg-card .goal-label{font-family:'Space Grotesk',sans-serif; font-size:.7rem; letter-spacing:.04em; text-transform:uppercase; opacity:.92; margin-top:4px;}
.sdg-card p{font-size:.85rem; margin-top:10px; opacity:.95;}

.act-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:44px;}
@media (max-width:860px){.act-grid{grid-template-columns:1fr;}}
.act-list li{padding:14px 0; border-top:1px solid var(--line); display:flex; gap:14px; align-items:flex-start;}
.act-list li:first-child{border-top:none;}
.act-list .ico{width:34px; height:34px; border-radius:9px; background:var(--teal); color:#fff; display:flex; align-items:center; justify-content:center; font-size:.95rem; flex-shrink:0;}
.target-card{background:var(--teal-deep); color:#fff; border-radius:18px; padding:26px;}
.target-card h3{color:#fff; font-size:1.1rem; margin-bottom:14px;}
.target-card li{padding:8px 0; border-top:1px solid rgba(255,255,255,.14); font-size:.92rem; color:#DCE7DF; display:flex; gap:10px; align-items:center;}
.target-card li:first-child{border-top:none;}
.target-card li::before{content:"\25CF"; color:var(--orange); font-size:.5rem;}

.river-track{position:relative; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='300' viewBox='0 0 120 300'%3E%3Cpath d='M60,0 C90,40 30,80 60,120 C90,160 30,200 60,240 C90,280 30,300 60,300' fill='none' stroke='%23F0498F' stroke-width='5' stroke-linecap='round' opacity='0.55'/%3E%3C/svg%3E"); background-repeat:repeat-y; background-position:center top; background-size:120px 300px;}
.year-block{padding:30px 0;}
.year-tag{display:inline-flex; align-items:center; gap:10px; background:var(--teal-deep); color:#fff; font-family:'Space Grotesk',sans-serif; font-weight:700; padding:8px 18px; border-radius:99px; font-size:1rem; margin-bottom:20px;}
.year-tag .dot{width:8px; height:8px; border-radius:50%; background:var(--orange);}
.events-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:860px){.events-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.events-grid{grid-template-columns:1fr;}}
.event-card{background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.event-card .ph{aspect-ratio:4/3; overflow:hidden; background:#ddd;}
.event-card .ph img{width:100%; height:100%; object-fit:cover;}
.event-card .body{padding:14px 16px;}
.event-card .body h4{font-family:'Baloo Da 2',sans-serif; font-size:.96rem; color:var(--teal-deep); margin-bottom:6px;}
.event-card .body p{font-size:.84rem; color:var(--ink-soft);}
.year-filter{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:34px;}
.year-filter a{padding:8px 18px; border-radius:99px; border:1.5px solid var(--teal); font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:.85rem; color:var(--teal-deep);}
.year-filter a.active{background:var(--teal); color:#fff;}

.stats-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:center;}
@media (max-width:760px){.stats-grid{grid-template-columns:1fr;}}
.stat b{display:block; font-family:'Space Grotesk',sans-serif; font-size:2.5rem; color:var(--orange);}
.stat span{font-size:.85rem; color:#C7D4CC;}

.ongoing-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media (max-width:860px){.ongoing-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.ongoing-grid{grid-template-columns:1fr;}}
.ongoing-card{background:var(--card); border:1px solid var(--line); border-left:4px solid var(--green); border-radius:10px; padding:18px;}
.ongoing-card .idx{font-family:'Space Grotesk',sans-serif; color:var(--green-deep); font-weight:700; font-size:.78rem;}
.ongoing-card p{margin-top:8px; font-size:.9rem; color:var(--ink-soft);}

.gp-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px;}
@media (max-width:860px){.gp-grid{grid-template-columns:1fr;}}
.tag-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px;}
.tag{background:var(--card); border:1px solid var(--line); border-radius:99px; padding:8px 16px; font-size:.84rem; color:var(--teal-deep); font-weight:600;}

.safe-strip{background:linear-gradient(120deg,var(--green-deep),var(--teal-deep)); color:#fff; border-radius:20px; padding:32px; text-align:center;}
.safe-strip h3{color:#fff; font-size:1.15rem; margin-bottom:10px;}
.safe-strip p{color:#DCEEE8; max-width:60ch; margin:0 auto;}

.cta-band{background:var(--orange); color:#4A2306; border-radius:24px; padding:40px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;}
.cta-band h2{color:#4A2306;}
.cta-band p{color:#5c3410; margin-top:8px; max-width:48ch;}

/* Donation page */
.donate-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px;}
@media (max-width:860px){.donate-grid{grid-template-columns:1fr;}}
.method-card{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px; margin-bottom:16px;}
.method-card h4{font-family:'Baloo Da 2',sans-serif; color:var(--teal-deep); display:flex; align-items:center; gap:10px; margin-bottom:8px;}
.method-card .swatch{width:12px; height:12px; border-radius:4px;}
.method-card .num{font-family:'Space Grotesk',sans-serif; font-size:1.15rem; font-weight:700; color:var(--ink);}
.form-card{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:26px;}
.form-row{margin-bottom:16px;}
.form-row label{display:block; font-size:.85rem; font-weight:600; color:var(--teal-deep); margin-bottom:6px;}
.form-row input, .form-row select, .form-row textarea{width:100%; padding:11px 14px; border-radius:10px; border:1.5px solid var(--line); background:#fff; font-family:'Hind Siliguri',sans-serif; font-size:.95rem; color:var(--ink);}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{outline:2px solid var(--teal-soft); border-color:var(--teal);}
.form-actions{margin-top:6px;}
.alert{padding:14px 18px; border-radius:10px; margin-bottom:18px; font-size:.9rem;}
.alert.ok{background:#DFF3DE; color:#245C1D; border:1px solid #B7E3B4;}
.alert.err{background:#FBE1DC; color:#8A2A19; border:1px solid #F3B7A9;}

/* Partner / project logos */
.logo-row-label{text-align:center; font-family:'Space Grotesk',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:22px;}
.logo-grid{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:28px;}
.logo-tile{display:flex; align-items:center; justify-content:center; width:140px; height:80px; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:14px;}
.logo-tile img{max-width:100%; max-height:100%; object-fit:contain; filter:grayscale(100%); opacity:.72; transition:filter .25s ease, opacity .25s ease;}
.logo-tile:hover img{filter:grayscale(0%); opacity:1;}

/* Fundraising popup */
.fund-popup-overlay{position:fixed; inset:0; background:rgba(20,10,15,.6); display:flex; align-items:center; justify-content:center; z-index:1000; padding:20px; opacity:0; pointer-events:none; transition:opacity .3s ease;}
.fund-popup-overlay.show{opacity:1; pointer-events:auto;}
.fund-popup{background:var(--card); border-radius:20px; max-width:460px; width:100%; overflow:hidden; position:relative; transform:translateY(16px); transition:transform .3s ease; max-height:88vh; overflow-y:auto; box-shadow:0 30px 80px rgba(0,0,0,.4);}
.fund-popup-overlay.show .fund-popup{transform:translateY(0);}
.fund-popup-close{position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:50%; background:rgba(0,0,0,.45); color:#fff; border:none; font-size:1.3rem; line-height:1; cursor:pointer; z-index:2;}
.fund-popup-photo{width:100%; aspect-ratio:16/10; overflow:hidden; background:#ddd;}
.fund-popup-photo img{width:100%; height:100%; object-fit:cover;}
.fund-popup-body{padding:24px;}
.fund-popup-body h3{font-size:1.25rem; margin:10px 0 8px;}
.fund-popup-body p{color:var(--ink-soft); font-size:.9rem;}

.campaign-badge{display:inline-block; padding:5px 12px; border-radius:99px; font-family:'Space Grotesk',sans-serif; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em;}
.campaign-badge.active{background:#DFF3DE; color:#245C1D;}
.campaign-badge.closed{background:#EEE; color:#666;}

.progress-track{background:var(--line); border-radius:99px; height:10px; overflow:hidden; margin-top:14px;}
.progress-fill{background:linear-gradient(90deg, var(--orange), var(--teal)); height:100%; border-radius:99px;}
.progress-labels{display:flex; justify-content:space-between; font-size:.78rem; color:var(--ink-soft); margin-top:6px; font-family:'Space Grotesk',sans-serif;}

.campaign-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media (max-width:900px){.campaign-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.campaign-grid{grid-template-columns:1fr;}}
.campaign-card{background:var(--card); border:1px solid var(--line); border-radius:16px; overflow:hidden;}
.campaign-photo{aspect-ratio:16/10; overflow:hidden; background:#ddd;}
.campaign-photo img{width:100%; height:100%; object-fit:cover;}
.campaign-body{padding:20px;}
.campaign-body h3{font-size:1.05rem; margin:10px 0 8px;}
.campaign-body p{color:var(--ink-soft); font-size:.88rem;}

/* Team page */
.founder-card{display:grid; grid-template-columns:220px 1fr; gap:34px; align-items:center; background:var(--card); border:1px solid var(--line); border-radius:20px; padding:30px;}
@media (max-width:700px){.founder-card{grid-template-columns:1fr; text-align:center;}}
.founder-photo{width:200px; height:200px; border-radius:50%; overflow:hidden; background:linear-gradient(160deg,var(--teal),var(--teal-deep)); display:flex; align-items:center; justify-content:center; margin:0 auto; box-shadow:0 16px 40px rgba(0,0,0,.18);}
.founder-photo img{width:100%; height:100%; object-fit:cover;}
.founder-photo .initials{color:#fff; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:2.6rem;}
.founder-card h3{font-size:1.4rem;}
.role-tag{display:inline-block; margin:8px 0 14px; padding:6px 14px; border-radius:99px; background:var(--teal-deep); color:#fff; font-family:'Space Grotesk',sans-serif; font-size:.78rem; font-weight:600;}
.role-tag.small{margin:6px 0 10px; padding:5px 12px; font-size:.72rem;}
.founder-card p{color:var(--ink-soft);}

.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
@media (max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.team-grid{grid-template-columns:1fr;}}
.team-card{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px; text-align:center;}
.team-photo{width:96px; height:96px; border-radius:50%; overflow:hidden; margin:0 auto 14px; background:linear-gradient(160deg,var(--teal-soft),var(--teal-deep)); display:flex; align-items:center; justify-content:center;}
.team-photo img{width:100%; height:100%; object-fit:cover;}
.team-photo .initials{color:#fff; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.3rem;}
.team-card h4{font-family:'Baloo Da 2',sans-serif; color:var(--teal-deep); font-size:1rem;}
.team-card p{font-size:.84rem; color:var(--ink-soft); margin-top:8px;}

footer{background:var(--teal-deep); color:#B8C7BE; padding:50px 0 24px;}
.foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:36px;}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr;}}
footer h4{color:#fff; font-size:.95rem; margin-bottom:14px; font-family:'Space Grotesk',sans-serif;}
footer .brand-name, footer .brand-name small{color:#fff;}
footer .brand-name small{color:#9FB3A8;}
footer p, footer li{font-size:.88rem; color:#B8C7BE;}
footer li{padding:5px 0;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12); margin-top:32px; padding-top:18px; font-size:.78rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; color:#8FA398;}

.reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
.reveal.show{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1; transform:none; transition:none;} html{scroll-behavior:auto;}}
