:root{--green:#0a7a3f;--green2:#18a64b;--dark:#0e4b36;--orange:#ff7a00;--blue:#169ddd;--pink:#ea1984;--text:#36516a;--soft:#f2fbf3;--line:#dfeee4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff;line-height:1.55}a{color:var(--green);text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);z-index:50;border-bottom:1px solid rgba(0,0,0,.03)}.header-inner{min-height:88px;display:flex;align-items:center;gap:32px}.brand{width:175px}.custom-logo,.kbf-logo img{max-height:76px;width:auto}.main-nav{margin-left:auto}.main-nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}.main-nav a{color:#173d5c;font-weight:600;font-size:15px}.main-nav .current-menu-item>a,.main-nav a:hover{color:var(--green)}.donate-top{margin-left:16px}.mobile-toggle{display:none;margin-left:auto;background:none;border:0;font-size:28px}.section{padding:62px 0}.section.compact{padding-top:44px}.soft{background:linear-gradient(180deg,#fbfffb,#f4fbf5)}.hero{overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fff 62%,#f3fbf3 100%)}.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}.eyebrow{font-size:13px;font-weight:800;letter-spacing:.18em;color:var(--green2)}h1,h2,h3,h4{color:var(--dark);line-height:1.1;margin:0 0 14px}h1{font-size:clamp(48px,5vw,76px);font-weight:900;letter-spacing:-.04em}.hero h1 span,.article-hero h1 span{color:var(--orange)}h2{font-size:36px;font-weight:850}h3{font-size:22px}.lead{font-size:19px;max-width:640px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin:26px 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 25px;border-radius:999px;font-weight:750;border:1px solid transparent;transition:.2s}.btn-primary{background:var(--green2);color:#fff}.btn-primary:hover{background:var(--green);color:#fff}.btn-outline{background:#fff;border-color:var(--green2);color:var(--green)}.quote-line{font-style:italic;color:#647689}.hero-visual{position:relative}.hero-visual>img{width:100%;aspect-ratio:1.22/1;object-fit:cover;border-radius:40% 36% 30% 42%/34% 38% 44% 36%;box-shadow:0 20px 60px rgba(12,100,60,.10)}.blob-note{position:absolute;right:-10px;bottom:-12px;background:#9fe03c;color:#fff;padding:22px 28px;border-radius:45% 55% 42% 58%;font-size:24px;line-height:1.1;transform:rotate(-4deg)}.stats-band{background:#eff9ef;padding:26px 0 34px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:#fff;border:1px solid #e6efe8;border-radius:12px;padding:22px;box-shadow:0 7px 20px rgba(0,0,0,.03)}.stat b{display:block;color:var(--green);font-size:30px}.stat span{display:block;font-weight:800;color:#163f55}.stat small{display:block;margin-top:6px;color:#6b7f8d}.section-head{text-align:center;margin-bottom:30px}.section-head p,.section-title-row p{margin:6px 0 0;color:#718190}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.program-card{background:#fff;border:1px solid #e5ece8;border-radius:14px;overflow:hidden;padding:20px 20px 0;box-shadow:0 8px 28px rgba(0,0,0,.04)}.program-card h3{color:var(--green)}.program-card img{margin:18px -20px 0;width:calc(100% + 40px);height:150px;object-fit:cover}.program-card>a{display:block;padding:12px 0 14px;font-weight:750}.muted-cards .program-card:nth-child(2) h3{color:#e97919}.muted-cards .program-card:nth-child(4) h3{color:#d8357f}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:center}.organic-image{border-radius:34% 49% 30% 40%/38% 29% 45% 35%;width:100%;height:330px;object-fit:cover}.about-home h2 span{color:var(--orange)}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.story-feature{display:grid;grid-template-columns:260px 1fr;gap:22px;background:#fff;border:1px solid #e7ece9;border-radius:16px;padding:16px;box-shadow:0 8px 25px rgba(0,0,0,.04)}.story-feature img{height:175px;width:100%;object-fit:cover;border-radius:12px}.story-feature blockquote{margin:0;padding:20px;font-size:20px;color:#4a6376}.story-feature cite{display:block;margin-top:16px;font-size:14px;font-weight:700;color:var(--dark)}.cta-banner{background:#eef8ee;border-radius:18px;display:grid;grid-template-columns:1fr 1.1fr auto;gap:22px;align-items:center;padding:24px}.cta-banner img{height:120px;width:100%;object-fit:cover;border-radius:14px}.site-footer{padding:42px 0 18px;border-top:1px solid #eef1ef}.footer-grid{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:34px}.footer-grid h4{font-size:15px}.footer-grid a,.footer-grid p{display:block;margin:7px 0;font-size:14px;color:#607387}

/* =====================================================
   FOOTER
===================================================== */

.site-footer{
    padding:42px 0 18px;

    border-top:
        1px solid #eef1ef;

    background:#fff;
}


/* =====================================================
   FOOTER GRID
===================================================== */

.footer-grid{
    display:grid;

    grid-template-columns:
        1.25fr
        repeat(4,1fr);

    gap:34px;
}


.footer-grid h4{
    margin-bottom:14px;

    font-size:15px;
    font-weight:800;

    color:var(--dark);
}


.footer-grid > div > a{
    display:block;

    margin:7px 0;

    color:#607387;

    font-size:14px;

    transition:
        color .2s ease,
        transform .2s ease;
}


.footer-grid > div > a:hover{
    color:var(--green);

    transform:
        translateX(2px);
}


.footer-grid p{
    margin:7px 0;

    font-size:14px;

    color:#607387;
}


/* =====================================================
   FOOTER BRAND
===================================================== */

.footer-brand .custom-logo,
.footer-brand .kbf-logo img{
    max-height:68px;

    width:auto;
}


.footer-brand .muted{
    margin-top:14px;

    color:#789;

    font-size:14px;

    line-height:1.65;
}


/* =====================================================
   FOOTER CONTACT
===================================================== */

.footer-contact-item{
    display:grid;

    grid-template-columns:
        24px 1fr;

    gap:10px;

    align-items:start;

    margin:
        0 0 14px;
}


.footer-contact-icon{
    width:22px;
    height:22px;

    display:flex;

    align-items:center;
    justify-content:center;

    margin-top:2px;

    color:var(--green);
}


.footer-contact-icon svg{
    width:18px;
    height:18px;

    fill:none;

    stroke:currentColor;

    stroke-width:1.8;

    stroke-linecap:round;

    stroke-linejoin:round;
}


.footer-contact-item strong{
    display:block;

    margin-bottom:2px;

    color:var(--dark);

    font-size:13px;

    line-height:1.35;
}


.footer-contact-item p{
    margin:0;

    color:#607387;

    font-size:13px;

    line-height:1.45;
}


.footer-contact-item p a{
    display:inline;

    margin:0;

    color:#607387;

    font-size:13px;

    word-break:break-word;
}


.footer-contact-item p a:hover{
    color:var(--green);
}


/* =====================================================
   FOOTER SOCIAL ICONS
===================================================== */

.socials{
    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:9px;
}


.socials a{
    width:36px;
    height:36px;

    display:flex;

    align-items:center;
    justify-content:center;

    flex:0 0 36px;

    margin:0;

    background:#16466a;

    color:#fff;

    border-radius:9px;

    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}


.socials a svg{
    width:18px;
    height:18px;

    display:block;

    fill:currentColor;

    stroke:currentColor;

    stroke-width:1.7;

    stroke-linecap:round;
    stroke-linejoin:round;
}


/* Instagram:
   gunakan outline agar bentuk logo lebih natural */

.socials a:first-child svg rect,
.socials a:first-child svg circle{
    fill:none;
}


/* Facebook */

.socials a:nth-child(2) svg{
    stroke:none;
}


/* YouTube */

.social-youtube svg{
    stroke:none;
}


.social-youtube .youtube-play{
    fill:#16466a;

    stroke:none;

    transition:
        fill .2s ease;
}


/* LinkedIn */

.socials a:nth-child(4) svg{
    stroke:none;
}


/* SOCIAL HOVER */

.socials a:hover{
    background:var(--green);

    color:#fff;

    transform:
        translateY(-2px);

    box-shadow:
        0 7px 16px
        rgba(10,122,63,.18);
}


.social-youtube:hover .youtube-play{
    fill:var(--green);
}


/* =====================================================
   FOOTER BOTTOM
===================================================== */

.footer-bottom{
    display:flex;

    justify-content:space-between;
    align-items:center;

    gap:20px;

    margin-top:28px;

    padding-top:15px;

    border-top:
        1px solid #eef1ef;

    color:#758494;

    font-size:12px;
}


.footer-bottom span{
    line-height:1.5;
}


/* =====================================================
   FOOTER TABLET
===================================================== */

@media(max-width:900px){

    .footer-grid{
        grid-template-columns:
            repeat(2,1fr);

        gap:
            30px 35px;
    }


    .footer-brand{
        grid-column:
            1 / -1;
    }

}


/* =====================================================
   FOOTER MOBILE
===================================================== */

@media(max-width:600px){

    .site-footer{
        padding:
            36px 0 20px;
    }


    .footer-grid{
        grid-template-columns:1fr;

        gap:27px;
    }


    .footer-brand{
        grid-column:auto;
    }


    .footer-grid h4{
        margin-bottom:10px;
    }


    .socials a{
        width:38px;
        height:38px;

        flex-basis:38px;
    }


    .footer-bottom{
        flex-direction:column;

        align-items:flex-start;

        gap:8px;

        margin-top:30px;
    }

}

.footer-bottom{border-top:1px solid #eef1ef;margin-top:28px;padding-top:15px;display:flex;justify-content:space-between;font-size:12px;color:#758494}.muted{color:#789}.highlight-list{display:grid;gap:16px}.highlight{display:grid;grid-template-columns:280px 1fr auto;gap:22px;align-items:center;border:1px solid #e5ece8;border-radius:14px;background:#fff;overflow:hidden;padding-right:18px}.highlight img{width:100%;height:150px;object-fit:cover}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps>div{background:#fff;border:1px solid #e5ece8;border-radius:14px;padding:20px;text-align:center}.steps b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dff2e4;color:var(--green);margin:0 auto 12px}.featured-news{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:center;background:#fff;border:1px solid #e4ece7;border-radius:18px;padding:16px}.featured-news img{width:100%;height:320px;object-fit:cover;border-radius:13px}.pill{display:inline-block;background:#e5f4ff;color:#168cd0;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters span{background:#eef6f0;border-radius:999px;padding:8px 14px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.news-card{background:#fff;border:1px solid #e7ece9;border-radius:14px;overflow:hidden;box-shadow:0 7px 22px rgba(0,0,0,.035)}.news-card img{width:100%;height:190px;object-fit:cover}.news-card>div{padding:16px}.news-card h3{font-size:20px}.contact-grid,.donate-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:22px;align-items:start}.contact-card,.info-card{background:#fff;border:1px solid #e4ece7;border-radius:16px;padding:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-weight:700;color:#173f5a}input,select,textarea{width:100%;border:1px solid #dce7e1;border-radius:9px;padding:13px 14px;font:inherit;margin-top:7px;background:#fff}textarea{resize:vertical}.info-card{display:grid;gap:5px;margin-bottom:12px}.help-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.help-grid>div{border:1px solid #e4ece7;border-radius:14px;padding:24px;background:#fff;font-weight:800;color:var(--dark)}.donation-tabs,.amount-grid,.payment-grid{display:grid;gap:10px}.donation-tabs{grid-template-columns:1fr 1fr}.amount-grid{grid-template-columns:repeat(3,1fr);margin:12px 0}.payment-grid{grid-template-columns:repeat(3,1fr);margin:12px 0}.donation-tabs button,.amount-grid button,.payment-grid button{border:1px solid #dfe8e3;background:#fff;border-radius:9px;padding:13px;font-weight:700;color:#244f68}.donation-tabs .active{background:var(--green2);color:#fff}.full-input{margin:10px 0 18px}.full-btn{width:100%}.impact-item{background:#fff;border:1px solid #e3ece7;border-radius:13px;padding:18px;margin-bottom:12px}.impact-item b{display:block;color:var(--green);font-size:22px}.article-hero{padding-bottom:30px}.article-hero h1{max-width:800px}.article-hero-img img{width:100%;max-height:540px;object-fit:cover;border-radius:22px;margin-top:28px}.breadcrumbs,.meta{color:#738396}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px}.article-body{font-size:18px}.article-body h2{margin-top:34px}.article-body img{border-radius:14px}.article-side{position:relative}.soft-card{background:#eff9ef}.prose{max-width:900px}.prose h1{font-size:52px}

/* =========================================================
   NEWS — STORY EXTRA
========================================================= */

.news-story-location{
    display:block;

    margin-top:8px;

    color:#718a7b;

    font-size:11px;
    font-weight:750;
}


.news-featured-content
.news-story-location{
    margin-bottom:3px;
}


.popular-type{
    display:block;

    margin-bottom:4px;

    color:var(--green) !important;

    font-size:9px !important;

    font-weight:850;

    letter-spacing:.04em;
}


/* filter sekarang hanya visual label */

.news-filter{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}


.news-filter-btn{
    appearance:none;

    padding:8px 17px;

    border:0;
    border-radius:999px;

    background:#eff7f1;

    color:#506e60;

    font-family:inherit;
    font-size:12px;
    font-weight:700;

    cursor:pointer;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}


.news-filter-btn:hover{
    background:#e2f2e6;

    color:var(--green);

    transform:translateY(-1px);
}


.news-filter-btn.active{
    background:var(--green2);

    color:#fff;
}

.newsletter-message{
    margin-bottom:12px;
    padding:10px 14px;

    border-radius:10px;

    background:#eef8ef;

    color:#2d6848;

    font-size:13px;
    font-weight:700;
}

/* =========================================================
   KBF PARTNERSHIP PAGE — FINAL
========================================================= */

.partnership-page{
    background:#fff;
}


/* =========================================================
   HERO
========================================================= */

.partnership-hero-photo{
    position:relative;
    isolation:isolate;

    min-height:630px;

    display:flex;
    align-items:center;

    padding:90px 0;

    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            rgba(6,40,28,.93) 0%,
            rgba(7,54,36,.82) 40%,
            rgba(7,54,36,.49) 67%,
            rgba(7,54,36,.22) 100%
        ),
        var(
            --partnership-hero-image,
            none
        );

    background-size:cover;
    background-position:center 42%;
    background-repeat:no-repeat;
}


.partnership-hero-overlay{
    position:absolute;
    z-index:-1;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.02),
            rgba(0,0,0,.13)
        );
}


.partnership-hero-inner{
    position:relative;
    z-index:2;
}


.partnership-hero-copy{
    max-width:790px;
}


.partnership-hero-copy .eyebrow{
    margin:0 0 16px;

    color:#a7e6b6;
}


.partnership-hero-copy h1{
    max-width:790px;

    margin:0 0 24px;

    color:#fff;

    font-size:
        clamp(54px,5.8vw,82px);

    line-height:.99;

    letter-spacing:-.052em;
}


.partnership-hero-copy h1 span{
    display:block;

    margin-top:6px;

    color:#ff9a38;
}


.partnership-hero-lead{
    max-width:670px;

    margin:0;

    color:
        rgba(
            255,
            255,
            255,
            .86
        );

    font-size:18px;

    line-height:1.72;
}


.partnership-hero-actions{
    display:flex;
    flex-wrap:wrap;

    gap:12px;

    margin-top:30px;
}


.partnership-btn-light{
    border:
        1px solid
        rgba(255,255,255,.65);

    background:
        rgba(255,255,255,.10);

    color:#fff;

    backdrop-filter:blur(8px);
}


.partnership-btn-light:hover{
    background:#fff;
    color:var(--green);
}


/* =========================================================
   ABOUT
========================================================= */

.partnership-about{
    background:#fff;
}


.partnership-about-grid{
    display:grid;

    grid-template-columns:
        minmax(0,.85fr)
        minmax(0,1.15fr);

    gap:75px;

    align-items:start;
}


.partnership-about h2{
    max-width:500px;

    font-size:
        clamp(35px,4vw,48px);

    letter-spacing:-.03em;
}


.partnership-about-copy{
    color:#60766b;

    font-size:17px;

    line-height:1.78;
}


.partnership-about-copy p:first-child{
    margin-top:0;
}


/* =========================================================
   COLLABORATION TYPES
========================================================= */

.partnership-collaboration{
    background:
        linear-gradient(
            180deg,
            #f5faf6,
            #fff
        );
}


.partnership-type-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:17px;

    margin-top:34px;
}


.partnership-type-card{
    position:relative;

    min-height:255px;

    padding:28px 25px;

    overflow:hidden;

    border:
        1px solid #dee8e2;

    border-radius:16px;

    background:#fff;

    box-shadow:
        0 8px 25px
        rgba(19,72,51,.03);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}


.partnership-type-card:hover{
    transform:
        translateY(-3px);

    border-color:#c8dcd0;

    box-shadow:
        0 15px 34px
        rgba(19,72,51,.065);
}


/* natural accent line */

.partnership-type-card::before{
    content:"";

    position:absolute;

    left:0;
    top:0;
    bottom:0;

    width:4px;

    background:
        linear-gradient(
            180deg,
            #4ba86b,
            #a3d7af
        );
}


.partnership-type-card:nth-child(2)::before{
    background:
        linear-gradient(
            180deg,
            #d89b59,
            #ead2ae
        );
}


.partnership-type-card:nth-child(3)::before{
    background:
        linear-gradient(
            180deg,
            #5998a3,
            #b9d7d8
        );
}


.partnership-type-card:nth-child(4)::before{
    background:
        linear-gradient(
            180deg,
            #769b77,
            #c6ddbd
        );
}


.partnership-type-number{
    display:block;

    margin-bottom:57px;

    color:#98a79f;

    font-size:11px;
    font-weight:850;

    letter-spacing:.12em;
}


