:root{
 --g9:#1f5c33;--g8:#2e7d32;--g7:#388e3c;--g6:#4caf50;--g1:#eaf6ea;--g0:#f3faf3;
 --y:#ffc93c;--cream:#fffdf7;--sand:#fbf5e8;--pill:#efe9df;
 --ink:#1b2a1f;--muted:#5d6b61;--line:#ece3d1;--r:22px;
 --sh:0 18px 45px -20px rgba(31,92,51,.28);--sh2:0 2px 10px -2px rgba(31,92,51,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink);background:var(--cream);line-height:1.7;font-size:16px;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
svg.i{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
h1,h2,h3,h4{font-family:'Playfair Display',serif;color:var(--g9);line-height:1.2;font-weight:700;letter-spacing:-.005em}
h3,h4{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;letter-spacing:-.01em}
section{padding:90px 0}
.white{background:#fff}.sand{background:var(--sand)}.mint{background:var(--g0)}
.head{text-align:center;max-width:700px;margin:0 auto 50px}
.head.left{text-align:left;margin-left:0}
.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--g8);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;margin-bottom:12px}
.kicker:before{content:"";width:28px;height:2px;background:var(--y);border-radius:2px}
.kicker{padding:0}
.head:not(.left) .kicker:after{content:"";width:28px;height:2px;background:var(--y);border-radius:2px}
.head h2,.h2{font-size:clamp(1.85rem,3.3vw,2.6rem);margin-bottom:12px}
.head p,.lead{color:var(--muted);font-size:1.04rem}
.ph{object-fit:cover;width:100%;height:100%;background:var(--g1)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--g8);color:#fff;font-weight:700;border:2px solid var(--g8);border-radius:50px;padding:12px 26px;cursor:pointer;font-size:.95rem;transition:.25s;white-space:nowrap;letter-spacing:.01em}
.btn:hover{background:var(--g9);border-color:var(--g9);transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(31,92,51,.6)}
.btn svg.i{width:18px;height:18px}
.btn.out{background:transparent;color:var(--g8)}
.btn.out:hover{background:var(--g8);color:#fff}
.btn.gold{background:var(--y);border-color:var(--y);color:var(--g9);text-transform:uppercase;letter-spacing:.06em;font-size:.86rem}
.btn.gold:hover{background:#ffd45f;border-color:#ffd45f;box-shadow:0 10px 22px -10px rgba(255,180,0,.8)}
.btn.white{background:#fff;border-color:#fff;color:var(--g9)}
.btn.sm{padding:9px 18px;font-size:.88rem}

/* topbar + header */
.topbar{background:var(--g9);color:#d9eedd;font-size:.84rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:8px 20px;flex-wrap:wrap;align-items:center}
.topbar span{display:inline-flex;align-items:center;gap:7px}
.topbar svg.i{width:15px;height:15px;color:var(--y)}
.topbar b{color:#fff;font-weight:600}
.tsoc{display:flex;gap:6px}
.tsoc a{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:.7rem;font-weight:800;color:#fff}
header{background:rgba(255,253,247,.97);backdrop-filter:blur(8px);position:sticky;top:0;z-index:60;transition:.3s;border-bottom:1px solid transparent}
header.scrolled{box-shadow:0 8px 24px -14px rgba(0,0,0,.2);border-color:var(--line)}
header .wrap{max-width:1300px}
.nav{display:flex;align-items:center;justify-content:space-between;height:94px;gap:18px;transition:height .3s}
header.scrolled .nav{height:76px}
.logo{display:flex;align-items:center;gap:12px;cursor:pointer;flex-shrink:0}
.logo img{width:66px;height:66px;border-radius:50%;transition:.3s}
header.scrolled .logo img{width:54px;height:54px}
.logo b{font-family:'Playfair Display',serif;color:var(--g9);font-size:1.06rem;line-height:1.12;display:block;font-weight:600}
.logo small{color:var(--g7);font-size:.74rem;font-weight:700}
.menu{display:flex;gap:2px;list-style:none;align-items:center;background:var(--pill);border-radius:50px;padding:6px}
.menu a{color:var(--ink);font-weight:600;font-size:.87rem;padding:9px 11px;border-radius:40px;cursor:pointer;transition:.2s;display:block;white-space:nowrap}
.menu a:hover{background:#fff;color:var(--g8)}
.menu a.active{background:#fff;color:var(--g8);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;box-shadow:0 2px 8px -3px rgba(0,0,0,.12)}
.burger{display:none;background:var(--pill);border:0;width:46px;height:46px;border-radius:50%;color:var(--g9);cursor:pointer;place-items:center}

/* pages */

@keyframes fade{from{opacity:0}to{opacity:1}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* page header – no tint on photos */
.pagehead{padding:56px 0 0;background:linear-gradient(180deg,var(--sand),var(--cream))}
.pagehead .phtop{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:32px}
.pagehead h1{font-size:clamp(2.2rem,4.6vw,3.3rem)}
.pagehead p{color:var(--muted);max-width:560px;font-size:1.06rem;margin-top:6px}
.crumb{font-size:.86rem;color:var(--muted);margin-bottom:8px;font-weight:600}
.crumb span{color:var(--g8);cursor:pointer}
.banner{height:300px;border-radius:28px;overflow:hidden;box-shadow:var(--sh)}

/* hero slider – photos shown clean */
.hero{padding:28px 0 0}
.slider{position:relative;height:600px;border-radius:32px;overflow:hidden;box-shadow:var(--sh);background:var(--g1)}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.slide.on{opacity:1}
.slide img{transform:scale(1.04);transition:transform 7s ease}
.slide.on img{transform:scale(1)}
.hcard{position:absolute;left:34px;bottom:34px;max-width:540px;background:rgba(255,253,247,.97);border-radius:26px;padding:34px 34px 30px;box-shadow:0 30px 60px -25px rgba(0,0,0,.45);z-index:3}
.hcard .tag{display:inline-flex;gap:8px;align-items:center;background:var(--g1);color:var(--g8);font-weight:700;font-size:.8rem;padding:6px 14px;border-radius:30px;margin-bottom:14px}
.hcard h1{font-size:clamp(2rem,3.8vw,3rem)}
.hcard h1 em{font-style:italic;color:var(--g8)}
.hcard .hi{color:var(--g7);font-weight:700;margin-top:6px}
.hcard p{color:var(--muted);margin:12px 0 22px}
.hcard .cta{display:flex;gap:12px;flex-wrap:wrap}
.dots{position:absolute;right:30px;bottom:30px;display:flex;gap:8px;z-index:3}
.dots button{width:12px;height:12px;border-radius:20px;border:0;background:rgba(255,255,255,.7);cursor:pointer;transition:.3s;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.dots button.on{width:34px;background:#fff}
.helpline{position:absolute;right:30px;top:30px;z-index:3;background:#fff;border-radius:18px;padding:12px 16px;display:flex;gap:12px;align-items:center;box-shadow:0 14px 30px -12px rgba(0,0,0,.4)}
.helpline .ic{width:44px;height:44px;border-radius:50%;background:var(--g8);color:#fff;display:grid;place-items:center;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(46,125,50,.5)}70%{box-shadow:0 0 0 12px rgba(46,125,50,0)}100%{box-shadow:0 0 0 0 rgba(46,125,50,0)}}
.helpline small{display:block;color:var(--muted);font-size:.74rem}
.helpline b{color:var(--g9)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;gap:16px;align-items:center;box-shadow:var(--sh2)}
.ibox{width:58px;height:58px;border-radius:18px;background:var(--g1);color:var(--g8);display:grid;place-items:center;flex-shrink:0}
.ibox svg.i{width:28px;height:28px}
.ibox.solid{background:var(--g8);color:#fff}
.stat b{display:block;font-family:'Playfair Display',serif;font-size:2rem;color:var(--g9);line-height:1.1}
.stat span{color:var(--muted);font-size:.88rem;font-weight:500}

/* layout */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.collage{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:230px 230px;gap:16px}
.collage div{border-radius:24px;overflow:hidden;box-shadow:var(--sh)}
.collage .tall{grid-row:span 2}
.check{list-style:none;margin:22px 0 28px;display:grid;gap:12px}
.check li{display:flex;gap:12px;align-items:flex-start;font-weight:500}
.check li svg.i{width:24px;height:24px;padding:4px;border-radius:50%;background:var(--g1);color:var(--g8);stroke-width:3}

/* cards */
.card{background:#fff;border-radius:var(--r);border:1px solid var(--line);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.card .pic{height:220px;overflow:hidden;position:relative;background:var(--g1)}
.card .pic img{transition:.6s}
.card:hover .pic img{transform:scale(1.06)}
.card .body{padding:26px;flex:1;display:flex;flex-direction:column}
.card .body .ibox{margin:-55px 0 14px;border:5px solid #fff;width:66px;height:66px;background:var(--g8);color:#fff;position:relative}
.card h3{font-size:1.25rem;margin-bottom:8px}
.card p{color:var(--muted);font-size:.95rem}
.more{margin-top:auto;padding-top:16px;color:var(--g8);font-weight:700;font-size:.92rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.more svg.i{width:16px;height:16px;transition:.2s}
.more:hover svg.i{transform:translateX(4px)}
.ctag{position:absolute;top:14px;left:14px;background:#fff;color:var(--g8);font-size:.75rem;font-weight:800;padding:5px 12px;border-radius:30px}
.bar{height:8px;background:#edf3ed;border-radius:9px;overflow:hidden;margin:18px 0 8px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--g7),var(--g6));border-radius:9px;width:0;transition:width 1.4s ease}
.meta{display:flex;justify-content:space-between;font-size:.86rem;color:var(--muted)}
.meta b{color:var(--g9)}
.card .btn{margin-top:20px;align-self:flex-start}

/* impact (no image) */
.impact{background:var(--g0);border-top:1px solid #dcebdc;border-bottom:1px solid #dcebdc}
.impactgrid{display:grid;grid-template-columns:1fr 1.15fr;gap:54px;align-items:center}
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tier{background:#fff;border:1px solid #dcebdc;border-radius:var(--r);padding:24px;cursor:pointer;transition:.25s}
.tier:hover{border-color:var(--g7);box-shadow:var(--sh);transform:translateY(-3px)}
.tier .ibox{width:50px;height:50px;margin-bottom:12px}
.tier b{font-family:'Playfair Display',serif;color:var(--g9);font-size:1.6rem;display:block}
.tier span{color:var(--muted);font-size:.93rem}

/* testimonials */
.quote{background:#fff;border-radius:var(--r);padding:30px;border:1px solid var(--line)}
.quote .q{color:var(--g6);opacity:.4}
.stars{color:#f5a623;letter-spacing:2px;margin:6px 0 10px}
.who{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.av{width:46px;height:46px;border-radius:50%;background:var(--g1);color:var(--g8);display:grid;place-items:center;font-weight:800}
.who small{display:block;color:var(--muted)}

/* CTA band */
.ctaband{background:var(--g8);border-radius:30px;padding:54px;display:grid;grid-template-columns:1.4fr auto;gap:30px;align-items:center;position:relative;overflow:hidden}
.ctaband:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;border:40px solid rgba(255,255,255,.06);right:-80px;top:-120px}
.ctaband h2{color:#fff;font-size:clamp(1.7rem,3.2vw,2.4rem)}
.ctaband p{color:#dff0e1;margin-top:8px}
.ctaband .acts{display:flex;gap:12px;flex-wrap:wrap;position:relative}
.btn.ghostw{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.btn.ghostw:hover{background:#fff;color:var(--g9)}

/* about */
.anchor{scroll-margin-top:110px}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;padding:6px 2px 10px}
.tl{position:relative;padding-top:66px}
.tl:before{content:"";position:absolute;top:21px;left:50%;width:calc(100% + 22px);height:2px;background:linear-gradient(90deg,var(--g6),var(--y))}
.tl:last-child:before{display:none}
.tl .dot{position:absolute;left:50%;top:0;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid var(--g7);color:var(--g8);display:grid;place-items:center;z-index:2;transition:.3s}
.tl:hover .dot{background:var(--g8);color:#fff;transform:translateX(-50%) scale(1.1)}
.tl .dot svg.i{width:19px;height:19px}
.tl .box{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 18px;text-align:center;height:100%;transition:.3s}
.tl .box:before{content:"";position:absolute;top:-8px;left:50%;width:14px;height:14px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.tl:hover .box{box-shadow:var(--sh);transform:translateY(-4px)}
.tl .yr{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--g7);font-weight:700}
.tl h4{font-size:1.02rem;margin:4px 0 6px}
.tl p{color:var(--muted);font-size:.9rem}
.vm{border-radius:26px;padding:40px;background:#fff;border:1px solid var(--line);height:100%}
.vm.v{background:var(--g8);border-color:var(--g8)}
.vm.v h3,.vm.v p{color:#fff}
.vm.v .ibox{background:rgba(255,255,255,.15);color:#fff}
.vm .ibox{margin-bottom:18px}
.vm h3{font-size:1.6rem;margin-bottom:10px}
.vm p{color:var(--muted);font-size:1.03rem}
.vm ul{margin-top:14px;list-style:none;display:grid;gap:10px}
.vm li{display:flex;gap:10px}
.vm li svg.i{color:var(--g7);width:20px;height:20px;margin-top:3px}
.val{padding:30px 24px;background:#fff;border-radius:var(--r);border:1px solid var(--line);text-align:center;transition:.3s}
.val:hover{box-shadow:var(--sh);transform:translateY(-4px)}
.val .ibox{margin:0 auto 14px}
.val h4{font-size:1.15rem;margin-bottom:4px}
.val p{color:var(--muted);font-size:.92rem}
.award{background:#fff;border-radius:var(--r);border:1px solid var(--line);padding:30px 24px;text-align:center;transition:.3s}
.award:hover{box-shadow:var(--sh);transform:translateY(-4px)}
.award .ibox{margin:0 auto 14px;border-radius:50%;width:70px;height:70px;background:linear-gradient(135deg,#fff3c4,var(--y));color:#7a5600}
.award .ibox svg.i{width:32px;height:32px}
.award .yr{display:inline-block;background:var(--g1);color:var(--g8);font-weight:800;font-size:.76rem;padding:3px 12px;border-radius:30px;margin-bottom:8px}
.award h4{font-size:1.08rem;margin-bottom:4px}
.award p{color:var(--muted);font-size:.9rem}
.licence{display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;margin-top:26px}
.licence .im{height:210px;border-radius:16px;overflow:hidden}
.director{display:grid;grid-template-columns:160px 1fr;gap:26px;background:#fff;border-radius:26px;padding:26px;border:1px solid var(--line);align-items:center}
.director .photo{height:180px;border-radius:20px;background:linear-gradient(160deg,var(--g7),var(--g9));color:#fff;display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:3rem}
.director small{color:var(--g7);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}
.director h3{font-size:1.5rem;margin:2px 0 8px}
.director p{color:var(--muted);font-size:.95rem}
.tel{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:700;color:var(--g9);background:var(--g1);padding:9px 16px;border-radius:30px}
.tel svg.i{width:16px;height:16px}
.member{text-align:center;background:#fff;border-radius:var(--r);padding:26px 18px;border:1px solid var(--line)}
.member .ibox{margin:0 auto 12px;width:86px;height:86px;border-radius:50%}
.member .ibox svg.i{width:36px;height:36px}
.member h4{font-size:1.05rem}
.member small{color:var(--muted)}

/* get involved */
.way{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;transition:.3s;display:flex;flex-direction:column}
.way:hover{box-shadow:var(--sh);transform:translateY(-5px);border-color:transparent}
.way .ibox{margin-bottom:16px}
.way h3{font-size:1.25rem;margin-bottom:6px}
.way p{color:var(--muted);font-size:.95rem}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;position:relative}
.step .n{position:absolute;top:18px;right:20px;font-family:'Playfair Display',serif;font-size:2.6rem;color:var(--g1);font-weight:700;line-height:1}
.step .ibox{margin-bottom:14px}
.step h4{font-size:1.15rem;margin-bottom:6px}
.step p{color:var(--muted);font-size:.92rem}
.elig{background:#fff;border-left:4px solid var(--g7);border-radius:14px;padding:22px 24px;box-shadow:var(--sh2)}
.elig h4{display:flex;gap:10px;align-items:center;font-size:1.1rem;margin-bottom:8px}
.elig h4 svg.i{color:var(--g8)}
.elig ul{list-style:none;color:var(--muted);font-size:.93rem;display:grid;gap:4px}
.elig li:before{content:"• ";color:var(--g7);font-weight:800}
.csr{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden}
.csr .im{min-height:420px}
.csr .tx{padding:44px}
.dl{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-bottom:12px}
.dl span{display:flex;gap:12px;align-items:center;font-weight:600}
.dl span svg.i{color:var(--g8)}
.dl a{display:inline-flex;gap:6px;align-items:center;color:var(--g8);font-weight:700;font-size:.9rem;cursor:pointer}
.dl a svg.i{width:16px;height:16px}
.faq{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.faq button{width:100%;text-align:left;background:none;border:0;padding:18px 22px;font-weight:700;font-size:1rem;color:var(--g9);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px}
.faq button svg.i{transition:.3s;width:20px;height:20px}
.faq.open button svg.i{transform:rotate(180deg)}
.faq .ans{max-height:0;overflow:hidden;transition:max-height .35s ease;color:var(--muted);padding:0 22px}
.faq.open .ans{max-height:200px;padding-bottom:18px}
.chk{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.chk label,.cbx{display:flex;gap:10px;align-items:center;margin:0;font-weight:500;font-size:.92rem;background:#fdfbf6;border:1.5px solid var(--line);border-radius:12px;padding:11px 12px;cursor:pointer;color:var(--ink)}
.chk input,.cbx input{width:18px;height:18px;accent-color:var(--g8);flex-shrink:0}
.cbx{background:transparent;border:0;padding:0;margin-top:16px}

/* gallery */
.chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:34px}
.chips button{border:1px solid var(--line);background:#fff;border-radius:30px;padding:9px 20px;cursor:pointer;color:var(--ink);font-weight:600;transition:.2s}
.chips button.on,.chips button:hover{background:var(--g8);color:#fff;border-color:var(--g8)}
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px}
.gal figure{border-radius:18px;overflow:hidden;position:relative;cursor:zoom-in;background:var(--g1)}
.gal figure.big{grid-column:span 2;grid-row:span 2}
.gal figure img{transition:.5s}
.gal figure:hover img{transform:scale(1.05)}
.gal figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.95);color:var(--g9);font-weight:700;font-size:.8rem;padding:6px 12px;border-radius:30px}
.lb{position:fixed;inset:0;background:rgba(10,20,12,.92);display:none;place-items:center;z-index:200;padding:20px}
.lb.open{display:grid}
.lb img{max-height:86vh;max-width:92vw;border-radius:12px}
.lb button{position:absolute;top:20px;right:24px;background:#fff;border:0;width:42px;height:42px;border-radius:50%;font-size:1.2rem;cursor:pointer}

/* events */
.ev{display:grid;grid-template-columns:250px 1fr auto;gap:26px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:16px;transition:.3s}
.ev:hover{box-shadow:var(--sh)}
.ev .pic{height:165px;border-radius:14px;overflow:hidden;position:relative}
.ev .date{position:absolute;top:10px;left:10px;background:#fff;color:var(--g9);border-radius:12px;padding:6px 12px;text-align:center;font-weight:800;font-size:.72rem;line-height:1.15}
.ev .date b{font-family:'Playfair Display',serif;font-size:1.5rem;display:block;color:var(--g8)}
.ev h3{font-size:1.3rem;margin:6px 0}
.ev p{color:var(--muted);font-size:.93rem}
.ev .row{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:.88rem;color:var(--muted);font-weight:500}
.ev .row span{display:inline-flex;align-items:center;gap:6px}
.ev .row svg.i{width:16px;height:16px;color:var(--g8)}
.ev .btn{margin-right:12px}
.tagp{display:inline-block;background:var(--g1);color:var(--g8);font-size:.74rem;font-weight:800;padding:4px 12px;border-radius:20px}

/* forms */
.formbox{background:#fff;border-radius:28px;padding:38px;box-shadow:var(--sh);border:1px solid var(--line)}
.formbox h2{font-size:1.75rem;margin-bottom:4px}
.formbox>p{color:var(--muted);margin-bottom:8px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-size:.85rem;font-weight:700;color:var(--g9);margin:16px 0 7px}
input,select,textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;font-family:inherit;font-size:.95rem;background:#fdfbf6;transition:.2s;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--g7);background:#fff;box-shadow:0 0 0 4px var(--g1)}
.amts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.amts button{padding:14px 6px;border-radius:12px;border:1.5px solid var(--line);background:#fdfbf6;font-weight:800;color:var(--g9);cursor:pointer;font-size:1.04rem;transition:.2s}
.amts button small{display:block;font-weight:500;font-size:.72rem;color:var(--muted)}
.amts button.on{background:var(--g8);color:#fff;border-color:var(--g8)}
.amts button.on small{color:#d9eedd}
.toggle{display:grid;grid-template-columns:1fr 1fr;background:var(--sand);border-radius:12px;padding:4px}
.toggle button{border:0;background:transparent;padding:11px;border-radius:9px;font-weight:700;color:var(--muted);cursor:pointer}
.toggle button.on{background:#fff;color:var(--g9);box-shadow:var(--sh2)}
.submit{margin-top:24px;width:100%;padding:15px}
.ok{display:none;background:var(--g1);color:var(--g9);padding:14px 16px;border-radius:12px;margin-top:16px;font-weight:600}
.side{background:#fff;border:1px solid var(--line);border-radius:26px;padding:32px}
.side h3{font-size:1.4rem;margin-bottom:4px}
.side>p{color:var(--muted)}
.side ul{list-style:none;margin-top:14px}
.side li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:center}
.side li:last-child{border:0}
.side li .ibox{width:46px;height:46px;border-radius:14px}
.side li .ibox svg.i{width:22px;height:22px}
.side li small{display:block;color:var(--muted);font-size:.8rem}
.side li b{font-weight:700;color:var(--g9)}
.trust{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.trust span{display:inline-flex;gap:6px;align-items:center;background:var(--g1);color:var(--g9);border-radius:30px;padding:7px 13px;font-size:.8rem;font-weight:700}
.trust svg.i{width:15px;height:15px}
.map{height:270px;border-radius:24px;overflow:hidden;margin-top:20px;border:1px solid var(--line);background:var(--g1)}
.bank{background:var(--g0);border-radius:22px;padding:24px;border:1.5px dashed var(--g6);margin-top:20px}
.bank h4{margin-bottom:10px}
.bank table{width:100%;font-size:.92rem}
.bank td{padding:5px 0}.bank td:first-child{color:var(--muted);width:42%}

/* newsletter */
.news{background:linear-gradient(120deg,var(--g9),var(--g8));border-radius:28px;padding:44px 48px;display:grid;grid-template-columns:1fr 1.1fr;gap:30px;align-items:center;position:relative;overflow:hidden}
.news:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:36px solid rgba(255,255,255,.05);right:-60px;bottom:-130px}
.news .kicker{color:var(--y)}.news h3{color:#fff!important}.news p{color:#d6ebd9!important}.news .cbx{color:#e8f3e9}.news .btn{background:var(--y);border-color:var(--y);color:var(--g9)}
.news form{position:relative;z-index:2}
.news h3{font-size:1.7rem}
.news p{color:var(--muted)}
.nform{display:flex;gap:10px;flex-wrap:wrap}
.nform input[type=email]{flex:1;min-width:220px;background:#fff}
.nform .cbx{width:100%;margin-top:4px}

/* footer */
footer{background:var(--g9);color:#c4dcc8;padding:72px 0 22px;margin-top:0}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:40px}
footer h4{color:#fff;font-size:1.12rem;margin-bottom:16px}
footer ul{list-style:none;display:grid;gap:9px}
footer li{cursor:pointer;transition:.2s}
footer li:hover{color:var(--y);padding-left:4px}
.flogo{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.flogo img{width:62px;height:62px;border-radius:50%;background:#fff}
.flogo b{font-family:'Playfair Display',serif;color:#fff;font-size:1.12rem;line-height:1.25}
.soc{display:flex;gap:8px;margin-top:16px}
.soc a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.78rem;cursor:pointer;transition:.2s}
.soc a:hover{background:var(--y);color:var(--g9)}
.fcontact{display:grid;gap:10px}
.fcontact div{display:flex;gap:10px;align-items:flex-start}
.fcontact svg.i{width:18px;height:18px;color:var(--y);margin-top:3px}
.copy{border-top:1px solid rgba(255,255,255,.12);margin-top:46px;padding-top:20px;font-size:.86rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* floating */
.wa{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;z-index:90;box-shadow:0 10px 25px -8px rgba(0,0,0,.35);transition:.2s}
.wa:hover{transform:scale(1.07)}
.top{position:fixed;right:28px;bottom:90px;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--g8);border:1px solid var(--line);cursor:pointer;z-index:90;opacity:0;pointer-events:none;transition:.3s;display:grid;place-items:center;box-shadow:var(--sh)}
.top.show{opacity:1;pointer-events:auto}
.top svg.i{transform:rotate(-90deg);width:20px;height:20px}

/* responsive */
@media(max-width:1300px){.menu a{padding:8px 9px;font-size:.84rem}.logo b{font-size:.95rem}.nav>.btn.gold{padding:12px 18px}}
@media(max-width:1024px){
 .menu{display:none;position:absolute;top:100%;left:16px;right:16px;background:#fff;flex-direction:column;align-items:stretch;padding:12px;border-radius:20px;box-shadow:0 20px 40px -10px rgba(0,0,0,.2)}
 .menu.open{display:flex}
 .burger{display:grid}
 .nav>.btn{display:none}
 .grid2,.impactgrid,.csr,.news,.ctaband{grid-template-columns:1fr}
 .grid3,.grid4,.stats,.steps{grid-template-columns:1fr 1fr}
 .fgrid{grid-template-columns:1fr 1fr}
 .gal{grid-template-columns:1fr 1fr}
 .ev{grid-template-columns:1fr}
 .ev .btn{margin:0 0 6px;justify-self:start}
 .licence{grid-template-columns:1fr}
 .timeline{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:46%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
 .tl{scroll-snap-align:start}
 .chk{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 section{padding:64px 0}
 .slider{height:auto;border-radius:24px;overflow:visible;background:none;box-shadow:none}
 .slides{position:relative;height:300px;border-radius:24px;overflow:hidden}
 .hcard{position:relative;left:auto;bottom:auto;margin:-40px 10px 0;padding:24px}
 .dots{top:262px;bottom:auto;right:20px}
 .helpline{display:none}
 .grid3,.grid4,.stats,.steps,.fgrid,.tiers,.chk{grid-template-columns:1fr}
 .timeline{grid-auto-columns:78%}
 .frow{grid-template-columns:1fr}
 .amts{grid-template-columns:1fr 1fr}
 .director{grid-template-columns:1fr}
 .director .photo{height:120px;width:120px}
 .collage{grid-template-rows:170px 170px}
 .banner{height:200px}
 .gal figure.big{grid-column:span 2;grid-row:span 1}
 .formbox,.side,.vm,.ctaband,.csr .tx,.news{padding:24px}
 .logo b{font-size:.88rem}.logo img{width:50px;height:50px}
 .topbar .wrap>span:nth-child(2),.tsoc,.topbar .co{display:none}
}


/* ===== polish ===== */
.topbar{font-size:.8rem}
.tsoc a{width:28px;height:28px;transition:.2s}.tsoc a:hover{background:var(--y);color:var(--g9)}
.soc a svg,.tsoc a svg{display:block}
.head h2,.h2{letter-spacing:-.01em}
.head p{max-width:620px;margin-left:auto;margin-right:auto}
.head.left p{margin-left:0}
.card,.quote,.val,.award,.stat,.tier,.side,.formbox,.member,.director,.vm,.ev{border-color:#efe7d8}
.card{box-shadow:0 1px 2px rgba(16,24,16,.04)}
.card h3{font-size:1.12rem}
.card .body{padding:24px 24px 26px}
.stars{display:flex;gap:2px}
.quote p{font-size:1rem;line-height:1.75;color:#334036}
.evc{background:#fff;border:1px solid #efe7d8;border-radius:var(--r);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.evc:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.evc .pic{height:200px;position:relative;overflow:hidden}
.evc .pic img{transition:.6s}.evc:hover .pic img{transform:scale(1.06)}
.evc .dt{position:absolute;left:16px;top:16px;background:#fff;border-radius:14px;padding:8px 12px;text-align:center;font-weight:800;font-size:.72rem;color:var(--g9);line-height:1.1;box-shadow:var(--sh2)}
.evc .dt b{display:block;font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--g8)}
.evc .body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.evc h3{font-size:1.1rem;margin:10px 0 8px}
.evc .tagp{align-self:flex-start}
.evc .row{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.86rem}
.evc .row span{display:inline-flex;gap:6px;align-items:center}
.evc .row svg.i{width:15px;height:15px;color:var(--g8)}
.ctaband{background:linear-gradient(120deg,var(--g8),var(--g7))}
footer{background:#173f25}
footer h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;letter-spacing:.02em}
.menu{box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}
::selection{background:var(--y);color:var(--g9)}

/* ===== hero v2 ===== */
.hero2{position:relative;height:calc(100vh - 136px);min-height:560px;max-height:760px;overflow:hidden;background:#1d2b20}
.hero2 .slides{position:absolute;inset:0}
.hero2 .slide img{transform:scale(1.12);transition:transform 8s linear}
.hero2 .slide.on img{transform:scale(1)}
.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.42) 42%,rgba(0,0,0,.05) 75%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 35%);z-index:1}
.hcontent{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;color:#fff;padding-bottom:60px}
.hcontent .tag{display:inline-flex;gap:8px;align-items:center;align-self:flex-start;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:600;font-size:.84rem;padding:7px 16px;border-radius:30px;margin-bottom:20px}
.hcontent .tag svg.i{width:16px;height:16px;color:var(--y)}
.hcontent h1{color:#fff;font-size:clamp(2.4rem,5.4vw,4.4rem);max-width:760px;line-height:1.08;text-shadow:0 4px 30px rgba(0,0,0,.3)}
.hcontent h1 em{color:var(--y);font-style:italic}
.hcontent .hi{color:var(--y);font-weight:700;font-size:1.15rem;margin-top:12px}
.hcontent p{color:#f1f5f1;max-width:560px;margin:14px 0 30px;font-size:1.1rem}
.hcontent .cta{display:flex;gap:14px;flex-wrap:wrap}
.hcontent .a1,.hcontent .a2,.hcontent .a3,.hcontent .a4,.hcontent .a5{opacity:0;transform:translateY(30px)}
.hcontent.play .a1,.hcontent.play .a2,.hcontent.play .a3,.hcontent.play .a4,.hcontent.play .a5{animation:up .8s cubic-bezier(.2,.7,.2,1) forwards}
.hcontent.play .a2{animation-delay:.12s}.hcontent.play .a3{animation-delay:.24s}.hcontent.play .a4{animation-delay:.36s}.hcontent.play .a5{animation-delay:.48s}
@keyframes up{to{opacity:1;transform:none}}
.harrow{position:absolute;top:50%;z-index:3;width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);backdrop-filter:blur(6px);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.25s;transform:translateY(-50%)}
.harrow:hover{background:#fff;color:var(--g9)}
.harrow.l{left:24px}.harrow.l svg.i{transform:rotate(180deg)}
.harrow.r{right:24px}
.hero2 .dots{position:absolute;right:auto;top:auto;left:50%;transform:translateX(-50%);bottom:96px;display:flex;gap:8px;z-index:3}
.hero2 .helpline{position:absolute;right:40px;bottom:96px;top:auto;z-index:3}
.hero2+.wrap .stats{margin-top:-58px;position:relative;z-index:5}
.hero2+.wrap .stat{box-shadow:var(--sh)}

/* ===== page header with photo ===== */
.pagehead{position:relative;padding:130px 0 110px;overflow:hidden;background:#1d2b20}
.pagehead .phbg{position:absolute;inset:-10% 0 0 0;width:100%;height:120%;object-fit:cover;will-change:transform}
.pagehead:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.3) 70%,rgba(0,0,0,.15))}
.pagehead .wrap{position:relative;z-index:2}
.phin{max-width:680px;animation:up .8s cubic-bezier(.2,.7,.2,1) both}
.pagehead h1{color:#fff;font-size:clamp(2.3rem,5vw,3.6rem);text-shadow:0 4px 24px rgba(0,0,0,.3)}
.pagehead p{color:#eef3ee;font-size:1.08rem;margin-top:8px}
.pagehead .crumb{display:inline-flex;gap:6px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.28);color:#fff;padding:6px 16px;border-radius:30px;margin-bottom:16px;font-size:.84rem}
.pagehead .crumb span{color:var(--y)}
.pagehead .curve{position:absolute;left:0;right:0;bottom:-1px;z-index:2;line-height:0}

/* ===== home gallery carousel ===== */
.gtop{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.garrows{display:flex;gap:10px}
.garrows button{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--g8);background:#fff;color:var(--g8);cursor:pointer;display:grid;place-items:center;transition:.25s}
.garrows button:hover{background:var(--g8);color:#fff}
.garrows button:first-child svg.i{transform:rotate(180deg)}
.gtrack{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:6px 2px 10px}
.gtrack::-webkit-scrollbar{display:none}
.gtrack figure{scroll-snap-align:start;height:300px;border-radius:22px;overflow:hidden;position:relative;cursor:zoom-in;box-shadow:var(--sh2)}
.gtrack figure img{transition:transform .7s}
.gtrack figure:hover img{transform:scale(1.08)}
.gtrack figure:after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(transparent,rgba(0,0,0,.55));opacity:0;transition:.35s}
.gtrack figure:hover:after{opacity:1}
.gtrack figcaption{position:absolute;left:16px;bottom:14px;color:#fff;font-weight:700;z-index:2;opacity:0;transform:translateY(10px);transition:.35s}
.gtrack figure:hover figcaption{opacity:1;transform:none}

/* ===== extra animations ===== */
.reveal.l{transform:translateX(-40px)}.reveal.r{transform:translateX(40px)}.reveal.z{transform:scale(.92)}
.reveal.in{transform:none}
.btn{position:relative;overflow:hidden}
.btn:before{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s}
.btn:hover:before{left:140%}
.ibox{transition:transform .4s,background .3s,color .3s}
.card:hover .ibox,.stat:hover .ibox,.val:hover .ibox,.tier:hover .ibox,.award:hover .ibox{transform:rotate(-8deg) scale(1.08)}
.stat:hover .ibox,.val:hover .ibox,.tier:hover .ibox{background:var(--g8);color:#fff}
.stat{transition:.3s}.stat:hover{transform:translateY(-4px)}
.kicker:before,.head:not(.left) .kicker:after{transition:width .6s .2s}
.reveal:not(.in) .kicker:before,.reveal:not(.in) .kicker:after{width:0}
.float-y{animation:floaty 4s ease-in-out infinite}
@keyframes floaty{50%{transform:translateY(-8px)}}
.collage div{transition:transform .5s}
.collage div:hover{transform:scale(1.03)}
.wa{animation:pulsew 2.4s infinite}
@keyframes pulsew{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
#prog{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--g6),var(--y));z-index:100;width:0}

@media(max-width:1024px){.gtrack{grid-auto-columns:calc((100% - 18px)/2)}}
@media(max-width:700px){
 .hero2{height:auto;min-height:620px}
 .hero2 .slides{position:absolute;inset:0;height:auto;border-radius:0}
 .hcontent{padding:70px 20px 140px}
 .shade{background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.35))}
 .harrow{display:none}
 .hero2 .dots{bottom:84px;top:auto}
 .hero2 .helpline{display:none}
 .pagehead{padding:90px 0 80px}
 .gtrack{grid-auto-columns:80%}
 .gtrack figure{height:240px}
 .gtrack figcaption{opacity:1;transform:none}.gtrack figure:after{opacity:1}
}

/* ===== PHP site additions ===== */
.logo span{display:block}
.crumb a{color:var(--y)}
.pagehead .crumb a{color:var(--y)}
footer a{transition:.2s}footer a:hover{color:var(--y)}
footer li a{display:inline-block}
.fcontact a:hover{color:var(--y)}
.menu-donate{display:none}
a.btn{text-decoration:none}
a.more{color:var(--g8)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.alert{width:100%;padding:14px 16px;border-radius:12px;margin-top:16px;font-weight:600}
.alert.ok{background:var(--g1);color:var(--g9);border:1px solid #cfe6d1}
.alert.err{background:#fdecea;color:#8a1c12;border:1px solid #f5c6c0}
.news .alert.ok{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.3)}
.news-wrap{padding:20px 0 80px}
.gal figure.hide{display:none}
.lb button{display:grid;place-items:center}
.lb button svg.i{width:20px;height:20px}
.top svg.i{transform:none}
@media(max-width:1024px){.menu-donate{display:block}.menu-donate a{background:var(--y);color:var(--g9)!important;text-align:center;margin-top:6px}}
#contactForm,#donateForm,#volform,#newsletter{scroll-margin-top:110px}
