:root{
    --font-inter:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --font-sans:var(--font-inter),system-ui,-apple-system,sans-serif;
    --orange:#ffc214;
    --green:#0f6c36;
    --red: #ef1713;
    --blue: #0b1127;
    --navy:var(--blue);
    --text:var(--blue);
    --muted:#536174;
    --light:#f5f7f8;
    --white:#fff
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth
}
body{
    margin:0;
    font-family:var(--font-sans);
    color:var(--text);
    background:#fff
}
.frontend-locked body > :not(.frontend-gate){
    visibility:hidden
}
.frontend-gate{
    position:fixed;
    z-index:9999;
    inset:0;
    display:grid;
    place-items:center;
    padding:24px;
    background:linear-gradient(135deg,rgba(11,17,39,.96),rgba(15,108,54,.92));
    color:#fff
}
.frontend-gate__card{
    width:min(100%,390px);
    padding:36px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:16px;
    background:#fff;
    box-shadow:0 24px 60px rgba(0,0,0,.28);
    color:var(--blue)
}
.frontend-gate__logo{display:block;width:170px;max-height:72px;object-fit:contain;object-position:center;margin:0 auto 26px}
.frontend-gate__card h1{margin:0 0 10px;font-size:28px;text-align:center}
.frontend-gate__card p{margin:0 0 24px;line-height:1.5;color:var(--muted);text-align:center}
.frontend-gate__card label{display:block;margin-bottom:8px;font-size:14px;font-weight:700;text-align:center}
.frontend-gate__card input{width:100%;height:48px;padding:0 14px;border:1px solid #cbd3da;border-radius:8px;font:inherit;color:var(--blue)}
.frontend-gate__card input:focus{outline:3px solid rgba(255,194,20,.45);border-color:var(--orange)}
.frontend-gate__error{min-height:22px!important;margin:8px 0 0!important;color:#c32020!important;font-size:14px}
.frontend-gate__card button{width:100%;margin-top:12px;padding:14px;border:0;border-radius:8px;background:var(--orange);color:var(--blue);font:700 15px var(--font-sans);cursor:pointer}
.frontend-gate__card button:hover{filter:brightness(.96)}
a{
    text-decoration:none;
    color:inherit
}
.site-header{
    position:fixed;
    z-index:10;
    top:0;
    left:0;
    right:0;
    height:94px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 clamp(20px, 6vw, 92px);
    color:var(--blue);
    background:var(--white);
    box-shadow:0 2px 14px rgba(11,17,39,.1)
}
/*
.site-header.is-scrolled,
.site-header.menu-open{
    background:#fff;
    color:var(--blue);
    box-shadow:0 2px 14px rgba(11,17,39,.12)
}
*/
.brand{
    display:flex;
    align-items:center;
    min-width:220px;
    height:72px
}
.brand-logo{
    display:block;
    width:auto;
    height:72px;
    max-width:220px;
    object-fit:contain;
    mix-blend-mode:multiply
}
    .desktop-nav{
        display:flex;
        align-items:center;
        gap:clamp(16px,2.2vw,34px);font-size:15px;
        font-weight:600}
        .desktop-nav a{
            color:var(--blue);
            text-shadow:none;
            opacity:1;
            white-space:nowrap
        }
        .desktop-nav a[aria-current="page"]{color:var(--black)}
        .language-switcher{
            position:relative;
            display:block;
            color:inherit
        }
        
        .language-switcher summary{
            display:inline-flex;
            align-items:center;
            gap:12px;
            min-height:36px;
            padding:0 5px;
            border:0;
            background:transparent;
            color:inherit;
            font:inherit;
            font-size:14px;
            font-weight:500;
            cursor:pointer
        }
        .language-switcher summary::-webkit-details-marker{display:none}
        .language-switcher .language-flag{font-size:18px;line-height:1}
        .language-chevron{
            width:9px;
            height:9px;
            margin-left:7px;
            border-right:2px solid currentColor;
            border-bottom:2px solid currentColor;
            transform:rotate(45deg) translateY(-3px);
            transition:transform .2s ease
        }
        .language-switcher[open] .language-chevron{transform:rotate(225deg) translate(-2px,-1px)}
        .language-menu{
            position:absolute;
            z-index:20;
            top:calc(100% + 8px);
            right:0;
            display:grid;
            min-width:52px;
            overflow:hidden;
            border:1px solid #dce4e8;
            border-radius:5px;
            background:var(--white);
            box-shadow:0 12px 24px rgba(11,17,39,.14)
        }
        .language-menu button{
            display:flex;
            align-items:center;
            justify-content:center;
            gap:0;
            min-height:40px;
            padding:0 10px;
            border:0;
            border-bottom:1px solid #edf0f2;
            background:var(--white);
            color:var(--blue);
            font:inherit;
            font-size:13px;
            font-weight:600;
            cursor:pointer;
            text-align:left
        }
        .language-menu button:last-child{border-bottom:0}
        .language-menu button:hover,.language-menu button.is-active{background:#eef8f2;color:var(--green)}
        .language-menu button span{font-size:17px;line-height:1}
        .site-header.is-scrolled .desktop-nav a,
        .site-header.menu-open .desktop-nav a{
            color:var(--blue);
            text-shadow:none
        }
        .chevron{
            font-size:18px
        }.flag{font-size:16px}
        .donate-top{
            background:var(--orange);
            padding:18px 28px;
            border-radius:9px;
            margin-left:4px;
            color:var(--blue);
            text-shadow:none;
            font-size:16px;
            font-weight:700
        }
        .desktop-nav a.donate-top{
            color:var(--blue);
        }
        .nav-dropdown{
            position:relative;
            display:flex;
            align-items:center
        }
        .nav-dropdown-toggle{
            display:flex;
            align-items:center;
            gap:7px;
            padding:4px 0;
            border:0;
            background:transparent;
            color:inherit;
            font:inherit;
            font-size:14px;
            font-weight:700;
            cursor:pointer;
            white-space:nowrap
        }
        .nav-dropdown-toggle span{
            display:inline-block;
            font-size:15px;
            font-weight:400;
            line-height:1;
            transition:transform .2s ease
        }
        .nav-dropdown.is-open .nav-dropdown-toggle span{
            transform:translateY(1px)
        }
        .nav-dropdown-menu{
            position:absolute;
            top:calc(100% + 20px);
            left:50%;
            display:grid;
            min-width:178px;
            overflow:hidden;
            border-radius:0 0 4px 4px;
            background:var(--green);
            box-shadow:0 10px 24px rgba(11,17,39,.18);
            opacity:0;
            pointer-events:none;
            transform:translate(-50%,-8px);
            transition:opacity .2s ease,transform .2s ease
        }
        .nav-dropdown-menu a{
            padding:14px 18px;
            color:var(--white)!important;
            font-size:12px;
            font-weight:700;
            letter-spacing:.3px;
            text-shadow:none!important
        }
        .nav-dropdown-menu a:nth-child(even){
            background:rgba(255,255,255,.14)
        }
        .nav-dropdown-menu a:hover,
        .nav-dropdown-menu a:focus-visible{
            background:var(--orange);
            color:var(--blue)!important
        }
        .nav-dropdown:hover .nav-dropdown-menu,
        .nav-dropdown.is-open .nav-dropdown-menu,
        .nav-dropdown:focus-within .nav-dropdown-menu{
            opacity:1;
            pointer-events:auto;
            transform:translate(-50%,0)
        }
        .menu-toggle{
            display:none;
            background:transparent;
            border:0;color:#fff;
            font-size:30px
        }
.site-header.is-scrolled .menu-toggle,
.site-header.menu-open .menu-toggle{
    color:var(--blue)
}
.hero{
    position:relative;
    aspect-ratio:16 / 9;
    background:#687070;
    overflow:hidden
}
.hero::before{
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.16) 42%,rgba(0,0,0,.08) 100%)
}
.hero-reference{
    position:absolute;
    z-index:0;
    inset:0;
    background-image:url('assets/optimized/bk2.jpg');
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center 52%
}

.hero-copy{
    display:none
}
.hero-copy{
    position:absolute;
    z-index:2;
    left:9%;
    bottom:20px;
    width:63%;
    color:#fff;
    text-shadow:0 1px 2px rgba(0,0,0,.15)
}
.hero-copy h1{font-size:clamp(28px,3.2vw,46px);
    line-height:1.12;
    font-weight:400;
    margin:0 0 26px
}
.hero-copy p{
    font-size:clamp(12px,1.15vw,16px);
    line-height:1.55;
    margin:0
}
.hero-impact-statement{
    position:absolute;
    z-index:2;
    top:50%;
    right:clamp(28px,6vw,108px);
    width:min(46vw,620px);
    padding:22px 26px;
    border-left:3px solid var(--orange);
    border-radius:0 10px 10px 0;
    background:linear-gradient(90deg,rgba(4,18,14,.82),rgba(4,18,14,.56));
    box-shadow:0 12px 30px rgba(0,0,0,.2);
    backdrop-filter:blur(3px);
    color:var(--white);
    text-shadow:0 2px 14px rgba(0,0,0,.5);
    transform:translateY(-50%)
}
.hero-impact-statement span{display:block;color:#d5f0df;font-size:14px;font-weight:700;letter-spacing:2.4px}
.hero-impact-statement p{margin:12px 0 0;font-size:clamp(34px,3vw,48px);line-height:1.12;font-weight:500}
.hero-impact-statement p span{display:block;color:var(--white);font:inherit;letter-spacing:0}
.hero-mobile-overlay{
    display:none
}
.donation-card{
    position:absolute;
    z-index:4;
    right:2.4%;
    top:130px;
    width:min(30vw,370px);
    min-width:290px;
    background:#fff;
    border-radius:5px;
    box-shadow:0 12px 40px rgba(0,0,0,.18);
    overflow:hidden
}
.home-page .hero>.donation-card{display:none}
.donation-page-main{
    display:grid;
    grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
    gap:clamp(42px,8vw,130px);
    align-items:center;
    min-height:100vh;
    padding:154px 9% 88px;
    background:#f4f7f6
}
.donation-page-intro{max-width:470px}
.donation-page-intro .impact-label{color:var(--green)}
.donation-page-intro h1{margin:22px 0;color:var(--blue);font-size:clamp(38px,4.4vw,64px);line-height:1.05;font-weight:600}
.donation-page-intro p{max-width:410px;margin:0;color:var(--muted);font-size:17px;line-height:1.7}
.donation-page .donation-card{
    position:relative;
    top:auto;
    right:auto;
    width:min(100%,560px);
    min-width:0;
    margin-left:auto;
    box-shadow:0 18px 45px rgba(11,17,39,.14)
}
.donation-page .donation-title{padding:22px 52px;font-size:17px}
.donation-page .donation-body{padding:34px 38px 36px}
.donation-page .donation-step>p{font-size:19px}
.donation-title{
    font-size:14px;
    font-weight:600;
    text-align:center;
    padding:18px 16px
}
.donation-divider{
    height:7px;
    background:#dfe4e8;
    border-top:1px solid #cfd7dd
}
.donation-progress{
    height:8px;
    background:#dfe4e8
}
.donation-progress span{
    display:block;
    width:20%;
    height:100%;
    background:var(--green);
    transition:width .25s ease
}
.donation-back{
    position:absolute;
    left:18px;
    border:0;
    background:transparent;
    color:#8a9299;
    font-size:27px;
    line-height:1;
    cursor:pointer
}
.donation-step{display:none}
.donation-step.is-active{display:block}
.donation-step>p{
    margin:0 0 30px;
    color:#50585f;
    font-size:18px;
    line-height:1.5
}
.donation-field{
    display:grid;
    gap:8px;
    margin:0 0 22px;
    color:#353a3e;
    font-weight:600
}
.donation-field>span{color:var(--red)}
.donation-field input{
    width:100%;
    padding:14px;
    border:1px solid #aeb4b8;
    border-radius:6px;
    font:inherit
}
.custom-amount-button{
    width:100%;
    margin-top:20px;
    padding:16px;
    border:1px solid #aeb4b8;
    border-radius:4px;
    background:var(--white);
    color:#718394;
    font-size:16px;
    font-weight:600;
    cursor:pointer
}
.donation-next span,
#continueDonate span{margin-left:18px;font-size:24px;font-weight:400}
.donation-summary{
    padding:24px 18px;
    background:#fafafa;
    color:var(--blue)
}
.donation-summary h3{margin:0 0 28px;font-size:23px}
.donation-summary>div{display:flex;justify-content:space-between;gap:16px;margin:0 0 28px;font-size:16px}
.donation-summary hr{border:0;border-top:1px solid #d7dde1;margin:4px 0 28px}
.donation-summary>div:last-child{margin-bottom:0;font-size:20px}
.donation-payment-methods{margin:24px 0 32px}
.bank-transfer-details{
    display:grid;
    gap:0;
    border:1px solid #d7dde1;
    background:#fafafa
}
.bank-transfer-details>div{
    display:grid;
    grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);
    gap:12px;
    padding:13px 14px;
    border-bottom:1px solid #d7dde1;
    color:#334b60;
    font-size:12px
}
.bank-transfer-details>div:last-child{border-bottom:0}
.bank-transfer-details span{color:#667386;font-weight:600}
.bank-transfer-details strong{overflow-wrap:anywhere;color:var(--blue);text-align:right}
.bank-transfer-details .bank-transfer-reference{background:#eff7f1}
.bank-transfer-note{margin:18px 0 8px!important;color:#667386!important;font-size:12px!important}
.donation-confirmation{margin-bottom:24px!important;color:var(--green)!important;font-weight:600}
.donation-home{display:block;text-align:center;text-decoration:none}
.continue-btn:disabled{cursor:wait;opacity:.72}
.donation-body{
    padding:28px 26px 24px
}
.donation-body>p{
    font-size:13px;
    line-height:1.45;
    margin:0 0 25px;
    color:#334b60
}
.amount-label-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:12px
}
.amount-label-row strong span{
    color:#e23b2e
}
.currency{
    background:#e8ebee;
    border-radius:6px;
    padding:7px 9px;
    color:#506273;
    font-size:10px
}
    .custom-amount-wrap{
        display:grid;
        grid-template-columns:1fr 1.05fr;
        gap:12px;
        align-items:center;
        margin:10px 0 15px
    }
    .custom-amount-wrap input{
        width:100%;
        padding:12px 10px;
        border:1px solid #a9b0b5;
        border-radius:4px;
        font-size:13px
    }
    .custom-amount-wrap span{
        font-size:12px;
        line-height:1.25
    }
    .amount-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:9px
    }
    .amount-btn,.continue-btn{
        border:1px solid #aeb4b8;
        background:#fff;
        border-radius:4px;
        padding:12px 6px;
        font-size:12px;
        font-weight:600;
        cursor:pointer}
        .payment-methods{
            margin-top:18px;
            display:grid;
            gap:6px;
            color:var(--blue);
            font-size:12px;
            font-weight:700
        }
        .payment-options{
            display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
            gap:8px
        }
        .payment-option{
            padding:11px 6px;
            border:1px solid #cbd2d9;
            border-radius:4px;
            background:#fff;
            color:var(--blue);
            font-size:12px;
            font-weight:700;
            cursor:pointer
        }
        .payment-option.active{
            border-color:var(--blue);
            background:var(--blue);
            color:#fff
        }
        .payment-note{
            display:block;
            margin-top:10px;
            color:#667386;
            font-size:10px;
            line-height:1.35;
            text-align:center
        }
        .amount-btn.active{
            background:var(--green);
            border-color:var(--green);
            color:#fff
        }
        .continue-btn{
            width:100%;
            margin-top:12px;
            background:var(--green);
            border-color:var(--green);
            color:#fff
        }
        .section{
            padding:95px 9%
        }
        .section-kicker{
            font-size:12px;
            letter-spacing:2.5px;
            font-weight:700;
            color:var(--orange);
            margin-bottom:15px
        }
        .section-kicker--pill{
            display:inline-flex;
            align-items:center;
            gap:16px;
            min-height:60px;
            padding:0 34px;
            border:1px solid var(--blue);
            border-radius:999px;
            background:color-mix(in srgb, var(--blue) 8%, var(--white));
            color:var(--blue);
            font-size:17px;
            letter-spacing:6px;
            line-height:1;
        }
.section-kicker--pill::before{
            content:"";
            width:12px;
            height:12px;
            flex:0 0 12px;
            border-radius:50%;
    background:var(--blue);
}
.section-kicker--featured{
    gap:15px;
    min-height:54px;
    padding:0 22px;
    border-color:var(--green);
    background:var(--white);
    color:var(--green);
    font-size:14px;
    letter-spacing:2.4px;
    box-shadow:none
}
.section-kicker--featured::before{display:none}
.section-kicker--featured .section-kicker-icon{width:19px;height:19px;color:var(--orange);stroke-width:2.8}
.impact-areas .area-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
    margin-top:48px
}
.impact-areas .area{
    position:relative;
    display:flex;
    min-height:500px;
    flex-direction:column;
    padding:0;
    border:1px solid #d9e6df;
    border-radius:8px;
    background:var(--white);
    overflow:hidden;
    transition:transform .24s ease,box-shadow .24s ease
}
.impact-areas .area:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(11,17,39,.1)}
.area-media{height:148px;overflow:hidden;background:#dbe7e0}
.area-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.area:hover .area-media img{transform:scale(1.05)}
.impact-areas .area-icon{
    position:absolute;
    top:116px;
    left:22px;
    z-index:1;
    width:54px;
    height:54px;
    margin:0;
    border:0;
    border-radius:15px;
    background:var(--green);
    color:var(--white);
    box-shadow:0 7px 14px rgba(15,108,54,.25)
}
.impact-areas .area-icon svg{width:25px;height:25px;stroke-width:2}
.area-content{display:flex;min-height:0;flex:1;flex-direction:column;padding:42px 22px 20px;text-align:left}
.impact-areas .area-number{color:var(--orange);font-size:13px;letter-spacing:1px}
.impact-areas .area h3{margin:22px 0 16px;color:var(--blue);font-size:22px;line-height:1.15}
.impact-areas .area p{margin:0;color:#536174;font-size:15px;line-height:1.65}
.area-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px;border-top:1px dashed #d9e6df;color:#718078;font-size:12px;font-weight:700}
.area-footer>span{display:flex;align-items:center;gap:7px}.area-footer>span::before{width:7px;height:7px;border-radius:50%;background:var(--orange);content:""}
.area-footer a{display:inline-flex;align-items:center;gap:8px;color:var(--green);white-space:nowrap}
.area-footer a svg{width:17px;height:17px;stroke-width:2}
@media(min-width:1181px){
    .impact-areas .area-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1240px;margin-left:auto;margin-right:auto}
}
@media(max-width:1180px){.impact-areas .area-grid{grid-template-columns:repeat(3,1fr)}.impact-areas .area{min-height:460px}.area-media{height:168px}.impact-areas .area-icon{top:136px}}
@media(max-width:760px){.impact-areas .area-grid{grid-template-columns:1fr;gap:18px;margin-top:34px}.impact-areas .area{min-height:0}.area-media{height:220px}.impact-areas .area-icon{top:188px}.area-content{min-height:270px;padding:42px 24px 22px}.impact-areas .area h3{font-size:25px}.impact-areas .area p{font-size:16px}}
body .brand-section{
    grid-template-columns:1fr 1fr;
    padding:0;
    background:var(--blue)
}
.brand-section .brand-panel{
    display:flex;
    min-height:620px;
    flex-direction:column;
    justify-content:center;
    padding:clamp(70px,9vw,142px) clamp(34px,8vw,130px);
    background:var(--blue)
}
.brand-section .section-kicker{margin-bottom:24px;color:var(--orange);font-size:12px;letter-spacing:3.2px}
.brand-section .brand-panel h2{
    max-width:620px;
    margin:0;
    color:var(--white);
    font-size:clamp(42px,4.7vw,72px);
    line-height:1.04;
    font-weight:600;
    letter-spacing:0
}
.brand-section .brand-panel p{
    max-width:590px;
    margin:30px 0 36px;
    color:#ced9e0;
    font-size:17px;
    line-height:1.78
}
.brand-section .outline-btn{
    display:inline-flex;
    width:max-content;
    align-items:center;
    gap:14px;
    padding:16px 22px;
    border-color:var(--orange);
    border-radius:5px;
    background:var(--orange);
    color:var(--blue)
}
.brand-section .outline-btn:hover{background:var(--white);border-color:var(--white);color:var(--blue);transform:translateY(-2px)}
.brand-section .outline-btn svg{width:19px;height:19px;stroke-width:2.2}
.brand-section .brand-visual{min-height:620px;background:#dce8e1}
.brand-section .brand-image{object-position:center;filter:saturate(.94) contrast(1.04)}
@media(max-width:900px){body .brand-section{grid-template-columns:1fr}.brand-section .brand-panel{min-height:0;padding:80px 9%}.brand-section .brand-visual{min-height:500px}}
@media(max-width:760px){.brand-section .brand-panel{padding:72px 20px}.brand-section .brand-panel h2{font-size:42px}.brand-section .brand-panel p{font-size:16px}.brand-section .brand-visual{min-height:390px}}
        .intro{
            text-align:center
        }
        .intro h2,
        .impact-areas h2,
        .brand-panel h2,
        .contact h2{
            font-size:42px;
            line-height:1.15;
            font-weight:500;
            margin:0 auto 22px;
            color:var(--navy);
            max-width:900px}
            .lead{max-width:900px;
                margin:0 auto 55px;
                color:var(--muted);
                font-size:18px;
                line-height:1.8
            }
            .program-grid{
                display:grid;
                grid-template-columns:repeat(3,1fr);
                gap:24px;
                text-align:left
            }
            .program-grid article{
                display:flex;
                flex-direction:column;
                min-height:590px;
                border:1px solid #e5e8ea;
                border-radius:14px;
                background:#fff;
                overflow:hidden;
                transition:.2s
            }
            .program-grid article:hover{
                transform:translateY(-4px);
                box-shadow:0 15px 35px rgba(16,37,58,.08)
            }
            .program-image{
                display:block;
                width:100%;
                height:315px;
                object-fit:cover
            }
            .program-content{
                display:flex;
                flex:1;
                flex-direction:column;
                padding:24px 25px 28px
            }
            .program-grid h3{
                color:var(--green);
                font-size:28px;
                font-weight:400;
                margin:0 0 18px
            }
            .program-grid p,
            .area p,
            .brand-panel p{
                line-height:1.7;
                color:var(--muted)
            }
            .program-grid a{
                color:var(--green);
                font-weight:700;
                margin-top:auto;
                text-align:center
            }
            .program-grid a span{
                display:inline-block;
                margin-left:12px;
                font-size:24px;
                font-weight:400;
                line-height:0;
                vertical-align:-2px
            }
            .impact-areas{
                background:var(--light)
            }
            .impact-areas{
                text-align:center
            }
.area-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;text-align:left;margin-top:45px}.area{background:#fff;border-radius:12px;padding:28px 22px;min-height:220px}.area-icon{width:52px;height:52px;border:1px solid #cde7d7;border-radius:50%;display:grid;place-items:center;background:#eef8f2;color:var(--green);margin-bottom:20px}.area-icon svg{width:24px;height:24px}.area-number{display:block;color:var(--orange);font-weight:700;font-size:13px}.area h3{font-size:21px;margin:25px 0 10px}.brand-section{display:grid;grid-template-columns:1.1fr .9fr;padding-top:0;padding-bottom:0}.brand-panel{padding:100px 10% 100px 0}.brand-panel h2{margin-left:0}.brand-visual{min-height:500px;background:linear-gradient(135deg,#dff2e7,#f6f8f6);display:grid;place-items:center}.bike-illustration{font-size:180px;filter:grayscale(1);opacity:.35}.outline-btn{padding:15px 24px;border:1px solid var(--navy);background:transparent;border-radius:5px;font-weight:700;color:var(--navy);cursor:pointer}.contact{background:#fff}.contact-form{max-width:900px;margin:45px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{font-size:14px;font-weight:600;display:grid;gap:8px}.contact-form input,.contact-form textarea{font:inherit;border:1px solid #d7dde1;border-radius:7px;padding:14px;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green)}.full{grid-column:1/-1}.submit-btn{grid-column:1/-1;justify-self:start;background:var(--green);border:0;color:#fff;border-radius:6px;padding:14px 26px;font-weight:700;cursor:pointer}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:#fff;padding:70px 9%;gap:20px;text-align:center}.stats strong{display:block;font-size:45px;font-weight:500}.stats span{display:block;margin-top:10px;color:#c5d0d8}.footer{display:grid;grid-template-columns:1.2fr .8fr 1.2fr;gap:70px;padding:70px 9%;background:#0b1c2c;color:#d9e0e5}.footer strong{color:#fff;display:block;margin-bottom:18px}.footer p{line-height:1.7;color:#aebac4}.footer a{display:block;margin:9px 0;color:#aebac4}.newsletter{display:flex}.newsletter input{flex:1;padding:13px;border:0;border-radius:5px 0 0 5px}.newsletter button{border:0;background:var(--orange);color:#fff;padding:0 18px;border-radius:0 5px 5px 0;font-weight:700}.copyright{padding:18px 9%;font-size:12px;background:#081623;color:#7e8d99}.copyright span{float:right}
@media(max-width:1100px){.site-header{padding:0 5%}.desktop-nav{gap:14px;font-size:12px}.donate-top{padding:18px 24px}.hero-copy{left:5%;width:60%}.hero-copy h1{font-size:40px}.hero-copy p{font-size:17px}.donation-card{width:350px;right:2%;}.section{padding-left:5%;padding-right:5%}.area-grid{grid-template-columns:repeat(3,1fr)}.brand-section{grid-template-columns:1fr}.brand-visual{min-height:330px}.stats{padding-left:5%;padding-right:5%}.footer{padding-left:5%;padding-right:5%}}
@media(max-width:760px){.site-header{height:78px;padding:0 20px}.brand{min-width:0;height:58px}.brand-logo{height:58px;max-width:180px}.desktop-nav{display:none}.menu-toggle{display:block}.hero{min-height:auto;padding:90px 20px 25px;background:#66706f}.hero-reference{background-position:left top;background-size:auto 520px;height:520px;opacity:.9}.hero-mobile-overlay{display:block;position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.35),rgba(0,0,0,.55) 55%,#fff 55%)}.hero-copy{display:none}.donation-card{position:relative;top:auto;right:auto;width:100%;margin-top:28px;border-radius:10px}.donation-body{padding:25px}.custom-amount-wrap{grid-template-columns:125px 1fr}.custom-amount-wrap input{width:125px}.section{padding:65px 20px}.section-kicker--pill{min-height:52px;padding:0 18px;gap:10px;font-size:12px;letter-spacing:4px}.section-kicker--pill::before{width:9px;height:9px;flex-basis:9px}.intro h2,.impact-areas h2,.brand-panel h2,.contact h2{font-size:32px}.program-grid,.area-grid,.contact-form{grid-template-columns:1fr}.brand-section{grid-template-columns:1fr}.area-grid{gap:12px}.brand-panel{padding:65px 0}.brand-visual{min-height:360px}.stats{grid-template-columns:1fr 1fr;padding:55px 20px}.stats strong{font-size:34px}.footer{grid-template-columns:1fr;padding:55px 20px;gap:30px}.copyright{padding:18px 20px}.copyright span{float:none;display:block;margin-top:6px}}
                        .brand-section{display:grid;grid-template-columns:1.05fr .95fr;padding-top:0;padding-bottom:0;background:var(--white)}
                        .brand-panel{padding:112px 12% 112px 0}
                        .brand-panel h2{margin-left:0;font-size:clamp(42px,4.2vw,60px);letter-spacing:-1px}
                        .brand-panel p{max-width:760px;font-size:18px;line-height:1.85}
                        .brand-visual{position:relative;min-height:530px;background:var(--white);display:grid;place-items:center;overflow:hidden}
                        .brand-image{display:block;position:relative;z-index:1;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
                        .brand-visual:hover .brand-image{transform:scale(1.03)}
                        .outline-btn{padding:16px 30px;border:1px solid var(--navy);background:transparent;border-radius:5px;font-weight:700;color:var(--navy);cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
                        .outline-btn:hover{background:var(--navy);color:var(--white);transform:translateY(-2px)}

@media(max-width:760px){
    .hero{aspect-ratio:auto}
    .hero-reference{height:56.25vw;min-height:211px;background-size:cover;background-position:center 50%}
    .hero-impact-statement{top:auto;right:20px;bottom:28px;width:min(76vw,360px);padding:17px 18px 17px 16px;transform:none}
    .hero-impact-statement span{font-size:12px;letter-spacing:1.8px}
    .hero-impact-statement p{margin-top:8px;font-size:31px}
    .donation-page-main{grid-template-columns:1fr;gap:36px;min-height:0;padding:120px 20px 70px}
    .donation-page-intro h1{font-size:40px}
    .donation-page .donation-card{width:100%;margin:0}
    .donation-page .donation-body{padding:28px 24px 30px}
}

@media(max-width:760px){
    .brand-section{
        grid-template-columns:1fr
    }
    .brand-visual{
        min-height:360px
    }
}

/* Keep the About Us submenu aligned with the header on every viewport. */
.nav-dropdown-menu{
    top:calc(100% + 12px);
    min-width:190px;
    border-radius:5px
}
.nav-dropdown-menu a{
    display:block;
    width:100%;
    line-height:1.2
}
@media(max-width:760px){
    .site-header.menu-open .desktop-nav{
        display:flex;
        position:absolute;
        top:78px;
        left:0;
        right:0;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding:8px 20px 18px;
        background:var(--white);
        box-shadow:0 10px 14px rgba(11,17,39,.1)
    }
    .site-header.menu-open .desktop-nav>a{
        padding:14px 0;
        border-bottom:1px solid #e8ebee
    }
    .site-header.menu-open .desktop-nav .language-switcher{
        width:max-content;
        margin:12px 0;
        color:var(--blue)
    }
    .site-header.menu-open .desktop-nav .donate-top{
        margin:12px 0 0;
        padding:14px 20px;
        text-align:center;
        border:0
    }
    .site-header.menu-open .desktop-nav .nav-dropdown{
        display:block;
        width:100%
    }
    .site-header.menu-open .desktop-nav .nav-dropdown-toggle{
        width:100%;
        justify-content:space-between;
        padding:14px 0;
        border-bottom:1px solid #e8ebee
    }
    .site-header.menu-open .desktop-nav .nav-dropdown-menu{
        position:static;
        display:block;
        width:100%;
        min-width:0;
        max-height:0;
        border-radius:0;
        box-shadow:none;
        opacity:0;
        overflow:hidden;
        pointer-events:none;
        transform:none;
        transition:max-height .25s ease,opacity .2s ease
    }
    .site-header.menu-open .desktop-nav .nav-dropdown.is-open .nav-dropdown-menu{
        max-height:220px;
        opacity:1;
        pointer-events:auto
    }
    .site-header.menu-open .desktop-nav .nav-dropdown-menu a{
        padding:13px 18px;
        border-bottom:1px solid rgba(255,255,255,.12);
        font-size:12px
    }
}

/* Homepage impact dashboard */
.stats{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);
    gap:24px clamp(28px,4vw,58px);
    padding:104px 9%;
    background:var(--blue);
    color:var(--white)
}
.impact-summary{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);
    align-items:end;
    gap:44px;
    padding-bottom:38px;
    border-bottom:1px solid rgba(255,255,255,.2)
}
.impact-summary .impact-label{color:#a4e0bd}
.impact-summary h2{max-width:690px;margin:18px 0 0;color:var(--white);font-size:clamp(38px,4vw,62px);line-height:1.05;font-weight:600}
.impact-summary>p{max-width:380px;margin:0 0 5px;color:#cddae1;font-size:16px;line-height:1.7}
.impact-map-panel{
    position:relative;
    min-height:510px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.2);
    border-radius:8px;
    background:#173548
}
.mozambique-map{height:510px;border:0;background:#b8e5eb}
.mozambique-map .leaflet-container{filter:saturate(.82) contrast(1.04)}
.mozambique-map .leaflet-control-zoom{margin:18px!important;border:0;box-shadow:0 4px 12px rgba(11,17,39,.2)}
.mozambique-map .leaflet-control-zoom a{border:0!important;color:var(--blue);font-weight:600}
.impact-map-status{
    position:absolute;
    z-index:500;
    left:22px;
    bottom:22px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 16px;
    border:1px solid rgba(255,255,255,.32);
    border-radius:6px;
    background:rgba(11,17,39,.86);
    color:var(--white)
}
.impact-map-status strong{color:var(--orange);font-size:30px;line-height:1;font-weight:600}
.impact-map-status span{font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}
.impact-map-legend{
    position:absolute;
    z-index:500;
    top:22px;
    right:22px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border-radius:5px;
    background:rgba(255,255,255,.92);
    color:var(--blue);
    font-size:11px;
    font-weight:700
}
.impact-map-legend>span{width:9px;height:9px;border:2px solid var(--white);border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(15,108,54,.24)}
.impact-marker{border:0!important;background:transparent!important;box-shadow:none!important}
.impact-marker span{display:grid;width:34px;height:34px;place-items:center;border:2px solid var(--white);border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(15,108,54,.25),0 3px 8px rgba(11,17,39,.26);color:var(--white);font-size:9px;font-weight:700}
.impact-metrics{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;min-height:510px}
.impact-metric{
    position:relative;
    display:flex;
    min-height:0;
    flex-direction:column;
    justify-content:flex-end;
    padding:24px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:7px;
    background:#102a3a;
    color:var(--white);
    transition:transform .22s ease,background .22s ease
}
.impact-metric:hover{transform:translateY(-4px);background:#17384a;box-shadow:none}
.impact-metric-top{position:absolute;top:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;margin:0}
.impact-metrics .impact-metric-icon{display:grid;width:42px;height:42px;place-items:center;margin:0;border:1px solid rgba(164,224,189,.55);border-radius:50%;background:rgba(15,108,54,.25);color:#a4e0bd}
.impact-metric-icon svg{width:20px;height:20px;stroke-width:1.8}
.impact-metrics .impact-metric-index{display:block;margin:0;color:var(--orange);font-size:11px;font-weight:700;letter-spacing:1.5px}
.impact-metrics strong{color:var(--white);font-size:clamp(34px,3.2vw,52px);line-height:1;font-weight:600}
.impact-metrics>article>span{margin-top:11px;color:#cbd7de;font-size:13px;font-weight:600;line-height:1.4}
@media(max-width:980px){.stats{grid-template-columns:1fr;padding:82px 7%}.impact-summary{grid-template-columns:1fr;gap:20px}.impact-summary>p{max-width:570px}.impact-map-panel,.mozambique-map,.impact-metrics{min-height:440px;height:440px}.impact-metrics{grid-template-columns:repeat(4,1fr);grid-template-rows:1fr}.impact-metric{padding:20px}.impact-metrics strong{font-size:34px}.impact-metrics>article>span{font-size:12px}}
@media(max-width:760px){.stats{padding:70px 20px}.impact-summary{padding-bottom:30px}.impact-summary h2{font-size:38px}.impact-map-panel,.mozambique-map{min-height:390px;height:390px}.impact-metrics{min-height:0;height:auto;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,154px)}.impact-metric{padding:18px}.impact-metric-top{top:16px;left:16px;right:16px}.impact-metrics .impact-metric-icon{width:36px;height:36px}.impact-metrics strong{font-size:31px}.impact-metrics>article>span{margin-top:8px;font-size:12px}.impact-map-status{left:14px;bottom:14px}.impact-map-legend{top:14px;right:14px}}
@media(max-width:430px){.impact-metrics{grid-template-columns:1fr;grid-template-rows:repeat(4,130px)}}

.partners{
    padding:92px 9% 86px;
    background:var(--white)
}
.partners-heading{
    display:grid;
    justify-items:center;
    margin-bottom:58px
}
.partner-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    align-items:center;
    gap:42px 28px
}
.partner-logo{
    display:flex;
    min-height:62px;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:var(--muted);
    font-size:20px;
    font-weight:700;
    letter-spacing:.5px;
    filter:none;
    opacity:1;
    transition:transform .2s ease
}
.partner-logo img{
    display:block;
    width:min(100%,190px);
    height:72px;
    object-fit:contain
}
.partner-logo:hover{
    transform:translateY(-2px)
}
.partner-logo small{
    display:block;
    margin-left:5px;
    font-size:7px;
    letter-spacing:1px
}
.partner-logo span{
    color:var(--orange)
}
.partner-logo--blue{color:#14549a}.partner-logo--red{color:#cf302a}.partner-logo--dark{color:var(--blue)}.partner-logo--green{color:var(--green)}.partner-logo--purple{color:#493d73}.partner-logo--orange{color:#df6b25}
@media(max-width:1100px){
    .partner-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:760px){
    .partners{padding:68px 20px}
    .partners-heading{margin-bottom:38px}
    .partners-heading h2{font-size:36px}
    .partner-grid{grid-template-columns:repeat(2,1fr);gap:24px 14px}
    .partner-logo{font-size:16px}
    .partner-logo img{height:58px}
}

.campaign-page .site-header{
    background:var(--white);
    color:var(--blue);
    box-shadow:0 2px 14px rgba(11,17,39,.1)
}

.about-page .site-header{
    background:var(--white);
    color:var(--blue);
    box-shadow:0 2px 14px rgba(11,17,39,.1)
}
.blog-page .site-header{background:var(--white);color:var(--blue);box-shadow:0 2px 14px rgba(11,17,39,.1)}
.blog-page .desktop-nav a,.blog-page .menu-toggle{color:var(--blue);text-shadow:none}
.blog-hero{position:relative;height:380px;margin-top:94px;overflow:hidden;background:var(--blue)}
.blog-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%}
.blog-hero-overlay{position:absolute;inset:0;background:rgba(5,15,12,.62)}
.blog-hero-copy{position:relative;z-index:1;display:flex;width:82%;height:100%;margin:0 auto;flex-direction:column;justify-content:center;color:var(--white)}
.blog-hero-copy span{color:rgba(255,255,255,.84);font-size:14px}
.blog-hero h1{max-width:680px;margin:14px 0 0;font-size:clamp(34px,3.6vw,50px);font-weight:400;line-height:1.15}
.blog-feed{width:min(1180px,82%);margin:0 auto;padding:90px 0 100px}
.blog-featured{display:grid;grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);gap:clamp(42px,8vw,130px);align-items:center;min-height:430px;margin-bottom:110px}
.blog-featured-copy{max-width:370px}
.blog-featured time,.blog-post time{display:block;margin-bottom:14px;color:#8c969d;font-size:10px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase}
.blog-featured h2,.blog-post h2{margin:0;color:#101b25;font-size:25px;line-height:1.22;font-weight:700}
.blog-featured p,.blog-post p{margin:20px 0;color:#78838b;font-size:13px;line-height:1.65}
.blog-featured>img{display:block;width:100%;height:405px;object-fit:cover}
.blog-read-more{display:inline-block;padding:10px 18px;border:1px solid #78cfa2;color:#54766a;font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}
.blog-read-more:hover{background:var(--green);border-color:var(--green);color:var(--white)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:88px 46px}
.blog-post{min-width:0}.blog-post>div{max-width:310px}.blog-post h2{font-size:16px;line-height:1.34}.blog-post p{font-size:12px}.blog-post img{display:block;width:100%;height:225px;margin-bottom:18px;object-fit:cover}
.blog-pagination{display:flex;justify-content:center;gap:5px;margin-top:90px}.blog-pagination button{min-width:32px;height:30px;border:1px solid #b7c0c5;background:var(--white);color:#69767e;font:inherit;font-size:11px;cursor:pointer}.blog-pagination button[aria-current="page"]{background:#f2f5f4}.blog-pagination button:last-child{padding:0 12px}
@media(max-width:900px){.blog-featured{grid-template-columns:1fr;gap:30px;margin-bottom:76px}.blog-featured-copy{max-width:620px}.blog-featured>img{height:370px}.blog-grid{grid-template-columns:repeat(2,1fr);gap:60px 32px}}
@media(max-width:760px){.blog-hero{height:310px;margin-top:78px}.blog-hero-copy,.blog-feed{width:auto;margin-left:20px;margin-right:20px}.blog-hero h1{font-size:34px}.blog-feed{padding:65px 0 75px}.blog-featured{min-height:0;margin-bottom:64px}.blog-featured>img{height:280px}.blog-featured h2{font-size:25px}.blog-grid{grid-template-columns:1fr;gap:52px}.blog-post>div{max-width:none}.blog-post img{height:260px}.blog-pagination{margin-top:64px}}
.about-page .desktop-nav a,
.about-page .menu-toggle{
    color:var(--blue);
    text-shadow:none
}
.about-hero{
    position:relative;
    height:min(68vh,650px);
    min-height:500px;
    margin-top:94px;
    overflow:hidden;
    background:var(--blue)
}
.about-hero>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 48%
}
.about-hero-overlay{
    position:absolute;
    inset:0;
    background:rgba(11,17,39,.58)
}
.about-hero-copy{
    position:relative;
    z-index:1;
    display:flex;
    width:82%;
    height:100%;
    flex-direction:column;
    justify-content:flex-end;
    padding:68px 0;
    color:var(--white)
}
.about-eyebrow,
.about-label{
    display:block;
    color:var(--green);
    font-size:12px;
    font-weight:700;
    letter-spacing:2px
}
.about-eyebrow{color:var(--orange)}
.about-hero h1{
    max-width:720px;
    margin:18px 0;
    font-size:clamp(38px,4vw,54px);
    line-height:1.12;
    font-weight:500
}
.about-hero p{
    max-width:570px;
    margin:0;
    color:rgba(255,255,255,.86);
    font-size:18px;
    line-height:1.7
}
.about-story{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
    gap:clamp(44px,5vw,76px);
    align-items:center;
    padding:95px 9%
}
.about-story h2,
.about-purpose h2,
.about-section-heading h2,
.about-team h2,
.about-cta h2{
    margin:18px 0 24px;
    color:var(--blue);
    font-size:clamp(32px,3.2vw,46px);
    line-height:1.13;
    font-weight:600
}
.about-story-copy .about-label,
.about-story-copy h2,
.about-purpose>div,
.about-section-heading{
    text-align:center
}
.about-story-copy .about-label,
.about-purpose>div .about-label,
.about-section-heading .about-label{
    margin-left:auto;
    margin-right:auto
}
.about-story p,
.about-team p{
    margin:0 0 18px;
    color:var(--muted);
    font-size:17px;
    line-height:1.8
}
.about-story-image{
    position:relative;
    margin:0
}
.about-story-image img{
    display:block;
    width:100%;
    min-height:440px;
    object-fit:cover
}
.about-story-image figcaption{
    position:absolute;
    right:0;
    bottom:0;
    max-width:260px;
    padding:18px 20px;
    background:var(--orange);
    color:var(--blue);
    font-size:14px;
    font-weight:700;
    line-height:1.45
}
.about-purpose{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:end;
    padding:95px 9%;
    background:var(--green);
    color:var(--white)
}
.about-label--light{color:var(--orange)}
.about-purpose h2{margin-bottom:0;color:var(--white)}
.about-purpose p{
    max-width:540px;
    margin:0;
    color:rgba(255,255,255,.84);
    font-size:18px;
    line-height:1.75
}
.about-pillars{
    padding:95px 9%;
    background:var(--light)
}
.about-section-heading{max-width:680px;margin-left:auto;margin-right:auto}
.about-pillar-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-top:52px
}
.about-pillar{
    min-height:265px;
    padding:30px;
    border:1px solid #dce4e8;
    border-radius:8px;
    background:var(--white)
}
.about-pillar svg{
    width:28px;
    height:28px;
    color:var(--green);
    stroke-width:1.8
}
.about-pillar h3{
    margin:38px 0 14px;
    color:var(--blue);
    font-size:20px;
    line-height:1.3
}
.about-pillar p{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.7
}
.about-team{
    padding:95px 9%;
    background:var(--white)
}
.about-team-heading{
    text-align:center
}
.about-team-heading .about-label{
    margin:0 auto
}
.about-team-heading h2{
    display:inline-block;
    margin-bottom:0;
    padding-bottom:18px;
    border-bottom:3px solid var(--green);
    color:var(--green)
}
.about-team-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:clamp(18px,3vw,46px);
    margin-top:48px
}
.about-team-member{
    min-width:0;
    text-align:center
}
.about-team-member img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    object-position:center
}
.about-team-member h3{
    margin:20px 0 0;
    color:var(--green);
    font-size:19px;
    line-height:1.25;
    font-weight:700
}
.about-impact{
    padding:95px 9%;
    background:var(--blue);
    color:var(--white)
}
.about-impact .about-section-heading{max-width:760px}
.about-impact .about-label{color:var(--orange)}
.about-impact .about-section-heading h2{color:var(--white)}
.about-section-heading--center{margin:0 auto;text-align:center}
.about-impact-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    max-width:1180px;
    margin:62px auto 0;
    border-top:1px solid rgba(255,255,255,.24)
}
.about-impact-item{
    min-height:235px;
    padding:28px clamp(22px,3vw,46px) 22px;
    border-right:1px solid rgba(255,255,255,.24)
}
.about-impact-item:first-child{padding-left:0}
.about-impact-item:last-child{padding-right:0;border-right:0}
.about-impact-item-top{display:flex;align-items:center;justify-content:space-between;gap:18px}
.about-impact-number{color:var(--orange);font-size:52px;line-height:1;font-weight:500}
.about-impact-icon{display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:50%;color:#a4e0bd}
.about-impact-icon svg{width:22px;height:22px;stroke-width:1.7}
.about-impact-item p{max-width:270px;margin:42px 0 0;color:var(--white);font-size:20px;line-height:1.42;font-weight:500}
.about-cta{
    position:relative;
    display:grid;
    place-items:center;
    min-height:530px;
    overflow:hidden;
    background:var(--blue)
}
.about-cta>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 38%;
    opacity:.38
}
.about-cta>div{
    position:relative;
    width:82%;
    max-width:760px;
    color:var(--white);
    text-align:center
}
.about-cta h2{color:var(--white)}
.about-cta-link{
    display:inline-block;
    padding:15px 22px;
    border:1px solid var(--orange);
    background:var(--orange);
    color:var(--blue);
    font-size:14px;
    font-weight:700
}
.about-cta-link span{margin-left:12px;font-size:20px;vertical-align:-1px}
@media(max-width:900px){
    .about-story{grid-template-columns:1fr;gap:38px}
    .about-story-image{max-width:700px;width:100%}
    .about-purpose{grid-template-columns:1fr;padding:72px 9%}
    .about-pillar-grid{grid-template-columns:1fr 1fr}
    .about-team-grid{grid-template-columns:repeat(2,1fr);gap:34px}
}
@media(max-width:760px){
    .about-hero{height:68vh;min-height:480px;margin-top:78px}
    .about-hero-copy{width:auto;padding:58px 20px}
    .about-hero h1{font-size:42px}
    .about-hero p{font-size:16px}
    .about-story{padding:74px 20px}
    .about-story-image img{min-height:340px}
    .about-purpose{gap:28px;padding:68px 20px}
    .about-pillars{padding:74px 20px}
    .about-pillar-grid{grid-template-columns:1fr;margin-top:34px}
    .about-pillar{min-height:0;padding:26px}
    .about-pillar h3{margin-top:28px}
    .about-team{padding:74px 20px}
    .about-team-grid{gap:26px 16px;margin-top:36px}
    .about-team-member h3{margin-top:14px;font-size:16px}
    .about-impact{padding:74px 20px}
    .about-impact-list{grid-template-columns:1fr;margin-top:42px}
    .about-impact-item,.about-impact-item:first-child,.about-impact-item:last-child{min-height:0;padding:26px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.24)}
    .about-impact-item:last-child{border-bottom:0}
    .about-impact-number{font-size:44px}
    .about-impact-item p{max-width:360px;margin-top:22px;font-size:18px}
    .about-cta{min-height:470px}
}
.campaign-page .desktop-nav a{
    color:var(--blue);
    text-shadow:none
}
.campaign-page .menu-toggle{
    color:var(--blue)
}
.campaign-hero{
    height:430px;
    overflow:hidden;
    padding-top:94px;
    background:var(--light)
}
.campaign-hero img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 55%
}
.campaigns-content{
    max-width:1320px;
    margin:0 auto;
    padding:58px 30px 100px
}
.campaign-heading{
    max-width:720px;
    margin:0 auto 42px;
    text-align:center
}
.campaign-heading .section-kicker--pill{
    margin-bottom:24px
}
.campaign-heading p{
    margin:0 auto 26px;
    color:var(--muted);
    font-size:14px;
    line-height:1.7
}
.campaign-heading h2{
    margin:0;
    color:var(--green);
    font-size:14px;
    font-weight:500;
    text-transform:uppercase
}
.campaign-heading h2::after{
    content:"";
    display:block;
    width:50px;
    height:2px;
    margin:12px auto 0;
    background:var(--green)
}
.campaign-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:38px 24px
}
.campaign-card{
    overflow:hidden;
    border-radius:7px;
    background:var(--white);
    box-shadow:0 5px 18px rgba(11,17,39,.08)
}
.campaign-card>img{
    display:block;
    width:100%;
    height:230px;
    object-fit:cover
}
.campaign-card-body{
    padding:14px 12px 16px
}
.campaign-card h3{
    min-height:38px;
    margin:0 0 12px;
    color:var(--blue);
    font-size:12px;
    line-height:1.35;
    text-transform:uppercase
}
.campaign-card-body>div{
    display:flex;
    justify-content:space-between;
    gap:10px;
    color:var(--muted);
    font-size:11px
}
.campaign-card strong{
    color:var(--muted);
    font-weight:400;
    white-space:nowrap
}
.campaign-card small{
    display:block;
    margin-top:10px;
    color:var(--muted);
    font-size:10px
}
.campaigns-button{
    display:inline-block;
    margin-top:52px;
    padding:13px 22px;
    border-radius:3px;
    background:var(--orange);
    color:var(--blue);
    font-size:11px;
    font-weight:700;
    text-transform:uppercase
}
@media(max-width:760px){
    .campaign-hero{
        height:310px;
        padding-top:78px
    }
    .campaigns-content{
        padding:44px 20px 70px
    }
    .campaign-heading p{
        font-size:13px
    }
    .campaign-grid{
        grid-template-columns:1fr;
        gap:24px
    }
    .campaign-card>img{
        height:250px
    }
    .campaign-card h3{
        font-size:13px
    }
}

.branded-page .site-header{
    background:var(--white);
    color:var(--blue);
    box-shadow:0 2px 14px rgba(11,17,39,.1)
}
.branded-page .desktop-nav a,
.branded-page .menu-toggle{
    color:var(--blue);
    text-shadow:none
}
.branded-hero{
    height:430px;
    overflow:hidden;
    padding-top:94px;
    background:var(--light)
}
.branded-hero img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 45%
}
.branded-content{
    max-width:1180px;
    margin:0 auto;
    padding:58px 30px 100px
}
.branded-heading{
    max-width:760px;
    margin:0 auto 44px;
    text-align:center
}
.branded-heading .section-kicker--pill{
    margin-bottom:24px
}
.branded-heading h1{
    margin:0;
    color:var(--green);
    font-size:clamp(30px,3.4vw,44px);
    font-weight:400;
    text-transform:none
}
.branded-heading>span{
    display:block;
    width:80px;
    height:2px;
    margin:10px auto 22px;
    background:var(--green)
}
.branded-heading p{
    margin:0 auto 16px;
    color:var(--muted);
    font-size:14px;
    line-height:1.7
}
.branded-button{
    display:inline-block;
    margin-top:10px;
    padding:13px 18px;
    border:0;
    border-radius:3px;
    background:var(--orange);
    color:var(--blue);
    font-size:12px;
    font-weight:700;
    cursor:pointer
}
.modal-open{overflow:hidden}
.contact-modal{
    position:fixed;
    z-index:30;
    inset:0;
    display:grid;
    place-items:center;
    padding:24px
}
.contact-modal[hidden]{display:none}
.contact-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(11,17,39,.55)
}
.contact-modal-dialog{
    position:relative;
    z-index:1;
    width:min(100%,860px);
    max-height:calc(100vh - 48px);
    overflow:auto;
    padding:48px 30px 30px;
    border-radius:12px;
    background:var(--white);
    box-shadow:0 24px 70px rgba(11,17,39,.3)
}
.contact-modal-dialog h2{
    margin:0 0 26px;
    color:var(--blue);
    font-size:28px
}
.contact-modal-close{
    position:absolute;
    top:12px;
    right:16px;
    width:38px;
    height:38px;
    border:2px solid var(--red);
    border-radius:50%;
    background:var(--white);
    color:var(--red);
    font-size:29px;
    font-weight:300;
    line-height:1;
    cursor:pointer
}
.contact-modal .contact-form{
    max-width:none;
    margin:0
}
.contact-modal .contact-form label{
    color:var(--muted)
}
.contact-modal .contact-form input,
.contact-modal .contact-form textarea{
    border-color:#d7dde1;
    background:var(--white)
}
.contact-modal .submit-btn{
    background:var(--green)
}
.branded-gallery{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px
}
.branded-gallery figure{
    height:190px;
    margin:0;
    overflow:hidden;
    border-radius:4px;
    background:var(--light)
}
.branded-gallery img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s ease
}
.branded-gallery figure:hover img{
    transform:scale(1.04)
}
@media(max-width:760px){
    .branded-hero{
        height:310px;
        padding-top:78px
    }
    .branded-content{
        padding:44px 20px 70px
    }
    .branded-heading p{
        font-size:13px
    }
    .branded-gallery{
        grid-template-columns:1fr 1fr;
        gap:10px
    }
    .branded-gallery figure{
        height:145px
    }
    .contact-modal{
        padding:8px
    }
    .contact-modal-dialog{
        max-height:calc(100vh - 16px);
        padding:48px 16px 22px
    }
    .contact-modal .contact-form{
        grid-template-columns:1fr
    }
    .contact-modal .contact-form .full,
    .contact-modal .contact-form .submit-btn{
        grid-column:auto
    }
}

.contact{
    padding:110px 9% 120px;
    background:var(--white)
}
.contact-layout{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    max-width:1240px;
    min-height:560px;
    margin:0 auto;
    overflow:hidden;
    border-radius:16px;
    background:var(--white);
    box-shadow:0 20px 55px rgba(11,17,39,.12)
}
.contact-intro{
    padding:68px clamp(36px,5vw,76px);
    color:var(--white);
    background:linear-gradient(145deg,var(--green),var(--blue))
}
.contact-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
    color:var(--white);
    font-size:11px;
    font-weight:700;
    letter-spacing:2px
}
.contact-badge span{
    color:var(--orange);
    font-size:16px
}
.contact-intro h2{
    max-width:470px;
    margin:42px 0 24px;
    color:var(--white);
    font-size:clamp(38px,4vw,58px);
    line-height:1.05;
    font-weight:600
}
.contact-intro>p{
    max-width:500px;
    color:rgba(255,255,255,.78);
    font-size:17px;
    line-height:1.75
}
.contact-benefits{
    display:grid;
    gap:16px;
    margin:38px 0 0;
    padding:0;
    list-style:none;
    color:var(--white);
    font-size:14px;
    font-weight:700
}
.contact-benefits li{
    display:flex;
    align-items:center;
    gap:12px
}
.contact-benefits li::before{
    content:"✓";
    display:grid;
    flex:0 0 22px;
    width:22px;
    height:22px;
    place-items:center;
    border-radius:50%;
    background:var(--orange);
    color:var(--blue);
    font-size:13px
}
.contact-form-panel{
    padding:68px clamp(30px,5vw,70px);
    background:var(--white)
}
.contact-form-panel h3{
    margin:0 0 30px;
    color:var(--blue);
    font-size:26px
}
.contact-form{
    max-width:none;
    margin:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px
}
.contact-form label{
    color:var(--green);
    font-size:13px;
    font-weight:700
}
.contact-form input,
.contact-form textarea{
    width:100%;
    margin-top:9px;
    border:1px solid #cbd5e1;
    border-radius:5px;
    background:#fbfcfd;
    color:var(--blue);
    font:inherit;
    padding:15px 16px;
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease
}
.contact-form textarea{
    min-height:130px;
    resize:vertical
}
.contact-form input:focus,
.contact-form textarea:focus{
    border-color:var(--green);
    box-shadow:0 0 0 3px rgba(15,108,54,.12)
}
.submit-btn{
    grid-column:1/-1;
    justify-self:start;
    padding:15px 30px;
    border:0;
    border-radius:5px;
    background:var(--blue);
    color:var(--white);
    font-weight:700;
    cursor:pointer;
    transition:background .2s ease,transform .2s ease
}
.submit-btn:hover{
    background:var(--green);
    transform:translateY(-2px)
}
@media(max-width:760px){
    .contact{
        padding:72px 20px 80px
    }
    .contact-layout{
        grid-template-columns:1fr;
        min-height:0
    }
    .contact-intro,
    .contact-form-panel{
        padding:48px 28px
    }
    .contact-intro h2{
        margin-top:30px;
        font-size:38px
    }
    .contact-form{
        grid-template-columns:1fr
    }
    .contact-form .full,
    .contact-form .submit-btn{
        grid-column:auto
    }
}