.partnership-type-card h3{
    margin:0 0 10px;

    font-size:23px;
}


.partnership-type-card p{
    margin:0;

    color:#657970;

    font-size:14px;

    line-height:1.65;
}


/* =========================================================
   VIEW ALL
========================================================= */

.partnership-view-all{
    margin-top:28px;

    text-align:center;
}


.partnership-view-all a{
    display:inline-flex;

    align-items:center;

    gap:9px;

    padding:5px 0;

    color:var(--green);

    font-size:14px;
    font-weight:800;
}


.partnership-view-all a span{
    transition:
        transform .2s ease;
}


.partnership-view-all a:hover span{
    transform:
        translateX(4px);
}


/* =========================================================
   FEATURED LOGOS
========================================================= */

.partnership-logos-section{
    background:#fff;
}


.partnership-logo-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:15px;

    margin-top:37px;
}


.partnership-logo-card{
    min-height:155px;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    gap:14px;

    padding:22px;

    border:
        1px solid #e1e9e4;

    border-radius:15px;

    background:#fff;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.partnership-logo-card:hover{
    transform:
        translateY(-3px);

    box-shadow:
        0 13px 32px
        rgba(14,72,49,.06);
}


.partnership-logo-card img{
    width:auto;

    max-width:155px;
    max-height:66px;

    object-fit:contain;
}


.partner-logo-name{
    display:block;

    color:#64786e;

    font-size:11px;
    font-weight:750;

    text-align:center;
}


.partner-logo-placeholder{
    min-height:65px;

    display:flex;

    align-items:center;
    justify-content:center;

    text-align:center;

    color:#7d8e85;
}


.partnership-featured-footer{
    margin-top:31px;

    text-align:center;
}


/* =========================================================
   IMPACT MESSAGE
========================================================= */

.partnership-impact{
    padding-top:25px;
}


.partnership-impact-box{
    display:grid;

    grid-template-columns:
        5px minmax(0,1fr);

    gap:30px;

    padding:39px 44px;

    border:
        1px solid #dfe9e2;

    border-radius:19px;

    background:
        linear-gradient(
            120deg,
            #f3f8f4,
            #fafcfb
        );
}


.partnership-impact-line{
    width:4px;

    border-radius:999px;

    background:
        linear-gradient(
            180deg,
            #2c9455,
            #a8d4af
        );
}


.partnership-impact-box h2{
    max-width:790px;

    margin:8px 0 11px;

    font-size:
        clamp(30px,3.5vw,43px);
}


.partnership-impact-box p:last-child{
    max-width:850px;

    margin:0;

    color:#60756b;

    line-height:1.72;
}


/* =========================================================
   CTA
========================================================= */

.partnership-contact-section{
    padding-top:20px;
}


.partnership-cta{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    gap:45px;

    align-items:center;

    padding:42px 45px;

    border-radius:20px;

    background:
        linear-gradient(
            120deg,
            #0d4c37,
            #087843
        );

    color:#fff;
}


.partnership-cta .eyebrow{
    color:#a5e4b4;
}


.partnership-cta h2{
    margin:8px 0 11px;

    color:#fff;

    font-size:
        clamp(34px,4vw,47px);
}


.partnership-cta p{
    max-width:740px;

    margin:0;

    color:
        rgba(
            255,
            255,
            255,
            .80
        );

    line-height:1.7;
}


.partnership-btn-white{
    background:#fff;

    color:var(--green);
}


.partnership-btn-white:hover{
    background:#f3faf5;

    color:var(--dark);
}


/* =========================================================
   ALL PARTNERS PAGE
========================================================= */

.all-partners-page{
    background:#fff;
}


.all-partners-hero{
    padding:90px 0 75px;

    background:
        linear-gradient(
            135deg,
            #f3faf5,
            #fff
        );
}


.all-partners-hero .container{
    max-width:850px;

    margin-left:auto;
    margin-right:auto;

    text-align:center;
}


.all-partners-hero h1{
    margin:10px auto 20px;

    max-width:800px;

    font-size:
        clamp(48px,5vw,72px);

    line-height:1.02;
}


.all-partners-hero p:last-child{
    max-width:680px;

    margin:0 auto;

    color:#657a70;

    font-size:17px;

    line-height:1.72;
}


.all-partner-category{
    border-bottom:
        1px solid #edf1ee;
}


.all-partner-category-head{
    display:grid;

    grid-template-columns:
        55px 1fr;

    gap:20px;

    align-items:start;

    margin-bottom:28px;
}


.all-partner-category-head > span{
    padding-top:7px;

    color:#98a69f;

    font-size:11px;

    font-weight:900;

    letter-spacing:.1em;
}


.all-partner-category-head h2{
    margin:0;

    font-size:
        clamp(31px,3.5vw,43px);
}


.all-partners-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:15px;
}


.all-partner-card{
    min-height:145px;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    gap:15px;

    padding:22px;

    border:
        1px solid #e1e9e4;

    border-radius:15px;

    background:#fff;

    text-align:center;
}


.all-partner-card img{
    max-width:155px;
    max-height:67px;

    width:auto;
    height:auto;

    object-fit:contain;
}


.all-partner-card strong{
    color:#5c7067;

    font-size:12px;
}


.all-partner-back{
    padding:20px 0 75px;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:900px){

    .partnership-about-grid{
        grid-template-columns:1fr;

        gap:28px;
    }


    .partnership-type-grid{
        grid-template-columns:
            repeat(2,1fr);
    }


    .partnership-logo-grid,
    .all-partners-grid{
        grid-template-columns:
            repeat(3,1fr);
    }


    .partnership-cta{
        grid-template-columns:1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

    .partnership-hero-photo{
        min-height:560px;

        padding:65px 0;

        background:
            linear-gradient(
                180deg,
                rgba(5,39,27,.89),
                rgba(5,39,27,.76)
            ),
            var(
                --partnership-hero-image,
                none
            );

        background-size:cover;

        background-position:center;
    }


    .partnership-hero-copy h1{
        font-size:
            clamp(43px,12vw,58px);
    }


    .partnership-hero-lead{
        font-size:16px;
    }


    .partnership-hero-actions{
        flex-direction:column;
    }


    .partnership-hero-actions .btn{
        width:100%;
    }


    .partnership-type-grid{
        grid-template-columns:1fr;
    }


    .partnership-type-card{
        min-height:225px;
    }


    .partnership-type-number{
        margin-bottom:40px;
    }


    .partnership-logo-grid,
    .all-partners-grid{
        grid-template-columns:
            repeat(2,1fr);
    }


    .partnership-logo-card,
    .all-partner-card{
        min-height:120px;

        padding:15px;
    }


    .partnership-logo-card img,
    .all-partner-card img{
        max-width:110px;
        max-height:53px;
    }


    .partnership-impact-box{
        grid-template-columns:4px 1fr;

        gap:20px;

        padding:27px 23px;
    }


    .partnership-cta{
        padding:30px 25px;
    }


    .partnership-cta-action,
    .partnership-btn-white{
        width:100%;
    }


    .all-partners-hero{
        padding:58px 0;
    }


    .all-partners-hero h1{
        font-size:44px;
    }


    .all-partner-category-head{
        grid-template-columns:1fr;

        gap:5px;
    }

}
/* =====================================================
   SINGLE NEWS / ARTICLE
===================================================== */

.single-news-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;

  min-height:430px;
  padding:45px 0 48px;

  background:
    radial-gradient(
      circle at 83% 25%,
      rgba(113,208,112,.12),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      #fff 0%,
      #fff 48%,
      #f3fbf4 100%
    );
}

.single-news-hero-grid{
  position:relative;
  z-index:2;

  display:flex;
  align-items:center;

  min-height:337px;
}

.single-news-heading{
  width:min(820px,72%);
}

.article-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:9px;

  margin-bottom:15px;

  font-size:13px;
  color:#738495;
}

.article-breadcrumbs a{
  color:#617788;
}

.single-news-heading h1{
  margin:15px 0 13px;

  max-width:820px;

  font-size:clamp(45px,4.7vw,68px);
  line-height:1.04;
}

.single-news-lead{
  max-width:650px;

  margin:0 0 18px;

  font-size:18px;
  line-height:1.55;

  color:#526b7e;
}

.single-news-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;

  gap:10px;

  margin-top:18px;

  color:#697e8d;
  font-size:13px;
}

.meta-separator{
  color:#c3cdca;
}

.single-news-decor{
  position:absolute;
  z-index:1;
  inset:0;

  pointer-events:none;
  user-select:none;
}

.single-news-leaf{
  position:absolute;
  display:block;

  border-radius:100% 0 100% 0;
  opacity:.22;
  transform:rotate(35deg);
}

.single-news-leaf--pink{
  top:58px;
  right:33%;

  width:62px;
  height:38px;

  background:var(--pink);
}

.single-news-leaf--green{
  top:160px;
  right:25%;

  width:105px;
  height:68px;

  background:#75d76e;
}

.single-news-leaf--blue{
  right:8%;
  bottom:-115px;

  width:320px;
  height:225px;

  background:linear-gradient(135deg,#5fbde8,#c9f0ff);
  opacity:.25;
}

.single-news-leaf--orange{
  right:-60px;
  bottom:-75px;

  width:275px;
  height:180px;

  background:linear-gradient(135deg,#ffd95c,var(--orange));
  opacity:.25;
}

.single-news-dots{
  position:absolute;
  top:70px;
  right:12%;

  width:150px;
  height:115px;

  background-image:radial-gradient(
    circle,
    rgba(113,208,112,.55) 4px,
    transparent 5px
  );
  background-size:28px 28px;

  opacity:.42;
}


/* BODY */

.single-news-main{
  padding-top:35px;
}

.single-news-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;

  gap:45px;

  align-items:start;
}

.single-article-body{
  max-width:100%;

  font-size:17px;
  line-height:1.62;
}

.single-article-body > p:first-child{
  font-size:19px;
}

.single-article-body h2{
  position:relative;

  margin:32px 0 13px;

  font-size:26px;
}

.single-article-body h2:after{
  content:"";

  display:block;

  width:40px;
  height:3px;

  margin-top:8px;

  background:var(--green2);

  border-radius:100px;
}

.single-article-body h3{
  margin-top:27px;
}

.single-article-body img{
  width:100%;

  margin:24px 0 8px;

  border-radius:14px;
}

.single-article-body blockquote{
  position:relative;

  margin:26px 0;

  padding:25px 30px 25px 70px;

  border:0;

  background:#eff8ef;

  border-radius:16px;

  color:#345f4e;

  font-style:italic;
}

.single-article-body blockquote:before{
  content:"“";

  position:absolute;

  left:20px;
  top:6px;

  font-size:70px;
  line-height:1;

  color:#94d69f;
}


/* SIDEBAR */

.single-news-sidebar{
  display:grid;
  gap:16px;
}

.article-sidebar-card{
  padding:20px;

  background:#fff;

  border:1px solid #e1ebe5;
  border-radius:16px;
}

.article-sidebar-card h3{
  margin-bottom:16px;
}

.author-card{
  background:
    linear-gradient(
      150deg,
      #fff 50%,
      #f2faf3
    );
}

.author-profile{
  display:grid;
  grid-template-columns:70px 1fr;

  gap:14px;

  align-items:center;
}

.author-avatar img{
  width:70px;
  height:70px;

  object-fit:cover;

  border-radius:50%;
}

.author-profile strong{
  display:block;

  color:var(--dark);
}

.author-profile small{
  display:block;

  margin-top:3px;

  color:#72838e;
}

.author-card>p{
  font-size:14px;

  margin:16px 0 0;

  color:#617785;
}


/* RELATED */

.related-card-title{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:10px;

  margin-bottom:5px;
}

.related-card-title h3{
  margin:0;
}

.related-card-title>a{
  font-size:11px;
  font-weight:800;
}

.related-story{
  display:grid;
  grid-template-columns:85px 1fr;

  gap:12px;

  align-items:center;

  padding:12px 0;

  border-bottom:1px solid #e6ede9;
}

.related-story:last-child{
  border-bottom:0;
}

.related-thumb img{
  width:85px;
  height:66px;

  object-fit:cover;

  border-radius:8px;
}

.related-story strong{
  display:block;

  color:#153f4b;

  font-size:13px;
  line-height:1.3;
}

.related-story small{
  display:block;

  margin-top:5px;

  color:#788a96;

  font-size:11px;
}


/* DONATE SIDEBAR */

.article-donate-card{
  padding:25px;

  background:
    linear-gradient(
      150deg,
      #eff9ef,
      #f8fff9
    );

  border-radius:18px;
}

.article-donate-card h2{
  font-size:30px;
}

.article-donate-card p{
  font-size:15px;

  color:#5d7785;
}


/* IMPACT */

.article-impact-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  margin-top:28px;

  padding:20px;

  background:#f0f8f1;

  border-radius:15px;
}

.article-impact-strip>div{
  padding:5px 20px;

  border-right:1px solid #d9e8dc;
}

.article-impact-strip>div:last-child{
  border-right:0;
}

.article-impact-strip strong{
  display:block;

  color:var(--green);

  font-size:28px;
}

.article-impact-strip span{
  display:block;

  color:#244b5e;

  font-size:13px;
  font-weight:800;
}


/* TAGS */

.article-tags{
  display:flex;
  flex-wrap:wrap;

  gap:7px;

  align-items:center;

  margin-top:15px;
}

.article-tags strong{
  font-size:13px;
}

.article-tags a{
  padding:5px 13px;

  background:#edf5f0;

  border-radius:999px;

  color:#4f6e61;

  font-size:12px;
}


/* MORE STORIES */

.article-more-section{
  background:#fbfdfb;
}

.article-more-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  gap:18px;
}

.article-more-card{
  display:grid;
  grid-template-columns:130px 1fr;

  gap:15px;

  padding:12px;

  background:#fff;

  border:1px solid #e4ebe7;
  border-radius:13px;
}

.article-more-image img{
  width:130px;
  height:110px;

  object-fit:cover;

  border-radius:9px;
}

.article-more-card h3{
  margin:0 0 5px;

  font-size:16px;
}

.article-more-card h3 a{
  color:#173f4b;
}

.article-more-card p{
  margin:0 0 5px;

  font-size:12px;
  line-height:1.4;

  color:#6d7f8a;
}

.article-more-card>div>a{
  font-size:12px;
  font-weight:800;
}


/* NEWSLETTER */

.article-newsletter{
  display:grid;
  grid-template-columns:1fr 1.3fr;

  gap:30px;

  align-items:center;

  padding:23px 30px;

  background:
    linear-gradient(
      110deg,
      #edf8ef,
      #fbfffb
    );

  border-radius:17px;
}

.article-newsletter h2{
  margin-bottom:4px;

  font-size:27px;
}

.article-newsletter p{
  margin:0;

  color:#647a87;
}

.article-newsletter-form{
  display:flex;

  padding:4px;

  background:#fff;

  border:1px solid #dfebe2;
  border-radius:999px;
}

.article-newsletter-form input{
  margin:0;

  border:0;

  background:transparent;
}

.article-newsletter-form input:focus{
  outline:none;
}


/* TABLET */

@media(max-width:900px){

  .single-news-hero-grid{
    min-height:320px;
  }

  .single-news-heading{
    width:min(700px,82%);
  }

  .single-news-layout{
    grid-template-columns:1fr;
  }

  .single-news-leaf--blue{
    right:-5%;
  }

  .single-news-leaf--orange{
    right:-100px;
  }

  .single-news-sidebar{
    grid-template-columns:repeat(2,1fr);
  }

  .article-donate-card{
    grid-column:1 / -1;
  }

  .article-more-grid{
    grid-template-columns:1fr;
  }

  .article-newsletter{
    grid-template-columns:1fr;
  }

}


/* MOBILE */

@media(max-width:600px){

  .single-news-hero{
    min-height:auto;
    padding:34px 0 50px;
  }

  .single-news-hero-grid{
    min-height:0;
  }

  .single-news-heading{
    width:100%;
  }

  .single-news-heading h1{
    font-size:40px;
  }

  .single-news-leaf--pink,
  .single-news-leaf--green,
  .single-news-dots{
    display:none;
  }

  .single-news-leaf--blue,
  .single-news-leaf--orange{
    opacity:.11;
  }

  .single-news-sidebar{
    grid-template-columns:1fr;
  }

  .article-impact-strip{
    grid-template-columns:1fr;
  }

  .article-impact-strip>div{
    border-right:0;
    border-bottom:1px solid #d9e8dc;

    padding:14px 5px;
  }

  .article-impact-strip>div:last-child{
    border-bottom:0;
  }

  .article-more-card{
    grid-template-columns:110px 1fr;
  }

  .article-more-image img{
    width:110px;
  }

  .article-newsletter-form{
    flex-direction:column;
    border-radius:14px;
  }

  .article-newsletter-form .btn{
    width:100%;
  }

}
/* =====================================================
   CONTACT PAGE
===================================================== */

.contact-intro{
  padding:60px 0 48px;
  background:linear-gradient(180deg,#fff 0%,#fff 68%,#f4fbf5 100%);
}

.contact-intro-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:65px;
  align-items:center;
}

.contact-title{
  font-size:clamp(50px,4.7vw,70px);
}

.contact-title span{
  color:var(--orange);
}

.contact-intro-image img{
  width:100%;
  height:390px;
  object-fit:cover;
  border-radius:38% 42% 36% 45% / 35% 37% 46% 39%;
}


/* MAIN */

