/* Modern 3D UI/UX upgrade for VrikshaMitra Jeevan Trust
   Backend/CMS controls remain unchanged. This file overrides the existing visual layer only. */
:root{
  --vm-forest:#063b24;
  --vm-leaf:#78c51c;
  --vm-lime:#b8ea55;
  --vm-mint:#eefbe8;
  --vm-card:rgba(255,255,255,.78);
  --vm-border:rgba(255,255,255,.62);
  --vm-text:#0a2517;
  --vm-shadow-3d:0 28px 70px rgba(5,57,31,.16), 0 10px 22px rgba(7,68,37,.09), inset 0 1px 0 rgba(255,255,255,.75);
  --vm-deep-shadow:0 34px 90px rgba(1,35,18,.25);
  --vm-glass:blur(18px) saturate(145%);
}
html{background:#f7fff3;}
body{
  color:var(--vm-text);
  background:
    radial-gradient(circle at 8% 8%, rgba(184,234,85,.34), transparent 28rem),
    radial-gradient(circle at 92% 10%, rgba(77,174,81,.22), transparent 30rem),
    linear-gradient(180deg,#fbfff7 0%,#f3fbea 38%,#fff 100%);
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:-3;
  background-image:
    linear-gradient(rgba(8,82,42,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,82,42,.045) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.85), transparent 82%);
}
.vm-bg-orbs{position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:-2;}
.vm-bg-orbs span{position:absolute; width:28rem; height:28rem; border-radius:999px; filter:blur(18px); opacity:.34; animation:vmFloatOrb 14s ease-in-out infinite alternate; transform:translateZ(0);}
.vm-bg-orbs span:nth-child(1){left:-10rem; top:8rem; background:radial-gradient(circle,#9be54c,transparent 68%);}
.vm-bg-orbs span:nth-child(2){right:-9rem; top:24rem; background:radial-gradient(circle,#4cb86e,transparent 66%); animation-delay:-5s;}
.vm-bg-orbs span:nth-child(3){left:35%; bottom:-14rem; background:radial-gradient(circle,#c8f47f,transparent 64%); animation-delay:-9s;}
@keyframes vmFloatOrb{to{transform:translate3d(34px,-34px,0) scale(1.08)}}
.site-header{position:sticky; top:0; z-index:90; perspective:1200px;}
.navbar{
  position:relative;
  margin:14px auto 0;
  width:min(1240px,94%);
  border-radius:28px;
  padding:12px 18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 18px 45px rgba(5,57,31,.12), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:var(--vm-glass);
  transform-style:preserve-3d;
}
.navbar:before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.55),transparent 42%,rgba(120,197,28,.16));
}
.brand{position:relative; z-index:1; transform:translateZ(18px);}
.brand img{width:64px;height:64px;border:4px solid #fff;box-shadow:0 14px 34px rgba(7,79,42,.22);}
.brand strong{font-size:23px;background:linear-gradient(135deg,var(--vm-forest),#208b4d 55%,var(--vm-leaf));-webkit-background-clip:text;background-clip:text;color:transparent;}
.brand small{color:#5a7563;}
.nav-links{position:relative; z-index:1; gap:8px;}
.nav-links a:not(.btn){padding:10px 11px;border-radius:16px;transition:.22s ease;}
.nav-links a:not(.btn):hover,.nav-links a.active{background:rgba(120,197,28,.12); color:var(--vm-forest); transform:translateY(-2px);}
.btn,.screenshot-pay-btn{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,#064427 0%,#16864a 48%,#8ed51f 100%);
  box-shadow:0 16px 34px rgba(25,127,59,.28), inset 0 1px 0 rgba(255,255,255,.35);
  transform-style:preserve-3d;
}
.btn:before,.screenshot-pay-btn:before{content:"";position:absolute;inset:-50% -35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:rotate(25deg) translateX(-130%);transition:.55s;}
.btn:hover:before,.screenshot-pay-btn:hover:before{transform:rotate(25deg) translateX(130%)}
.btn:hover,.screenshot-pay-btn:hover{transform:translateY(-4px) scale(1.01);}
.btn-outline{background:rgba(255,255,255,.68); color:var(--vm-forest); border-color:rgba(9,92,48,.16);}
main{position:relative; z-index:1;}
.vm-slider-full{margin-top:-92px; padding-top:92px; background:#092b1b; perspective:1400px;}
.vm-slider-full .vm-slide{min-height:670px; transform-style:preserve-3d; isolation:isolate;}
.vm-slider-full .vm-slide:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,34,20,.72),rgba(4,34,20,.22) 46%,rgba(3,40,21,.42)),radial-gradient(circle at 16% 62%,rgba(160,226,76,.34),transparent 28rem);}
.vm-slider-full .vm-slide img{filter:saturate(1.13) contrast(1.03); transform:scale(1.05);}
.vm-slide-caption{z-index:2; transform:translateZ(72px); max-width:760px;}
.vm-slide-caption h2{font-size:clamp(36px,5vw,76px); line-height:.98; text-shadow:0 18px 42px rgba(0,0,0,.34);}
.vm-slide-caption p{font-size:clamp(18px,2vw,24px); max-width:670px;}
.vm-slider-btn{width:54px;height:54px;border-radius:50%; background:rgba(255,255,255,.82)!important; color:#0b4c2c!important; backdrop-filter:blur(10px); box-shadow:0 18px 36px rgba(0,0,0,.2);}
.vm-slider-dots button{width:28px!important; height:8px!important; border-radius:999px!important; background:rgba(255,255,255,.55)!important;}
.vm-slider-dots button.active{background:#a7e436!important;}
.hero,.page-hero,.donate-hero,.gift-hero{
  background:
    radial-gradient(circle at 88% 12%, rgba(184,234,85,.42), transparent 23rem),
    radial-gradient(circle at 12% 74%, rgba(43,164,85,.16), transparent 24rem),
    linear-gradient(135deg,rgba(255,255,255,.88),rgba(237,251,229,.72));
  position:relative;
  transform-style:preserve-3d;
}
.hero:before,.page-hero:before{content:"";position:absolute;right:7%;top:18%;width:150px;height:150px;border-radius:42% 58% 48% 52%;background:linear-gradient(135deg,rgba(126,201,28,.38),rgba(255,255,255,.1));box-shadow:0 26px 55px rgba(59,153,58,.18);animation:vmLeafSpin 11s ease-in-out infinite alternate;}
@keyframes vmLeafSpin{to{transform:translateY(24px) rotate(18deg) scale(1.08)}}
.hero h1,.page-hero h1,.center-heading h2,.section-heading h2,.campaign-section h2,.cta-card h2,.contact-section h2{
  letter-spacing:-.045em;
}
.hero h1 span,.page-hero h1 span{background:linear-gradient(135deg,var(--vm-forest),#14864b,var(--vm-leaf));-webkit-background-clip:text;background-clip:text;color:transparent;}
.eyebrow{padding:8px 12px;border-radius:999px;background:rgba(126,201,28,.13);border:1px solid rgba(126,201,28,.22);color:#3d9b1f;}
.hindi-title{filter:drop-shadow(0 12px 22px rgba(9,88,42,.13));}
.impact-strip div,.counter-card,.content-card,.contact-card,.contact-form,.donation-card,.donation-side,.donate-ui-card,.gift-ui-card,.support-ui-card,.benefit-ui-card,.objective-card,.work-card,.profile-card,.testimonial-card,.blog-card,.gallery-card,.mini-cta,.benefit-grid div,.tree-total,.csr-box,.gift-support-box{
  background:var(--vm-card)!important;
  border:1px solid rgba(255,255,255,.68)!important;
  box-shadow:var(--vm-shadow-3d)!important;
  backdrop-filter:var(--vm-glass);
  transform-style:preserve-3d;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.counter-card,.objective-card,.work-card,.profile-card,.testimonial-card,.blog-card,.gallery-card,.donate-ui-card,.gift-ui-card,.support-ui-card,.benefit-ui-card{will-change:transform;}
.counter-card:hover,.objective-card:hover,.work-card:hover,.profile-card:hover,.testimonial-card:hover,.blog-card:hover,.gallery-card:hover,.donate-ui-card:hover,.gift-ui-card:hover,.support-ui-card:hover,.benefit-ui-card:hover{
  box-shadow:0 36px 85px rgba(5,57,31,.22), inset 0 1px 0 rgba(255,255,255,.85)!important;
  border-color:rgba(153,222,69,.55)!important;
}
.counter-card{position:relative; overflow:hidden; min-height:150px; display:grid; place-items:center; text-align:center; border-radius:30px!important;}
.counter-card:after,.objective-card:after,.work-card:after,.profile-card:after,.blog-card:after,.testimonial-card:after{content:"";position:absolute;inset:auto -20% -38% auto;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(126,201,28,.18),transparent 68%);pointer-events:none;}
.counter-number{font-size:clamp(34px,4vw,54px)!important; background:linear-gradient(135deg,var(--vm-forest),var(--vm-leaf));-webkit-background-clip:text;background-clip:text;color:transparent!important;}
.light-bg{background:linear-gradient(135deg,rgba(239,251,232,.74),rgba(255,255,255,.9));}
.campaign-section{background:linear-gradient(135deg,#062817 0%,#0b5e33 48%,#6fb812 100%); position:relative; overflow:hidden;}
.campaign-section:before{content:"";position:absolute;inset:-20% auto auto -10%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.2),transparent 70%);}
.campaign-visual{transform:rotateY(-8deg) rotateX(4deg); box-shadow:var(--vm-deep-shadow)!important;}
.work-card,.objective-card{position:relative; overflow:hidden; min-height:230px;}
.work-card div{width:76px;height:76px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,rgba(6,68,39,.08),rgba(126,201,28,.18));box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 15px 30px rgba(7,79,42,.1);}
.profile-card img,.gallery-card img,.campaign-visual img,.founder-img{box-shadow:0 20px 45px rgba(7,57,31,.18);}
.profile-card.featured{background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(235,251,225,.72))!important;}
.gallery-grid{perspective:1200px;}
.gallery-card{overflow:hidden; border-radius:28px!important;}
.gallery-card img{transition:transform .55s ease, filter .35s ease;}
.gallery-card:hover img{transform:scale(1.08) translateZ(24px); filter:saturate(1.15);}
.donate-hero,.gift-hero{color:#fff; background:linear-gradient(135deg,#052b18,#0f6c39 52%,#81c51b); overflow:hidden;}
.donate-hero:after,.gift-hero:after{content:"";position:absolute;right:-80px;bottom:-120px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.12);}
.donate-hero .eyebrow,.gift-hero .eyebrow{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.25);}
.donate-input,.gift-input,.donation-card input,.donation-card select,.donation-card textarea,.contact-form input,.contact-form select,.contact-form textarea,.donate-textarea{
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(8,92,48,.14)!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.8),0 10px 24px rgba(8,92,48,.055);
  transition:border .2s, box-shadow .2s, transform .2s;
}
.donate-input:focus,.gift-input:focus,.donation-card input:focus,.donation-card select:focus,.donation-card textarea:focus,.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,.donate-textarea:focus{
  outline:0; border-color:rgba(126,201,28,.8)!important; box-shadow:0 0 0 5px rgba(126,201,28,.14), inset 0 2px 0 rgba(255,255,255,.9); transform:translateY(-1px);
}
.amount-pill,.donate-pill,.tree-pill,.pill,.amount{box-shadow:0 8px 18px rgba(8,92,48,.08);}
.footer{position:relative; overflow:hidden; background:linear-gradient(135deg,#051a10,#082d1a 54%,#0b4b2a);}
.footer:before{content:"";position:absolute;inset:-35% -10% auto auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(126,201,28,.22),transparent 68%);}
.footer-grid{position:relative; z-index:1;}
.footer img{border:4px solid rgba(255,255,255,.18);box-shadow:0 18px 40px rgba(0,0,0,.22);}
.social-link{display:grid!important; place-items:center; width:42px; height:42px; border-radius:15px!important; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14); transition:.22s;}
.social-link:hover{transform:translateY(-4px) rotateX(8deg); background:rgba(126,201,28,.22);}
.social-link svg{width:21px;height:21px;fill:#fff;}
.reveal{transform:translateY(34px) scale(.985);}
.reveal.visible{transform:none;}
.vm-tilt{transform-style:preserve-3d;}
.vm-tilt > *{transform:translateZ(1px);}
@media(max-width:1100px){
  .navbar{margin-top:8px; width:96%;}
  .nav-links{gap:4px;}
  .nav-links a:not(.btn){padding:9px 8px;}
}
@media(max-width:960px){
  .navbar{border-radius:22px;}
  .nav-links{top:88px; left:0; right:0; background:rgba(255,255,255,.94); border:1px solid rgba(255,255,255,.8); box-shadow:var(--vm-shadow-3d); backdrop-filter:var(--vm-glass);}
  .menu-toggle{display:block; background:linear-gradient(135deg,var(--vm-forest),var(--vm-leaf)); box-shadow:0 12px 24px rgba(8,92,48,.2);}
  .vm-slider-full{margin-top:-84px; padding-top:84px;}
  .vm-slider-full .vm-slide{min-height:520px;}
  .section-pad{padding:68px 0;}
}
@media(max-width:620px){
  .brand strong{font-size:18px}.brand small{font-size:10px}.brand img{width:54px;height:54px;}
  .navbar{padding:10px 12px;}
  .vm-slider-full .vm-slide{min-height:430px;}
  .vm-slide-caption h2{font-size:36px;}
  .hero h1,.page-hero h1{font-size:38px;}
  .impact-strip{grid-template-columns:1fr;}
  .counter-card{min-height:128px;}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* ---------------------------------------------------------
   Header/Menu refinement - light green professional theme
   Fixes: overcrowded menu, large CTA bubbles, dark header sides
--------------------------------------------------------- */
:root{
  --vm-header-bg:#eef8e9;
  --vm-header-bg-2:#dff2d6;
  --vm-soft-green:#e8f7df;
  --vm-deep-green:#064225;
  --vm-fresh-green:#62b51f;
}
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:999!important;
  background:linear-gradient(180deg,var(--vm-header-bg),var(--vm-header-bg-2))!important;
  border-bottom:1px solid rgba(20,116,62,.14)!important;
  box-shadow:0 10px 30px rgba(10,76,39,.10)!important;
}
.navbar{
  width:min(1360px,96%)!important;
  margin:0 auto!important;
  padding:9px 12px!important;
  min-height:76px!important;
  border-radius:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
.navbar:before{display:none!important;}
.brand{
  min-width:225px!important;
  max-width:245px!important;
  gap:10px!important;
  padding:6px 10px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 8px 22px rgba(8,74,38,.07)!important;
  flex:0 0 auto!important;
}
.brand img{
  width:52px!important;
  height:52px!important;
  border:3px solid #fff!important;
  box-shadow:0 8px 18px rgba(8,80,42,.16)!important;
}
.brand strong{
  font-size:20px!important;
  letter-spacing:-.03em!important;
  white-space:nowrap!important;
}
.brand small{
  font-size:11px!important;
  line-height:1.05!important;
  letter-spacing:.14em!important;
  color:#58725f!important;
}
.nav-links{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:4px!important;
  font-size:14.5px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.nav-links a:not(.btn){
  padding:9px 9px!important;
  border-radius:12px!important;
  color:#0b2c1b!important;
  line-height:1!important;
}
.nav-links a:not(.btn):hover,
.nav-links a.active{
  background:#d7efce!important;
  color:#075d32!important;
  transform:translateY(-1px)!important;
}
.nav-links .btn,
.nav-links .btn-small{
  flex:0 0 auto!important;
  min-width:auto!important;
  height:42px!important;
  padding:0 15px!important;
  border-radius:14px!important;
  line-height:1!important;
  font-size:14px!important;
  white-space:nowrap!important;
  box-shadow:0 10px 22px rgba(23,126,58,.20),inset 0 1px 0 rgba(255,255,255,.38)!important;
}
.nav-links .btn-gift{
  background:linear-gradient(135deg,#0c6b3b,#69bb22)!important;
}
.vm-slider-full{
  margin-top:0!important;
  padding-top:0!important;
  background:#f3faef!important;
}
.vm-slider-full .vm-slide{
  min-height:560px!important;
}
.vm-slider-full .vm-slide:before{
  background:linear-gradient(90deg,rgba(236,248,229,.12),rgba(236,248,229,.02) 46%,rgba(6,48,28,.28)),radial-gradient(circle at 16% 62%,rgba(160,226,76,.18),transparent 28rem)!important;
}
.menu-toggle{
  flex:0 0 auto!important;
  width:46px!important;
  height:42px!important;
  padding:0!important;
  border-radius:14px!important;
}
@media(max-width:1240px){
  .navbar{width:98%!important;gap:8px!important;}
  .brand{min-width:198px!important;max-width:210px!important;}
  .brand strong{font-size:18px!important;}
  .brand small{font-size:10px!important;}
  .nav-links{font-size:13.2px!important;gap:2px!important;}
  .nav-links a:not(.btn){padding:8px 6px!important;}
  .nav-links .btn,.nav-links .btn-small{height:38px!important;padding:0 10px!important;font-size:13px!important;}
}
@media(max-width:1040px){
  .navbar{min-height:74px!important;}
  .menu-toggle{display:grid!important;place-items:center!important;}
  .nav-links{
    position:absolute!important;
    top:78px!important;
    left:2%!important;
    right:2%!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    padding:16px!important;
    border-radius:20px!important;
    background:rgba(249,255,246,.98)!important;
    border:1px solid rgba(21,116,62,.14)!important;
    box-shadow:0 24px 60px rgba(8,74,38,.18)!important;
    white-space:normal!important;
  }
  .nav-links.open{display:flex!important;}
  .nav-links a:not(.btn),
  .nav-links .btn,
  .nav-links .btn-small{
    width:100%!important;
    height:auto!important;
    justify-content:flex-start!important;
    padding:13px 14px!important;
    border-radius:14px!important;
    font-size:15px!important;
  }
}
@media(max-width:620px){
  .brand{min-width:0!important;max-width:calc(100% - 62px)!important;}
  .brand img{width:48px!important;height:48px!important;}
  .brand strong{font-size:17px!important;}
  .brand small{font-size:9px!important;}
  .vm-slider-full .vm-slide{min-height:390px!important;}
}

/* ---------------------------------------------------------
   Plain light-green theme override
   Removes background bubbles/orbs and decorative circular shapes.
--------------------------------------------------------- */
:root{
  --vm-forest:#064225;
  --vm-leaf:#2f9e44;
  --vm-lime:#7cc242;
  --vm-mint:#f3faef;
  --vm-card:#ffffff;
  --vm-border:#d8ead0;
  --vm-text:#123322;
  --vm-muted:#52675b;
  --vm-shadow-3d:0 8px 24px rgba(9,70,36,.08);
  --vm-deep-shadow:0 14px 34px rgba(9,70,36,.12);
  --vm-glass:none;
}
html,body{background:#f7fcf4!important;}
body{
  color:var(--vm-text)!important;
  background:#f7fcf4!important;
}
body:before,
.vm-bg-orbs,
.vm-bg-orbs span,
.leaf,
.leaf-one,
.leaf-two,
.hero:before,
.page-hero:before,
.page-hero:after,
.donate-hero:after,
.gift-hero:after,
.counter-card:after,
.objective-card:after,
.work-card:after,
.profile-card:after,
.blog-card:after,
.testimonial-card:after,
.campaign-section:before,
.footer:before{display:none!important;content:none!important;background:none!important;}
.site-header{background:#eaf7e4!important;color:#0b2c1b!important;}
.navbar{background:#eaf7e4!important;}
.brand{background:#ffffff!important;border:1px solid #d6eacb!important;}
.brand strong{color:#087138!important;background:none!important;-webkit-text-fill-color:initial!important;}
.brand small{color:#56705f!important;}
.nav-links a:not(.btn){color:#102f1f!important;}
.nav-links a:not(.btn):hover,.nav-links a.active{background:#d8efcf!important;color:#075d32!important;}
.btn,.screenshot-pay-btn,.pill.active,.amount.active{background:#16723e!important;color:#fff!important;box-shadow:0 8px 18px rgba(22,114,62,.18)!important;}
.btn-gift,.nav-links .btn-gift{background:#2f9e44!important;color:#fff!important;}
.btn:before,.screenshot-pay-btn:before{display:none!important;}
.btn:hover,.screenshot-pay-btn:hover{transform:translateY(-2px)!important;}
main{background:#f7fcf4!important;}
.hero,.page-hero,.donate-hero,.gift-hero,.light-bg{
  background:#f7fcf4!important;
  color:#123322!important;
}
.donate-hero,.gift-hero{background:#eaf7e4!important;color:#123322!important;}
.donate-hero .eyebrow,.gift-hero .eyebrow,.donate-hero p,.gift-hero p{color:#52675b!important;}
.vm-slider-full{background:#f7fcf4!important;}
.vm-slider-full .vm-slide:before{background:rgba(0,0,0,.18)!important;}
.content-card,.contact-card,.contact-form,.donation-card,.donation-side,.donate-ui-card,.gift-ui-card,.support-ui-card,.benefit-ui-card,.objective-card,.work-card,.profile-card,.testimonial-card,.blog-card,.gallery-card,.mini-cta,.benefit-grid div,.tree-total,.csr-box,.gift-support-box,.impact-strip div,.counter-card{
  background:#ffffff!important;
  border:1px solid #dcefd6!important;
  box-shadow:0 8px 24px rgba(9,70,36,.08)!important;
  backdrop-filter:none!important;
}
.content-card:hover,.contact-card:hover,.donation-card:hover,.donation-side:hover,.objective-card:hover,.work-card:hover,.profile-card:hover,.testimonial-card:hover,.blog-card:hover,.gallery-card:hover,.counter-card:hover{
  box-shadow:0 12px 30px rgba(9,70,36,.12)!important;
  border-color:#cbe7c0!important;
}
.hero h1 span,.page-hero h1 span,.counter-number{color:#087138!important;background:none!important;-webkit-text-fill-color:initial!important;}
.eyebrow{background:#e3f4dc!important;border-color:#cfe8c5!important;color:#087138!important;}
.lead,.center-heading p,.objective-card p,.work-card p,.profile-card p,.benefit-grid span,.note{color:#52675b!important;}
.campaign-section{background:#eaf7e4!important;color:#123322!important;}
.campaign-section .lead{color:#52675b!important;}
.steps div{background:#ffffff!important;border-color:#dcefd6!important;color:#123322!important;}
.steps b{background:#16723e!important;color:#fff!important;}
.footer{background:#123322!important;color:#eaf7e4!important;}
.footer a{color:#eaf7e4!important;}
.social-link{background:#1b4a31!important;border-color:#2f6846!important;}
@media(max-width:1040px){.nav-links{background:#ffffff!important;}}

/* ---------------------------------------------------------
   Carousel image ratio fix
   Banner images are 2172 x 724, therefore carousel ratio is 3:1.
   This prevents unnecessary cropping and keeps the carousel height
   exactly proportional to uploaded banner images.
--------------------------------------------------------- */
.vm-slider,
.vm-slider-full{
  aspect-ratio:2172 / 724!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}
.vm-slider .vm-slider-track,
.vm-slider-full .vm-slider-track{
  height:100%!important;
}
.vm-slide,
.vm-slider-full .vm-slide{
  aspect-ratio:2172 / 724!important;
  min-height:0!important;
  height:auto!important;
  display:grid!important;
}
.vm-slide img,
.vm-slider-full .vm-slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media(max-width:960px){
  .vm-slide,.vm-slider-full .vm-slide{min-height:0!important;}
}
@media(max-width:620px){
  .vm-slider,.vm-slider-full{aspect-ratio:2172 / 724!important;}
  .vm-slide,.vm-slider-full .vm-slide{min-height:0!important;}
  .vm-slide-caption{padding:20px 18px!important;}
  .vm-slide-caption h2{font-size:24px!important;}
  .vm-slide-caption p{font-size:14px!important;}
}

/* ---------------------------------------------------------
   New loader + subtle UI animations
   Plain light green, simple and professional.
--------------------------------------------------------- */
.page-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(247,252,244,.98);
  transition:opacity .45s ease, visibility .45s ease;
}
.page-loader.hide{
  opacity:0;
  visibility:hidden;
}
.tree-loader-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:10px;
}
.tree-loader{
  position:relative;
  width:110px;
  height:130px;
}
.tree-canopy{
  position:absolute;
  display:block;
  border-radius:50%;
  background:linear-gradient(180deg,#79c843 0%, #2f9e44 100%);
  box-shadow:0 8px 18px rgba(34,117,54,.18);
  animation:treeFloat 1.7s ease-in-out infinite alternate;
}
.canopy-one{ width:48px; height:48px; left:12px; top:24px; }
.canopy-two{ width:58px; height:58px; left:40px; top:14px; animation-delay:.18s; }
.canopy-three{ width:46px; height:46px; left:60px; top:38px; animation-delay:.34s; }
.tree-trunk{
  position:absolute;
  left:49px;
  bottom:26px;
  width:12px;
  height:58px;
  border-radius:8px;
  background:linear-gradient(180deg,#8a5a2b 0%, #6e4421 100%);
  transform-origin:bottom center;
  animation:treeGrow 1.2s ease-in-out infinite alternate;
}
.tree-ground{
  position:absolute;
  left:20px;
  bottom:12px;
  width:70px;
  height:10px;
  border-radius:999px;
  background:#d9edcc;
}
.loader-brand{
  color:#0a5e35;
  font-size:18px;
  letter-spacing:-.02em;
}
.loader-text{
  color:#56705f;
  font-size:14px;
  font-weight:700;
}
@keyframes treeGrow{
  from{transform:scaleY(.9)}
  to{transform:scaleY(1.03)}
}
@keyframes treeFloat{
  from{transform:translateY(0)}
  to{transform:translateY(-6px)}
}

body.page-loaded .site-header,
body.page-loaded .page-shell{
  animation:siteFadeUp .55s ease both;
}
body.page-loaded .page-shell{animation-delay:.06s;}
@keyframes siteFadeUp{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}

.nav-links a:not(.btn){
  position:relative;
  overflow:hidden;
}
.nav-links a:not(.btn)::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:6px;
  height:2px;
  background:#2f9e44;
  border-radius:999px;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .22s ease;
}
.nav-links a:not(.btn):hover::after,
.nav-links a.active::after{
  transform:scaleX(1);
}
.nav-links .btn,
.nav-links .btn-small,
.menu-toggle,
.social-link,
.gallery-card,
.work-card,
.objective-card,
.profile-card,
.testimonial-card,
.blog-card,
.counter-card{
  transition:transform .24s ease, box-shadow .24s ease, background-color .24s ease, border-color .24s ease;
}
.nav-links .btn:hover,
.nav-links .btn-small:hover,
.menu-toggle:hover,
.social-link:hover{
  transform:translateY(-2px);
}

.gallery-card:hover,
.work-card:hover,
.objective-card:hover,
.profile-card:hover,
.testimonial-card:hover,
.blog-card:hover,
.counter-card:hover{
  transform:translateY(-4px);
}

@media(max-width:620px){
  .loader-brand{font-size:16px;}
  .loader-text{font-size:13px;}
  .tree-loader{transform:scale(.92);}
}

/* Events */
.event-detail { max-width: 980px; }
.event-detail h2 { margin: 12px 0 18px; }
.event-detail p { color: #334a3a; line-height: 1.8; }
.event-hindi-note { margin-top: 24px; padding-top: 22px; border-top: 1px solid #cfe8d3; }
.event-hindi-note h3 { color: #17652a; font-family: Hind, sans-serif; }
.event-hindi-note p { font-family: Hind, sans-serif; font-size: 1.05rem; }
.event-pledge { margin: 28px 0 38px; padding: 22px 26px; background: #edf9ef; border-left: 5px solid #27823b; border-radius: 8px; }
.event-pledge strong, .event-pledge span { display: block; }
.event-pledge span { margin: 6px 0; color: #17652a; font: 700 1.35rem Hind, sans-serif; }
.event-photo-grid .gallery-art img { width: 100%; height: 240px; object-fit: cover; border-radius: 8px; display: block; }

/* Categorized gallery */
.gallery-category-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 380px)); gap: 26px; justify-content: center; }
.gallery-category-card { overflow: hidden; background: #fff; border: 1px solid #cfe8d3; border-radius: 8px; box-shadow: 0 10px 28px rgba(28, 91, 45, .09); transition: transform .24s ease, box-shadow .24s ease; }
.gallery-category-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(28, 91, 45, .14); }
.gallery-category-cover { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.gallery-category-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.gallery-category-card:hover .gallery-category-cover img { transform: scale(1.035); }
.gallery-photo-count { position: absolute; right: 12px; bottom: 12px; padding: 6px 10px; color: #fff; background: rgba(18, 85, 36, .9); border-radius: 6px; font-size: .82rem; font-weight: 700; }
.gallery-category-body { padding: 20px; }
.gallery-category-type { display: inline-block; margin-bottom: 7px; color: #217638; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.gallery-category-body h3 { margin: 0 0 8px; }
.gallery-category-body h3 a { color: #173d22; text-decoration: none; }
.gallery-category-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 12px; color: #52705a; font-size: .88rem; }
.gallery-category-body p { min-height: 70px; color: #425c49; line-height: 1.6; }
.gallery-back-link { display: inline-block; margin-bottom: 20px; color: #217638; font-weight: 700; text-decoration: none; }
.gallery-back-link:hover { text-decoration: underline; }
.gallery-album-header { padding-bottom: 18px; }
.gallery-album-slider { padding-top: 0; }
.event-gallery-heading { margin-top: 18px; margin-bottom: 24px; }
