/* Homepage-only presentation; shared pages keep their own layouts. */
.home-page { color: #233e33; background: #fafbf8; }
.home-page section :is(h1,h2,h3,h4,h5) { font-family: system-ui, -apple-system, sans-serif !important; letter-spacing: -.035em; }
.home-page section p { line-height: 1.85; color: #68766c; }
.home-page section .btn-warning2 { background: #ed751b; border-color: #ed751b; color: white; font-size: 14px; padding: 12px 23px; box-shadow: 0 6px 16px #ed751b18; transition: background .2s, transform .2s; }
.home-page section .btn-warning2:hover { background: #d8610d; color: white; transform: translateY(-2px); }
.home-page :is(a,button):focus-visible { outline: 3px solid #b67533; outline-offset: 4px; }
.home-page .home-hero { padding: 24px 24px 0; max-width: 1600px; margin: auto; }
.home-hero .carousel { border-radius: 26px; overflow: hidden; background: #eaf0e7; box-shadow: 0 15px 40px #233e3310; }
.home-hero .carousel-item img { height: auto; }
.home-hero :is(.carousel-control-prev,.carousel-control-next) { width: 9%; opacity: .95; }
.home-hero :is(.carousel-control-prev-icon,.carousel-control-next-icon) { background-color: #203a32aa; border: 12px solid transparent; box-sizing: content-box; border-radius: 50%; background-size: 70%; }
.home-page .home-about { background: #fafbf8; padding: 32px 0 88px; }
.home-about .banner-position { top: 0; padding-bottom: 44px; }
.home-about .banner-position .card { height: 100%; border: 1px solid #e4e8de; border-radius: 18px; box-shadow: 0 10px 28px #233e3308 !important; text-align: left !important; transition: transform .2s, box-shadow .2s; }
.home-about .banner-position .card:hover { transform: translateY(-5px); box-shadow: 0 15px 35px #233e3312 !important; }
.home-about .banner-position .card h1 { font-size: 18px; line-height: 1.45; flex: 1; }
.home-about .icon-img-b img { background: #f6eee1; border: 0 !important; width: 64px; height: 64px; }
.home-about .banner-position .card .btn { background: #eef3e9; color: #3a5944; border: 0; font-size: 12px; box-shadow: none; }
.home-about > .container > .row { align-items: center; row-gap: 36px; }
.home-about .heading { isolation: isolate; }
.home-about .heading > h3 { color: #a05c29; text-transform: uppercase; font-size: 12px; letter-spacing: 2px; font-weight: 700; }
.home-about .heading h1 { font-size: clamp(30px, 3.2vw, 46px) !important; line-height: 1.15 !important; margin-top: 16px; max-width: 440px; }
.home-about .heading p { font-size: 14px; }
.home-about .heading p.fw-600 { color: #355843; border-left: 3px solid #ed751b; padding-left: 18px; margin: 24px 0; }
.home-about .baner4-position { z-index: -1; max-width: 100%; opacity: .12; animation: none; }
.home-about .heading .text-end { text-align: left !important; margin-bottom: 0 !important; }
.home-about .col-md-6 > .text-center { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 18px; padding: 24px; }
.home-about .col-md-6 > .text-center img { position: static; animation: none; width: 100% !important; height: auto; border-radius: 20px !important; box-shadow: 0 14px 28px #203a3210; }
.home-about .col-md-6 > .text-center .w-30 { grid-column: 2; grid-row: 1 / 3; }
.home-page :is(.home-certifications,.home-impact,.home-causes,.home-testimonials,.home-blog) { padding: 76px 0 !important; }
.home-page section > .container:is(.py-md-5,.pt-lg-5,.pb-lg-5) { padding-top: 0 !important; padding-bottom: 0 !important; }
.home-page section .heading .fs-3 { font-size: clamp(27px, 3vw, 38px) !important; }
.home-page section .heading .fs-2 { font-size: clamp(28px, 3.6vw, 44px) !important; line-height: 1.15; }
.home-page section .heading > .h5 { font-size: 12px; text-transform: uppercase; letter-spacing: 1.6px; font-weight: 700; }
.home-page section .heading > span { width: 40px; height: 3px; border-radius: 3px; margin: 12px 0 24px !important; }
.home-page section .heading > span::before, .home-page section .heading > span::after { content: none; }
.home-certifications { background: #fff; border-block: 1px solid #e8ece3; }
.home-certifications .row:last-child { row-gap: 18px; margin-top: 20px; }
.home-certifications .row:last-child > div > a { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; background: #fafbf8; border: 1px solid #e8ece3; border-radius: 16px; padding: 24px 12px; transition: background .2s; }
.home-certifications .row:last-child > div > a:hover { background: #edf3e8; }
.home-certifications .service-img img { width: 90px; height: 90px; object-fit: contain; background: white; border-width: 1px !important; border-color: #dce5d6 !important; padding: 12px !important; }
.home-certifications h5 { font-size: 12px !important; line-height: 1.7; letter-spacing: .4px !important; color: #3c5544; margin-bottom: 0; }
.home-page .home-impact { background: #eaf0e5; }
.home-page :is(.home-impact,.home-causes,.home-testimonials) { isolation: isolate; }
.home-page section .p-img { z-index: -1; opacity: .15; max-width: 45%; pointer-events: none; }
.home-page :is(.home-impact,.home-causes) .container > .row:first-of-type { margin-bottom: 32px; }
.home-page :is(.home-impact,.home-causes) .col-lg-3 > .bg-white { border-radius: 18px; overflow: hidden; border: 1px solid #e3e8de; height: 100%; box-shadow: 0 8px 24px #203a3208; }
.home-page :is(.home-impact,.home-causes) .class-img { padding: 10px 10px 0; }
.home-page :is(.home-impact,.home-causes) .class-img img { border-radius: 12px !important; box-shadow: none !important; height: auto; }
.home-page :is(.home-impact,.home-causes) .card-header { border: 0; box-shadow: none !important; padding: 22px !important; text-align: left !important; }
.home-page :is(.home-impact,.home-causes) .card-header h4 { font-size: 14px; line-height: 1.75; color: #4b6251; margin: 0; letter-spacing: 0; }
.home-page .home-testimonials { background: #f0f3ec; border-block: 1px solid #e5eadd; }
.home-page #testimonial .post-slide { border: 1px solid #e4e9dd; border-radius: 20px; box-shadow: 0 8px 26px #203a3208; }
.home-page #testimonial .post-content { padding-inline: 26px; border-radius: 20px; }
.home-page #testimonial .post-content > p { font-size: 14px; }
.home-page #testimonial .icon { right: 26px; top: 16px; }
.home-page #testimonial .icon i { font-size: 32px; color: #c1d1b9; }
.home-page #testimonial .testi-name h5 { font-size: 16px; }
.home-page #testimonial .testi-name p { font-size: 12px; }
.home-page #testimonial .img-testi { flex-shrink: 0; }
.home-page #testimonial .img-testi img { object-fit: cover; }
.home-page .home-blog { background: #fffdf8; }
.home-page #news-slider { margin-top: 32px; }
.home-page #news-slider .post-slide { border: 1px solid #e6e9e0; border-radius: 18px; box-shadow: 0 10px 25px #203a320a; padding-top: 12px; }
.home-page #news-slider .post-img { margin: 0 12px 8px; border-radius: 12px; }
.home-page #news-slider .post-content { padding: 20px 24px 24px; border-radius: 18px; }
.home-page #news-slider .post-title a { color: #294434; text-transform: none; font-size: 17px; line-height: 18px; }
.home-page #news-slider .post-description { font-size: 14px; line-height: 24px; }
.home-page #news-slider .post-actions .btn { padding: 10px 18px; font-size: 12px; }
.home-page .owl-controls .owl-buttons :is(.owl-prev,.owl-next) { position: static; display: inline-block; border: 1px solid #dde5d6; border-radius: 50%; box-shadow: none; margin: 8px; padding: 0; width: 42px; height: 42px; background: white; }
.home-page .owl-controls .owl-buttons :is(.owl-prev,.owl-next)::after { color: #365641; }
.home-page #myModal .modal-content { border: 0; border-radius: 22px; overflow: hidden; box-shadow: 0 25px 70px #12281c40; }
@media (max-width: 767px) {
 .home-page .home-hero { padding: 12px 12px 0; }
 .home-hero .carousel { border-radius: 14px; }
 .home-hero :is(.carousel-control-prev-icon,.carousel-control-next-icon) { width: 16px; height: 16px; border-width: 6px; }
 .home-page .home-about { padding: 24px 0 48px; }
 .home-about .banner-position { padding-bottom: 24px; }
 .home-about .banner-position .card { padding: 18px 12px !important; }
 .home-about .banner-position .card h1 { font-size: 15px; }
 .home-about .banner-position .card .btn { padding: 10px 8px; }
 .home-about .col-md-6 > .text-center { padding: 0 8px; }
 .home-page :is(.home-certifications,.home-impact,.home-causes,.home-testimonials,.home-blog) { padding: 48px 0 !important; }
 .home-page section .btn-warning2 { padding: 10px 16px; font-size: 12px; }
 .home-page :is(.home-impact,.home-causes) .card-header { padding: 16px !important; }
}
@media (max-width: 420px) {
 .home-page :is(.home-impact,.home-causes) .col-lg-3 { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 .home-page section *, .home-page section *::before, .home-page section *::after { animation: none !important; transition: none !important; }
}