.contact-main-section{
  background:linear-gradient(180deg,#f6fbf7,#fff);
}

.contact-page-grid{
  display:grid;
  grid-template-columns:1.5fr .85fr;
  gap:24px;
  align-items:start;
}

.contact-form-card{
  padding:28px;
}

.contact-form-card h2{
  margin-bottom:6px;
}

.contact-muted{
  color:#718290;
  margin-top:0;
}

.kbf-contact-form label{
  display:block;
}

.kbf-contact-form label span{
  color:#e23636;
}

.contact-message-label{
  margin-top:15px;
}

.contact-char-counter{
  text-align:right;
  font-size:12px;
  color:#718290;
  margin:-3px 0 16px;
}


/* CONTACT METHODS */

.contact-side-heading{
  margin-bottom:14px;
}

.contact-side-heading h2{
  margin-bottom:5px;
}

.contact-side-heading p{
  margin-top:0;
  color:#718290;
}

.contact-method-card{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:14px;
  align-items:center;

  padding:16px;

  margin-bottom:12px;

  background:#fff;
  border:1px solid #e3ebe7;
  border-radius:14px;

  box-shadow:0 7px 20px rgba(0,0,0,.025);
}

.contact-method-icon{
  width:48px;
  height:48px;

  display:grid;
  place-items:center;

  border-radius:50%;

  color:#fff;
  font-size:22px;
  font-weight:900;
}

.contact-method-icon.green{
  background:var(--green2);
}

.contact-method-icon.orange{
  background:var(--orange);
}

.contact-method-icon.blue{
  background:var(--blue);
}

.contact-method-icon.pink{
  background:var(--pink);
}

.contact-method-card h3{
  font-size:18px;
  margin:0 0 3px;
}

.contact-method-card strong{
  display:block;
  color:#17446a;
  font-size:14px;
}

.contact-method-card small{
  display:block;
  margin-top:3px;
  color:#758694;
  line-height:1.35;
}

.contact-socials{
  display:flex;
  gap:7px;
  margin-top:7px;
}

.contact-socials a{
  width:28px;
  height:28px;

  display:grid;
  place-items:center;

  color:#fff;
  background:#174d74;

  border-radius:6px;

  font-size:10px;
  font-weight:800;
}


/* HOW CAN WE HELP */

.contact-heading-left{
  margin-bottom:22px;
}

.contact-heading-left h2{
  margin-bottom:5px;
}

.contact-heading-left p{
  margin:0;
  color:#718290;
}

.contact-help-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.contact-help-grid article{
  min-height:190px;

  padding:22px;

  border:1px solid #e4ebe7;
  border-radius:14px;

  background:#fff;

  box-shadow:0 7px 20px rgba(0,0,0,.02);
}

.help-icon{
  font-size:34px;
  line-height:1;
  margin-bottom:14px;
}

.help-icon.green{
  color:var(--green2);
}

.help-icon.orange{
  color:var(--orange);
}

.help-icon.blue{
  color:var(--blue);
}

.help-icon.pink{
  color:var(--pink);
}

.contact-help-grid h3{
  font-size:18px;
  margin-bottom:8px;
}

.contact-help-grid p{
  font-size:14px;
  color:#657987;
  min-height:65px;
}

.contact-help-grid a{
  font-size:22px;
  font-weight:900;
}


/* OFFICE */

.contact-visit-grid{
  display:grid;
  grid-template-columns:.7fr 1.5fr .8fr;
  gap:18px;
  align-items:stretch;
}

.contact-office-info,
.contact-map-placeholder,
.contact-city-card{
  min-height:240px;
}

.contact-office-info{
  padding:20px 0;
}

.office-location-line{
  display:flex;
  gap:15px;
  margin-bottom:20px;
}

.office-pin{
  width:44px;
  height:44px;

  display:grid;
  place-items:center;

  flex-shrink:0;

  color:#fff;
  background:var(--green2);

  border-radius:50%;
}

.office-location-line strong{
  color:var(--dark);
}

.office-location-line p{
  margin:4px 0 0;
}


/* FAKE MAP */

.contact-map-placeholder{
  position:relative;

  overflow:hidden;

  border-radius:16px;

  background:
    linear-gradient(35deg,transparent 46%,#fff 47%,#fff 50%,transparent 51%),
    linear-gradient(-28deg,transparent 45%,#fff 46%,#fff 50%,transparent 51%),
    #e8efe5;
}

.contact-map-placeholder:before{
  content:"";
  position:absolute;
  inset:0;

  background:
    linear-gradient(90deg,transparent 34%,rgba(181,211,164,.55) 35%,rgba(181,211,164,.55) 43%,transparent 44%),
    linear-gradient(0deg,transparent 65%,rgba(181,211,164,.4) 66%,rgba(181,211,164,.4) 76%,transparent 77%);
}

.map-pin-card{
  position:absolute;

  left:50%;
  top:50%;

  transform:translate(-50%,-50%);

  display:flex;
  align-items:center;

  gap:11px;

  background:#fff;

  padding:12px 17px;

  border-radius:999px;

  box-shadow:0 8px 25px rgba(0,0,0,.12);
}

.map-pin-card>span{
  width:37px;
  height:37px;

  display:grid;
  place-items:center;

  background:var(--green2);
  color:#fff;

  border-radius:50%;
}

.map-pin-card small{
  display:block;
}

.contact-city-card{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.city-placeholder{
  min-height:175px;

  border-radius:16px;

  display:flex;
  justify-content:flex-end;
  align-items:flex-end;

  padding:17px;

  background:
    linear-gradient(180deg,#d6edf7,#eef8fb 55%,#d9e8d7 56%,#bdcfb3);

  color:#164b6c;
  font-weight:900;
}

.contact-city-card p{
  margin:0;
  font-size:14px;
}


/* QUICK ANSWERS */

.contact-quick-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.contact-quick-grid article{
  display:grid;
  grid-template-columns:50px 1fr;

  gap:13px;

  padding:18px;

  background:#fff;

  border:1px solid #e3ebe7;
  border-radius:14px;
}

.quick-icon{
  width:45px;
  height:45px;

  display:grid;
  place-items:center;

  border-radius:50%;

  color:#fff;
  font-size:19px;
}

.quick-icon.green{
  background:var(--green2);
}

.quick-icon.blue{
  background:var(--blue);
}

.quick-icon.pink{
  background:var(--pink);
}

.contact-quick-grid h3{
  margin-bottom:5px;
  font-size:17px;
}

.contact-quick-grid p{
  margin:0;
  font-size:13px;
  color:#687a86;
}


/* CTA */

.contact-cta{
  display:grid;
  grid-template-columns:1fr 1.35fr auto;

  gap:25px;

  align-items:center;

  padding:22px;

  background:#edf8ef;

  border-radius:18px;
}

.contact-cta img{
  width:100%;
  height:120px;

  object-fit:cover;

  border-radius:13px;
}

.contact-cta .eyebrow{
  margin-bottom:7px;
}

.contact-cta h2{
  margin-bottom:7px;
}

.contact-cta p{
  margin:0;
}

.contact-cta-actions{
  text-align:center;
}

.contact-cta-actions p{
  margin-top:9px;
  font-size:13px;
}


/* TABLET */

@media(max-width:900px){

  .contact-intro-grid{
    grid-template-columns:1fr;
  }

  .contact-page-grid{
    grid-template-columns:1fr;
  }

  .contact-help-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .contact-visit-grid{
    grid-template-columns:1fr;
  }

  .contact-quick-grid{
    grid-template-columns:1fr;
  }

  .contact-cta{
    grid-template-columns:1fr;
  }

}


/* MOBILE */

@media(max-width:600px){

  .contact-intro{
    padding-top:35px;
  }

  .contact-title{
    font-size:42px;
  }

  .contact-intro-image img{
    height:280px;
  }

  .contact-form-card{
    padding:20px;
  }

  .contact-help-grid{
    grid-template-columns:1fr;
  }

  .contact-help-grid article{
    min-height:auto;
  }

}
/* =====================================================
   LEADERSHIP PLACEHOLDERS
===================================================== */

.leader-card{
  text-align:center;

  background:#fff;
  border:1px solid #e4ebe7;
  border-radius:16px;

  padding:24px 18px;

  box-shadow:0 7px 22px rgba(0,0,0,.025);
}

.leader-photo-placeholder{
  width:112px;
  height:112px;

  margin:0 auto 18px;

  border-radius:50%;

  background:
    linear-gradient(
      135deg,
      #f1f8f3,
      #e5f2e8
    );

  border:2px dashed #bcdcc5;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  color:#6b8a75;
}

.placeholder-person-icon{
  font-size:32px;
  line-height:1;
  margin-bottom:4px;
}

.leader-photo-placeholder small{
  font-size:10px;
  font-weight:700;
}

.leader-card h3{
  margin:0 0 5px;
  font-size:19px;
  color:var(--dark);
}

.leader-role{
  color:var(--green);
  font-size:14px;
  font-weight:750;
}


/* =====================================================
   PARTNER PLACEHOLDERS
===================================================== */

.partners-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
}

.partner-placeholder{
  min-height:100px;

  background:#fff;

  border:1px dashed #cbded0;
  border-radius:13px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  gap:7px;

  padding:14px;

  color:#71867a;

  text-align:center;
}

.partner-placeholder-icon{
  width:38px;
  height:38px;

  border-radius:10px;

  display:grid;
  place-items:center;

  background:#edf7ef;

  color:var(--green);

  font-size:22px;
}

.partner-placeholder span{
  font-size:12px;
  font-weight:700;
}


/* TABLET */

@media(max-width:900px){

  .leadership-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .partners-grid{
    grid-template-columns:repeat(3,1fr);
  }

}


/* MOBILE */

@media(max-width:600px){

  .leadership-grid{
    grid-template-columns:1fr;
  }

  .partners-grid{
    grid-template-columns:repeat(2,1fr);
  }

}
/* =====================================================
   ABOUT PAGE - INTRO
===================================================== */

.about-intro{
  padding:70px 0 75px;
  overflow:hidden;
  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #ffffff 72%,
      #f5fbf6 100%
    );
}

.about-intro .about-intro-grid{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:70px;
  align-items:center;
}

.about-intro-copy{
  min-width:0;
}

.about-intro-copy .eyebrow{
  margin:0 0 20px;
}

.about-main-title{
  margin:0 0 24px;
  max-width:650px;

  font-size:clamp(48px, 4.6vw, 68px);
  line-height:1.08;
  letter-spacing:-.04em;
}

.about-main-title span{
  color:var(--orange);
}

.about-intro-copy .lead{
  max-width:620px;
  margin:0 0 28px;

  font-size:18px;
  line-height:1.65;
}

.about-intro-copy .btn{
  margin-top:0;
}


/* RIGHT IMAGE */

.about-intro-image{
  position:relative;
  width:100%;
  min-width:0;

  display:flex;
  align-items:center;
  justify-content:center;
}

.about-intro-image img{
  display:block;

  width:100%;
  max-width:570px;
  height:410px;

  object-fit:cover;
  object-position:center;

  border-radius:
    38% 43% 35% 44%
    /
    37% 35% 45% 41%;

  box-shadow:
    0 20px 55px rgba(12,100,60,.09);
}


/* TABLET */

@media(max-width:900px){

  .about-intro{
    padding:50px 0 60px;
  }

  .about-intro .about-intro-grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .about-intro-copy{
    max-width:700px;
  }

  .about-intro-image{
    justify-content:flex-start;
  }

  .about-intro-image img{
    max-width:650px;
    height:390px;
  }

}


/* MOBILE */

@media(max-width:600px){

  .about-intro{
    padding:36px 0 45px;
  }

  .about-intro .about-intro-grid{
    gap:30px;
  }

  .about-main-title{
    font-size:42px;
  }

  .about-intro-copy .lead{
    font-size:16px;
  }

  .about-intro-image img{
    width:100%;
    height:285px;
  }

}
/* ======================================================
   KBF NEWS PAGE
====================================================== */

.news-hero{
  position:relative;
  isolation:isolate;

  padding:82px 0 92px;

  background:#f3faf5;
  overflow:hidden;
}

.news-hero:before{
  content:"";

  position:absolute;
  z-index:-2;
  inset:0;

  background-image:var(--news-hero-bg);
  background-repeat:no-repeat;
  background-position:center 45%;
  background-size:cover;

  opacity:.34;
}

.news-hero:after{
  content:"";

  position:absolute;
  z-index:-1;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.94) 35%,
      rgba(248,253,249,.82) 56%,
      rgba(235,248,239,.60) 100%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,.20) 0%,
      rgba(235,248,239,.28) 100%
    );
}

.news-hero-grid{
  position:relative;
  z-index:1;

  display:block;
}

.news-hero-copy{
  max-width:650px;
}

.news-hero-copy h1{
  margin:0 0 22px;
  font-size:clamp(48px,4.5vw,64px);
  line-height:1.03;
  letter-spacing:-.045em;
}

.news-hero-copy h1 span{
  color:var(--orange);
}

.news-hero-image{
  display:none;
}

.news-hand{
  display:none;
}

.news-hero-note{
  display:none;
}


/* FEATURED */

.news-featured-section{
  padding-top:25px;
}

.news-section-heading{
  margin-bottom:22px;
}

.news-section-heading h2{
  display:inline-block;
  position:relative;
}

.news-section-heading h2:after{
  content:"";
  width:42px;
  height:4px;
  background:var(--green2);
  display:block;
  margin-top:9px;
  border-radius:99px;
}

.news-featured-card{
  display:grid;
  grid-template-columns:1.15fr 1fr;

  border:1px solid #e4ece7;
  border-radius:20px;

  background:#fff;
  overflow:hidden;

  box-shadow:
    0 12px 34px rgba(15,74,49,.05);
}

.news-featured-photo img{
  width:100%;
  height:360px;
  object-fit:cover;
}

.news-featured-content{
  padding:30px 34px;

  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.news-featured-content h2{
  font-size:40px;
  margin-top:12px;
}

.news-featured-content h2 a{
  color:var(--dark);
}

.news-featured-content p{
  font-size:17px;
}

.news-featured-meta{
  margin:8px 0 20px;
  color:#778896;
  font-size:14px;
}

.news-read-btn{
  margin-top:auto;
}


/* CATEGORY PILLS */

.news-category{
  display:inline-flex;
  align-items:center;
  padding:5px 11px;

  border-radius:999px;

  font-size:12px;
  font-weight:800;
}

.news-category.education{
  color:#1489d2;
  background:#e1f2ff;
}

.news-category.scholarship{
  color:#ec7610;
  background:#fff0df;
}

.news-category.leadership{
  color:#168b42;
  background:#e3f5e8;
}

.news-category.community{
  color:#d72a78;
  background:#fde5f0;
}

.news-category.stories{
  color:#ec7610;
  background:#fff0df;
}


/* MAIN NEWS LAYOUT */

.news-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:25px;
  align-items:start;
}

.news-list-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;

  gap:20px;

  margin-bottom:22px;
}

.news-list-heading h2{
  position:relative;
}

.news-list-heading h2:after{
  content:"";
  display:block;

  width:38px;
  height:4px;

  background:var(--green2);

  margin-top:8px;
  border-radius:999px;
}


/* FILTER */

.news-filter{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.news-filter a{
  background:#eff7f1;
  color:#506e60;

  font-size:12px;

  padding:8px 16px;

  border-radius:999px;
}

.news-filter a.active{
  background:var(--green2);
  color:#fff;
}


/* CARDS */

.news-main-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.kbf-news-card{
  border:1px solid #e3ebe7;
  border-radius:14px;

  background:#fff;

  overflow:hidden;

  box-shadow:
    0 7px 20px rgba(0,0,0,.025);
}

.kbf-news-image{
  display:block;
}

.kbf-news-image img{
  width:100%;
  height:175px;
  object-fit:cover;
}

.kbf-news-content{
  padding:14px 15px 16px;
}

.kbf-news-content h3{
  font-size:19px;
  line-height:1.16;

  margin:10px 0;
}

.kbf-news-content h3 a{
  color:#153f4a;
}

.kbf-news-content p{
  font-size:14px;
  line-height:1.45;

  margin:0 0 13px;

  color:#647987;
}

.kbf-news-date{
  color:#7c8c97;
  font-size:12px;
}


/* POPULAR */

.popular-card{
  background:#eff8ef;

  border-radius:18px;

  padding:21px 18px;

  position:sticky;
  top:110px;
}

.popular-card h2{
  font-size:24px;

  padding-bottom:13px;
  margin-bottom:4px;

  border-bottom:1px solid #d8eadc;
}

.popular-item{
  display:grid;
  grid-template-columns:76px 1fr;

  gap:11px;

  align-items:center;

  padding:13px 0;

  border-bottom:1px solid #dbe9dd;

  color:var(--dark);
}

.popular-thumb img{
  width:76px;
  height:58px;

  object-fit:cover;

  border-radius:8px;
}

.popular-item strong{
  display:block;

  font-size:13px;
  line-height:1.3;
}

.popular-item small{
  display:block;

  margin-top:5px;

  font-size:11px;

  color:#718391;
}

.popular-view-all{
  display:block;

  font-weight:800;

  padding-top:16px;
}


/* NEWSLETTER */

.newsletter-band{
  padding:30px 35px;

  border-radius:18px;

  background:
    linear-gradient(
      110deg,
      #eff9ef,
      #f9fff9
    );

  display:grid;
  grid-template-columns:.8fr 1.2fr;

  align-items:center;

  gap:40px;
}

.newsletter-band h2{
  margin-bottom:6px;
}

.newsletter-band p{
  margin:0;
}

.newsletter-form{
  display:flex;

  background:#fff;

  border:1px solid #dfebe2;

  border-radius:999px;

  padding:4px;
}

.newsletter-form input{
  border:0;
  margin:0;

  background:transparent;

  padding:10px 18px;
}

.newsletter-form input:focus{
  outline:none;
}


/* TABLET */

@media(max-width:1000px){

  .news-main-grid{
    grid-template-columns:repeat(2,1fr);
  }

}


/* MOBILE */

@media(max-width:900px){

  .news-hero:before{
    background-position:58% center;
    opacity:.27;
  }

  .news-hero:after{
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.94) 56%,
        rgba(239,249,242,.76) 100%
      );
  }

  .news-hero-grid{
    display:block;
  }

  .news-hero-copy{
    max-width:650px;
  }

  .news-hero-image{
    display:none;
  }

  .news-featured-card{
    grid-template-columns:1fr;
  }

  .news-layout{
    grid-template-columns:1fr;
  }

  .popular-card{
    position:static;
  }

  .news-list-heading{
    flex-direction:column;
    align-items:flex-start;
  }

  .newsletter-band{
    grid-template-columns:1fr;
  }

}