.stats{
    display:grid;
    grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);
    align-items:stretch;
    gap:clamp(32px,5vw,76px);
    padding:112px 9%;
    background:#f4f7f6;
    color:var(--blue);
    text-align:left
}
.impact-map-panel{
    display:flex;
    flex-direction:column;
    min-height:420px;
    padding:0;
    overflow:hidden;
    border-radius:8px;
    background:var(--blue);
    color:var(--white)
}
.impact-map-copy{
    width:100%;
    max-width:none;
    padding:42px 44px 32px
}
.impact-label{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#a4e0bd;
    font-size:12px;
    font-weight:700;
    letter-spacing:2.4px
}
.impact-label::before{width:24px;height:2px;background:var(--orange);content:""}
.impact-map-copy h2{
    max-width:470px;
    margin:22px 0 16px;
    font-size:clamp(32px,3.2vw,50px);
    line-height:1.06;
    letter-spacing:0
}
.impact-map-copy p{
    max-width:440px;
    margin:0;
    color:#ced9e0;
    font-size:16px;
    line-height:1.65
}

.mozambique-map{
    position:relative;
    width:100%;
    max-width:none;
    flex:1 1 auto;
    height:220px;
    overflow:hidden;
    border:0;
    border-top:1px solid rgba(255,255,255,.25);
    border-radius:0;
    background:#b8e5eb
}
.mozambique-map .leaflet-container{
    width:100%;
    height:100%;
    font-family:var(--font-sans)
}
.impact-marker{
    display:grid;
    place-items:center;
    border:2px solid var(--white);
    border-radius:50%;
    background:var(--green);
    box-shadow:0 0 0 5px rgba(15,108,54,.24),0 2px 7px rgba(0,0,0,.3)
}
.impact-marker span{
    color:var(--white);
    font-size:10px;
    font-weight:700
}
.impact-metrics{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:repeat(2,148px);
    align-content:center;
    gap:16px
}
.impact-metric{
    position:relative;
    display:flex;
    min-height:0;
    flex-direction:column;
    justify-content:center;
    padding:22px 58px 22px 24px;
    border:1px solid #dbe4e4;
    border-radius:8px;
    background:var(--white);
    transition:transform .22s ease,box-shadow .22s ease
}
.impact-metric:hover{transform:translateY(-4px);box-shadow:0 14px 26px rgba(11,17,39,.1)}
.impact-metric-top{position:absolute;top:20px;right:20px;margin:0}
.impact-metrics .impact-metric-icon{display:grid;width:34px;height:34px;place-items:center;margin-top:0;border:1px solid #b9dfc7;border-radius:50%;background:#edf8f0;color:var(--green)}
.impact-metric-icon svg{width:17px;height:17px;stroke-width:1.9}
.impact-metrics .impact-metric-index{display:none}
.impact-metrics strong{
    display:block;
    color:var(--blue);
    font-size:clamp(32px,3.2vw,50px);
    line-height:1;
    font-weight:600
}
.impact-metrics span{
    display:block;
    margin-top:8px;
    color:var(--muted);
    font-size:14px;
    font-weight:600;
    line-height:1.4
}
@media(max-width:1100px){
    .stats{
        grid-template-columns:1fr;
        gap:30px
    }
    .impact-map-panel{
        min-height:420px
    }
}
@media(max-width:760px){
    .stats{
        padding:72px 20px
    }
    .impact-map-panel{
        min-height:0;
        align-items:flex-start;
        gap:0
    }
    .impact-map-copy{
        padding:34px 26px 26px
    }
    .mozambique-map{
        width:100%;
        max-width:none;
        flex-basis:auto;
        height:300px
    }
    .impact-metrics{grid-template-rows:repeat(2,136px);gap:12px}
    .impact-metric{min-height:0;padding:18px 50px 18px 20px}
    .impact-metrics strong{font-size:34px}
    .impact-metrics .impact-metric-icon{width:32px;height:32px}
    .impact-metric-icon svg{width:16px;height:16px}
}
@media(max-width:430px){.impact-metrics{grid-template-columns:1fr;grid-template-rows:repeat(4,130px)}.impact-metric{min-height:0}}

@media(max-width:760px){
    .site-header.menu-open .desktop-nav{
        display:flex!important;
        position:absolute;
        top:78px;
        left:0;
        right:0;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding:8px 20px 18px;
        background:var(--white);
        box-shadow:0 10px 14px rgba(11,17,39,.1)
    }
    .site-header.menu-open .desktop-nav .nav-dropdown-menu{
        position:static;
        display:block;
        width:100%;
        max-height:0;
        min-width:0;
        opacity:0;
        transform:none;
        pointer-events:none;
        box-shadow:none;
        border-radius:0;
        transition:max-height .25s ease,opacity .2s ease
    }
    .site-header.menu-open .desktop-nav .nav-dropdown.is-open .nav-dropdown-menu{
        max-height:220px!important;
        opacity:1;
        pointer-events:auto
    }
}

/* Final impact dashboard overrides: kept last to supersede legacy styles. */
body .stats{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:24px clamp(28px,4vw,58px);padding:104px 9%;background:var(--blue);color:var(--white);text-align:left}
body .stats .impact-summary{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:end;gap:44px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.2)}
body .stats .impact-summary h2{color:var(--white)}
body .stats .impact-map-panel{position:relative;min-height:510px;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#173548;color:var(--white)}
body .stats .mozambique-map{height:510px;margin:0;border:0;background:#b8e5eb}
body .stats .impact-metrics{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;min-height:510px}
body .stats .impact-metric{position:relative;display:flex;min-height:0;flex-direction:column;justify-content:flex-end;padding:24px;border:1px solid rgba(255,255,255,.2);border-radius:7px;background:#102a3a;color:var(--white)}
body .stats .impact-metric-top{position:absolute;top:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;margin:0}
body .stats .impact-metrics .impact-metric-icon{display:grid;width:42px;height:42px;place-items:center;margin:0;border:1px solid rgba(164,224,189,.55);border-radius:50%;background:rgba(15,108,54,.25);color:#a4e0bd}
body .stats .impact-metrics .impact-metric-index{display:block;margin:0;color:var(--orange);font-size:11px;font-weight:700;letter-spacing:1.5px}
body .stats .impact-metrics strong{color:var(--white);font-size:clamp(34px,3.2vw,52px);line-height:1;font-weight:600}
body .stats .impact-metrics>article>span{margin-top:11px;color:#cbd7de;font-size:13px;font-weight:600;line-height:1.4}
@media(max-width:980px){body .stats{grid-template-columns:1fr;padding:82px 7%}body .stats .impact-summary{grid-template-columns:1fr;gap:20px}body .stats .impact-map-panel,body .stats .mozambique-map,body .stats .impact-metrics{min-height:440px;height:440px}body .stats .impact-metrics{grid-template-columns:repeat(4,1fr);grid-template-rows:1fr}body .stats .impact-metric{padding:20px}body .stats .impact-metrics strong{font-size:34px}}
@media(max-width:760px){body .stats{padding:70px 20px}body .stats .impact-summary{padding-bottom:30px}body .stats .impact-summary h2{font-size:38px}body .stats .impact-map-panel,body .stats .mozambique-map{min-height:390px;height:390px}body .stats .impact-metrics{min-height:0;height:auto;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,154px)}body .stats .impact-metric{padding:18px}body .stats .impact-metric-top{top:16px;left:16px;right:16px}body .stats .impact-metrics .impact-metric-icon{width:36px;height:36px}body .stats .impact-metrics strong{font-size:31px}body .stats .impact-metrics>article>span{margin-top:8px;font-size:12px}}
@media(max-width:430px){body .stats .impact-metrics{grid-template-columns:1fr;grid-template-rows:repeat(4,130px)}}

.copyright{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:21px clamp(20px,6vw,92px);
    background:#0b1c2c;
    color:#f4f7fb;
    font-size:15px
}
.copyright p{margin:0}
.copyright a{display:inline;color:var(--white);font-weight:700}
.copyright a:hover{color:var(--orange)}
@media(max-width:760px){.copyright{align-items:flex-start;flex-direction:column;gap:8px;padding:18px 20px;font-size:14px}}

/* Internal pages: visual system aligned with the homepage. */
.about-page,.campaign-page,.branded-page,.blog-page,.donation-page{background:#fff}
.about-hero-copy,.campaign-hero-copy,.branded-hero-copy{width:min(1180px,82%);margin:0 auto}
.about-hero-copy{justify-content:center;padding:0}
.about-hero h1,.campaign-hero h1,.branded-hero h1{letter-spacing:0}
.campaign-hero,.branded-hero{position:relative;height:520px;padding:0;background:var(--blue)}
.campaign-hero>img,.branded-hero>img{position:absolute;inset:0;width:100%;height:100%;object-position:center 48%}
.campaign-hero-overlay,.branded-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,17,39,.82) 0%,rgba(11,17,39,.42) 50%,rgba(11,17,39,.08) 100%)}
.campaign-hero-copy,.branded-hero-copy{position:relative;z-index:1;display:flex;height:100%;flex-direction:column;justify-content:center;color:var(--white)}
.campaign-hero-copy>span,.branded-hero-copy>span{color:var(--orange);font-size:12px;font-weight:700;letter-spacing:2.8px}
.campaign-hero-copy h1,.branded-hero-copy h1{max-width:690px;margin:22px 0 18px;font-size:clamp(44px,5.1vw,76px);line-height:1.03;font-weight:600}
.campaign-hero-copy p,.branded-hero-copy p{max-width:500px;margin:0;color:#d9e4e8;font-size:17px;line-height:1.7}
.campaigns-content,.branded-content{max-width:1240px;padding:104px clamp(20px,6vw,92px)}
.campaign-heading{max-width:800px;margin:0 auto 58px}.campaign-heading p{font-size:17px;line-height:1.75}.campaign-heading h2{margin-top:28px;color:var(--blue);font-size:clamp(28px,3vw,42px);font-weight:600;text-transform:none}.campaign-heading h2::after{background:var(--orange)}
.campaign-grid{gap:26px}.campaign-card{display:flex;min-height:390px;flex-direction:column;border:1px solid #dce6e3;border-radius:8px;box-shadow:none;transition:transform .24s ease,box-shadow .24s ease}.campaign-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(11,17,39,.11)}.campaign-card>img{height:220px}.campaign-card-body{display:flex;flex:1;flex-direction:column;padding:22px}.campaign-card h3{min-height:0;margin-bottom:20px;color:var(--blue);font-size:20px;line-height:1.28;text-transform:none}.campaign-card-body>div{padding-top:15px;border-top:1px solid #e0e9e5;color:var(--muted);font-size:13px}.campaign-card strong{color:var(--green);font-weight:700}.campaign-card small{margin-top:auto;padding-top:16px;color:#7a8b84;font-size:12px}.campaigns-button{display:block;width:max-content;margin:58px auto 0;padding:16px 24px;border-radius:5px;font-size:13px}
.branded-heading{max-width:840px;margin-bottom:64px}.branded-heading h1{margin-top:26px;color:var(--blue);font-size:clamp(40px,4.8vw,66px);line-height:1.04;font-weight:600}.branded-heading>span{width:54px;margin:20px auto 28px;background:var(--orange)}.branded-heading p{max-width:720px;font-size:17px;line-height:1.75}.branded-button{margin-top:20px;padding:16px 24px;border-radius:5px;font-size:13px}.branded-gallery{gap:18px}.branded-gallery figure{height:260px;border-radius:7px}.branded-gallery figure:nth-child(1),.branded-gallery figure:nth-child(6){grid-column:span 2}.branded-gallery img{transition:transform .35s ease}.branded-gallery figure:hover img{transform:scale(1.04)}
.blog-feed{padding-top:104px}.blog-featured{padding-bottom:80px;border-bottom:1px solid #e2e9e6}.blog-read-more{padding:12px 18px;border-color:var(--green);color:var(--green);border-radius:4px}.blog-post{padding-bottom:26px;border-bottom:1px solid #e5ece9}.blog-pagination button{border-radius:3px}
.donation-page-main{position:relative;isolation:isolate;min-height:calc(100vh - 94px);background:#eff5f2}.donation-page-main::before{position:absolute;z-index:-1;inset:0 48% 0 0;background:var(--blue);content:""}.donation-page-intro{padding:30px 0}.donation-page-intro .impact-label{color:var(--orange)}.donation-page-intro h1{color:var(--white)}.donation-page-intro p{color:#d5e0e4}.donation-page .donation-card{border:1px solid #dae5e0;border-radius:8px;box-shadow:0 18px 48px rgba(11,17,39,.16)}.donation-page .donation-title{color:var(--blue)}.donation-page .continue-btn{background:var(--green);border-color:var(--green);color:var(--white)}.donation-page .amount-btn.active{background:var(--green);border-color:var(--green)}
@media(max-width:900px){.campaign-hero,.branded-hero{height:460px}.campaigns-content,.branded-content{padding:78px 7%}.campaign-grid{grid-template-columns:repeat(2,1fr)}.branded-gallery figure,.branded-gallery figure:nth-child(1),.branded-gallery figure:nth-child(6){grid-column:span 1;height:220px}.donation-page-main::before{inset:0 0 54% 0}.donation-page-intro{padding:0}}
@media(max-width:760px){.about-hero-copy,.campaign-hero-copy,.branded-hero-copy{width:auto;margin:0 20px}.about-hero-copy{padding:0}.campaign-hero,.branded-hero{height:430px}.campaign-hero-copy h1,.branded-hero-copy h1{font-size:43px}.campaign-hero-copy p,.branded-hero-copy p{font-size:16px}.campaigns-content,.branded-content{padding:68px 20px}.campaign-grid{grid-template-columns:1fr}.campaign-card{min-height:0}.campaign-card>img{height:240px}.branded-gallery{grid-template-columns:1fr 1fr;gap:12px}.branded-gallery figure{height:160px}.branded-gallery figure:nth-child(1),.branded-gallery figure:nth-child(6){grid-column:span 2;height:240px}.blog-feed{padding-top:70px}.donation-page-main::before{inset:0 0 66% 0}.donation-page-intro{padding-top:0}}

/* Editorial refinements for the remaining menu pages. */
.about-story-copy{max-width:570px}.about-story-copy .about-label,.about-story-copy h2{text-align:left;margin-left:0;margin-right:0}.about-story-image{overflow:hidden;border-radius:8px}.about-story-image img{transition:transform .45s ease}.about-story-image:hover img{transform:scale(1.03)}
.about-purpose{position:relative;overflow:hidden}.about-purpose::after{position:absolute;right:9%;bottom:-74px;width:220px;height:220px;border:1px solid rgba(255,255,255,.2);border-radius:50%;content:""}.about-purpose>*{position:relative;z-index:1}.about-pillar{padding:34px;border-color:#d9e5df;transition:transform .22s ease,box-shadow .22s ease}.about-pillar:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(11,17,39,.09)}.about-team-member{overflow:hidden;border-radius:7px;background:#f5f8f7}.about-team-member img{transition:transform .35s ease}.about-team-member:hover img{transform:scale(1.04)}.about-team-member h3{padding:0 12px 20px}
.campaign-card-body>div span::before{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--orange);content:""}.campaign-card small{border-top:1px solid #e0e9e5}.campaigns-button::after{margin-left:12px;content:"\2192"}
.branded-content{background:#f6f8f7}.branded-heading{padding:0 20px}.branded-gallery figure{box-shadow:0 8px 18px rgba(11,17,39,.08)}
.blog-hero{height:470px}.blog-hero-overlay{background:linear-gradient(90deg,rgba(4,17,14,.82) 0%,rgba(4,17,14,.54) 50%,rgba(4,17,14,.18) 100%)}.blog-hero-copy{max-width:1180px}.blog-hero-copy span,.blog-kicker,.blog-category{font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.blog-hero-copy span{color:#b8e8d0}.blog-hero-copy h1{max-width:720px;margin-top:18px;font-size:clamp(40px,5vw,66px);font-weight:600;letter-spacing:-2.4px}.blog-hero-copy p{max-width:460px;margin:20px 0 0;color:rgba(255,255,255,.84);font-size:15px;line-height:1.6}.blog-feed{padding-top:82px}.blog-feed-heading{display:flex;justify-content:space-between;gap:40px;margin-bottom:54px;padding-bottom:28px;border-bottom:1px solid #dce7e2}.blog-kicker,.blog-category{color:var(--green)}.blog-feed-heading h2{margin:8px 0 0;color:#102b24;font-size:clamp(30px,3vw,42px);letter-spacing:-1.4px}.blog-feed-heading p{max-width:390px;margin:4px 0 0;color:#66756e;font-size:14px;line-height:1.7}.blog-featured{grid-template-columns:minmax(300px,.85fr) minmax(420px,1.15fr);gap:clamp(42px,7vw,110px);min-height:0;margin-bottom:74px;padding:0 0 78px;border-bottom:1px solid #dce7e2}.blog-featured-copy{max-width:470px}.blog-featured time,.blog-post time{margin:12px 0 16px;color:#78857e}.blog-featured h2{font-size:clamp(28px,2.7vw,40px);letter-spacing:-1.25px;line-height:1.13}.blog-featured p{max-width:430px;font-size:14px}.blog-featured-media{position:relative;min-height:420px;overflow:hidden;border-radius:4px}.blog-featured-media img{display:block;width:100%;height:100%;object-fit:cover}.blog-featured-media span{position:absolute;right:16px;bottom:16px;padding:8px 10px;background:#fff;color:#163c30;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.blog-read-more{display:inline-flex;align-items:center;gap:11px;padding:0;border:0;color:#176342;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.blog-read-more span{font-size:17px;transition:transform .2s ease}.blog-read-more:hover{background:transparent;border:0;color:#0d3f2a}.blog-read-more:hover span{transform:translateX(4px)}.blog-grid{gap:34px 26px}.blog-post{display:flex;min-height:0;flex-direction:column;overflow:hidden;border:1px solid #e1e9e5;border-radius:5px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.blog-post:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(17,58,43,.1)}.blog-post>img{width:100%;height:205px;margin:0;object-fit:cover}.blog-post>div{display:flex;flex:1;flex-direction:column;max-width:none;padding:25px 25px 27px}.blog-post h2{font-size:19px;line-height:1.27;letter-spacing:-.35px}.blog-post p{font-size:13px;line-height:1.65}.blog-post .blog-read-more{margin-top:auto;align-self:flex-start;padding-top:8px}.blog-pagination{margin-top:68px}
.donation-page-main{padding-top:142px;padding-bottom:104px}.donation-page-intro::before{display:block;width:46px;height:3px;margin-bottom:22px;background:var(--orange);content:""}.donation-page .donation-card{overflow:hidden}.donation-page .donation-progress{background:#e1e9e4}.donation-page .donation-progress span{background:var(--green)}.donation-page .payment-option.active{border-color:var(--green);background:var(--green);color:var(--white)}
@media(max-width:760px){.about-story-copy .about-label,.about-story-copy h2{text-align:center;margin-left:auto;margin-right:auto}.about-purpose::after{right:-65px}.blog-hero{height:410px}.blog-hero-copy h1{font-size:42px;letter-spacing:-1.6px}.blog-feed{padding-top:58px}.blog-feed-heading{display:block;margin-bottom:38px;padding-bottom:22px}.blog-feed-heading p{margin-top:16px}.blog-featured{gap:28px;margin-bottom:54px;padding-bottom:55px}.blog-featured h2{font-size:30px}.blog-featured-media{min-height:300px;order:-1}.blog-grid{gap:22px}.blog-post{min-height:0}.blog-post>img{height:215px}.blog-post>div{padding:22px 22px 24px}.blog-post h2{font-size:18px}.blog-post.blog-post--image>div{padding:0 24px 24px}.donation-page-main{padding-top:112px;padding-bottom:72px}}

/* Responsive safeguards shared by every page. */
img,svg,video,iframe{max-width:100%}
input,textarea,select,button{max-width:100%}
body{overflow-x:clip}

@media(max-width:900px){
  .site-header{height:78px;padding:0 24px}
  .brand,.brand-logo{height:58px}.brand{min-width:0}.brand-logo{max-width:180px}
  .desktop-nav{display:none}.menu-toggle{display:block}
  .blog-hero{margin-top:78px}
  .site-header.menu-open .desktop-nav{display:flex;position:absolute;top:78px;left:0;right:0;max-height:calc(100vh - 78px);flex-direction:column;align-items:stretch;gap:0;overflow:auto;padding:8px 24px 18px;background:var(--white);box-shadow:0 10px 14px rgba(11,17,39,.1)}
  .site-header.menu-open .desktop-nav>a{padding:14px 0;border-bottom:1px solid #e8ebee}
  .site-header.menu-open .desktop-nav .language-switcher{width:max-content;margin:12px 0;color:var(--blue)}
  .site-header.menu-open .desktop-nav .donate-top{margin:12px 0 0;padding:14px 20px;text-align:center}
  .site-header.menu-open .desktop-nav .nav-dropdown{display:block;width:100%}
  .site-header.menu-open .desktop-nav .nav-dropdown-toggle{width:100%;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e8ebee}
  .site-header.menu-open .desktop-nav .nav-dropdown-menu{position:static;width:100%;min-width:0;max-height:0;overflow:hidden;border:0;border-radius:0;box-shadow:none;opacity:0;pointer-events:none;transform:none;transition:max-height .25s ease,opacity .2s ease}
  .site-header.menu-open .desktop-nav .nav-dropdown.is-open .nav-dropdown-menu{max-height:240px;opacity:1;pointer-events:auto}
  .site-header.menu-open .desktop-nav .nav-dropdown-menu a{padding:13px 18px;border-bottom:1px solid #e8ebee}
  .about-team-grid,.about-impact-list{gap:22px}
  .campaigns-content,.branded-content{padding-left:5%;padding-right:5%}
}

@media(max-width:600px){
  .site-header{padding:0 20px}
  .site-header.menu-open .desktop-nav{padding-left:20px;padding-right:20px}
  .newsletter{flex-direction:column;gap:8px}.newsletter input,.newsletter button{width:100%;border-radius:5px}.newsletter button{min-height:44px}
  .contact-form,.contact-modal .contact-form{grid-template-columns:1fr}.contact-form .full,.contact-form .submit-btn{grid-column:auto}
  .donation-page-main{padding-left:20px;padding-right:20px}.donation-page-intro h1{font-size:clamp(34px,10vw,42px)}
  .donation-page .donation-card{min-width:0}.amount-grid{grid-template-columns:1fr 1fr}.custom-amount-wrap{grid-template-columns:minmax(0,125px) minmax(0,1fr)}
  .about-team-grid{grid-template-columns:1fr}.about-team-member img{height:auto}
  .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:380px){
  .brand-logo{max-width:152px}.menu-toggle{font-size:0}.menu-toggle::after{font-size:24px;content:'☰'}
  .section,.campaigns-content,.branded-content{padding-left:16px;padding-right:16px}
  .blog-hero-copy,.blog-feed,.about-hero-copy,.campaign-hero-copy,.branded-hero-copy{margin-left:16px;margin-right:16px}
  .blog-hero-copy h1,.campaign-hero-copy h1,.branded-hero-copy h1{font-size:34px}
  .amount-grid{grid-template-columns:1fr}.custom-amount-wrap{grid-template-columns:1fr}.custom-amount-wrap input{width:100%}
  .branded-gallery{grid-template-columns:1fr}.branded-gallery figure,.branded-gallery figure:nth-child(1),.branded-gallery figure:nth-child(6){grid-column:auto;height:210px}
}

/* Homepage hero: retain a real image panel on mobile instead of collapsing around absolute children. */
@media(max-width:760px){
  .home-page .hero{min-height:clamp(500px,135vw,620px);padding:0;background:#173b31}
  .home-page .hero-reference{inset:0;width:100%;height:100%;min-height:0;background-position:center center;background-size:cover;opacity:1}
  .home-page .hero::before{background:linear-gradient(180deg,rgba(4,18,14,.38) 0%,rgba(4,18,14,.12) 35%,rgba(4,18,14,.72) 100%)}
  .home-page .hero-mobile-overlay{display:block;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,18,14,.42) 100%)}
  .home-page .hero-impact-statement{right:20px;bottom:34px;left:20px;width:auto;padding-left:16px}
  .home-page .hero-impact-statement p{font-size:clamp(27px,8vw,36px)}
}

@media(max-width:380px){
  .home-page .hero{min-height:480px}
  .home-page .hero-impact-statement{right:16px;bottom:28px;left:16px}
}

/* Donation calls to action */
.donate-top,.continue-btn{
  position:relative;
  overflow:hidden;
  transition:transform .16s ease,box-shadow .16s ease
}
.donate-top:hover,.continue-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(11,17,39,.2)}
.donate-top:active,.continue-btn:active,.donate-top.is-clicked,.continue-btn.is-clicked{transform:translateY(2px) scale(.98);box-shadow:0 2px 7px rgba(11,17,39,.18)}
.donate-top:focus-visible,.continue-btn:focus-visible{outline:3px solid rgba(15,108,54,.3);outline-offset:3px}
.donate-top::after,.continue-btn::after{position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45);content:"";opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(1)}
.donate-top.is-clicked::after,.continue-btn.is-clicked::after{animation:donation-pulse .38s ease-out}
@keyframes donation-pulse{from{opacity:.75;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(28)}}

/* Unified section label. */
.section-kicker--pill,
.section-kicker--featured{
  gap:12px;
  min-height:48px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  background:#f0f8f3;
  color:var(--green);
  font-size:14px;
  font-weight:700;
  letter-spacing:2.5px;
  box-shadow:none
}
.section-kicker--pill::before,.section-kicker--featured::before{display:block;width:8px;height:8px;flex:0 0 8px;background:var(--green)}
.section-kicker--featured .section-kicker-icon{display:none}
@media(max-width:600px){.section-kicker--pill,.section-kicker--featured{min-height:46px;padding:0 16px;font-size:12px;letter-spacing:2.1px}}

/* Clear navigation feedback for every "Ler Mais" / article link. */
.program-grid a,.blog-read-more{
  position:relative;
  isolation:isolate;
  transition:color .2s ease,transform .2s ease
}
.program-grid a span,.blog-read-more span{
  display:inline-block;
  transition:transform .2s ease
}
.program-grid a:hover,.program-grid a:focus-visible,.blog-read-more:hover,.blog-read-more:focus-visible{color:#0b4f2b;transform:translateX(2px)}
.program-grid a:hover span,.program-grid a:focus-visible span,.blog-read-more:hover span,.blog-read-more:focus-visible span{transform:translateX(7px)}
.program-grid a:focus-visible,.blog-read-more:focus-visible{outline:2px solid var(--green);outline-offset:5px;border-radius:3px}
.program-grid a.is-navigating span,.blog-read-more.is-navigating span{animation:read-more-arrow .38s ease-out}
@keyframes read-more-arrow{0%{transform:translateX(0)}45%{transform:translateX(11px)}100%{transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){.program-grid a,.blog-read-more,.program-grid a span,.blog-read-more span{transition:none}.program-grid a.is-navigating span,.blog-read-more.is-navigating span{animation:none}}

/* Homepage branded section: the donation flow replaces the decorative bicycle image. */
.home-page .brand-section .brand-visual{
  display:grid;
  place-items:center;
  padding:48px clamp(20px,5vw,72px);
  background:#e9f2ed
}
.home-page .brand-section .brand-visual .donation-card{
  position:relative;
  top:auto;
  right:auto;
  display:block;
  width:min(100%,390px);
  min-width:0;
  margin:0;
  border-radius:8px;
  box-shadow:0 18px 38px rgba(11,17,39,.2)
}
@media(max-width:760px){.home-page .brand-section .brand-visual{min-height:0;padding:38px 20px}.home-page .brand-section .brand-visual .donation-card{width:100%}}

/* Match the personalized-bikes gradient in the left side of the homepage branded section. */
.home-page .brand-section,.home-page .brand-section .brand-panel{background:linear-gradient(145deg,var(--green),var(--blue))}

/* Placeholder article used until individual stories are published. */
.article-page{background:#f5f8f6}.article-content{width:min(100% - 40px,850px);margin:0 auto;padding:150px 0 104px}.article-back{display:inline-flex;align-items:center;gap:10px;margin-bottom:48px;color:var(--green);font-size:13px;font-weight:700}.article-back span{font-size:20px;transition:transform .2s ease}.article-back:hover span{transform:translateX(-4px)}.article-category{color:var(--green);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.article-content h1{max-width:800px;margin:16px 0 22px;color:var(--blue);font-size:clamp(38px,5vw,64px);line-height:1.05;letter-spacing:-2px}.article-lead{max-width:660px;margin:0 0 44px;color:#5b6b66;font-size:18px;line-height:1.7}.article-content>img{display:block;width:100%;height:clamp(260px,48vw,470px);margin-bottom:52px;border-radius:8px;object-fit:cover}.article-body{max-width:690px;margin:0 auto;color:#43514d;font-size:17px;line-height:1.85}.article-body h2{margin:42px 0 16px;color:var(--blue);font-size:30px;line-height:1.2}.article-body p{margin:0 0 24px}@media(max-width:600px){.article-content{width:min(100% - 40px,850px);padding-top:115px;padding-bottom:70px}.article-back{margin-bottom:34px}.article-content h1{letter-spacing:-1.2px}.article-lead,.article-body{font-size:16px}.article-content>img{margin-bottom:36px}}

/* Campaign detail and its embedded donation flow. */
.campaign-detail-page{background:#f6f8f7}.campaign-detail-main{width:min(100% - 40px,1240px);margin:0 auto;padding:136px 0 104px}.campaign-detail-back{display:inline-flex;align-items:center;gap:12px;margin-bottom:62px;color:#53665d;font-size:16px;font-weight:600}.campaign-detail-back span{font-size:26px;transition:transform .2s ease}.campaign-detail-back:hover span{transform:translateX(-5px)}.campaign-detail-info{display:flex;gap:18px;padding:42px;border:1px solid #dbe4df;border-radius:20px;background:#fff;box-shadow:0 3px 6px rgba(11,17,39,.08)};line-height:1}.campaign-detail-info h1{margin:0 0 24px;color:var(--blue);font-size:clamp(28px,3.1vw,38px);line-height:1.16}.campaign-detail-info p{max-width:1020px;margin:0 0 24px;color:#253c4d;font-size:18px;line-height:1.7}.campaign-detail-info p:last-child{margin-bottom:0}.campaign-donation-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(330px,.7fr);gap:clamp(36px,8vw,120px);align-items:center;margin-top:90px;padding:78px clamp(24px,6vw,82px);border-radius:18px;background:linear-gradient(145deg,var(--green),var(--blue))}.campaign-donation-copy{color:#fff}.campaign-donation-copy>span{color:var(--orange);font-size:11px;font-weight:700;letter-spacing:2.2px}.campaign-donation-copy h2{max-width:560px;margin:18px 0;color:#fff;font-size:clamp(34px,4vw,55px);line-height:1.08}.campaign-donation-copy p{max-width:470px;margin:0;color:#dce8e2;font-size:17px;line-height:1.7}.campaign-donation-section .donation-card{position:relative;top:auto;right:auto;width:100%;min-width:0;margin:0;border-radius:8px;box-shadow:0 18px 40px rgba(0,0,0,.24)}.campaign-detail-page .continue-btn{background:var(--green);border-color:var(--green)}.campaign-card[data-campaign-link]{cursor:pointer}.campaign-card[data-campaign-link]:focus-visible{outline:3px solid var(--green);outline-offset:4px}@media(max-width:800px){.campaign-detail-main{padding-top:110px}.campaign-detail-back{margin-bottom:38px}.campaign-detail-info{padding:28px}.campaign-detail-info p{font-size:16px}.campaign-donation-section{grid-template-columns:1fr;margin-top:52px;padding:48px 24px}}@media(max-width:500px){.campaign-detail-main{width:min(100% - 32px,1240px)}.campaign-detail-info{gap:12px;padding:22px;border-radius:13px}.campaign-detail-icon{font-size:25px}.campaign-detail-info h1{font-size:26px}.campaign-donation-section{margin-left:-4px;margin-right:-4px;padding:40px 16px;border-radius:13px}.campaign-donation-copy h2{font-size:34px}}
