*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Open Sans',sans-serif;color:#1b1b1b;background:#fff}
h1,h2,h3,h4{font-family:'Playfair Display',serif}
a{text-decoration:none;color:inherit}
.container{max-width:1100px;margin:0 auto;padding:0 24px}
.navbar{position:sticky;top:0;z-index:100;background:#1a3d2b;padding:16px 0;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{font-family:'Playfair Display',serif;font-size:1.3rem;color:#fff;font-weight:700;white-space:nowrap}
nav{display:flex;gap:28px}
nav a{color:#c8e6c9;font-size:.95rem;font-weight:600;transition:color .2s}
nav a:hover,nav a.active{color:#fff}
.btn-cta{background:#f4a261;color:#fff;padding:10px 22px;border-radius:30px;font-weight:700;font-size:.9rem;transition:background .2s;white-space:nowrap;cursor:pointer}
.btn-cta:hover{background:#e07b3a}
.hero{min-height:92vh;background-size:cover;background-position:center;display:flex;align-items:center}
.hero-split-overlay{background:rgba(10,40,20,.70);width:100%;min-height:92vh;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:80px}
.hero-left{flex:1;max-width:560px}
.hero-badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#c8f0d0;font-size:.82rem;font-weight:600;padding:6px 14px;border-radius:20px;margin-bottom:20px}
.hero-left h1{font-size:3.6rem;color:#fff;line-height:1.15;margin-bottom:20px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.hero-sub{font-size:1.1rem;color:#d0f0c0;line-height:1.8;margin-bottom:14px}
.hero-sub2{font-size:1rem;color:#a8dbb8;margin-bottom:22px;line-height:1.7}
.hero-trust{display:flex;gap:16px;flex-wrap:wrap}
.hero-trust span{font-size:.82rem;color:#c8f0d0;background:rgba(255,255,255,.1);padding:5px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.2)}
.hero-form-card{background:#fff;border-radius:16px;padding:36px 32px;width:360px;flex-shrink:0;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.hero-form-card h3{font-family:'Playfair Display',serif;font-size:1.55rem;color:#1a3d2b;margin-bottom:4px}
.form-card-sub{font-size:.88rem;color:#555;margin-bottom:18px}
.amount-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}
.amount-btn{background:#f0f7f4;border:2px solid #c8ddd5;color:#2d6a4f;padding:10px 6px;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .15s}
.amount-btn:hover,.amount-btn.active{background:#2d6a4f;border-color:#2d6a4f;color:#fff}
.form-input{width:100%;padding:11px 14px;border:1.5px solid #c8ddd5;border-radius:8px;font-size:.95rem;margin:6px 0;outline:none;font-family:'Open Sans',sans-serif;transition:border-color .2s}
.form-input:focus{border-color:#2d6a4f}
.btn-donate-card{display:block;width:100%;background:#f4a261;color:#fff;border:none;padding:15px;border-radius:30px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:14px;transition:background .2s}
.btn-donate-card:hover{background:#e07b3a}
.form-disclaimer{text-align:center;font-size:.78rem;color:#888;margin-top:10px}
.modal-overlay{display:flex;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:999;align-items:center;justify-content:center}
.modal-box{background:#fff;padding:44px 36px;border-radius:16px;text-align:center;max-width:420px;margin:20px}
.modal-box h2{color:#1a3d2b;margin:16px 0 10px}
.modal-box p{color:#555;line-height:1.7}
.modal-close{margin-top:24px;background:#2d6a4f;color:#fff;border:none;padding:13px 32px;border-radius:30px;font-size:1rem;font-weight:700;cursor:pointer}
.stats{background:#2d6a4f;padding:40px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat-num{display:block;font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;color:#b7e4c7}
.stat-label{display:block;color:#fff;font-size:.9rem;margin-top:4px}
.section{padding:80px 0}
.bg-light{background:#f0f7f4}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.col-img img{width:100%;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.tag{display:inline-block;background:#d8f3dc;color:#1b4332;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:5px 12px;border-radius:20px;margin-bottom:14px}
.col-text h2{font-size:2rem;color:#1a3d2b;margin-bottom:18px;line-height:1.3}
.col-text p{color:#4a4a4a;line-height:1.8;margin-bottom:14px}
.btn-outline{display:inline-block;border:2px solid #2d6a4f;color:#2d6a4f;padding:12px 28px;border-radius:30px;font-weight:700;margin-top:10px;transition:all .2s;cursor:pointer}
.btn-outline:hover{background:#2d6a4f;color:#fff}
.center-title{text-align:center;font-size:2.1rem;color:#1a3d2b;margin-bottom:50px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.step{background:#fff;border-radius:12px;padding:36px 28px;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,.06);transition:transform .2s}
.step:hover{transform:translateY(-4px)}
.step-icon{font-size:2.8rem;margin-bottom:16px}
.step h3{font-size:1.1rem;color:#1a3d2b;margin-bottom:10px}
.step p{color:#555;font-size:.95rem;line-height:1.7}
.cta-banner{background-size:cover;background-position:center}
.cta-overlay{background:rgba(10,40,20,.70);padding:100px 20px;text-align:center}
.cta-overlay h2{font-size:2.4rem;color:#fff;margin-bottom:16px}
.cta-sub{color:#c8e6c9;margin-bottom:28px;font-size:1.05rem}
.btn-hero{background:#f4a261;color:#fff;padding:16px 38px;border-radius:40px;font-size:1.05rem;font-weight:700;transition:background .2s;display:inline-block;cursor:pointer}
.btn-hero:hover{background:#e07b3a}
.chart-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:36px}
.kpi-card{border-radius:12px;padding:22px 18px;text-align:center}
.kpi-red{background:#fff0ee;border:1px solid #f7c5be}
.kpi-amber{background:#fff8ee;border:1px solid #f9ddb4}
.kpi-green{background:#edf7f1;border:1px solid #b8ddc8}
.kpi-blue{background:#eef4fb;border:1px solid #b8cfe8}
.kpi-num{display:block;font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;margin-bottom:4px}
.kpi-red .kpi-num{color:#c0392b}.kpi-amber .kpi-num{color:#d35400}.kpi-green .kpi-num{color:#1a6e40}.kpi-blue .kpi-num{color:#1a4a7a}
.kpi-label{font-size:.82rem;color:#555;line-height:1.4}
.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.chart-box{background:#fff;border:1px solid #dde8e2;border-radius:14px;padding:24px 22px;box-shadow:0 4px 16px rgba(0,0,0,.05)}
.chart-title{font-size:.95rem;font-family:'Open Sans',sans-serif;color:#1a3d2b;font-weight:700;margin-bottom:16px}
.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}
.photo-strip img{width:100%;height:220px;object-fit:cover;border-radius:10px;transition:transform .3s}
.photo-strip img:hover{transform:scale(1.03);box-shadow:0 10px 30px rgba(0,0,0,.15)}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.testimonial{background:#f0f7f4;border-radius:14px;padding:30px 26px;border-left:4px solid #2d6a4f}
.testimonial p{font-style:italic;color:#444;line-height:1.8;font-size:.95rem;margin-bottom:20px}
.testimonial p::before{content:'"';font-size:2rem;color:#2d6a4f;line-height:0;vertical-align:-.5rem;margin-right:4px}
.t-author{display:flex;align-items:center;gap:12px}
.t-author img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #c8e6c9}
.t-author span{font-size:.88rem;color:#333}
.page-hero{background-size:cover;background-position:center}
.page-hero-overlay{background:rgba(10,40,20,.65);padding:120px 20px;text-align:center}
.page-hero-overlay h1{font-size:2.8rem;color:#fff;margin-bottom:12px}
.page-hero-overlay p{color:#c8e6c9;font-size:1.1rem}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:transform .2s}
.card:hover{transform:translateY(-4px)}
.card img{width:100%;height:200px;object-fit:cover}
.card-body{padding:24px}
.card-body h3{color:#1a3d2b;font-size:1.15rem;margin-bottom:8px}
.card-body p{color:#555;font-size:.92rem;line-height:1.7;margin-bottom:16px}
.card-price{font-size:1.4rem;font-weight:700;color:#2d6a4f;margin-bottom:14px;display:block}
.custom-donate{max-width:600px;margin:0 auto;text-align:center}
.custom-donate p{color:#555;margin-bottom:30px}
.custom-form{display:flex;flex-direction:column;gap:16px;align-items:center}
.faq-list{max-width:760px;margin:0 auto}
.faq-item{border-bottom:1px solid #dde8e2;padding:24px 0}
.faq-q{font-size:1.05rem;color:#1a3d2b;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:'Playfair Display',serif}
.faq-icon{font-size:1.4rem;color:#2d6a4f;transition:transform .2s;font-family:'Open Sans',sans-serif}
.faq-a{color:#555;line-height:1.8;font-size:.95rem;padding-top:12px}
.contact-wrapper{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}
.contact-info h3{color:#1a3d2b;font-size:1.4rem;margin-bottom:20px}
.info-item{display:flex;gap:14px;margin-bottom:20px;align-items:flex-start}
.info-icon{font-size:1.4rem;margin-top:2px}
.info-item p{color:#555;line-height:1.7;margin:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group.full{grid-column:1/-1}
label{font-size:.88rem;font-weight:600;color:#333}
input,textarea,select{padding:12px 16px;border:1.5px solid #c8ddd5;border-radius:8px;font-family:'Open Sans',sans-serif;font-size:.95rem;outline:none;transition:border-color .2s;width:100%}
input:focus,textarea:focus{border-color:#2d6a4f}
textarea{resize:vertical;min-height:130px}
.btn-submit{background:#2d6a4f;color:#fff;border:none;padding:14px 36px;border-radius:30px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s;margin-top:10px}
.btn-submit:hover{background:#1a3d2b}
.toast{position:fixed;bottom:30px;right:30px;background:#2d6a4f;color:#fff;padding:18px 28px;border-radius:12px;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.2);z-index:999}
.timeline{position:relative;max-width:700px;margin:50px auto 0;padding-left:40px}
.timeline::before{content:'';position:absolute;left:14px;top:0;bottom:0;width:2px;background:#c8e6c9}
.timeline-item{position:relative;margin-bottom:40px}
.timeline-item::before{content:'';position:absolute;left:-34px;top:6px;width:14px;height:14px;border-radius:50%;background:#2d6a4f;border:3px solid #d8f3dc}
.t-year{display:inline-block;background:#2d6a4f;color:#fff;font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:12px;margin-bottom:8px}
.timeline-item h4{color:#1a3d2b;font-size:1.05rem;margin-bottom:6px}
.timeline-item p{color:#555;font-size:.92rem;line-height:1.7}
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.partner-card{text-align:center;background:#f0f7f4;border-radius:12px;padding:30px 20px;border:1px solid #d0e8da}
.partner-icon{font-size:2.5rem;margin-bottom:12px}
.partner-card h4{color:#1a3d2b;margin-bottom:6px;font-size:1rem}
.partner-card p{font-size:.88rem;color:#666;line-height:1.6}
.footer{background:#1a3d2b;color:#a8d5b5;padding:60px 0 20px}
.footer-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:40px}
.footer-inner a{display:block;color:#a8d5b5;margin-bottom:8px;font-size:.92rem;transition:color .2s}
.footer-inner a:hover{color:#fff}
.footer-inner p{font-size:.92rem;line-height:1.8;margin-bottom:6px}
.footer-inner strong{color:#fff}
.footer-copy{text-align:center;border-top:1px solid #2d6a4f;padding-top:20px;font-size:.85rem;color:#6aab80}
.src-note{text-align:center;margin-top:28px;color:#2d6a4f;font-weight:600;font-size:.9rem}
@media(max-width:900px){
  .hero-split-overlay{flex-direction:column;padding:60px 24px 40px;text-align:center}
  .hero-left{max-width:100%}
  .hero-trust{justify-content:center}
  .hero-form-card{width:100%;max-width:480px}
  .chart-kpis{grid-template-columns:repeat(2,1fr)}
  .charts-row{grid-template-columns:1fr}
  .photo-strip{grid-template-columns:repeat(2,1fr)}
  .testimonial-grid{grid-template-columns:1fr}
  .partner-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .hero-left h1{font-size:2.4rem}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .two-col,.steps-grid,.card-grid,.footer-inner,.contact-wrapper,.form-grid,.partner-grid{grid-template-columns:1fr}
  nav{display:none}
  .center-title{font-size:1.7rem}
}