@media(max-width:600px){

  .news-hero{
    padding:48px 0 55px;
  }

  .news-hero:before{
    background-position:63% center;
    opacity:.22;
  }

  .news-hero:after{
    background:rgba(250,254,251,.90);
  }

  .news-hero-copy h1{
    margin-bottom:18px;
    font-size:clamp(42px,13vw,54px);
  }

  .news-hero-copy .lead{
    font-size:17px;
    line-height:1.65;
  }

  .news-featured-photo img{
    height:230px;
  }

  .news-featured-content{
    padding:22px;
  }

  .news-featured-content h2{
    font-size:30px;
  }

  .news-main-grid{
    grid-template-columns:1fr;
  }

  .newsletter-form{
    flex-direction:column;
    border-radius:16px;
  }

  .newsletter-form .btn{
    width:100%;
  }

}
@media(max-width:900px){.header-inner{min-height:76px}.brand{width:135px}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-top:1px solid #eee;padding:18px 20px}.main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:16px}.donate-top{display:none}.mobile-toggle{display:block}.hero-grid,.split,.contact-grid,.donate-grid,.article-layout,.featured-news{grid-template-columns:1fr}.hero-copy{order:1}.hero-visual{order:0}.stats-grid,.program-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.highlight{grid-template-columns:180px 1fr}.highlight .btn{grid-column:2}.steps,.help-grid{grid-template-columns:repeat(2,1fr)}.news-grid{grid-template-columns:repeat(2,1fr)}.cta-banner{grid-template-columns:1fr}.blob-note{font-size:18px}.article-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}}
@media(max-width:600px){.container{width:min(100% - 26px,1180px)}.section{padding:42px 0}h1{font-size:44px}h2{font-size:30px}.lead{font-size:17px}.stats-grid,.program-grid,.news-grid,.steps,.help-grid,.footer-grid,.article-side{grid-template-columns:1fr}.story-feature{grid-template-columns:1fr}.highlight{grid-template-columns:1fr;padding:0 0 18px}.highlight .btn{grid-column:auto;margin-left:18px}.form-grid,.amount-grid,.payment-grid{grid-template-columns:1fr}.section-title-row,.footer-bottom{align-items:flex-start;flex-direction:column}.hero-visual>img{aspect-ratio:1/1}.blob-note{display:none}}
/* Bilingual UI */
.lang-switcher{display:flex;align-items:center;gap:4px;margin-left:6px;border:1px solid var(--line);border-radius:999px;padding:3px;background:#fff}.lang-link{font-size:11px;font-weight:800;letter-spacing:.04em;color:#6f8177;padding:5px 8px;border-radius:999px}.lang-link.current{background:#e8f5eb;color:var(--green)}
.org-chart{max-width:1000px;margin:0 auto;text-align:center;padding:10px}.org-node{display:inline-flex;align-items:center;justify-content:center;min-height:62px;padding:14px 24px;background:#fff;border:1px solid #dfeae3;border-radius:14px;font-weight:800;color:var(--dark);box-shadow:0 8px 24px rgba(0,0,0,.035)}.org-node.top{background:#edf8ef;border-color:#cfe7d5}.org-line{width:1px;height:32px;background:#b9d7c2;margin:0 auto}.org-children{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:38px}.org-children:before{content:"";position:absolute;left:10%;right:10%;top:-20px;height:1px;background:#b9d7c2}.org-children .org-node{position:relative}.org-children .org-node:before{content:"";position:absolute;left:50%;top:-20px;width:1px;height:20px;background:#b9d7c2}.org-node.small{font-size:14px;padding:12px;min-height:58px}
@media(max-width:900px){.lang-switcher{margin-left:auto}.mobile-toggle{margin-left:0}.org-children{grid-template-columns:repeat(2,1fr)}.org-children:before,.org-children .org-node:before{display:none}}
@media(max-width:600px){.lang-switcher{order:2}.mobile-toggle{order:3}.org-children{grid-template-columns:1fr}.org-node{width:100%}}

/* =========================================================
   KBF IMPACT PAGE — FINAL
========================================================= */

.impact-page{
    background:#fff;
}


/* =========================================================
   HERO
========================================================= */

.impact-hero-photo{
    position:relative;
    isolation:isolate;

    min-height:650px;

    display:flex;
    align-items:center;

    padding:90px 0;

    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            rgba(5,39,27,.91) 0%,
            rgba(7,55,36,.82) 38%,
            rgba(7,55,36,.48) 67%,
            rgba(7,55,36,.22) 100%
        ),
        var(--impact-hero-image, none);

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}


.impact-hero-overlay{
    position:absolute;
    z-index:-1;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.02),
            rgba(0,0,0,.11)
        );
}


.impact-hero-inner{
    position:relative;
    z-index:2;
}


.impact-hero-copy{
    max-width:760px;
}


.impact-hero-copy .eyebrow{
    margin-bottom:15px;

    color:#a6e7b8;
}


.impact-hero-copy h1{
    max-width:760px;

    margin:0 0 24px;

    color:#fff;

    font-size:
        clamp(54px,6vw,84px);

    line-height:.98;

    letter-spacing:-.055em;
}


.impact-hero-copy h1 span{
    display:block;

    margin-top:5px;

    color:#ff9a38;
}


.impact-hero-lead{
    max-width:680px;

    margin:0;

    color:
        rgba(255,255,255,.85);

    font-size:18px;

    line-height:1.72;
}


.impact-hero-actions{
    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-top:30px;
}


.impact-btn-light{
    background:
        rgba(255,255,255,.11);

    border:
        1px solid rgba(255,255,255,.65);

    color:#fff;

    backdrop-filter:blur(8px);
}


.impact-btn-light:hover{
    background:#fff;

    color:var(--green);
}


/* =========================================================
   IMPACT NUMBERS
========================================================= */

.impact-numbers-section{
    padding:82px 0 88px;

    background:
        linear-gradient(
            180deg,
            #f5faf6 0%,
            #fff 100%
        );
}


.impact-intro{
    display:grid;

    grid-template-columns:
        minmax(0,.9fr)
        minmax(0,1.1fr);

    gap:70px;

    align-items:end;

    margin-bottom:38px;
}


.impact-intro h2{
    max-width:550px;

    margin:9px 0 0;

    font-size:
        clamp(36px,4vw,52px);

    line-height:1.07;

    letter-spacing:-.04em;
}


.impact-intro > p{
    max-width:620px;

    margin:0;

    color:#647a70;

    font-size:17px;

    line-height:1.75;
}


.impact-number-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    border:
        1px solid #dfeae3;

    border-radius:20px;

    background:#fff;

    overflow:hidden;

    box-shadow:
        0 15px 42px
        rgba(13,83,51,.055);
}


.impact-stat-card{
    position:relative;

    min-height:210px;

    padding:30px 27px;

    border-right:
        1px solid #e7eee9;
}


.impact-stat-card:last-child{
    border-right:0;
}


.impact-stat-card strong{
    display:block;

    margin-bottom:13px;

    color:var(--green);

    font-size:
        clamp(42px,4vw,58px);

    line-height:1;

    letter-spacing:-.04em;
}


.impact-stat-card h3{
    margin:0 0 8px;

    color:var(--dark);

    font-size:16px;
}


.impact-stat-card p{
    margin:0;

    color:#70827a;

    font-size:13px;

    line-height:1.55;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.impact-section-heading{
    max-width:790px;

    margin-bottom:38px;
}


.impact-section-heading h2{
    margin:9px 0 13px;

    font-size:
        clamp(36px,4vw,53px);

    line-height:1.07;

    letter-spacing:-.04em;
}


.impact-section-heading > p:last-child{
    max-width:720px;

    margin:0;

    color:#687d72;

    font-size:16px;

    line-height:1.7;
}


.impact-centered{
    margin-left:auto;
    margin-right:auto;

    text-align:center;
}


.impact-centered > p:last-child{
    margin-left:auto;
    margin-right:auto;
}


/* =========================================================
   PROGRAMS
========================================================= */

.impact-program-section{
    background:#fff;
}


.impact-program-list{
    display:grid;

    gap:18px;
}


.impact-program-card{
    display:grid;

    grid-template-columns:
        72px
        minmax(0,1fr)
        220px;

    gap:27px;

    align-items:start;

    padding:28px;

    border:
        1px solid #e0eae4;

    border-radius:19px;

    background:#fff;

    box-shadow:
        0 8px 26px
        rgba(0,0,0,.025);

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}


.impact-program-card:hover{
    transform:
        translateY(-2px);

    box-shadow:
        0 15px 35px
        rgba(17,81,54,.065);
}


.impact-program-number{
    width:58px;
    height:58px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    font-size:16px;
    font-weight:900;
}


.impact-program-number.green{
    background:var(--green2);
}

.impact-program-number.orange{
    background:var(--orange);
}

.impact-program-number.blue{
    background:var(--blue);
}

.impact-program-number.pink{
    background:var(--pink);
}


.impact-program-tag{
    display:inline-flex;

    margin-bottom:10px;

    padding:5px 11px;

    border-radius:999px;

    font-size:11px;
    font-weight:850;
}


.impact-program-tag.green{
    color:#168b42;
    background:#e4f6e9;
}

.impact-program-tag.orange{
    color:#e67611;
    background:#fff0df;
}

.impact-program-tag.blue{
    color:#1389d0;
    background:#e3f3ff;
}

.impact-program-tag.pink{
    color:#d52c79;
    background:#fde6f0;
}


.impact-program-main h3{
    margin:0 0 10px;

    font-size:30px;
}


.impact-program-description{
    max-width:760px;

    margin:0;

    color:#627783;

    line-height:1.67;
}


.impact-program-result{
    margin-top:20px;

    padding:16px 18px;

    border-left:
        3px solid var(--green2);

    border-radius:8px;

    background:#f5faf6;
}


.impact-program-result > span{
    display:block;

    margin-bottom:6px;

    color:var(--dark);

    font-size:11px;
    font-weight:900;

    letter-spacing:.08em;
}


.impact-program-result p{
    margin:0;

    color:#5f746a;

    font-size:14px;

    line-height:1.6;
}


.impact-program-area{
    padding:18px;

    border-radius:13px;

    background:#f6faf7;
}


.impact-program-area small{
    display:block;

    margin-bottom:7px;

    color:#7c8d85;

    font-size:10px;
    font-weight:800;

    letter-spacing:.06em;
}


.impact-program-area strong{
    display:block;

    color:var(--dark);

    font-size:14px;

    line-height:1.5;
}


/* =========================================================
   IMPACT PILLARS
========================================================= */

.impact-pillars-section{
    background:
        linear-gradient(
            180deg,
            #f5faf6 0%,
            #fff 100%
        );
}


.impact-pillar-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:17px;

    margin-top:34px;
}


.impact-pillar-card{
    position:relative;

    min-height:300px;

    display:flex;
    flex-direction:column;

    padding:28px;

    overflow:hidden;

    border:
        1px solid #e0e9e4;

    border-radius:18px;

    background:#fff;
}


.impact-pillar-number{
    display:block;

    margin-bottom:60px;

    color:#9bab9f;

    font-size:12px;

    font-weight:900;

    letter-spacing:.08em;
}


.impact-pillar-card h3{
    margin:0 0 12px;

    font-size:24px;
}


.impact-pillar-card p{
    margin:0;

    color:#667a70;

    font-size:14px;

    line-height:1.65;
}


.impact-pillar-card::after{
    content:"";

    position:absolute;

    right:-45px;
    bottom:-60px;

    width:145px;
    height:145px;

    border-radius:50%;

    opacity:.08;
}


.impact-pillar-card.green::after{
    background:var(--green2);
}

.impact-pillar-card.orange::after{
    background:var(--orange);
}

.impact-pillar-card.blue::after{
    background:var(--blue);
}

.impact-pillar-card.pink::after{
    background:var(--pink);
}


/* =========================================================
   STORIES
========================================================= */

.impact-stories-section{
    background:#fff;
}


.impact-stories-head{
    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:60px;

    align-items:end;

    margin-bottom:35px;
}


.impact-stories-head h2{
    margin:9px 0 0;

    font-size:
        clamp(36px,4vw,52px);

    line-height:1.08;

    letter-spacing:-.04em;
}


.impact-stories-head > p{
    max-width:580px;

    margin:0;

    color:#667b70;

    line-height:1.75;
}


.impact-story-grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:20px;
}


.impact-story-card{
    overflow:hidden;

    border:
        1px solid #e1eae5;

    border-radius:17px;

    background:#fff;

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}


.impact-story-card:hover{
    transform:
        translateY(-4px);

    box-shadow:
        0 16px 38px
        rgba(14,75,54,.08);
}


.impact-story-cover{
    display:block;

    overflow:hidden;

    background:#edf5ef;
}


.impact-story-cover img{
    width:100%;
    height:245px;

    object-fit:cover;

    transition:
        transform .35s ease;
}


.impact-story-card:hover
.impact-story-cover img{
    transform:scale(1.025);
}


.impact-story-placeholder{
    height:245px;

    display:grid;
    place-items:center;

    color:#92a79a;

    font-size:26px;
    font-weight:900;
}


.impact-story-body{
    padding:20px;
}


.impact-story-location{
    display:inline-flex;

    margin-bottom:10px;

    color:var(--green);

    font-size:11px;

    font-weight:850;
}


.impact-story-body h3{
    margin:0 0 9px;

    font-size:21px;
}


.impact-story-body h3 a{
    color:var(--dark);
}


.impact-story-body p{
    margin:0 0 16px;

    color:#677b70;

    font-size:14px;

    line-height:1.6;
}


.impact-story-link{
    font-size:13px;

    font-weight:850;
}


.impact-story-more{
    margin-top:30px;

    text-align:center;
}


/* =========================================================
   FINAL CTA
========================================================= */

.impact-final-cta{
    padding:
        15px 0 80px;

    background:#fff;
}


.impact-cta-inner{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    gap:55px;

    align-items:center;

    padding:44px 46px;

    border-radius:22px;

    background:
        linear-gradient(
            120deg,
            #0d4d38,
            #087b45
        );

    color:#fff;
}


.impact-cta-inner .eyebrow{
    color:#a4e7b5;
}


.impact-cta-inner h2{
    max-width:720px;

    margin:8px 0 12px;

    color:#fff;

    font-size:
        clamp(34px,4vw,48px);

    line-height:1.05;
}


.impact-cta-inner p{
    max-width:760px;

    margin:0;

    color:
        rgba(255,255,255,.80);

    line-height:1.7;
}


.impact-cta-actions{
    display:flex;

    flex-direction:column;

    gap:12px;

    align-items:center;

    min-width:210px;
}


.impact-btn-white{
    width:100%;

    background:#fff;

    color:var(--green);
}


.impact-btn-white:hover{
    background:#f4faf5;

    color:var(--dark);
}


.impact-cta-contact{
    color:
        rgba(255,255,255,.88);

    font-size:13px;

    font-weight:800;
}


.impact-cta-contact:hover{
    color:#fff;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:950px){

    .impact-hero-photo{
        min-height:590px;

        background-position:
            60% center;
    }


    .impact-intro,
    .impact-stories-head{
        grid-template-columns:1fr;

        gap:20px;
    }


    .impact-number-grid{
        grid-template-columns:
            repeat(2,1fr);
    }


    .impact-stat-card{
        border-bottom:
            1px solid #e7eee9;
    }


    .impact-program-card{
        grid-template-columns:
            65px
            minmax(0,1fr);
    }


    .impact-program-area{
        grid-column:2;
    }


    .impact-pillar-grid{
        grid-template-columns:
            repeat(2,1fr);
    }


    .impact-story-grid{
        grid-template-columns:
            repeat(2,1fr);
    }


    .impact-cta-inner{
        grid-template-columns:1fr;

        gap:30px;
    }


    .impact-cta-actions{
        align-items:flex-start;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

    .impact-hero-photo{
        min-height:560px;

        padding:65px 0;

        background:
            linear-gradient(
                180deg,
                rgba(5,42,28,.89) 0%,
                rgba(5,42,28,.78) 100%
            ),
            var(--impact-hero-image, none);

        background-size:cover;

        background-position:center;
    }


    .impact-hero-copy h1{
        font-size:
            clamp(43px,13vw,58px);
    }


    .impact-hero-lead{
        font-size:16px;
    }


    .impact-hero-actions{
        flex-direction:column;
    }


    .impact-hero-actions .btn{
        width:100%;
    }


    .impact-numbers-section{
        padding:
            58px 0 60px;
    }


    .impact-number-grid{
        grid-template-columns:1fr;
    }


    .impact-stat-card{
        min-height:auto;

        border-right:0;
    }


    .impact-program-card{
        grid-template-columns:1fr;

        padding:21px;
    }


    .impact-program-number{
        width:50px;
        height:50px;
    }


    .impact-program-area{
        grid-column:auto;
    }


    .impact-program-main h3{
        font-size:26px;
    }


    .impact-pillar-grid{
        grid-template-columns:1fr;
    }


    .impact-pillar-card{
        min-height:260px;
    }


    .impact-pillar-number{
        margin-bottom:42px;
    }


    .impact-story-grid{
        grid-template-columns:1fr;
    }


    .impact-story-cover img,
    .impact-story-placeholder{
        height:230px;
    }


    .impact-final-cta{
        padding-bottom:55px;
    }


    .impact-cta-inner{
        padding:29px 25px;
    }


    .impact-cta-actions{
        width:100%;
    }


    .impact-btn-white{
        width:100%;
    }

}
/* =====================================================
   KBF PROGRAM PAGE
===================================================== */


/* HERO */

.program-hero{
  padding:72px 0 75px;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 83% 33%,
      rgba(24,166,75,.10),
      transparent 28%
    ),
    linear-gradient(
      180deg,
      #fff,
      #f6fbf7
    );
}

.program-hero-grid{
  display:grid;

  grid-template-columns:1fr .85fr;

  gap:70px;

  align-items:center;
}

.program-hero-copy h1{
  margin:8px 0 22px;

  font-size:clamp(50px,5vw,72px);

  letter-spacing:-.045em;

  line-height:1.03;
}

.program-hero-copy h1 span{
  color:var(--orange);
}

.program-hero-copy .lead{
  max-width:650px;
}


/* HERO ORBIT */

.program-hero-visual{
  min-height:410px;

  display:flex;

  align-items:center;
  justify-content:center;
}

.program-orbit{
  position:relative;

  width:340px;
  height:340px;

  border:
    1px dashed rgba(13,130,66,.25);

  border-radius:50%;
}

.program-orbit:before{
  content:"";

  position:absolute;

  inset:40px;

  border:
    1px dashed rgba(255,122,0,.18);

  border-radius:50%;
}

.program-orbit-center{
  position:absolute;

  left:50%;
  top:50%;

  transform:translate(-50%,-50%);

  width:170px;
  height:170px;

  display:flex;
  flex-direction:column;

  align-items:center;
  justify-content:center;

  background:#fff;

  border:1px solid #e0ebe4;

  border-radius:50%;

  box-shadow:
    0 20px 50px rgba(0,0,0,.07);

  text-align:center;
}

.program-orbit-center strong{
  color:var(--green);

  font-size:62px;

  line-height:.9;
}

.program-orbit-center span{
  margin-top:10px;

  font-size:15px;

  font-weight:850;
}


/* ORBIT ITEMS */

.program-orbit-item{
  position:absolute;

  width:58px;
  height:58px;

  display:grid;

  place-items:center;

  border-radius:50%;

  color:#fff;

  font-size:22px;

  box-shadow:
    0 12px 28px rgba(0,0,0,.08);
}

.orbit-green{
  top:-18px;
  left:140px;

  background:var(--green2);
}

.orbit-orange{
  right:-18px;
  top:140px;

  background:var(--orange);
}

.orbit-blue{
  bottom:-18px;
  left:140px;

  background:var(--blue);
}

.orbit-pink{
  left:-18px;
  top:140px;

  background:var(--pink);
}


/* PILLARS */

.program-pillars{
  background:#fff;
}

.program-pillar-list{
  display:grid;

  gap:20px;

  margin-top:38px;
}

.program-pillar-card{
  display:grid;

  grid-template-columns:60px 80px 1fr;

  gap:25px;

  align-items:start;

  padding:30px;

  background:#fff;

  border:1px solid #e2ebe6;

  border-radius:18px;

  box-shadow:
    0 9px 28px rgba(0,0,0,.025);
}

.program-pillar-number{
  padding-top:7px;

  color:#a2aea7;

  font-size:13px;

  font-weight:850;

  letter-spacing:.08em;
}

.program-pillar-icon{
  width:62px;
  height:62px;

  display:grid;

  place-items:center;

  border-radius:50%;

  color:#fff;

  font-size:24px;
}

.program-pillar-icon.green{
  background:var(--green2);
}

.program-pillar-icon.orange{
  background:var(--orange);
}

.program-pillar-icon.blue{
  background:var(--blue);
}

.program-pillar-icon.pink{
  background:var(--pink);
}

.program-pillar-content{
  max-width:850px;
}

.program-pillar-label{
  display:inline-flex;

  margin-bottom:9px;

  padding:5px 11px;

  border-radius:999px;

  font-size:11px;

  font-weight:850;
}

.program-pillar-label.green{
  color:#168b42;
  background:#e3f5e8;
}

.program-pillar-label.orange{
  color:#e8750c;
  background:#fff0df;
}

.program-pillar-label.blue{
  color:#1688cc;
  background:#e5f4ff;
}

.program-pillar-label.pink{
  color:#d52a78;
  background:#fde6f0;
}

.program-pillar-content h2{
  margin-bottom:11px;

  font-size:34px;
}

.program-pillar-content>p{
  max-width:760px;

  margin:0;

  color:#637984;

  line-height:1.7;
}


/* POINTS */

.program-pillar-points{
  display:flex;

  flex-wrap:wrap;

  gap:9px;

  margin-top:21px;
}

.program-pillar-points span{
  display:inline-flex;

  gap:7px;

  align-items:center;

  padding:8px 12px;

  background:#f6f9f7;

  border-radius:8px;

  color:#526873;

  font-size:12px;

  font-weight:700;
}

.program-pillar-points b{
  color:var(--green);

  font-weight:900;
}


/* HOW WE WORK */

.program-approach{
  background:
    linear-gradient(
      180deg,
      #f5fbf6,
      #fff
    );
}

.program-approach-grid{
  display:grid;

  grid-template-columns:repeat(4,1fr);

  gap:18px;

  margin-top:32px;
}

.program-approach-grid article{
  padding:25px;

  background:#fff;

  border:1px solid #e1ebe5;

  border-radius:15px;
}

.program-approach-grid article span{
  color:#9aa9a1;

  font-size:12px;

  font-weight:900;

  letter-spacing:.08em;
}

.program-approach-grid article h3{
  margin:14px 0 8px;
}

.program-approach-grid article p{
  margin:0;

  color:#677c87;

  font-size:14px;

  line-height:1.6;
}


/* STATEMENT */

.program-statement-section{
  padding-top:25px;
}

.program-statement{
  display:grid;

  grid-template-columns:90px 1fr;

  gap:25px;

  align-items:center;

  padding:38px 45px;

  background:#eef8ef;

  border-radius:20px;
}

.program-statement-mark{
  color:#8ed39c;

  font-family:Georgia,serif;

  font-size:100px;

  line-height:.7;
}

.program-statement h2{
  margin-bottom:10px;
}

.program-statement p{
  max-width:850px;

  margin-bottom:13px;

  color:#617682;
}

.program-statement strong{
  color:var(--green);
}


/* CTA */

.program-cta{
  display:grid;

  grid-template-columns:1fr auto;

  gap:45px;

  align-items:center;

  padding:36px 42px;

  background:#0e4b36;

  border-radius:20px;

  color:#fff;
}

.program-cta h2{
  color:#fff;

  font-size:38px;
}

.program-cta .eyebrow{
  color:#9be2ad;
}

.program-cta p{
  max-width:760px;

  margin-bottom:0;

  color:rgba(255,255,255,.82);
}


/* TABLET */

@media(max-width:900px){

  .program-hero-grid{
    grid-template-columns:1fr;
  }

  .program-hero-visual{
    min-height:370px;
  }

  .program-approach-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .program-cta{
    grid-template-columns:1fr;
  }

}


/* MOBILE */

@media(max-width:600px){

  .program-hero{
    padding:42px 0 50px;
  }

  .program-hero-copy h1{
    font-size:42px;
  }

  .program-hero-visual{
    min-height:310px;
  }

  .program-orbit{
    width:270px;
    height:270px;
  }

  .program-orbit-center{
    width:140px;
    height:140px;
  }

  .program-orbit-center strong{
    font-size:52px;
  }

  .orbit-green,
  .orbit-blue{
    left:106px;
  }

  .orbit-orange,
  .orbit-pink{
    top:106px;
  }

  .program-pillar-card{
    grid-template-columns:1fr;

    padding:22px;
  }

  .program-pillar-number{
    display:none;
  }

  .program-pillar-content h2{
    font-size:29px;
  }

  .program-approach-grid{
    grid-template-columns:1fr;
  }

  .program-statement{
    grid-template-columns:1fr;

    padding:28px;
  }

  .program-statement-mark{
    font-size:70px;
  }

  .program-cta{
    padding:28px;
  }

  .program-cta h2{
    font-size:31px;
  }

}
/* =====================================================
   KBF KBLC PAGE
===================================================== */


/* HERO */

.kblc-hero{
  padding:72px 0 75px;
  overflow:hidden;

  background:
    radial-gradient(
      circle at 85% 30%,
      rgba(24,166,75,.11),
      transparent 28%
    ),
    linear-gradient(
      180deg,
      #fff,
      #f5fbf6
    );
}

.kblc-hero-grid{
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:70px;
  align-items:center;
}

.kblc-hero-copy h1{
  margin:8px 0 22px;
  font-size:clamp(50px,5vw,72px);
  line-height:1.03;
  letter-spacing:-.045em;
}

.kblc-hero-copy h1 span{
  color:var(--orange);
}

.kblc-hero-copy .lead{
  max-width:670px;
}


/* VISUAL */

.kblc-hero-visual{
  min-height:390px;
  display:flex;
  justify-content:center;
  align-items:center;
}

.kblc-hero-card{
  position:relative;

  width:340px;
  min-height:340px;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:50px;

  color:#fff;

  background:
    linear-gradient(
      145deg,
      var(--green2),
      #087f43
    );

  border-radius:
    42% 58% 55% 45%
    /
    52% 42% 58% 48%;

  box-shadow:
    0 25px 60px rgba(10,120,60,.15);
}

.kblc-hero-card:after{
  content:"";

  position:absolute;

  width:100px;
  height:100px;

  right:-28px;
  top:-20px;

  background:var(--orange);

  border-radius:
    55% 45% 65% 35%;

  z-index:-1;
}

.kblc-hero-small{
  margin-bottom:15px;

  font-size:11px;
  font-weight:900;

  letter-spacing:.12em;
}

.kblc-hero-card strong{
  font-size:46px;
  line-height:1.02;
}

.kblc-hero-card p{
  margin:18px 0 0;

  color:rgba(255,255,255,.82);

  font-size:14px;
}


/* STATS */

.kblc-stats{
  padding:0 0 45px;
}

.kblc-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);

  background:#fff;

  border:1px solid #e2ebe6;
  border-radius:18px;

  box-shadow:
    0 12px 32px rgba(0,0,0,.04);

  overflow:hidden;
}

.kblc-stat-grid article{
  padding:27px;

  text-align:center;

  border-right:1px solid #e8efeb;
}

.kblc-stat-grid article:last-child{
  border-right:0;
}

.kblc-stat-grid strong{
  display:block;

  color:var(--green);

  font-size:43px;
  line-height:1;
}

.kblc-stat-grid span{
  display:block;

  margin-top:8px;

  color:#617581;

  font-size:13px;

  font-weight:750;
}


/* ABOUT */

.kblc-about-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;

  gap:70px;
}

.kblc-about h2{
  max-width:470px;

  font-size:42px;
}

.kblc-about-grid > div:last-child{
  color:#607681;

  font-size:17px;
  line-height:1.75;
}


/* LOCATION */

.kblc-location-section{
  background:#f5fbf6;
}

.kblc-map-layout{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:30px;

  margin-top:35px;
}

.kblc-map-placeholder{
  min-height:500px;

  display:flex;
  flex-direction:column;

  justify-content:center;
  align-items:center;

  padding:35px;

  background:#fff;

  border:1px solid #dfebe4;
  border-radius:18px;

  text-align:center;
}

.kblc-map-shape{
  width:85%;
  min-height:300px;

  display:flex;
  flex-direction:column;

  justify-content:center;
  align-items:center;

  color:#fff;

  background:
    linear-gradient(
      135deg,
      #1ea758,
      #087d43
    );

  clip-path:
    polygon(
      8% 32%,
      26% 17%,
      46% 24%,
      67% 10%,
      93% 26%,
      84% 48%,
      97% 67%,
      72% 86%,
      47% 78%,
      25% 92%,
      7% 69%,
      17% 50%
    );
}

.kblc-map-shape span{
  font-size:36px;
  font-weight:900;
}

.kblc-map-shape small{
  margin-top:6px;

  opacity:.8;
}

.kblc-map-placeholder p{
  max-width:480px;

  margin:20px 0 0;

  color:#73858d;

  font-size:12px;
}


/* LOCATION LIST */

.kblc-location-list{
  display:grid;

  gap:12px;
}

.kblc-location-card{
  display:grid;
  grid-template-columns:48px 1fr;

  gap:14px;

  padding:19px 20px;

  background:#fff;

  border:1px solid #dfebe4;
  border-radius:14px;
}

.kblc-location-number{
  color:#a2b0a8;

  font-size:11px;
  font-weight:900;
}

.kblc-location-card h3{
  margin:0 0 4px;
}

.kblc-location-card p{
  margin:0;

  color:#71858e;

  font-size:13px;
}

.kblc-social-links{
  display:flex;

  gap:9px;

  margin-top:10px;
}

.kblc-social-links a{
  display:inline-flex;

  padding:5px 9px;

  border-radius:6px;

  background:#eef7f0;

  color:var(--green);

  font-size:11px;
  font-weight:800;

  text-decoration:none;
}


/* RESPECT */

.kblc-respect{
  background:#fff;
}

.respect-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);

  gap:16px;

  margin-top:30px;
}

.respect-card{
  padding:22px;

  background:#fff;

  border:1px solid #e1eae5;
  border-radius:15px;
}

.respect-letter{
  width:48px;
  height:48px;

  display:grid;
  place-items:center;

  margin-bottom:16px;

  color:#fff;

  border-radius:50%;

  font-size:20px;
  font-weight:900;
}

.respect-letter.green{
  background:var(--green2);
}

.respect-letter.orange{
  background:var(--orange);
}

.respect-letter.blue{
  background:var(--blue);
}

.respect-letter.pink{
  background:var(--pink);
}

.respect-card h3{
  margin-bottom:7px;
}

.respect-card p{
  margin:0;

  color:#6b7e88;

  font-size:13px;
  line-height:1.6;
}


/* CURRICULUM */

.kblc-curriculum{
  background:
    linear-gradient(
      180deg,
      #f6fbf7,
      #fff
    );
}

.kblc-curriculum-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);

  gap:18px;

  margin-top:30px;
}

.kblc-curriculum-card{
  position:relative;

  padding:28px;

  background:#fff;

  border:1px solid #e1ebe5;
  border-radius:17px;

  overflow:hidden;
}

.kblc-curriculum-line{
  position:absolute;

  left:0;
  top:0;
  bottom:0;

  width:5px;
}

.kblc-curriculum-line.green{
  background:var(--green2);
}

.kblc-curriculum-line.orange{
  background:var(--orange);
}

.kblc-curriculum-line.blue{
  background:var(--blue);
}

.kblc-curriculum-line.pink{
  background:var(--pink);
}

.kblc-curriculum-card h3{
  font-size:25px;
}

.kblc-curriculum-card > p{
  color:#687c87;
}

.kblc-curriculum-card ul{
  display:grid;
  grid-template-columns:repeat(2,1fr);

  gap:7px 12px;

  margin:18px 0 0;

  padding:0;

  list-style:none;
}

.kblc-curriculum-card li{
  position:relative;

  padding-left:16px;

  color:#536974;

  font-size:12px;
}

.kblc-curriculum-card li:before{
  content:"✓";

  position:absolute;

  left:0;

  color:var(--green);

  font-weight:900;
}

.kblc-curriculum-note{
  margin-top:18px;

  color:#809089;

  font-size:11px;
}


/* ACHIEVEMENT */

.kblc-achievement-box{
  display:grid;
  grid-template-columns:280px 1fr;

  gap:45px;

  align-items:center;

  padding:38px 45px;

  background:#0e4b36;

  border-radius:20px;

  color:#fff;
}

.kblc-achievement-box .eyebrow{
  color:#9ee5b0;
}

.kblc-achievement-box h2{
  margin:4px 0;

  color:#fff;

  font-size:72px;
}

.kblc-achievement-box strong{
  font-size:18px;
}

.kblc-achievement-box > p{
  margin:0;

  color:rgba(255,255,255,.82);

  line-height:1.7;
}


/* ALUMNI */

.kblc-alumni{
  background:#fff;
}

.kblc-alumni-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);

  gap:18px;

  margin-top:30px;
}

.kblc-alumni-card{
  display:grid;
  grid-template-columns:120px 1fr;

  gap:20px;

  padding:20px;

  border:1px solid #e1ebe5;
  border-radius:15px;
}

.kblc-alumni-photo{
  min-height:130px;

  display:grid;
  place-items:center;

  background:#edf4ef;

  border-radius:12px;

  color:#98a79e;

  font-size:10px;
  font-weight:900;

  letter-spacing:.1em;
}

.kblc-alumni-card small{
  color:var(--green);

  font-weight:800;
}

.kblc-alumni-card h3{
  margin:4px 0 8px;
}

.kblc-alumni-card p{
  margin:0;

  color:#687c87;

  font-size:13px;
  line-height:1.6;
}


/* CTA */

.kblc-cta{
  display:grid;
  grid-template-columns:1fr auto;

  gap:45px;

  align-items:center;

  padding:36px 42px;

  background:#eef8ef;

  border-radius:20px;
}

.kblc-cta h2{
  max-width:720px;

  font-size:38px;
}

.kblc-cta p{
  max-width:760px;

  margin-bottom:0;

  color:#607581;
}


/* TABLET */

@media(max-width:900px){

  .kblc-hero-grid,
  .kblc-about-grid,
  .kblc-map-layout{
    grid-template-columns:1fr;
  }

  .kblc-stat-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .respect-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .kblc-achievement-box{
    grid-template-columns:1fr;
  }

  .kblc-cta{
    grid-template-columns:1fr;
  }

}


/* MOBILE */

@media(max-width:600px){

  .kblc-hero{
    padding:42px 0 50px;
  }

  .kblc-hero-copy h1{
    font-size:42px;
  }

  .kblc-hero-card{
    width:280px;
    min-height:280px;

    padding:38px;
  }

  .kblc-hero-card strong{
    font-size:38px;
  }

  .kblc-stat-grid{
    grid-template-columns:1fr 1fr;
  }

  .kblc-stat-grid article{
    border-bottom:1px solid #e8efeb;
  }

  .respect-grid{
    grid-template-columns:1fr;
  }

  .kblc-curriculum-grid{
    grid-template-columns:1fr;
  }

  .kblc-curriculum-card ul{
    grid-template-columns:1fr;
  }

  .kblc-alumni-grid{
    grid-template-columns:1fr;
  }

  .kblc-alumni-card{
    grid-template-columns:90px 1fr;
  }

  .kblc-achievement-box{
    padding:28px;
  }

  .kblc-cta{
    padding:28px;
  }

  .kblc-cta h2{
    font-size:31px;
  }

}
/* =====================================================
   HOME HERO — KBF
===================================================== */

.kbf-home-hero{
    position:relative;
    isolation:isolate;

    padding:72px 0 68px;

    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.99) 0%,
            rgba(255,255,255,.96) 35%,
            rgba(247,252,247,.82) 58%,
            rgba(242,250,244,.60) 100%
        ),
        var(--kbf-hero-bg, none);

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}


/* subtle decorative background */

.kbf-home-hero::before{
    content:"";

    position:absolute;
    z-index:-1;

    width:380px;
    height:380px;

    right:-190px;
    top:-145px;

    border-radius:50%;

    background:
        rgba(42,165,84,.055);

    pointer-events:none;
}


/* =====================================================
   GRID
===================================================== */

.kbf-home-hero-grid{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:
        minmax(0,.88fr)
        minmax(520px,1.12fr);

    gap:54px;

    align-items:center;
}


/* =====================================================
   COPY
===================================================== */

.kbf-home-hero-copy{
    position:relative;

    z-index:10;
}


.kbf-home-hero-copy .eyebrow{
    margin:0 0 14px;

    font-size:12px;

    font-weight:850;

    letter-spacing:.18em;
}


.kbf-home-hero-copy h1{
    max-width:700px;

    margin:0 0 22px;

    font-size:
        clamp(48px,5vw,76px);

    line-height:.99;

    letter-spacing:-.052em;
}


.kbf-home-hero-copy h1 span{
    display:block;

    margin-top:8px;

    color:var(--orange);
}


.kbf-home-hero-copy .lead{
    max-width:610px;

    margin:0 0 27px;

    color:#566d77;

    font-size:17px;

    line-height:1.72;
}


/* =====================================================
   BUTTONS
===================================================== */

.kbf-home-hero-copy .actions{
    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin:0;
}


.kbf-home-hero-copy .btn{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:12px;

    min-height:50px;

    padding:
        13px 24px;

    border-radius:999px;

    font-size:14px;

    font-weight:750;
}


.kbf-home-hero-copy .btn span{
    transition:
        transform .2s ease;
}


.kbf-home-hero-copy .btn:hover span{
    transform:
        translateX(4px);
}


/* =====================================================
   CAMPAIGN TAGS
===================================================== */

.home-campaign-tags{
    display:flex;

    flex-wrap:wrap;

    gap:8px;

    margin-top:24px;
}


.home-campaign-tags span{
    padding:
        6px 10px;

    border-radius:999px;

    background:#eef7ef;

    color:#23834a;

    font-size:10px;

    font-weight:800;

    letter-spacing:.015em;
}


/* =====================================================
   HERO VISUAL — EDITABLE COLLAGE
===================================================== */

.kbf-home-hero-visual{
    position:relative;

    min-height:590px;

    isolation:isolate;
}


/* =====================================================
   DECORATION
===================================================== */

.hero-collage-decoration{
    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;
}


.hero-leaf{
    position:absolute;

    display:block;

    background:
        linear-gradient(
            140deg,
            #a8df67,
            #57ad61
        );

    border-radius:
        100% 0 100% 0;

    opacity:.36;
}


/* leaf kiri */

.leaf-one{
    width:115px;
    height:170px;

    right:3%;
    top:18%;

    transform:
        rotate(27deg);
}


/* leaf kanan */

.leaf-two{
    width:95px;
    height:145px;

    left:5%;
    top:28%;

    transform:
        rotate(-35deg);
}


/* accent kuning */

.leaf-three{
    width:80px;
    height:120px;

    right:34%;
    top:1%;

    background:#ffd05a;

    transform:
        rotate(49deg);

    opacity:.34;
}


/* handprint */

.hero-hand{
    position:absolute;

    z-index:1;

    font-size:37px;

    line-height:1;

    opacity:.72;
}


.hand-one{
    left:18%;
    top:5%;

    color:var(--orange);

    transform:
        rotate(-18deg);
}


.hand-two{
    right:10%;
    top:27%;

    color:var(--green);

    transform:
        rotate(15deg);
}


/* =====================================================
   PEOPLE
===================================================== */

.hero-people-layer{
    position:absolute;

    z-index:2;

    left:2%;
    right:1%;
    top:0;

    height:305px;

    pointer-events:none;
}


.hero-person{
    position:absolute;

    bottom:0;

    display:flex;

    align-items:flex-end;
    justify-content:center;

    overflow:visible;
}


.hero-person img{
    display:block;

    width:100%;
    height:100%;

    object-fit:contain;

    object-position:
        center bottom;

    filter:
        drop-shadow(
            0 12px 18px
            rgba(0,0,0,.08)
        );
}


/* =====================================================
   FOUNDING FATHER
===================================================== */

.hero-founder{
    /*left:0;*/

    /*width:30%;*/
    /*height:288px;*/
    left:0px;
    top:150px;
    width:190px;
    height:210px;

    z-index:5;
}


/* =====================================================
   BILLY
===================================================== */

.hero-billy{
    left:34%;

    width:29%;
    height:300px;

    z-index:3;
}


/* =====================================================
   AFIF
===================================================== */

.hero-afif{
    right:0;

    width:28%;
    height:282px;

    z-index:2;
}


/* =====================================================
   MAIN ACTIVITY
===================================================== */

.hero-main-activity{
    position:absolute;

    z-index:5;

    left:7%;
    right:3%;

    top:235px;

    height:300px;

    overflow:hidden;

    border:
        6px solid
        rgba(255,255,255,.95);

    border-radius:
        42% 25% 34% 26%
        /
        27% 37% 28% 35%;

    background:#fff;

    box-shadow:
        0 22px 48px
        rgba(18,83,52,.14);
}


.hero-main-activity::before{
    content:"";

    position:absolute;

    z-index:2;

    inset:0;

    border-radius:inherit;

    box-shadow:
        inset 0 0 0 2px
        rgba(255,171,39,.40);

    pointer-events:none;
}


.hero-main-activity img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center;

    transition:
        transform .45s ease;
}


.hero-main-activity:hover img{
    transform:
        scale(1.02);
}


/* =====================================================
   KBLC JAYAPURA PHOTO
===================================================== */

.hero-kblc-photo{
    position:absolute;

    z-index:6;

    width:58%;
    height:185px;

    right:-1%;
    bottom:-4px;

    overflow:hidden;

    border:
        5px solid #fff;

    border-radius:
        30% 17% 28% 18%
        /
        22% 30% 21% 29%;

    background:#fff;

    box-shadow:
        0 17px 38px
        rgba(0,0,0,.11);
}


.hero-kblc-photo img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center;
}


/* =====================================================
   IMPACT BADGE
===================================================== */

.kbf-hero-impact-badge{
    position:absolute;

    z-index:9;

    left:-14px;
    bottom:14px;

    width:145px;

    padding:
        15px 17px;

    background:
        rgba(255,255,255,.96);

    border:
        1px solid
        rgba(26,112,64,.10);

    border-radius:14px;

    box-shadow:
        0 15px 32px
        rgba(0,0,0,.09);

    backdrop-filter:
        blur(9px);
}


.kbf-hero-impact-badge > span{
    display:block;

    color:#789188;

    font-size:9px;

    font-weight:900;

    letter-spacing:.13em;
}


.kbf-hero-impact-badge strong{
    display:block;

    margin:
        4px 0;

    color:var(--green);

    font-size:31px;

    line-height:1;
}


.kbf-hero-impact-badge p{
    margin:0;

    color:#60757d;

    font-size:10px;

    font-weight:700;

    line-height:1.35;
}


/* =====================================================
   TABLET / SMALL DESKTOP
===================================================== */

@media(max-width:1100px){

    .kbf-home-hero-grid{
        grid-template-columns:
            minmax(0,.95fr)
            minmax(430px,1.05fr);

        gap:34px;
    }


    .kbf-home-hero-copy h1{
        font-size:
            clamp(44px,5.4vw,64px);
    }


    .kbf-home-hero-visual{
        min-height:545px;
    }


    .hero-people-layer{
        height:275px;
    }


    .hero-founder{
        height:260px;
    }


    .hero-billy{
        height:270px;
    }


    .hero-afif{
        height:255px;
    }


    .hero-main-activity{
        top:215px;

        height:280px;
    }


    .hero-kblc-photo{
        height:165px;
    }

}


/* =====================================================
   TABLET PORTRAIT
===================================================== */

@media(max-width:900px){

    .kbf-home-hero{
        padding:
            52px 0 55px;

        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.98) 0%,
                rgba(255,255,255,.95) 48%,
                rgba(245,251,246,.82) 100%
            ),
            var(--kbf-hero-bg, none);

        background-size:cover;

        background-position:center;
    }


    .kbf-home-hero-grid{
        grid-template-columns:1fr;

        gap:36px;
    }


    .kbf-home-hero-copy{
        max-width:720px;
    }


    .kbf-home-hero-visual{
        width:100%;

        min-height:620px;
    }


    .hero-people-layer{
        left:5%;
        right:5%;

        height:315px;
    }


    .hero-founder{
        height:295px;
    }


    .hero-billy{
        height:310px;
    }


    .hero-afif{
        height:292px;
    }


    .hero-main-activity{
        left:5%;
        right:5%;

        top:250px;

        height:320px;
    }


    .hero-kblc-photo{
        width:56%;

        height:180px;

        right:3%;

        bottom:-6px;
    }


    .kbf-hero-impact-badge{
        left:18px;

        bottom:14px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

    .kbf-home-hero{
        padding:
            40px 0 46px;
    }


    .kbf-home-hero-grid{
        display:flex;

        flex-direction:column;

        gap:28px;
    }


    /*
     * Text lebih dahulu.
     */

    .kbf-home-hero-copy{
        width:100%;

        order:1;
    }


    .kbf-home-hero-visual{
        width:100%;

        min-height:475px;

        order:2;
    }


    .kbf-home-hero-copy h1{
        max-width:100%;

        margin-bottom:18px;

        font-size:
            clamp(39px,11vw,49px);

        line-height:1.02;
    }


    .kbf-home-hero-copy .lead{
        margin-bottom:23px;

        font-size:15px;

        line-height:1.65;
    }


    .kbf-home-hero-copy .actions{
        gap:9px;
    }


    .kbf-home-hero-copy .btn{
        flex:1;

        min-width:
            calc(50% - 5px);

        padding:
            12px 14px;

        font-size:11px;
    }


    .home-campaign-tags{
        margin-top:19px;
    }


    /* PEOPLE */

    .hero-people-layer{
        left:0;
        right:0;

        height:205px;
    }


    .hero-founder{
        width:32%;

        height:190px;
    }


    .hero-billy{
        left:33%;

        width:33%;

        height:202px;
    }


    .hero-afif{
        width:31%;

        height:190px;
    }


    /* ACTIVITY */

    .hero-main-activity{
        left:2%;
        right:2%;

        top:165px;

        height:245px;

        border-width:4px;

        border-radius:23px;
    }


    /* KBLC */

    .hero-kblc-photo{
        width:59%;

        height:125px;

        right:1%;
        bottom:0;

        border-width:4px;

        border-radius:18px;
    }


    /* decoration */

    .hero-leaf{
        opacity:.20;
    }


    .hero-hand{
        display:none;
    }


    /* badge */

    .kbf-hero-impact-badge{
        left:7px;
        bottom:4px;

        width:115px;

        padding:
            11px 12px;
    }


    .kbf-hero-impact-badge strong{
        font-size:25px;
    }

}


/* =====================================================
   VERY SMALL MOBILE
===================================================== */

@media(max-width:420px){

    .kbf-home-hero-copy .actions{
        flex-direction:column;
    }


    .kbf-home-hero-copy .btn{
        width:100%;

        min-width:100%;
    }


    .home-campaign-tags{
        gap:6px;
    }


    .home-campaign-tags span{
        padding:
            5px 8px;

        font-size:9px;
    }


    .kbf-home-hero-visual{
        min-height:430px;
    }


    .hero-people-layer{
        height:180px;
    }


    .hero-founder{
        height:170px;
    }


    .hero-billy{
        height:180px;
    }


    .hero-afif{
        height:168px;
    }


    .hero-main-activity{
        top:145px;

        height:220px;
    }


    .hero-kblc-photo{
        height:112px;
    }


    .kbf-hero-impact-badge{
        width:108px;

        padding:
            10px 11px;
    }

}

/* ABOUT */

.home-about-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;

  gap:70px;

  align-items:center;
}

.home-about-photo img{
  display:block;

  width:100%;
  min-height:480px;

  object-fit:cover;

  border-radius:20px;
}

.home-about h2{
  margin-bottom:20px;

  font-size:42px;
}

.home-about p{
  color:#627783;
  line-height:1.75;
}

.text-link{
  display:inline-flex;

  margin-top:5px;

  color:var(--green);

  font-weight:850;

  text-decoration:none;
}


/* STORY */

.home-story{
  background:#f6fbf7;
}

.home-story-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;

  gap:65px;

  align-items:center;
}

.home-story-content p{
  color:#627783;
  line-height:1.75;
}

.home-story-content blockquote{
  margin:25px 0 0;
  padding:19px 23px;

  background:#fff;

  border-left:4px solid var(--orange);
  border-radius:9px;

  color:#324b56;

  font-size:17px;
  font-weight:700;
  line-height:1.6;
}

.home-story-photo img{
  width:100%;
  min-height:430px;

  object-fit:cover;

  border-radius:20px;
}


/* IMPACT PILLARS */

.home-pillars{
  background:#fff;
}

.home-pillar-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);

  gap:17px;

  margin-top:33px;
}

.home-pillar-card{
  min-height:285px;

  padding:25px;

  border:1px solid #e1ebe5;
  border-radius:17px;

  background:#fff;

  box-shadow:
    0 8px 25px rgba(0,0,0,.025);
}

.home-pillar-top{
  display:flex;

  align-items:center;
  justify-content:space-between;

  margin-bottom:25px;
}

.home-pillar-number{
  color:#a3afa9;

  font-size:11px;
  font-weight:900;

  letter-spacing:.08em;
}

.home-pillar-icon{
  width:50px;
  height:50px;

  display:grid;
  place-items:center;

  border-radius:50%;

  color:#fff;
  font-size:21px;
}

.home-pillar-icon.green{
  background:var(--green2);
}

.home-pillar-icon.orange{
  background:var(--orange);
}

.home-pillar-icon.blue{
  background:var(--blue);
}

.home-pillar-icon.pink{
  background:var(--pink);
}

.home-pillar-card h3{
  margin-bottom:10px;

  font-size:23px;
}

.home-pillar-card p{
  margin:0;

  color:#667b86;

  font-size:14px;
  line-height:1.65;
}

.home-section-link{
  margin-top:28px;

  text-align:center;
}


/* KBLC */

.home-kblc{
  padding-top:20px;
}

.home-kblc-box{
  display:grid;
  grid-template-columns:1fr 220px;

  gap:45px;

  align-items:center;

  padding:45px;

  background:#0c4e37;

  border-radius:22px;

  color:#fff;
}

.home-kblc-box h2{
  max-width:700px;

  color:#fff;

  font-size:41px;
}

.home-kblc-box .eyebrow{
  color:#9de4af;
}

.home-kblc-box p{
  max-width:720px;

  color:rgba(255,255,255,.81);
}

.home-kblc-stat{
  display:flex;
  flex-direction:column;

  justify-content:center;
  align-items:center;

  min-height:180px;

  background:rgba(255,255,255,.08);

  border:1px solid rgba(255,255,255,.13);
  border-radius:17px;

  text-align:center;
}

.home-kblc-stat strong{
  font-size:72px;
  line-height:.9;
}

.home-kblc-stat span{
  margin-top:10px;

  font-size:13px;
  font-weight:750;
}


/* VISION MISSION */

.home-vision{
  background:#f6fbf7;
}

.home-vision-grid{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:20px;

  margin-top:30px;
}

.home-vision-card{
  padding:34px;

  background:#fff;

  border:1px solid #e1ebe5;
  border-radius:18px;
}

.home-vision-card > span{
  color:#a0aea6;

  font-size:11px;
  font-weight:900;
}

.home-vision-card h3{
  margin:14px 0 12px;

  font-size:30px;
}

.home-vision-card p{
  color:#617782;

  font-size:16px;
  line-height:1.7;
}

.home-vision-card ul{
  display:flex;
  flex-wrap:wrap;

  gap:8px;

  margin:20px 0 0;
  padding:0;

  list-style:none;
}

.home-vision-card li{
  padding:7px 11px;

  background:#edf7ef;

  border-radius:999px;

  color:var(--green);

  font-size:11px;
  font-weight:800;
}


/* TEAM */

.home-team{
  background:#fff;
}

.home-team-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  gap:17px;

  margin-top:30px;
}

.home-team-card{
  display:grid;
  grid-template-columns:75px 1fr;

  gap:17px;

  align-items:center;

  padding:18px;

  border:1px solid #e1ebe5;
  border-radius:14px;
}

.home-team-photo{
  width:75px;
  height:75px;

  overflow:hidden;

  border-radius:50%;

  background:#edf3ef;
}

.home-team-photo img{
  width:100%;
  height:100%;

  display:block;

  object-fit:cover;
  object-position:center top;
}

.home-team-card h3{
  margin:0 0 4px;

  font-size:16px;
}

.home-team-card p{
  margin:0;

  color:var(--green);

  font-size:12px;
  font-weight:750;
}


/* PARTNERSHIP */

.home-partner-section{
  padding-top:25px;
}

.home-partner-cta{
  display:grid;
  grid-template-columns:1fr auto;

  gap:45px;

  align-items:center;

  padding:38px 42px;

  background:#eef8ef;

  border-radius:20px;
}

.home-partner-cta h2{
  max-width:750px;

  font-size:37px;
}

.home-partner-cta p{
  max-width:780px;

  margin-bottom:0;

  color:#637782;
}


/* OFFICE */

.home-office{
  background:#fff;
}

.home-office-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);

  gap:18px;

  margin-top:28px;
}

.home-office-grid article{
  padding:27px;

  border:1px solid #e1eae5;
  border-radius:16px;
}

.home-office-grid span{
  color:var(--green);

  font-size:10px;
  font-weight:900;

  letter-spacing:.08em;
}

.home-office-grid h3{
  margin:8px 0 8px;
}

.home-office-grid p{
  margin:0;

  color:#657984;

  line-height:1.65;
}


/* FINAL CTA */

.home-final{
  padding-top:10px;
}

.home-final-box{
  display:grid;
  grid-template-columns:1fr auto;

  gap:45px;

  align-items:center;

  padding:40px 44px;

  background:
    linear-gradient(
      120deg,
      #0b4d35,
      #087b45
    );

  border-radius:22px;

  color:#fff;
}

.home-final-box .eyebrow{
  color:#a1e6b3;
}

.home-final-box h2{
  color:#fff;

  font-size:42px;
}

.home-final-box p{
  margin-bottom:0;

  color:rgba(255,255,255,.8);
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:900px){

  .kbf-home-hero-grid,
  .home-about-grid,
  .home-story-grid{
    grid-template-columns:1fr;
  }

  .home-pillar-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .home-kblc-box{
    grid-template-columns:1fr;
  }

  .home-vision-grid{
    grid-template-columns:1fr;
  }

  .home-team-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .home-partner-cta,
  .home-final-box{
    grid-template-columns:1fr;
  }

}


@media(max-width:600px){

  .kbf-home-hero{
    padding:42px 0 50px;
  }

  .kbf-home-hero-copy h1{
    font-size:42px;
  }

  .home-about h2,
  .home-kblc-box h2,
  .home-final-box h2{
    font-size:32px;
  }

  .home-pillar-grid{
    grid-template-columns:1fr;
  }

  .home-team-grid{
    grid-template-columns:1fr;
  }

  .home-office-grid{
    grid-template-columns:1fr;
  }

  .home-kblc-box,
  .home-partner-cta,
  .home-final-box{
    padding:28px;
  }

}
/* =========================================================
   HOME - IMPACT PILLARS
========================================================= */

.home-pillars {
    position: relative;
    overflow: hidden;
    padding-top: 92px;
    padding-bottom: 96px;

    background:
        radial-gradient(
            circle at 0% 0%,
            rgba(29, 152, 85, 0.06),
            transparent 25%
        ),
        radial-gradient(
            circle at 100% 100%,
            rgba(29, 152, 85, 0.05),
            transparent 27%
        ),
        #ffffff;
}


/* -------------------------
   HEADER
------------------------- */

.home-pillars-head {
    max-width: 950px;
    margin: 0 auto 52px;
    text-align: center;
}

.home-pillars-head .eyebrow {
    margin-bottom: 15px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.28em;
    color: #35745b;
}

.home-pillars-head h2 {
    margin: 0;

    font-size: clamp(40px, 4.2vw, 64px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.04em;

    color: #101827;
}

.home-pillars-head h2::first-line {
    color: inherit;
}

.home-pillars-title-line {
    display: block;

    width: 68px;
    height: 3px;

    margin: 22px auto 21px;

    border-radius: 999px;
    background: #14975a;
}

.home-pillars-head > p:last-child {
    max-width: 850px;
    margin: 0 auto;

    font-size: 17px;
    line-height: 1.75;
    color: #64748b;
}


/* -------------------------
   GRID
------------------------- */

.home-pillar-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 18px;

    max-width: 1280px;
    margin: 0 auto;
}


/* -------------------------
   CARD
------------------------- */

.home-pillar-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 410px;

    padding: 32px 30px 28px;

    overflow: hidden;

    border: 1px solid;
    border-radius: 22px;

    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease;
}

.home-pillar-card:hover {
    transform: translateY(-6px);
}


/* nomor */

.home-pillar-number {
    display: block;

    margin-bottom: 58px;

    font-size: 15px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.08em;
}


/* judul */

.home-pillar-card h3 {
    margin: 0 0 14px;

    font-size: 26px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.025em;

    color: #101827;
}


/* deskripsi */

.home-pillar-card > p {
    margin: 0;

    font-size: 16px;
    line-height: 1.72;

    color: #627186;
}


/* link bawah */

.home-pillar-link {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    width: fit-content;

    margin-top: auto;
    padding-top: 28px;

    color: #137b48;

    font-size: 15px;
    font-weight: 700;

    text-decoration: none;
}

.home-pillar-link span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    border-radius: 50%;

    font-size: 18px;

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

.home-pillar-link:hover span {
    transform: translateX(4px);
}


/* =========================================================
   COLOR VARIANTS
========================================================= */


/* Pendidikan */

.home-pillar-card.green {
    border-color: #cbe8d6;

    background:
        linear-gradient(
            145deg,
            rgba(241, 252, 245, 0.95),
            rgba(251, 254, 252, 0.98)
        );

    box-shadow: 0 15px 40px rgba(26, 121, 73, 0.05);
}

.home-pillar-card.green .home-pillar-number {
    color: #88aa98;
}

.home-pillar-card.green .home-pillar-link span {
    background: #e1f5e8;
    color: #087846;
}


/* Kewirausahaan */

.home-pillar-card.orange {
    border-color: #f3dfc8;

    background:
        linear-gradient(
            145deg,
            rgba(255, 249, 242, 0.95),
            rgba(255, 253, 250, 0.98)
        );

    box-shadow: 0 15px 40px rgba(210, 125, 29, 0.05);
}

.home-pillar-card.orange .home-pillar-number {
    color: #c7a77e;
}

.home-pillar-card.orange .home-pillar-link span {
    background: #fff0df;
    color: #ef7d00;
}


/* Lingkungan */

.home-pillar-card.blue {
    border-color: #cfe7f5;

    background:
        linear-gradient(
            145deg,
            rgba(244, 251, 255, 0.96),
            rgba(251, 254, 255, 0.98)
        );

    box-shadow: 0 15px 40px rgba(24, 126, 185, 0.05);
}

.home-pillar-card.blue .home-pillar-number {
    color: #88b2ca;
}

.home-pillar-card.blue .home-pillar-link span {
    background: #e3f3fc;
    color: #158ac9;
}


/* Kebijakan Publik */

.home-pillar-card.pink {
    border-color: #f0d5e2;

    background:
        linear-gradient(
            145deg,
            rgba(255, 247, 251, 0.96),
            rgba(255, 252, 254, 0.98)
        );

    box-shadow: 0 15px 40px rgba(204, 60, 127, 0.05);
}

.home-pillar-card.pink .home-pillar-number {
    color: #cb9eb4;
}

.home-pillar-card.pink .home-pillar-link span {
    background: #fbe6f0;
    color: #dc297e;
}


/* hover */

.home-pillar-card.green:hover {
    box-shadow: 0 22px 48px rgba(24, 118, 69, 0.10);
}

.home-pillar-card.orange:hover {
    box-shadow: 0 22px 48px rgba(205, 124, 35, 0.10);
}

.home-pillar-card.blue:hover {
    box-shadow: 0 22px 48px rgba(24, 128, 188, 0.10);
}

.home-pillar-card.pink:hover {
    box-shadow: 0 22px 48px rgba(196, 54, 122, 0.10);
}


/* =========================================================
   BUTTON BAWAH
========================================================= */

.home-section-link {
    display: flex;
    justify-content: center;

    margin-top: 42px;
}

.home-program-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;

    min-width: 275px;

    padding: 13px 16px 13px 28px;

    border: 0;
    border-radius: 999px;

    background: linear-gradient(
        135deg,
        #087a42,
        #139856
    );

    color: #ffffff;

    font-weight: 700;
    text-decoration: none;

    box-shadow: 0 12px 26px rgba(11, 121, 67, 0.20);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.home-program-btn span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 39px;
    height: 39px;

    margin-left: auto;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.15);
}

.home-program-btn:hover {
    transform: translateY(-2px);

    box-shadow: 0 16px 32px rgba(11, 121, 67, 0.28);

    color: #ffffff;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .home-pillar-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-pillar-card {
        min-height: 350px;
    }

}


@media (max-width: 650px) {

    .home-pillars {
        padding-top: 68px;
        padding-bottom: 70px;
    }

    .home-pillars-head {
        margin-bottom: 36px;
    }

    .home-pillars-head h2 {
        font-size: 37px;
    }

    .home-pillars-head > p:last-child {
        font-size: 15px;
    }

    .home-pillar-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .home-pillar-card {
        min-height: 310px;
        padding: 26px 24px;
        border-radius: 19px;
    }

    .home-pillar-number {
        margin-bottom: 38px;
    }

    .home-pillar-card h3 {
        font-size: 24px;
    }

}
/* =========================================================
   FINAL FIX — HEADER LOGO + HERO PEOPLE MOBILE
========================================================= */


/* =========================================================
   HEADER LOGO
========================================================= */

.header-inner{
    overflow:visible;
}


.brand{
    width:150px;
    height:76px;

    display:flex;
    align-items:center;
    justify-content:flex-start;

    flex:0 0 150px;

    overflow:visible;
}


.brand a,
.brand .custom-logo-link,
.brand .kbf-logo{
    display:flex;

    align-items:center;
    justify-content:flex-start;

    width:100%;
    height:100%;

    overflow:visible;
}


.brand img,
.brand .custom-logo,
.brand .custom-logo-link img,
.brand .kbf-logo img{
    display:block;

    width:auto !important;
    height:auto !important;

    max-width:140px !important;
    max-height:68px !important;

    object-fit:contain;

    margin:0;

    flex-shrink:0;
}


/* =========================================================
   TABLET / MOBILE HEADER
========================================================= */

@media(max-width:900px){

    .header-inner{
        min-height:88px;

        gap:14px;

        overflow:visible;
    }


    .brand{
        width:125px;
        height:74px;

        flex:0 0 125px;
    }


    .brand img,
.brand .custom-logo,
.brand .custom-logo-link img,
.brand .kbf-logo img{
        max-width:118px !important;
        max-height:66px !important;
    }


    .lang-switcher{
        margin-left:auto;
        flex-shrink:0;
    }


    .mobile-toggle{
        margin-left:7px;

        padding:5px;

        line-height:1;

        flex-shrink:0;
    }

}


/* =========================================================
   HERO PEOPLE — MOBILE FIX
========================================================= */

@media(max-width:600px){

    .hero-people-layer{
        left:0;
        right:0;
        top:0;

        height:220px;
    }


    /* Jas biru */

    .hero-founder{
        left:1%;
        right:auto;

        top:auto !important;
        bottom:0;

        width:30%;
        height:205px;

        overflow:hidden;

        z-index:7;
    }


    .hero-founder img{
        width:100%;
        height:270px;

        object-fit:contain;

        object-position:center top;
    }


    /* Toga */

    .hero-billy{
        left:33%;
        right:auto;

        top:auto;
        bottom:0;

        width:33%;
        height:212px;

        z-index:8;
    }


    .hero-billy img{
        width:100%;
        height:100%;

        object-fit:contain;
        object-position:center bottom;
    }


    /* Jas hitam */

    .hero-afif{
        left:auto;
        right:0;

        top:auto;
        bottom:0;

        width:31%;
        height:205px;

        z-index:7;
    }


    .hero-afif img{
        width:100%;
        height:100%;

        object-fit:contain;
        object-position:center bottom;
    }


    /* Foto utama sedikit turun
       supaya tidak menutupi figur */

    .hero-main-activity{
        top:182px;
    }

}


/* =========================================================
   VERY SMALL PHONE
========================================================= */

@media(max-width:420px){

    .hero-people-layer{
        height:195px;
    }


    .hero-founder{
        width:30%;
        height:180px;
    }


    .hero-founder img{
        height:240px;
    }


    .hero-billy{
        height:188px;
    }


    .hero-afif{
        height:182px;
    }


    .hero-main-activity{
        top:158px;
    }

}
/* =========================================================
   FIX HERO FOUNDER MOBILE POSITION
========================================================= */

@media(max-width:600px){

    .hero-founder{
        left:2%;

        top:auto !important;
        bottom:8px;

        width:30%;
        height:190px;

        overflow:hidden;

        z-index:7;
    }

    .hero-founder img{
        width:100%;
        height:230px;

        object-fit:contain;

        object-position:center bottom;

        transform:translateY(18px);
    }

}
/* =========================================================
   KBLC HERO — BACKGROUND IMAGE VERSION
========================================================= */

.kblc-hero-bg{
    position:relative;
    isolation:isolate;

    min-height:645px;

    display:flex;
    align-items:center;

    padding:80px 0 90px;

    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.99) 0%,
            rgba(255,255,255,.97) 31%,
            rgba(248,253,249,.88) 48%,
            rgba(242,250,244,.65) 68%,
            rgba(238,248,241,.45) 100%
        ),
        var(--kblc-hero-background, none);

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;
}


/*
 * Lapisan tambahan agar foto terasa menyatu
 * dengan style homepage.
 */

.kblc-hero-bg::before{
    content:"";

    position:absolute;
    z-index:-1;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.10) 0%,
            rgba(232,247,237,.16) 100%
        );

    pointer-events:none;
}


/*
 * subtle organic shape
 */

.kblc-hero-bg::after{
    content:"";

    position:absolute;
    z-index:-1;

    right:-150px;
    bottom:-190px;

    width:620px;
    height:420px;

    border-radius:50%;

    background:
        rgba(82,190,119,.08);

    transform:
        rotate(-12deg);

    pointer-events:none;
}


/* =========================================================
   HERO COPY
========================================================= */

.kblc-hero-bg .kblc-hero-copy{
    position:relative;

    z-index:2;

    max-width:690px;
}


.kblc-hero-bg .kblc-hero-copy h1{
    max-width:690px;

    margin:
        12px 0 24px;

    font-size:
        clamp(52px,5vw,76px);

    line-height:1.02;

    letter-spacing:-.045em;
}


.kblc-hero-bg .kblc-hero-copy h1 span{
    color:var(--orange);
}


.kblc-hero-bg .kblc-hero-copy .lead{
    max-width:650px;

    margin-bottom:28px;

    color:#526b78;

    font-size:18px;

    line-height:1.7;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:900px){

    .kblc-hero-bg{
        min-height:590px;

        padding:
            62px 0 72px;

        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,.98) 0%,
                rgba(255,255,255,.94) 48%,
                rgba(242,250,244,.68) 100%
            ),
            var(--kblc-hero-background, none);

        background-size:cover;

        background-position:
            60% center;
    }


    .kblc-hero-bg .kblc-hero-copy{
        max-width:610px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

    .kblc-hero-bg{
        min-height:auto;

        padding:
            48px 0 60px;

        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.97) 0%,
                rgba(255,255,255,.93) 45%,
                rgba(243,251,246,.80) 100%
            ),
            var(--kblc-hero-background, none);

        background-size:cover;

        background-position:center;
    }


    .kblc-hero-bg .kblc-hero-copy h1{
        font-size:
            clamp(42px,12vw,52px);
    }


    .kblc-hero-bg .kblc-hero-copy .lead{
        font-size:16px;

        line-height:1.65;
    }


    .kblc-hero-bg .actions{
        flex-direction:column;
    }


    .kblc-hero-bg .actions .btn{
        width:100%;
    }

}
/* =========================================================
   KBLC LOCATION VISUAL
========================================================= */

.kblc-visual-panel{
    width:100%;
    height:100%;

    padding:14px;

    background:#fff;

    border:1px solid #dfe9e3;
    border-radius:18px;

    overflow:hidden;
}


/* =========================================================
   MAP MODE
========================================================= */

.kblc-map-image{
    width:100%;
    height:100%;
    min-height:650px;

    display:flex;

    align-items:center;
    justify-content:center;

    overflow:hidden;

    border-radius:14px;

    background:#f3faf5;
}


.kblc-map-image img{
    display:block;

    width:100%;
    height:100%;
    min-height:650px;

    object-fit:cover;

    border-radius:14px;
}


.kblc-map-empty{
    min-height:650px;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    gap:8px;

    text-align:center;

    color:#71857a;
}


.kblc-map-empty strong{
    font-size:44px;

    color:var(--green);
}


/* =========================================================
   PHOTO GRID MODE
========================================================= */

.kblc-photo-grid{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:12px;
}


.kblc-photo-grid-item{
    position:relative;

    height:205px;

    overflow:hidden;

    border-radius:14px;

    background:#edf7ef;
}


.kblc-photo-grid-item img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .35s ease;
}


.kblc-photo-grid-item:hover img{
    transform:scale(1.035);
}


.kblc-photo-label{
    position:absolute;

    left:12px;
    bottom:12px;

    padding:7px 13px;

    border-radius:999px;

    background:
        rgba(255,255,255,.93);

    color:var(--dark);

    font-size:13px;
    font-weight:800;

    box-shadow:
        0 5px 15px
        rgba(0,0,0,.09);

    backdrop-filter:
        blur(8px);
}


.kblc-photo-placeholder{
    width:100%;
    height:100%;

    display:flex;

    align-items:center;
    justify-content:center;

    padding:20px;

    background:
        linear-gradient(
            135deg,
            #eef8f0,
            #fafdfb
        );

    color:#82948a;

    font-weight:700;

    text-align:center;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:900px){

    .kblc-map-image,
    .kblc-map-image img,
    .kblc-map-empty{
        min-height:500px;
    }


    .kblc-photo-grid-item{
        height:190px;
    }

}


@media(max-width:600px){

    .kblc-visual-panel{
        padding:10px;
    }


    .kblc-photo-grid{
        grid-template-columns:1fr;
    }


    .kblc-photo-grid-item{
        height:220px;
    }


    .kblc-map-image,
    .kblc-map-image img,
    .kblc-map-empty{
        min-height:400px;
    }

}
/* =========================================================
   KBLC STORY CARDS
========================================================= */

.kblc-story-card{
    cursor:pointer;

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}


.kblc-story-card:hover{
    transform:
        translateY(-3px);

    border-color:
        rgba(10,122,63,.24);

    box-shadow:
        0 15px 35px
        rgba(14,75,54,.08);
}


/* PHOTO */

.kblc-story-photo{
    width:120px;
    height:135px;

    flex-shrink:0;

    display:flex;

    align-items:center;
    justify-content:center;

    overflow:hidden;

    border-radius:12px;

    background:#eef5f0;

    color:#91a298;

    text-decoration:none;
}


.kblc-story-photo img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}


/* CONTENT */

.kblc-story-content{
    min-width:0;
}


.kblc-story-content small{
    display:block;

    margin-bottom:7px;

    color:var(--green);

    font-size:12px;
    font-weight:800;

    text-transform:uppercase;
}


.kblc-story-content h3{
    margin:
        0 0 8px;
}


.kblc-story-content h3 a{
    color:var(--dark);

    text-decoration:none;
}


.kblc-story-content p{
    margin-bottom:12px;
}


/* READ STORY */

.kblc-story-read{
    display:inline-flex;

    align-items:center;

    gap:7px;

    color:var(--green);

    font-size:13px;
    font-weight:800;

    text-decoration:none;
}


.kblc-story-read:hover{
    text-decoration:underline;
}


/* MORE STORIES */

.kblc-story-more{
    display:flex;

    justify-content:center;

    margin-top:34px;
}


/* MOBILE */

@media(max-width:600px){

    .kblc-story-card{
        align-items:flex-start;
    }


    .kblc-story-photo{
        width:100px;
        height:120px;
    }

}
/* =========================================================
   KBLC STORY SINGLE
========================================================= */

.kblc-story-single-hero{
    padding:70px 0 55px;

    background:
        linear-gradient(
            135deg,
            #f7fcf8,
            #eef8f1
        );
}


.kblc-story-single-hero-inner{
    display:grid;

    grid-template-columns:
        minmax(0,.95fr)
        minmax(420px,1.05fr);

    gap:60px;

    align-items:center;
}


.kblc-story-single-copy{
    max-width:680px;
}


.kblc-story-location{
    display:inline-flex;

    margin:8px 0 14px;

    padding:7px 13px;

    border-radius:999px;

    background:#eaf7ed;

    color:var(--green);

    font-size:12px;
    font-weight:800;
}


.kblc-story-single-copy h1{
    margin:0 0 20px;

    color:var(--dark);

    font-size:
        clamp(42px,5vw,68px);

    line-height:1.03;

    letter-spacing:-.04em;
}


.kblc-story-single-lead{
    max-width:650px;

    margin:0 0 20px;

    color:#607387;

    font-size:18px;

    line-height:1.7;
}


.kblc-story-single-meta{
    color:#809087;

    font-size:13px;
}


.kblc-story-single-hero-image{
    overflow:hidden;

    border-radius:26px;

    box-shadow:
        0 20px 45px
        rgba(14,75,54,.12);
}


.kblc-story-single-hero-image img{
    display:block;

    width:100%;
    height:460px;

    object-fit:cover;
}


/* CONTENT */

.kblc-story-single-layout{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        300px;

    gap:70px;

    align-items:start;
}


.kblc-story-article{
    max-width:800px;

    color:#415563;

    font-size:17px;

    line-height:1.85;
}


.kblc-story-article p{
    margin:
        0 0 22px;
}


.kblc-story-article h2,
.kblc-story-article h3{
    margin:
        38px 0 14px;

    color:var(--dark);

    line-height:1.2;
}


.kblc-story-article img{
    max-width:100%;

    height:auto;

    border-radius:16px;
}


/* SIDEBAR */

.kblc-story-sidebar{
    position:sticky;

    top:110px;
}


.kblc-story-sidebar-card{
    padding:24px;

    border:
        1px solid #dfe9e3;

    border-radius:18px;

    background:#f7fcf8;
}


.kblc-story-sidebar-card h3{
    margin:
        10px 0;

    color:var(--dark);
}


.kblc-story-sidebar-card p{
    margin:
        0 0 20px;

    color:#687d72;

    line-height:1.65;
}


.kblc-story-back-section{
    padding:
        0 0 60px;
}


.kblc-story-back{
    color:var(--green);

    font-weight:800;

    text-decoration:none;
}



/* =========================================================
   KBLC STORY ARCHIVE
========================================================= */

.kblc-story-archive-hero{
    padding:
        70px 0 55px;

    background:
        linear-gradient(
            135deg,
            #f8fcf9,
            #edf8f0
        );
}


.kblc-story-archive-hero .section-head{
    max-width:720px;

    margin:
        0 auto;

    text-align:center;
}


.kblc-story-archive-hero h1{
    margin:
        10px 0 18px;

    color:var(--dark);

    font-size:
        clamp(42px,5vw,64px);

    line-height:1.06;

    letter-spacing:-.04em;
}


.kblc-story-archive-hero p:last-child{
    color:#657a70;

    font-size:17px;

    line-height:1.7;
}


/* GRID */

.kblc-story-archive-grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:26px;
}


.kblc-story-archive-card{
    overflow:hidden;

    border:
        1px solid #dfe9e3;

    border-radius:18px;

    background:#fff;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


.kblc-story-archive-card:hover{
    transform:
        translateY(-4px);

    border-color:
        rgba(10,122,63,.25);

    box-shadow:
        0 16px 36px
        rgba(14,75,54,.09);
}


.kblc-story-archive-image{
    display:block;

    height:240px;

    overflow:hidden;

    background:#edf6ef;
}


.kblc-story-archive-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .35s ease;
}


.kblc-story-archive-card:hover
.kblc-story-archive-image img{
    transform:scale(1.04);
}


.kblc-story-archive-placeholder{
    width:100%;
    height:100%;

    display:flex;

    align-items:center;
    justify-content:center;

    color:#91a098;

    font-weight:800;
}


.kblc-story-archive-content{
    padding:22px;
}


.kblc-story-archive-content small{
    display:block;

    margin-bottom:9px;

    color:var(--green);

    font-size:12px;

    font-weight:800;

    text-transform:uppercase;
}


.kblc-story-archive-content h2{
    margin:
        0 0 11px;

    font-size:23px;

    line-height:1.18;
}


.kblc-story-archive-content h2 a{
    color:var(--dark);

    text-decoration:none;
}


.kblc-story-archive-content p{
    margin:
        0 0 16px;

    color:#687b72;

    line-height:1.65;
}


/* PAGINATION */

.kblc-story-pagination{
    margin-top:45px;
}


.kblc-story-pagination .nav-links{
    display:flex;

    justify-content:center;

    gap:8px;

    flex-wrap:wrap;
}


.kblc-story-pagination .page-numbers{
    min-width:38px;
    height:38px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding:
        0 12px;

    border:
        1px solid #dfe9e3;

    border-radius:8px;

    color:var(--dark);

    text-decoration:none;

    background:#fff;
}


.kblc-story-pagination .page-numbers.current{
    background:var(--green);

    color:#fff;

    border-color:var(--green);
}



/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1000px){

    .kblc-story-single-hero-inner{
        grid-template-columns:1fr;

        gap:35px;
    }


    .kblc-story-single-hero-image img{
        height:420px;
    }


    .kblc-story-single-layout{
        grid-template-columns:1fr;

        gap:40px;
    }


    .kblc-story-sidebar{
        position:static;
    }


    .kblc-story-archive-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media(max-width:600px){

    .kblc-story-single-hero{
        padding:
            48px 0 40px;
    }


    .kblc-story-single-copy h1{
        font-size:
            clamp(38px,11vw,50px);
    }


    .kblc-story-single-lead{
        font-size:16px;
    }


    .kblc-story-single-hero-image img{
        height:280px;
    }


    .kblc-story-article{
        font-size:16px;
    }


    .kblc-story-archive-grid{
        grid-template-columns:1fr;
    }


    .kblc-story-archive-image{
        height:220px;
    }

}
/* =========================================================
   CONTACT PAGE
========================================================= */

.contact-page{
    background:#fff;
}


/* =========================================================
   HERO
========================================================= */

.contact-hero{
    position:relative;
    overflow:hidden;
    padding:92px 0;

    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(41,174,82,.12),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #fbfefc 0%,
            #f1faf4 100%
        );
}


.contact-hero::after{
    content:"";

    position:absolute;
    right:-160px;
    bottom:-240px;

    width:560px;
    height:560px;

    border-radius:50%;

    background:
        rgba(33,161,78,.05);

    pointer-events:none;
}


.contact-hero-grid{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(360px,.72fr);

    gap:78px;

    align-items:center;
}


.contact-hero-copy{
    max-width:760px;
}


.contact-hero-copy h1{
    margin:12px 0 24px;

    color:var(--dark);

    font-size:
        clamp(52px,5.8vw,82px);

    line-height:.98;

    letter-spacing:-.052em;
}


.contact-hero-copy h1 span{
    display:block;
    color:var(--orange);
}


.contact-hero-lead{
    max-width:670px;

    margin:0 0 30px;

    color:#63766c;

    font-size:18px;

    line-height:1.75;
}


.contact-hero-actions{
    display:flex;

    gap:12px;

    flex-wrap:wrap;
}


.contact-wa-btn{
    display:inline-flex;

    align-items:center;

    gap:8px;
}


.contact-wa-icon{
    display:inline-flex;

    width:20px;
    height:20px;
}


.contact-wa-icon svg{
    width:100%;
    height:100%;
}


/* =========================================================
   QUICK CARD
========================================================= */

.contact-quick-card{
    padding:32px;

    border:
        1px solid rgba(19,120,61,.13);

    border-radius:26px;

    background:
        rgba(255,255,255,.94);

    box-shadow:
        0 25px 65px
        rgba(15,70,49,.10);
}


.contact-quick-label{
    display:inline-block;

    margin-bottom:14px;

    color:var(--green);

    font-size:11px;

    font-weight:900;

    letter-spacing:.16em;
}


.contact-quick-card h2{
    margin:0 0 12px;

    color:var(--dark);

    font-size:30px;

    line-height:1.1;
}


.contact-quick-card > p{
    margin:0 0 24px;

    color:#687b70;

    line-height:1.65;
}


.contact-quick-row{
    display:flex;

    align-items:center;

    gap:13px;

    padding:15px;

    border-radius:14px;

    color:var(--dark);

    background:#f5faf6;

    text-decoration:none;
}


.contact-quick-row + .contact-quick-row{
    margin-top:10px;
}


.contact-quick-wa{
    background:var(--green);
    color:#fff;
}


.contact-quick-icon{
    width:42px;
    height:42px;

    display:flex;

    align-items:center;
    justify-content:center;

    flex-shrink:0;

    border-radius:50%;

    background:
        rgba(255,255,255,.17);

    font-size:12px;

    font-weight:900;
}


.contact-quick-email{
    background:#e0f3e5;

    color:var(--green);
}


.contact-quick-row small{
    display:block;

    margin-bottom:2px;

    font-size:11px;

    opacity:.75;
}


.contact-quick-row strong{
    display:block;

    font-size:14px;
}


.contact-quick-row b{
    margin-left:auto;
}


/* =========================================================
   CONTACT MAIN
========================================================= */

.contact-form-section{
    background:#fff;
}


.contact-main-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        330px;

    gap:70px;

    align-items:start;
}


.contact-section-head{
    max-width:720px;

    margin-bottom:30px;
}


.contact-section-head h2{
    margin:10px 0 12px;

    color:var(--dark);

    font-size:
        clamp(34px,4vw,50px);

    line-height:1.08;

    letter-spacing:-.035em;
}


.contact-section-head > p:last-child{
    color:#697c72;

    line-height:1.7;
}


/* =========================================================
   FORM
========================================================= */

.kbf-contact-form{
    position:relative;

    padding:30px;

    border:
        1px solid #dfe9e3;

    border-radius:22px;

    background:#fff;

    box-shadow:
        0 14px 42px
        rgba(17,74,53,.055);
}


.contact-form-row{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:18px;
}


.contact-field{
    margin-bottom:20px;
}


.contact-field label{
    display:block;

    margin-bottom:8px;

    color:var(--dark);

    font-size:13px;

    font-weight:800;
}


.contact-field label span{
    color:var(--orange);
}


.contact-field input,
.contact-field select,
.contact-field textarea{
    width:100%;

    padding:14px 15px;

    border:
        1px solid #d8e4dc;

    border-radius:11px;

    outline:none;

    background:#fbfdfb;

    color:#263f35;

    font:inherit;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


.contact-field textarea{
    resize:vertical;
}


.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus{
    border-color:
        rgba(11,123,63,.55);

    background:#fff;

    box-shadow:
        0 0 0 4px
        rgba(11,123,63,.08);
}


.contact-form-footer{
    display:flex;

    align-items:center;

    gap:18px;

    flex-wrap:wrap;

    margin-top:4px;
}


.contact-submit{
    border:none;

    cursor:pointer;
}


.contact-form-footer p{
    max-width:340px;

    margin:0;

    color:#86968d;

    font-size:12px;

    line-height:1.5;
}


.contact-honeypot{
    position:absolute !important;

    width:1px;
    height:1px;

    overflow:hidden;

    clip:rect(1px,1px,1px,1px);

    white-space:nowrap;
}


/* =========================================================
   ALERTS
========================================================= */

.contact-alert{
    margin-bottom:22px;

    padding:16px 18px;

    border-radius:13px;
}


.contact-alert strong{
    display:block;

    margin-bottom:4px;
}


.contact-alert p{
    margin:0;

    line-height:1.55;
}


.contact-alert-success{
    border:
        1px solid #bbe1c6;

    background:#effaf2;

    color:#17663c;
}


.contact-alert-success p{
    color:#527261;
}


.contact-alert-error{
    border:
        1px solid #efc7c1;

    background:#fff4f2;

    color:#a14033;
}


.contact-alert-error p{
    color:#7c5e58;
}


/* =========================================================
   SIDEBAR
========================================================= */

.contact-sidebar{
    position:sticky;

    top:110px;

    display:grid;

    gap:16px;
}


.contact-sidebar-card{
    padding:24px;

    border:
        1px solid #dfe9e3;

    border-radius:18px;

    background:#f8fcf9;
}


.contact-sidebar-card strong{
    color:var(--dark);
}


.contact-sidebar-card p{
    margin:8px 0 13px;

    color:#687b70;

    line-height:1.65;
}


.contact-sidebar-card a{
    color:var(--green);

    font-size:13px;

    font-weight:800;

    text-decoration:none;
}


.contact-sidebar-highlight{
    border:none;

    background:
        linear-gradient(
            145deg,
            #0d6d42,
            #169c52
        );

    color:#fff;
}


.contact-sidebar-highlight .eyebrow{
    color:
        rgba(255,255,255,.72);
}


.contact-sidebar-highlight h3{
    margin:10px 0 14px;

    color:#fff;

    font-size:26px;

    line-height:1.14;
}


.contact-sidebar-highlight p{
    margin:0;

    color:
        rgba(255,255,255,.82);

    line-height:1.7;
}


/* =========================================================
   OFFICES
========================================================= */

.contact-offices{
    background:#f4faf5;
}


.contact-offices-head{
    max-width:720px;

    margin-bottom:30px;
}


.contact-offices-head h2{
    margin:10px 0 10px;

    color:var(--dark);

    font-size:
        clamp(32px,4vw,48px);

    line-height:1.08;

    letter-spacing:-.03em;
}


.contact-offices-head > p:last-child{
    color:#687b70;
}


.contact-office-grid{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:18px;
}


.contact-office-card{
    padding:28px;

    border:
        1px solid #dce8e0;

    border-radius:18px;

    background:#fff;
}


.contact-office-label{
    display:block;

    margin-bottom:10px;

    color:var(--green);

    font-size:11px;

    font-weight:900;

    letter-spacing:.12em;
}


.contact-office-card h3{
    margin:0 0 8px;

    color:var(--dark);

    font-size:22px;
}


.contact-office-card p{
    margin:0;

    color:#62766b;

    line-height:1.7;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:980px){

    .contact-hero-grid{
        grid-template-columns:1fr;

        gap:40px;
    }


    .contact-quick-card{
        max-width:680px;
    }


    .contact-main-grid{
        grid-template-columns:1fr;

        gap:42px;
    }


    .contact-sidebar{
        position:static;

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media(max-width:680px){

    .contact-hero{
        padding:58px 0;
    }


    .contact-hero-copy h1{
        font-size:
            clamp(43px,12vw,58px);
    }


    .contact-hero-actions{
        flex-direction:column;
    }


    .contact-hero-actions .btn{
        width:100%;
    }


    .contact-quick-card{
        padding:23px;
    }


    .contact-form-row{
        grid-template-columns:1fr;

        gap:0;
    }


    .kbf-contact-form{
        padding:20px;
    }


    .contact-form-footer{
        align-items:stretch;

        flex-direction:column;
    }


    .contact-submit{
        width:100%;
    }


    .contact-sidebar{
        grid-template-columns:1fr;
    }


    .contact-office-grid{
        grid-template-columns:1fr;
    }

}