:root{
    --saffron:#e86119;
    --saffron-2:#ff8a21;
    --red:#b92820;
    --red-deep:#8f1914;
    --ink:#17120f;
    --muted:#6f635d;
    --cream:#fff7e9;
    --cream-2:#f5ead8;
    --gold:#eab84c;
    --white:#fff;
    --dark:#15110f;
    --dark-2:#241814;
    --line:rgba(42,25,17,.13);

    --header-h:84px;

    --shadow:
        0 22px 70px
        rgba(45,24,11,.18);

    --container-width:1240px;
    --container-gutter:24px;

    --home-section-padding:40px;
}


/* ==================================================
   RESET
================================================== */

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;

    font-family:
        "Inter",
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    background:#fff;

    color:var(--ink);

    overflow-x:hidden;
}

body.home-page{
    background:#0f0c0a;
}

img{
    display:block;
    max-width:100%;
}

a{
    color:inherit;
    text-decoration:none;
}

button,
input,
textarea{
    font:inherit;
}

::selection{
    background:var(--saffron);
    color:#fff;
}


/* ==================================================
   GLOBAL CONTAINER
================================================== */

.site-shell{
    width:calc(
        100% -
        (var(--container-gutter) * 2)
    );

    max-width:var(--container-width);

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


.home-panel .site-shell,
.hero-meta .site-shell,
.site-header .site-shell{
    max-width:var(--container-width);
}


/* ==================================================
   GLOBAL HEADINGS
================================================== */

h1,
h2{
    font-weight:300 !important;
    line-height:1 !important;
}


.display-title{
    font-family:"Anton",sans-serif;

    font-weight:300;

    letter-spacing:.01em;

    text-transform:uppercase;

    line-height:1;

    margin:0;
}


.page-title{
    font-family:"Anton",sans-serif;

    font-size:clamp(
        3.2rem,
        8vw,
        7rem
    );

    line-height:1;

    font-weight:300;

    text-transform:uppercase;

    margin:0;
}


.copy{
    color:var(--muted);

    line-height:1.8;
}


/* ==================================================
   KICKERS
================================================== */

.section-kicker,
.eyebrow{
    display:inline-flex;

    align-items:center;

    gap:9px;

    font-size:.73rem;

    font-weight:800;

    letter-spacing:.17em;

    text-transform:uppercase;

    color:var(--saffron);
}


.section-kicker::before,
.eyebrow::before{
    content:"";

    width:28px;

    height:2px;

    background:currentColor;
}


/* ==================================================
   LOADER
================================================== */

.page-loader{
    position:fixed;

    inset:0;

    z-index:9999;

    background:
        linear-gradient(
            135deg,
            #ff8a21,
            #c92d20 72%
        );

    display:grid;

    place-items:center;

    transition:
        opacity .55s ease,
        visibility .55s ease;
}


.page-loader.is-hidden{
    opacity:0;

    visibility:hidden;

    pointer-events:none;
}


.loader-inner{
    text-align:center;

    color:#fff;
}


.loader-inner img{
    width:200px;

    height:auto;

    object-fit:contain;

    margin:0 auto 18px;

    filter:
        drop-shadow(
            0 12px 24px
            rgba(0,0,0,.15)
        );
}


.loader-inner strong{
    display:block;

    font-family:"Anton",sans-serif;

    font-size:1.4rem;

    letter-spacing:.12em;

    text-transform:uppercase;
}


.loader-dots{
    display:flex;

    justify-content:center;

    gap:7px;

    margin-top:15px;
}


.loader-dots span{
    width:7px;

    height:7px;

    border-radius:50%;

    background:#fff;

    animation:
        loaderPulse
        1s
        infinite
        ease-in-out;
}


.loader-dots span:nth-child(2){
    animation-delay:.16s;
}


.loader-dots span:nth-child(3){
    animation-delay:.32s;
}


@keyframes loaderPulse{

    0%,
    80%,
    100%{
        transform:scale(.55);
        opacity:.45;
    }

    40%{
        transform:scale(1);
        opacity:1;
    }
}


/* ==================================================
   HEADER
================================================== */

.site-header{
    position:fixed;

    inset:0 0 auto;

    z-index:1000;

    height:var(--header-h);

    border-bottom:
        1px solid
        rgba(255,255,255,.18);

    background:transparent;

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


.header-inner{
    height:100%;

    display:grid;

    grid-template-columns:
        170px
        1fr
        auto
        auto;

    align-items:center;

    gap:28px;
}


/* ==================================================
   HEADER BACKGROUND
   SAME GRADIENT ON HOME + INNER PAGES
================================================== */

.home-page
.site-header:not(.is-solid),

.inner-page
.site-header:not(.is-solid){

    background:
        linear-gradient(
            90deg,

            rgba(255,255,255,1) 0%,

            rgba(255,255,255,.96) 5%,

            rgba(255,255,255,.82) 10%,

            rgba(255,255,255,.52) 16%,

            rgba(255,255,255,.25) 23%,

            rgba(255,255,255,.08) 31%,

            rgba(255,255,255,0) 42%
        );

    backdrop-filter:
        blur(10px);

    -webkit-backdrop-filter:
        blur(10px);
}





/* ==================================================
   LOGO
================================================== */

.brand{
    display:flex;

    align-items:center;

    justify-content:flex-start;

    min-width:0;

    background:transparent !important;

    border:0 !important;

    border-radius:0 !important;

    padding:0 !important;

    box-shadow:none !important;

    backdrop-filter:none !important;

    -webkit-backdrop-filter:none !important;

    transition:
        transform .3s ease;
}


.brand:hover{
    transform:
        translateY(-2px);

    box-shadow:none !important;
}


.brand-logo{
    display:block;

    width:auto;

    height:80px;

    max-width:145px;

    object-fit:contain;

    filter:
        drop-shadow(
            0 2px 2px
            rgba(255,255,255,.7)
        )
        drop-shadow(
            0 3px 7px
            rgba(0,0,0,.12)
        );
}


/* ==================================================
   NAVIGATION
================================================== */

.desktop-nav{
    display:flex;

    align-items:center;

    justify-content:center;

    gap:34px;
}


.desktop-nav > a{
    position:relative;

    font-size:.75rem;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;

    white-space:nowrap;

    transition:
        color .25s ease;
}


.home-page
.site-header:not(.is-solid)
.desktop-nav > a{

    color:#fff;

    text-shadow:
        0 1px 3px
        rgba(0,0,0,.55),

        0 2px 8px
        rgba(0,0,0,.25);
}


.desktop-nav > a::after{
    content:"";

    position:absolute;

    left:0;

    right:100%;

    bottom:-10px;

    height:2px;

    background:var(--saffron);

    transition:
        right .3s ease;
}


.desktop-nav > a:hover::after,
.desktop-nav > a.active::after{
    right:0;
}


.desktop-nav > a.active{
    color:var(--saffron);
}


.home-page
.site-header:not(.is-solid)
.desktop-nav > a.active{
    color:#fff;
}


.desktop-nav > a.active::after,
.desktop-nav > a:hover::after{
    background:#ff6b1a;
}


/* ==================================================
   HEADER DONATE
================================================== */

.header-donate{
    padding:13px 18px;

    background:var(--red);

    color:#fff;

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;

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


.header-donate:hover{
    background:var(--saffron);

    transform:
        translateY(-2px);
}


.menu-trigger{
    display:none;

    border:0;

    background:none;

    font-size:1.8rem;

    color:var(--ink);

    padding:8px;
}


.home-page
.site-header:not(.is-solid)
.menu-trigger{
    color:#fff;
}


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

.mobile-menu{
    background:#fff8ed;
}


.mobile-menu .offcanvas-header{
    border-bottom:
        1px solid
        var(--line);
}


.mobile-logo{
    height:76px;
    width:auto;
}


.mobile-links{
    display:grid;
}


.mobile-links a{
    padding:17px 4px;

    border-bottom:
        1px solid
        var(--line);

    font-family:"Anton",sans-serif;

    font-size:1.6rem;

    text-transform:uppercase;
}


.mobile-donate{
    display:block;

    margin-top:26px;

    padding:15px 18px;

    text-align:center;

    background:var(--red);

    color:#fff;

    font-weight:800;

    text-transform:uppercase;

    letter-spacing:.08em;
}


/* ==================================================
   BUTTONS
================================================== */

.btn-site,
.btn-outline-site,
.btn-dark-site{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    min-height:48px;

    padding:0 20px;

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;

    transition:.25s ease;
}


.btn-site{
    background:var(--saffron);

    color:#fff;
}


.btn-site:hover{
    background:var(--red);

    transform:
        translateY(-2px);
}


.btn-outline-site{
    border:
        1px solid
        currentColor;

    color:inherit;
}


.btn-outline-site:hover{
    background:var(--ink);

    border-color:var(--ink);

    color:#fff;

    transform:
        translateY(-2px);
}


.btn-dark-site{
    background:var(--dark);

    color:#fff;
}


.btn-dark-site:hover{
    background:var(--red);

    transform:
        translateY(-2px);
}


.text-link{
    display:inline-flex;

    align-items:center;

    gap:9px;

    color:var(--red);

    font-size:.75rem;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;
}


/* ==========================================================
   HEADER NAVIGATION - TWO ROW DESKTOP
========================================================== */

@media (min-width:992px){

    .site-header .site-shell{
        width:min(96%, 1380px);
        max-width:1380px;
    }


    .header-inner{
        min-height:96px;

        display:grid;

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

        gap:25px;

        align-items:center;
    }


    .brand{
        align-self:center;
    }


    .brand-logo{
        width:auto;
        height:72px;
        max-width:100px;
    }


    /* ==========================================
       NAV WRAPPER
    =========================================== */

    .desktop-nav{
        width:100%;

        min-width:0;

        display:flex;

        flex-direction:column;

        justify-content:center;

        gap:0;
    }


    /* ==========================================
       EACH ROW
    =========================================== */

    .desktop-nav-row{
        width:100%;

        display:flex;

        align-items:center;

        justify-content:space-between;

        gap:18px;

        min-height:37px;
    }


    .desktop-nav-row-bottom{
        border-top:
            1px solid
            rgba(12,31,68,.08);
    }


    /* ==========================================
       LINKS
    =========================================== */

    .desktop-nav-row > a{
        position:relative;

        display:flex;

        align-items:center;

        min-height:37px;

        padding:
            0
            2px;

        color:#15213d;

        font-family:
            "Inter",
            sans-serif;

        font-size:.68rem;

        font-weight:700;

        line-height:1.2;

        letter-spacing:.01em;

        white-space:nowrap;

        text-transform:uppercase;

        transition:
            color .25s ease;
    }


    .desktop-nav-row > a:hover,
    .desktop-nav-row > a.active{
        color:#e86119;
    }


    /* ACTIVE / HOVER UNDERLINE */

    .desktop-nav-row > a::after{
        content:"";

        position:absolute;

        left:0;
        right:0;
        bottom:0;

        height:2px;

        transform:scaleX(0);

        transform-origin:center;

        background:#e86119;

        transition:
            transform .25s ease;
    }


    .desktop-nav-row > a:hover::after,
    .desktop-nav-row > a.active::after{
        transform:scaleX(1);
    }

}


/* ==========================================================
   SMALLER DESKTOP / LAPTOP
========================================================== */

@media
(min-width:992px)
and
(max-width:1199.98px){

    .site-header .site-shell{
        width:calc(100% - 30px);
    }


    .header-inner{
        grid-template-columns:
            85px
            minmax(0,1fr);

        gap:14px;
    }


    .brand-logo{
        height:62px;
        max-width:82px;
    }


    .desktop-nav-row{
        gap:8px;
    }


    .desktop-nav-row > a{
        font-size:.57rem;

        letter-spacing:0;
    }

}


/* ==========================================================
   HEADER — SAME TRANSPARENT STYLE ON ALL PAGES
========================================================== */

/* Header stays transparent at the top of every page */
.site-header:not(.is-solid){
    background:transparent;
    box-shadow:none;
    border-bottom:1px solid rgba(255,255,255,.18);

    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}


/* Inner-page navigation should also be white */
.inner-page
.site-header:not(.is-solid)
.desktop-nav-row > a{
    color:#fff;

    text-shadow:
        0 1px 3px rgba(0,0,0,.55),
        0 2px 8px rgba(0,0,0,.25);
}


/* Active item on inner pages */
.inner-page
.site-header:not(.is-solid)
.desktop-nav-row > a.active{
    color:#fff;
}


/* Bottom navigation separator */
.inner-page
.site-header:not(.is-solid)
.desktop-nav-row-bottom{
    border-top-color:rgba(255,255,255,.18);
}


/* Mobile menu button */
.inner-page
.site-header:not(.is-solid)
.menu-trigger{
    color:#fff;
}


/* Keep the logo clean */
.site-header:not(.is-solid) .brand-logo{
    filter:
        drop-shadow(
            0 2px 2px rgba(255,255,255,.7)
        )
        drop-shadow(
            0 3px 7px rgba(0,0,0,.18)
        );
}


/* ==================================================
   HOME
================================================== */

.home-main{
    position:relative;
}


.home-panel{
    position:relative;

    width:100%;

    min-height:100svh;

    overflow:hidden;

    display:flex;

    align-items:center;

    isolation:isolate;

    background:#fff;

    padding:0;
}


.home-panel:not(.hero-home){
    padding:
        var(--home-section-padding)
        0;
}


.home-panel.dark{
    background:var(--dark);

    color:#fff;
}


/* ==================================================
   PANEL BACKGROUND
================================================== */

.home-panel .panel-bg{
    position:absolute;

    inset:0;

    z-index:-2;
}


.home-panel .panel-bg img{
    width:100%;

    height:100%;

    object-fit:cover;

    transform:
        scale(1.08);

    transition:
        transform
        1.35s
        cubic-bezier(.16,.7,.18,1);
}


.home-panel.is-active .panel-bg img{
    transform:
        scale(1);
}


.home-panel .shade{
    position:absolute;

    inset:0;

    z-index:-1;

    background:
        linear-gradient(
            90deg,

            rgba(24,10,5,.84) 0%,

            rgba(24,10,5,.53) 35%,

            rgba(24,10,5,.09) 70%,

            rgba(24,10,5,.06) 100%
        );
}


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

.home-panel.hero-home .shade{
    background:
        linear-gradient(
            90deg,

            rgba(20,9,4,.72) 0%,

            rgba(20,9,4,.34) 36%,

            rgba(20,9,4,.02) 67%
        );
}


.hero-home{
    color:#fff;

    padding-top:
        var(--header-h);
}


.hero-home .hero-copy{
    width:
        min(
            620px,
            52vw
        );

    padding-top:34px;
}


.hero-home h1{
    font-family:
        "Anton",
        sans-serif;

    font-size:
        clamp(
            4.5rem,
            8.4vw,
            8.8rem
        );

    line-height:1;

    text-transform:uppercase;

    font-weight:300;

    margin:10px 0 10px;

    letter-spacing:-.015em;

    width:122%;

    transform-origin:
        left center;

    text-shadow:
        0 4px 32px
        rgba(0,0,0,.12);
}


.hero-home h1 em{
    font-style:normal;

    color:#ffb022;
}


.hero-home p{
    font-size:1.18rem;

    margin:0 0 28px;

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


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

.hero-actions{
    display:flex;

    gap:12px;

    flex-wrap:wrap;

    position:relative;

    z-index:10;

    margin-bottom:110px;
}


.hero-actions .btn-outline-site{
    color:#fff;
}


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

.hero-meta{
    position:absolute;

    left:0;

    right:0;

    bottom:0;

    width:100%;

    padding:18px 0;

    border-top:
        1px solid
        rgba(255,255,255,.25);

    background:
        rgba(18,10,7,.28);

    backdrop-filter:
        blur(8px);

    -webkit-backdrop-filter:
        blur(8px);
}


.hero-meta .site-shell{
    display:flex;

    justify-content:
        space-between;

    gap:18px;

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

    font-size:.68rem;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;
}


/* ==================================================
   SCROLL CUE
================================================== */

.scroll-cue{
    position:absolute;

    right:
        max(
            34px,
            calc(
                (100vw - var(--container-width)) / 2
            )
        );

    bottom:80px;

    display:flex;

    align-items:center;

    gap:10px;

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

    font-size:.63rem;

    text-transform:uppercase;

    letter-spacing:.1em;
}


.scroll-cue span{
    width:24px;

    height:38px;

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

    border-radius:13px;

    position:relative;
}


.scroll-cue span::after{
    content:"";

    width:3px;

    height:7px;

    background:#fff;

    border-radius:2px;

    position:absolute;

    left:50%;

    top:7px;

    transform:
        translateX(-50%);

    animation:
        scrollDot
        1.5s
        infinite;
}


@keyframes scrollDot{

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

        opacity:0;
    }

    30%{
        opacity:1;
    }

    100%{
        transform:
            translate(-50%,13px);

        opacity:0;
    }
}


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

.home-about{
    background:
        linear-gradient(
            135deg,
            #fff8ed 0%,
            #fff 55%
        );
}


.home-about-grid{
    display:grid;

    grid-template-columns:
        .92fr
        1.08fr;

    gap:72px;

    align-items:center;

    width:100%;
}


.home-about-visual{
    position:relative;

    height:
        min(
            68vh,
            650px
        );
}


.home-about-visual > img{
    width:100%;

    height:100%;

    object-fit:cover;

    box-shadow:
        var(--shadow);
}


.home-about-visual .floating-logo{
    position:absolute;

    width:138px;

    height:138px;

    object-fit:contain;

    right:-40px;

    top:45px;

    background:#fff;

    border-radius:50%;

    padding:18px;

    box-shadow:
        0 18px 50px
        rgba(75,32,13,.2);
}


.home-about-copy h2{
    font-family:"Anton",sans-serif;

    font-size:
        clamp(
            3.2rem,
            5.8vw,
            6.3rem
        );

    line-height:1;

    text-transform:uppercase;

    margin:16px 0 22px;

    font-weight:300;
}


.home-about-copy p{
    max-width:640px;

    color:var(--muted);

    line-height:1.82;
}


/* ==================================================
   FACT STRIP
================================================== */

.fact-strip{
    display:grid;

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

    margin-top:28px;

    border-top:
        1px solid
        var(--line);

    border-bottom:
        1px solid
        var(--line);
}


.fact-strip article{
    padding:
        20px
        20px
        20px
        0;
}


.fact-strip article + article{
    padding-left:20px;

    border-left:
        1px solid
        var(--line);
}


.fact-strip strong{
    font-family:
        "Anton",
        sans-serif;

    font-size:2rem;

    color:var(--red);

    display:block;
}


.fact-strip span{
    font-size:.72rem;

    color:var(--muted);

    line-height:1.4;
}


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

.impact-home{
    background:#14100e;

    color:#fff;

    min-height:100svh;

    display:flex;

    align-items:center;
}


.impact-home > .site-shell{
    width:
        calc(
            100% -
            (var(--container-gutter) * 2)
        );

    max-width:
        var(--container-width);

    margin-inline:auto;
}


.impact-head{
    display:grid;

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

    align-items:end;

    gap:70px;

    margin-bottom:38px;
}


.impact-title{
    max-width:700px;
}


.impact-head .section-kicker{
    margin-bottom:10px;
}


.impact-head h2{
    font-family:"Anton",sans-serif;

    font-size: 
        clamp(
            3.6rem,
            5.2vw,
            5.8rem
        );

    font-weight:300;

    line-height:.64 !important;

    text-transform:uppercase;

    letter-spacing:-.015em;

    margin:0;

    max-width:680px;
}


.impact-intro{
    max-width:500px;

    justify-self:end;

    padding-bottom:5px;
}


.impact-intro p{
    margin:0;

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

    font-size:.98rem;

    line-height:1.7;
}


.impact-view-link{
    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:18px;

    color:#ff8a21;

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;

    transition:
        gap .3s ease,
        color .3s ease;
}


.impact-view-link:hover{
    color:#fff;

    gap:15px;
}


/* ==================================================
   IMPACT GRID
================================================== */

.impact-grid{
    display:grid;

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

    gap:12px;

    width:100%;

    height:auto;

    min-height:0;
}


.impact-card{
    position:relative;

    height:390px;

    padding:0;

    overflow:hidden;

    isolation:isolate;

    display:block;

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

    background:#201815;

    color:#fff;

    transition:
        transform .4s cubic-bezier(.16,.7,.22,1),
        border-color .35s ease,
        box-shadow .4s ease;
}


.impact-card::before{
    content:"";

    position:absolute;

    left:0;

    bottom:0;

    z-index:6;

    width:0;

    height:4px;

    background:var(--saffron);

    transition:
        width .45s
        cubic-bezier(.16,.7,.22,1);
}


.impact-card:hover::before{
    width:100%;
}


.impact-card > img{
    position:absolute;

    inset:0;

    z-index:-3;

    width:100%;

    height:100%;

    object-fit:cover;

    filter:
        saturate(.88)
        contrast(1.03);

    transform:scale(1.02);

    transition:
        transform .75s
        cubic-bezier(.16,.7,.22,1),
        filter .5s ease;
}


.impact-card:hover > img{
    transform:scale(1.08);

    filter:
        saturate(1)
        contrast(1.04);
}


.impact-card-overlay{
    position:absolute;

    inset:0;

    z-index:-1;

    background:
        linear-gradient(
            180deg,
            rgba(10,7,5,.10) 0%,
            rgba(10,7,5,.18) 32%,
            rgba(10,7,5,.70) 70%,
            rgba(10,7,5,.96) 100%
        );

    transition:
        background .4s ease;
}


.impact-card:hover .impact-card-overlay{
    background:
        linear-gradient(
            180deg,
            rgba(10,7,5,.05) 0%,
            rgba(10,7,5,.13) 30%,
            rgba(10,7,5,.63) 65%,
            rgba(10,7,5,.96) 100%
        );
}


.impact-card-top{
    position:absolute;

    left:22px;

    right:22px;

    top:20px;

    z-index:4;

    display:flex;

    align-items:center;

    justify-content:
        space-between;
}


.impact-number{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:40px;

    height:29px;

    padding:0 9px;

    background:
        rgba(15,10,7,.55);

    backdrop-filter:
        blur(6px);

    -webkit-backdrop-filter:
        blur(6px);

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

    color:#ff9a28;

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.08em;
}


.impact-arrow{
    width:42px;

    height:42px;

    border-radius:50%;

    display:grid;

    place-items:center;

    background:
        rgba(15,10,7,.45);

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

    backdrop-filter:
        blur(6px);

    -webkit-backdrop-filter:
        blur(6px);

    font-size:1rem;

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


.impact-card:hover .impact-arrow{
    background:
        var(--saffron);

    border-color:
        var(--saffron);

    transform:
        rotate(45deg);
}








/* 
.impact-card-content{
    position:absolute;

    left:24px;

    right:24px;

    bottom:24px;

    z-index:4;

    transform:
        translateY(42px);

    transition:
        transform .45s
        cubic-bezier(.16,.7,.22,1);
}


.impact-card:hover .impact-card-content{
    transform:
        translateY(0);
}


.impact-card-content h3{
    font-family:
        "Anton",
        sans-serif;

    font-size:
        clamp(
            1.9rem,
            2.15vw,
            2.7rem
        );

    line-height:.95;

    font-weight:400;

    text-transform:uppercase;

    margin:
        0
        0
        13px;

    max-width:250px;
}


.impact-card-content p{
    max-width:255px;

    margin:0;

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

    font-size:.76rem;

    line-height:1.55;

    opacity:0;

    transform:
        translateY(10px);

    transition:
        opacity .35s ease .05s,
        transform .35s ease .05s;
}


.impact-card:hover .impact-card-content p{
    opacity:1;

    transform:
        translateY(0);
} */


.impact-card-content{
    position:absolute;

    left:24px;
    right:24px;
    bottom:24px;

    z-index:4;
}


/* TITLE SHOWS AT BOTTOM FIRST */

.impact-card-content h3{
    font-family:"Anton", sans-serif;

    font-size:clamp(
        1.9rem,
        2.15vw,
        2.7rem
    );

    line-height:.95;

    font-weight:400;

    text-transform:uppercase;

    margin:0;

    max-width:250px;
}


/* PARAGRAPH HIDDEN */

.impact-card-content p{
    max-width:255px;

    max-height:0;

    overflow:hidden;

    margin:0;

    opacity:0;

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

    font-size:.76rem;

    line-height:1.55;

    transform:translateY(10px);

    transition:
        max-height .45s ease,
        opacity .35s ease,
        transform .35s ease,
        margin-top .35s ease;
}


/* SHOW TEXT ON HOVER */

.impact-card:hover .impact-card-content p{
    max-height:280px;

    opacity:1;

    transform:translateY(0);

    margin-top:13px;
}



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

    border-color:
        rgba(255,138,33,.55);

    box-shadow:
        0 24px 60px
        rgba(0,0,0,.28);
}

.impact-title h2 .impact-subtitle {
    font-size: 0.50em;
    line-height: 0px;
}


/* ==================================================
   CAMPAIGN
================================================== */

.campaign-home{
    background:
        linear-gradient(
            135deg,
            #ef741e,
            #c32a20
        );

    color:#fff;
}


.campaign-home-grid{
    display:grid;

    grid-template-columns:
        1fr
        1.05fr;

    gap:60px;

    align-items:center;

    width:100%;
}


.campaign-collage{
    display:grid;

    grid-template-columns:
        1fr
        1fr;

    grid-template-rows:
        1fr
        1fr;

    height:
        min(
            66vh,
            610px
        );

    gap:8px;

    transform:
        rotate(-1deg);
}


.campaign-collage figure{
    margin:0;

    overflow:hidden;

    position:relative;
}


.campaign-collage figure:first-child{
    grid-row:1/3;
}


.campaign-collage img{
    width:100%;

    height:100%;

    object-fit:cover;

    transition:
        transform .7s ease;
}


.campaign-collage figure:hover img{
    transform:
        scale(1.05);
}


.campaign-home-copy h2{
    font-family:
        "Anton",
        sans-serif;

    font-size:
        clamp(
            3.3rem,
            6vw,
            6.6rem
        );

    line-height:1;

    text-transform:uppercase;

    font-weight:300;

    margin:
        15px
        0
        22px;
}


.campaign-home-copy p{
    max-width:560px;

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

    line-height:1.75;
}


.campaign-list{
    display:grid;

    gap:0;

    margin:
        25px
        0
        30px;
}


.campaign-list a{
    display:flex;

    align-items:center;

    justify-content:
        space-between;

    padding:
        14px
        0;

    border-top:
        1px solid
        rgba(255,255,255,.26);

    font-size:.78rem;

    font-weight:800;

    text-transform:uppercase;

    letter-spacing:.08em;
}


.campaign-list a:last-child{
    border-bottom:
        1px solid
        rgba(255,255,255,.26);
}


/* ==================================================
   FOUNDER
================================================== */

.founder-home{
    position:relative;

    width:100%;
    min-height:100svh;

    padding:0 !important;

    overflow:hidden;

    display:flex;
    align-items:stretch;

    background:#111;
    color:#fff;

    isolation:isolate;
}


/* ==================================================
   BACKGROUND
================================================== */

.founder-bg{
    position:absolute;

    inset:0;

    z-index:-5;

    background:
        url("../images/rally-sankrail-1.webp")
        center center /
        cover
        no-repeat;

    transform:scale(1.04);

    filter:
        blur(1px)
        saturate(.7)
        brightness(.65);
}


/* ==================================================
   ORANGE → BLUE OVERLAY
================================================== */

.founder-bg-overlay{
    position:absolute;

    inset:0;

    z-index:-3;

    background:

        linear-gradient(
            90deg,

            rgba(206,76,0,.96) 0%,
            rgba(184,70,4,.89) 22%,
            rgba(120,67,27,.78) 43%,
            rgba(40,55,56,.86) 68%,
            rgba(6,35,51,.98) 100%
        ),

        linear-gradient(
            0deg,

            rgba(3,7,10,.98) 0%,
            rgba(3,7,10,.76) 17%,
            rgba(3,7,10,.32) 37%,
            transparent 65%
        );
}


.founder-home::after{
    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:42%;

    z-index:-1;

    pointer-events:none;

    background:
        linear-gradient(
            0deg,
            rgba(0,0,0,.92) 0%,
            rgba(0,0,0,.56) 48%,
            transparent 100%
        );
}


/* ==================================================
   DEVDUTTA MAJI IMAGE
================================================== */

.founder-person{
    position:absolute;

    left:
        max(
            0px,
            calc(
                (100vw - var(--container-width)) / 2
                - 80px
            )
        );

    bottom:0;

    z-index:2;

    width:
        min(
            50vw,
            680px
        );

    height:
        calc(
            100% - 15px
        );

    overflow:hidden;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            #000 0%,
            #000 72%,
            rgba(0,0,0,.94) 80%,
            rgba(0,0,0,.55) 90%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            90deg,
            #000 0%,
            #000 72%,
            rgba(0,0,0,.94) 80%,
            rgba(0,0,0,.55) 90%,
            transparent 100%
        );
}


.founder-person img{
    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center top;

    box-shadow:none;

    transform:scale(1.01);

    filter:
        saturate(.92)
        contrast(1.03);
}


.founder-person::after{
    content:"";

    position:absolute;

    inset:0;

    pointer-events:none;

    background:
        linear-gradient(
            90deg,

            rgba(205,73,0,.30) 0%,
            rgba(199,75,5,.19) 48%,
            rgba(40,47,42,.08) 76%,
            transparent 100%
        );

    mix-blend-mode:multiply;
}


/* ==================================================
   FOUNDER CONTENT LAYOUT
================================================== */

.founder-banner-content{
    position:relative;

    z-index:5;

    min-height:100svh;

    display:grid;

    grid-template-columns:
        48%
        52%;

    align-items:center;

    padding-top:
        calc(
            var(--header-h) + 35px
        );

    padding-bottom:70px;
}


/* ==================================================
   LEFT ALIGN CONTENT FROM BLUE AREA
================================================== */

.founder-main-content{
    grid-column:2;

    width:100%;

    max-width:650px;

    margin:0;

    padding-left:42px;

    text-align:left;
}


/* ==================================================
   FOUNDER KICKER
================================================== */

.founder-kicker{
    display:inline-flex;

    align-items:center;

    justify-content:flex-start;

    gap:10px;

    margin-bottom:14px;

    color:#ff7919;

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.14em;

    text-transform:uppercase;
}


.founder-kicker::before{
    content:"";

    flex:0 0 31px;

    width:31px;

    height:2px;

    background:#ff7919;
}


/* ==================================================
   FOUNDER NAME
================================================== */

.founder-main-content h2{
    margin:
        0
        0
        10px;

    font-family:
        "Anton",
        sans-serif;

    font-size:
        clamp(
            3.4rem,
            5vw,
            5.5rem
        );

    font-weight:300;

    line-height:1 !important;

    letter-spacing:-.015em;

    text-transform:uppercase;

    text-align:left;

    color:#fff;

    text-shadow:
        0 5px 25px
        rgba(0,0,0,.35);
}


/* ==================================================
   DESCRIPTION
================================================== */

.founder-main-content p{
    margin:
        0
        0
        24px;

    max-width:520px;

    text-align:left;

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

    font-size:.95rem;

    line-height:1.6;
}


/* ==================================================
   READ MORE BUTTON
================================================== */

.founder-read-more{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:124px;

    height:44px;

    padding:
        0
        20px;

    margin:0;

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

    background:
        rgba(0,0,0,.13);

    color:#fff;

    font-size:.88rem;

    font-weight:500;

    text-transform:none;

    letter-spacing:0;

    transition:
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}


.founder-read-more:hover{
    background:var(--saffron);

    border-color:var(--saffron);

    color:#fff;

    transform:
        translateY(-2px);
}


/* ==================================================
   BOTTOM STRIP
================================================== */

.founder-banner-bottom{
    position:absolute;

    left:0;
    right:0;
    bottom:0;

    z-index:10;

    min-height:64px;

    border-top:
        1px solid
        rgba(255,255,255,.09);
}


.founder-bottom-wrap{
    min-height:64px;

    display:flex;

    align-items:center;

    justify-content:flex-start;
}


.founder-bottom-left{
    color:
        rgba(255,255,255,.70);

    font-size:.65rem;

    font-weight:800;

    letter-spacing:.14em;
}


/* ==================================================
   IMAGE ENTRANCE
================================================== */

.founder-home.is-active
.founder-person img{

    animation:
        founderImageZoom
        1.35s
        cubic-bezier(.16,.7,.22,1)
        both;
}


@keyframes founderImageZoom{

    from{
        transform:scale(1.07);
    }

    to{
        transform:scale(1.01);
    }
}


/* ==================================================
   FOUNDER - SMALL DESKTOP
================================================== */

@media (max-width:1100px){

    .founder-person{
        left:-35px;

        width:57vw;
    }


    .founder-banner-content{
        grid-template-columns:
            45%
            55%;
    }


    .founder-main-content{
        grid-column:2;

        width:100%;

        max-width:none;

        margin:0;

        padding-left:38px;

        text-align:left;
    }


    .founder-main-content h2{
        font-size:
            clamp(
                3.4rem,
                6vw,
                5rem
            );

        text-align:left;
    }


    .founder-main-content p{
        text-align:left;
    }

}


/* ==================================================
   FOUNDER - TABLET
================================================== */

@media (max-width:991.98px){

    .founder-home{
        min-height:760px;
    }


    .founder-banner-content{
        min-height:760px;

        grid-template-columns:
            42%
            58%;

        align-items:center;

        padding-top:
            calc(
                var(--header-h) + 30px
            );

        padding-bottom:80px;
    }


    .founder-person{
        left:-12%;

        bottom:0;

        width:72%;

        height:92%;

        opacity:.86;
    }


    .founder-main-content{
        grid-column:2;

        width:100%;

        margin:0;

        padding-left:30px;

        text-align:left;
    }


    .founder-main-content h2{
        font-size:
            clamp(
                3rem,
                7.5vw,
                4.7rem
            );

        text-align:left;
    }


    .founder-main-content p{
        text-align:left;
    }

}


/* ==================================================
   FOUNDER - MOBILE
================================================== */

@media (max-width:640px){

    .founder-home{
        min-height:720px;
    }


    .founder-bg{
        background-position:center;
    }


    .founder-bg-overlay{
        background:

            linear-gradient(
                0deg,

                rgba(5,18,27,.98) 0%,
                rgba(5,18,27,.88) 30%,
                rgba(155,69,15,.55) 58%,
                rgba(215,83,4,.74) 100%
            );
    }


    .founder-home::after{
        height:56%;
    }


    .founder-person{
        top:0;

        bottom:auto;

        left:50%;

        width:100%;

        height:72%;

        transform:
            translateX(-50%);

        opacity:.88;

        -webkit-mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 65%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 65%,
                transparent 100%
            );
    }


    .founder-banner-content{
        min-height:720px;

        display:flex;

        align-items:flex-end;

        padding:
            90px
            0
            103px;
    }


    .founder-main-content{
        width:100%;

        max-width:none;

        margin:0;

        padding-left:0;

        text-align:left;
    }


    .founder-kicker{
        justify-content:flex-start;

        font-size:.64rem;
    }


    .founder-main-content h2{
        font-size:3.3rem;

        text-align:left;
    }


    .founder-main-content p{
        font-size:.88rem;

        text-align:left;
    }


    .founder-read-more{
        margin-left:0;
    }


    .founder-banner-bottom{
        min-height:50px;
    }


    .founder-bottom-wrap{
        min-height:50px;
    }


    .founder-bottom-left{
        display:none;
    }

}


/* ==================================================
   OUR FOOTPRINT IN BENGAL
================================================== */

.footprint-home{
    position:relative;
    width:100%;
    min-height:100svh;
    padding:0 !important;
    overflow:hidden;
    display:flex;
    align-items:center;
    background:#f5a321;
    color:#221526;
    isolation:isolate;
}


/* BACKGROUND IMAGE */

.footprint-bg{
    position:absolute;
    inset:0;
    z-index:-4;
    background:
        url('../images/rally-sankrail-3.webp')
        center center /
        cover
        no-repeat;
    filter:
        saturate(.75)
        contrast(.92)
        brightness(1.08);
    transform:scale(1.04);
}


/* GOLD / SAFFRON WASH */

.footprint-overlay{
    position:absolute;
    inset:0;
    z-index:-3;
    background:
        linear-gradient(
            90deg,
            rgba(255,210,112,.97) 0%,
            rgba(255,190,67,.94) 40%,
            rgba(247,139,28,.88) 68%,
            rgba(230,87,20,.84) 100%
        );
}


.footprint-home::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        linear-gradient(
            0deg,
            rgba(255,243,200,.18),
            rgba(255,243,200,0) 55%
        );
    pointer-events:none;
}


/* MAIN LAYOUT */

.footprint-layout{
    min-height:100svh;
    display:grid;
    grid-template-columns:
        minmax(0,1.08fr)
        minmax(360px,.92fr);
    gap:76px;
    align-items:center;
    padding-top:
        calc(var(--header-h));
    padding-bottom:58px;
}


/* LEFT COPY */

.footprint-copy{
    position:relative;
    z-index:3;
    max-width:700px;
}


.footprint-home .section-kicker{
    color:#b84b16;
    margin-bottom:14px;
}


.footprint-copy h2{
    margin:0 0 18px;
    max-width:690px;
    font-family:"Anton",sans-serif;
    font-size:
        clamp(
            4.2rem,
            6.8vw,
            7.7rem
        );
    font-weight:300;
    line-height:.92 !important;
    letter-spacing:-.02em;
    text-transform:uppercase;
    color:#281b39;
}


.footprint-lead{
    max-width:620px;
    margin:0 0 30px;
    color:rgba(40,27,57,.78);
    font-size:.96rem;
    line-height:1.7;
}


/* STATS */

.footprint-stats{
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:0;
    max-width:650px;
    margin-bottom:27px;
    border-top:1px solid rgba(67,36,48,.20);
    border-bottom:1px solid rgba(67,36,48,.20);
}


.footprint-stats article{
    min-height:112px;
    padding:18px 22px 18px 0;
}


.footprint-stats article:nth-child(even){
    padding-left:24px;
    border-left:1px solid rgba(67,36,48,.20);
}


.footprint-stats article:nth-child(n+3){
    border-top:1px solid rgba(67,36,48,.20);
}


.footprint-stats strong{
    display:block;
    margin-bottom:5px;
    font-family:"Anton",sans-serif;
    font-size:
        clamp(
            2.05rem,
            3.1vw,
            3.15rem
        );
    font-weight:400;
    line-height:1;
    color:#8d3720;
}


.footprint-stats span{
    display:block;
    max-width:230px;
    color:rgba(40,27,57,.72);
    font-size:.72rem;
    line-height:1.45;
}


.footprint-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:46px;
    padding:0 18px;
    border:1px solid rgba(40,27,57,.65);
    color:#281b39;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    transition:
        background .3s ease,
        color .3s ease,
        gap .3s ease;
}


.footprint-link:hover{
    gap:15px;
    background:#281b39;
    color:#fff;
}


/* MAP SIDE */

.footprint-map-wrap{
    position:relative;
    min-height:620px;
    display:flex;
    align-items:center;
    justify-content:center;
}


.footprint-map-glow{
    position:absolute;
    width:430px;
    height:430px;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            rgba(255,247,207,.74) 0%,
            rgba(255,231,147,.34) 48%,
            rgba(255,231,147,0) 73%
        );
    filter:blur(8px);
}


.footprint-map{
    position:relative;
    z-index:2;
    width:min(390px,34vw);
    max-height:560px;
    object-fit:contain;
    filter:
        sepia(1)
        saturate(7)
        hue-rotate(340deg)
        brightness(1.05)
        drop-shadow(0 20px 24px rgba(108,39,17,.18));
    transform:rotate(2deg);
}


.footprint-map-label{
    position:absolute;
    right:2px;
    bottom:70px;
    z-index:4;
    min-width:185px;
    padding:12px 16px;
    border-left:3px solid #b84b16;
    background:rgba(255,233,167,.68);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
}


.footprint-map-label strong{
    display:block;
    font-family:"Anton",sans-serif;
    font-size:1.35rem;
    font-weight:400;
    letter-spacing:.03em;
    color:#281b39;
}


.footprint-map-label span{
    display:block;
    margin-top:2px;
    color:rgba(40,27,57,.68);
    font-size:.65rem;
}


.footprint-map-credit{
    position:absolute;
    right:0;
    bottom:34px;
    color:rgba(40,27,57,.46);
    font-size:.56rem;
}


/* TABLET */

@media (max-width:991.98px){

    .footprint-home{
        min-height:auto;
        padding:0 !important;
    }

    .footprint-layout{
        min-height:auto;
        grid-template-columns:1fr;
        gap:28px;
        padding-top:90px;
        padding-bottom:70px;
    }

    .footprint-copy{
        max-width:none;
    }

    .footprint-copy h2{
        max-width:760px;
        font-size:
            clamp(
                4rem,
                11vw,
                6.4rem
            );
    }

    .footprint-map-wrap{
        min-height:500px;
    }

    .footprint-map{
        width:min(350px,58vw);
        max-height:470px;
    }

    .footprint-map-label{
        right:12%;
        bottom:45px;
    }

    .footprint-map-credit{
        right:12%;
        bottom:18px;
    }
}


/* MOBILE */

@media (max-width:640px){

    .footprint-layout{
        padding-top:70px;
        padding-bottom:55px;
    }

    .footprint-copy h2{
        font-size:
            clamp(
                3.3rem,
                15vw,
                4.6rem
            );
        line-height:.94 !important;
    }

    .footprint-lead{
        font-size:.88rem;
        margin-bottom:24px;
    }

    .footprint-stats{
        grid-template-columns:1fr;
    }

    .footprint-stats article,
    .footprint-stats article:nth-child(even){
        min-height:auto;
        padding:16px 0;
        border-left:0;
        border-top:1px solid rgba(67,36,48,.20);
    }

    .footprint-stats article:first-child{
        border-top:0;
    }

    .footprint-stats strong{
        font-size:2.5rem;
    }

    .footprint-stats span{
        max-width:none;
    }

    .footprint-map-wrap{
        min-height:430px;
    }

    .footprint-map{
        width:min(285px,72vw);
        max-height:390px;
    }

    .footprint-map-glow{
        width:330px;
        height:330px;
    }

    .footprint-map-label{
        right:0;
        bottom:32px;
        min-width:160px;
    }

    .footprint-map-credit{
        right:0;
        bottom:8px;
    }
}


/* ==================================================
   CONTRIBUTE / JOIN THE JOURNEY
================================================== */

.join-home{
    position:relative;

    width:100%;

    min-height:100svh;

    padding:0 !important;

    overflow:hidden;

    display:flex;

    align-items:stretch;

    background:#181724;

    color:#fff;

    isolation:isolate;
}


/* LEFT SIDE IMAGE */

.join-visual{
    position:absolute;

    left:0;

    top:0;

    bottom:0;

    width:50%;

    z-index:1;

    overflow:hidden;

    background:#201610;
}


.join-visual > img{
    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center;

    transform:
        scale(1.05);

    filter:
        saturate(.88)
        contrast(1.04)
        brightness(.82);

    transition:
        transform
        1.2s
        cubic-bezier(.16,.7,.22,1);
}


.join-home.is-active
.join-visual > img{
    transform:
        scale(1);
}


/* IMAGE OVERLAY */

.join-visual-overlay{
    position:absolute;

    inset:0;

    z-index:2;

    background:

        linear-gradient(
            90deg,

            rgba(13,8,6,.08) 0%,

            rgba(13,8,6,.08) 50%,

            rgba(24,23,36,.45) 78%,

            #181724 100%
        ),

        linear-gradient(
            0deg,

            rgba(10,8,8,.45) 0%,

            transparent 48%
        );
}


/* ==================================================
   ROUND SINGHABAHINI BADGE
================================================== */

.join-logo-badge{
    position:absolute;

    left:27%;

    top:54%;

    z-index:6;

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

    width:128px;

    height:128px;

    border-radius:50%;

    padding:15px;

    display:grid;

    place-items:center;

    background:
        linear-gradient(
            145deg,
            #ff982b,
            #e75a13
        );

    border:
        2px solid
        rgba(255,255,255,.85);

    box-shadow:
        0 18px 50px
        rgba(0,0,0,.38);
}


.join-logo-badge::before{
    content:"";

    position:absolute;

    inset:7px;

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

    border-radius:50%;
}


.join-logo-badge img{
    position:relative;

    z-index:2;

    width:100%;

    height:100%;

    object-fit:contain;
}


/* ==================================================
   JOIN CONTAINER
================================================== */

.join-layout{
    position:relative;

    z-index:7;

    min-height:100svh;

    display:grid;

    grid-template-columns:
        48%
        52%;

    align-items:center;
}


/* ==================================================
   RIGHT SIDE CONTENT
================================================== */

.join-home-copy{
    grid-column:2;

    width:100%;

    max-width:none;

    padding:
        calc(var(--header-h) + 35px)
        0
        50px
        55px;
}


.join-home .section-kicker{
    color:#ff8a21;

    margin-bottom:12px;
}


/* MAIN TITLE */

.join-home h2{
    margin:
        0
        0
        14px;

    font-family:
        "Anton",
        sans-serif;

    font-size:
        clamp(
            4.2rem,
            6.1vw,
            7rem
        );

    font-weight:300;

    line-height:.95 !important;

    letter-spacing:-.02em;

    text-transform:uppercase;

    color:#fff;
}


/* SUBTITLE */

.join-subtitle{
    margin:
        0
        0
        8px !important;

    max-width:620px !important;

    font-size:
        clamp(
            1.25rem,
            1.8vw,
            1.75rem
        ) !important;

    line-height:1.3 !important;

    font-weight:400;

    color:
        rgba(255,255,255,.92) !important;
}


/* SUPPORT SINGHABAHINI */

.join-home-copy h3{
    margin:
        0
        0
        16px;

    font-size:
        clamp(
            1.35rem,
            1.8vw,
            1.85rem
        );

    font-weight:800;

    line-height:1.2;

    color:#fff;

    text-transform:uppercase;
}


.join-home-copy h3 span{
    color:#f56b25;
}


/* DESCRIPTION */

.join-description{
    max-width:615px !important;

    margin:
        0
        0
        32px !important;

    color:
        rgba(255,255,255,.64) !important;

    font-size:.93rem;

    line-height:1.65 !important;
}


/* ==================================================
   ACTION GRID
================================================== */

.join-action-grid{
    display:grid;

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

    gap:18px;

    width:100%;

    max-width:610px;
}


.join-action{
    position:relative;

    min-height:126px;

    padding:
        18px
        15px;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:8px;

    text-align:center;

    color:#fff;

    overflow:hidden;

    isolation:isolate;

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


.join-action::before{
    content:"";

    position:absolute;

    inset:0;

    z-index:-1;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.11),
            transparent 55%
        );

    opacity:0;

    transition:
        opacity .3s ease;
}


.join-action:hover{
    color:#fff;

    transform:
        translateY(-6px);

    box-shadow:
        0 20px 40px
        rgba(0,0,0,.28);
}


.join-action:hover::before{
    opacity:1;
}


.join-action i{
    font-size:1.25rem;

    margin-bottom:3px;
}


.join-action span{
    display:block;

    font-size:.80rem;

    font-weight:700;

    line-height:1.25;

    text-transform:uppercase;
}


.join-action strong{
    display:block;

    margin-top:4px;

    font-size:1.08rem;

    font-weight:800;
}


/* ACTION COLOURS */

.join-action-one{
    background:
        linear-gradient(
            145deg,
            #cf401c,
            #f26921
        );
}


.join-action-two{
    background:
        linear-gradient(
            145deg,
            #ae2721,
            #dc4031
        );
}


.join-action-three{
    background:
        linear-gradient(
            145deg,
            #eb681b,
            #ff8b25
        );
}


/* RIGHT SIDE DECORATION */

.join-home::after{
    content:"";

    position:absolute;

    right:-170px;

    top:-160px;

    z-index:0;

    width:610px;

    height:610px;

    border-radius:50%;

    border:
        90px solid
        rgba(255,255,255,.017);

    box-shadow:
        0 0 0 70px
        rgba(255,255,255,.010);

    pointer-events:none;
}


/* ==================================================
   DOT NAV
================================================== */

.fullpage-nav{
    position:fixed;

    right:24px;

    top:50%;

    transform:
        translateY(-50%);

    z-index:900;

    display:grid;

    gap:9px;
}


.fullpage-nav button{
    width:9px;

    height:9px;

    border-radius:50%;

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

    background:transparent;

    padding:0;

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


.fullpage-nav button.active{
    background:
        var(--saffron);

    border-color:
        var(--saffron);

    transform:
        scale(1.35);
}


/* ==================================================
   HOME FADE ANIMATION
================================================== */

.home-page.motion-ready
.home-panel .motion-up,

.home-page.motion-ready
.home-panel .motion-down,

.home-page.motion-ready
.home-panel .motion-left,

.home-page.motion-ready
.home-panel .motion-right,

.home-page.motion-ready
.home-panel .motion-zoom{

    animation:none !important;

    transition:
        opacity
        .85s
        cubic-bezier(.16,.7,.22,1),

        transform
        .85s
        cubic-bezier(.16,.7,.22,1);

    will-change:
        opacity,
        transform;
}


/* BEFORE */

.home-page.motion-ready
.home-panel:not(.has-entered)
.motion-up{
    opacity:0;

    transform:
        translateY(35px);
}


.home-page.motion-ready
.home-panel:not(.has-entered)
.motion-down{
    opacity:0;

    transform:
        translateY(-30px);
}

.hero-home .eyebrow{
    display:inline-flex;
    align-items:center;

    padding:10px 16px;

    background:#fff;

    color:#e86119;

    border-radius:2px;
}


.home-page.motion-ready
.home-panel:not(.has-entered)
.motion-left{
    opacity:0;

    transform:
        translateX(-40px);
}


.home-page.motion-ready
.home-panel:not(.has-entered)
.motion-right{
    opacity:0;

    transform:
        translateX(40px);
}


.home-page.motion-ready
.home-panel:not(.has-entered)
.motion-zoom{
    opacity:0;

    transform:
        scale(.96);
}


/* AFTER */

.home-page.motion-ready
.home-panel.has-entered
.motion-up,

.home-page.motion-ready
.home-panel.has-entered
.motion-down,

.home-page.motion-ready
.home-panel.has-entered
.motion-left,

.home-page.motion-ready
.home-panel.has-entered
.motion-right,

.home-page.motion-ready
.home-panel.has-entered
.motion-zoom{

    opacity:1;

    transform:none;
}


/* DELAYS */

.home-page.motion-ready
.home-panel [data-delay="1"]{
    transition-delay:.10s;
}


.home-page.motion-ready
.home-panel [data-delay="2"]{
    transition-delay:.18s;
}


.home-page.motion-ready
.home-panel [data-delay="3"]{
    transition-delay:.26s;
}


.home-page.motion-ready
.home-panel [data-delay="4"]{
    transition-delay:.34s;
}


/* HERO TITLE WIDTH */

.home-page.motion-ready
.hero-home h1.motion-left{

    animation:none !important;

    transform-origin:
        left center;
}


.home-page.motion-ready
.hero-home:not(.has-entered)
h1.motion-left{

    opacity:0;

    transform:
        translateX(-40px)
        scaleX(.70);
}


.home-page.motion-ready
.hero-home.has-entered
h1.motion-left{

    opacity:1;

    transform:
        translateX(0)
        scaleX(.78);
}


/* ==================================================
   INNER PAGE
================================================== */

.inner-page{
    background:#fff;
}


.page-hero{
    position:relative;

    min-height:72vh;

    padding-top:
        var(--header-h);

    display:flex;

    align-items:flex-end;

    overflow:hidden;

    background:#1b100c;

    color:#fff;

    isolation:isolate;
}


.page-hero .hero-photo{
    position:absolute;

    inset:0;

    z-index:-2;
}


.page-hero .hero-photo img{

    width:100%;

    height:100%;

    object-fit:cover;

    transform:
        scale(1.05);

    animation:
        pageHeroZoom
        1.6s
        .2s
        both
        ease-out;
}


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

    position:absolute;

    inset:0;

    z-index:-1;

    background:

        linear-gradient(
            90deg,

            rgba(17,9,5,.88) 0%,

            rgba(17,9,5,.56) 45%,

            rgba(17,9,5,.14) 85%
        ),

        linear-gradient(
            0deg,

            rgba(17,9,5,.58),

            transparent 55%
        );
}


@keyframes pageHeroZoom{
    to{
        transform:
            scale(1);
    }
}


.page-hero-content{
    padding:
        90px
        0
        62px;

    max-width:900px;
}


.page-hero-content .eyebrow{
    color:#ffb022;
}


.page-hero-content p{
    max-width:700px;

    font-size:1.04rem;

    line-height:1.75;

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

    margin:
        22px
        0
        0;
}


.breadcrumb-mini{
    display:flex;

    align-items:center;

    gap:9px;

    margin-top:27px;

    font-size:.7rem;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.08em;

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


.breadcrumb-mini a:hover{
    color:#fff;
}


/* ==================================================
   CONTENT SECTIONS
================================================== */

.content-section{
    width:100%;

    padding:
        50px
        0;
}


.content-section.alt{
    background:
        var(--cream);
}


.content-section.dark{
    background:
        var(--dark);

    color:#fff;
}


.content-section > .site-shell,
.page-hero > .site-shell,
.site-footer > .site-shell{

    width:
        calc(
            100% -
            (var(--container-gutter) * 2)
        );

    max-width:
        var(--container-width);

    margin-inline:auto;
}


.section-head{
    display:flex;

    justify-content:
        space-between;

    align-items:end;

    gap:32px;

    margin-bottom:48px;
}


.section-head h2{
    font-family:
        "Anton",
        sans-serif;

    font-size:
        clamp(
            2.9rem,
            5.5vw,
            5.6rem
        );

    font-weight:300;

    line-height:1;

    text-transform:uppercase;

    margin:
        10px
        0
        0;
}


.section-head p{
    max-width:520px;

    color:
        var(--muted);

    line-height:1.75;

    margin:0;
}


.dark .section-head p{
    color:
        rgba(255,255,255,.62);
}


/* ==================================================
   TWO COLUMN
================================================== */

.two-col{
    display:grid;

    grid-template-columns:
        1fr
        1fr;

    gap:72px;

    align-items:center;
}


.two-col.reverse .media-col{
    order:2;
}


.media-col{
    position:relative;
}


.media-col img{
    width:100%;

    height:600px;

    object-fit:cover;

    box-shadow:
        var(--shadow);
}


.media-col.portrait img{
    height:720px;

    object-position:
        center top;
}


.media-badge{
    position:absolute;

    left:-22px;

    bottom:30px;

    background:
        var(--red);

    color:#fff;

    padding:
        18px
        20px;

    max-width:230px;
}


.media-badge strong{
    display:block;

    font-family:
        "Anton",
        sans-serif;

    font-size:2rem;
}


.media-badge span{
    font-size:.68rem;

    text-transform:uppercase;

    letter-spacing:.08em;
}


.copy-col h2,
.copy-col h3{
    font-family:
        "Anton",
        sans-serif;

    text-transform:uppercase;

    margin:
        12px
        0
        20px;
}


.copy-col h2{
    font-size:
        clamp(
            3rem,
            5.4vw,
            5.6rem
        );

    font-weight:300;

    line-height:1;
}


.copy-col h3{
    font-size:
        clamp(
            2.3rem,
            4vw,
            4rem
        );

    font-weight:400;

    line-height:1;
}


.copy-col p{
    color:
        var(--muted);

    line-height:1.82;
}


.dark .copy-col p{
    color:
        rgba(255,255,255,.68);
}


/* ==================================================
   METRIC GRID
================================================== */

.metric-grid{
    display:grid;

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

    border-top:
        1px solid
        var(--line);

    border-bottom:
        1px solid
        var(--line);
}


.metric-grid article{
    padding:
        30px
        24px;
}


.metric-grid article + article{
    border-left:
        1px solid
        var(--line);
}


.metric-grid strong{
    font-family:
        "Anton",
        sans-serif;

    font-size:
        clamp(
            2.5rem,
            4.5vw,
            4.5rem
        );

    font-weight:400;

    display:block;

    color:
        var(--red);

    line-height:1;
}


.metric-grid span{
    display:block;

    font-size:.72rem;

    color:
        var(--muted);

    line-height:1.5;

    margin-top:7px;
}


.dark .metric-grid{
    border-color:
        rgba(255,255,255,.16);
}


.dark .metric-grid article + article{
    border-color:
        rgba(255,255,255,.16);
}


.dark .metric-grid span{
    color:
        rgba(255,255,255,.6);
}


/* ==================================================
   CARD GRID
================================================== */

.card-grid{
    display:grid;

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

    gap:24px;
}


.info-card{
    background:#fff;

    border:
        1px solid
        var(--line);

    overflow:hidden;

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


.info-card:hover{
    transform:
        translateY(-7px);

    box-shadow:
        var(--shadow);
}


.info-card .image{
    height:260px;

    overflow:hidden;
}


.info-card .image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:
        transform .55s ease;
}


.info-card:hover .image img{
    transform:
        scale(1.05);
}


.info-card .body{
    padding:25px;
}


.info-card small{
    color:
        var(--saffron);

    font-size:.66rem;

    font-weight:800;

    letter-spacing:.09em;

    text-transform:uppercase;
}


.info-card h3{
    font-family:
        "Anton",
        sans-serif;

    font-size:2rem;

    font-weight:400;

    text-transform:uppercase;

    line-height:1;

    margin:
        9px
        0
        12px;
}


.info-card p{
    color:
        var(--muted);

    line-height:1.65;

    font-size:.88rem;

    margin:0;
}


.dark .info-card{
    background:#211915;

    border-color:
        rgba(255,255,255,.12);
}


.dark .info-card p{
    color:
        rgba(255,255,255,.62);
}


/* ==================================================
   TIMELINE
================================================== */

.timeline{
    position:relative;

    display:grid;

    gap:0;
}


.timeline::before{
    content:"";

    position:absolute;

    left:110px;

    top:0;

    bottom:0;

    width:1px;

    background:
        var(--line);
}


.timeline-item{
    display:grid;

    grid-template-columns:
        90px
        1fr;

    gap:50px;

    padding:
        0
        0
        46px;

    position:relative;
}


.timeline-item:last-child{
    padding-bottom:0;
}


.timeline-year{
    font-family:
        "Anton",
        sans-serif;

    font-size:2.4rem;

    color:
        var(--red);

    text-align:right;
}


.timeline-item::before{
    content:"";

    position:absolute;

    left:105px;

    top:13px;

    width:11px;

    height:11px;

    border-radius:50%;

    background:
        var(--saffron);

    box-shadow:
        0 0 0 6px
        #fff;
}


.alt .timeline-item::before{
    box-shadow:
        0 0 0 6px
        var(--cream);
}


.timeline-item h3{
    font-family:
        "Anton",
        sans-serif;

    font-size:2rem;

    text-transform:uppercase;

    font-weight:400;

    line-height:1;

    margin:
        0
        0
        8px;
}


.timeline-item p{
    color:
        var(--muted);

    line-height:1.7;

    margin:0;
}


/* ==================================================
   IMAGE STORY
================================================== */

.image-story{
    position:relative;

    height:520px;

    overflow:hidden;
}


.image-story img{
    width:100%;

    height:100%;

    object-fit:cover;
}


.image-story .overlay{
    position:absolute;

    inset:
        auto
        0
        0;

    padding:
        90px
        26px
        24px;

    background:
        linear-gradient(
            transparent,
            rgba(0,0,0,.82)
        );

    color:#fff;
}


.image-story h3{
    font-family:
        "Anton",
        sans-serif;

    font-size:2.2rem;

    text-transform:uppercase;

    font-weight:400;

    line-height:1;

    margin:
        0
        0
        8px;
}


.image-story p{
    margin:0;

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

    font-size:.85rem;

    line-height:1.55;
}


/* ==================================================
   GALLERY
================================================== */

.gallery-grid{
    display:grid;

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

    grid-auto-rows:
        240px;

    gap:10px;
}


.gallery-grid figure{
    margin:0;

    overflow:hidden;

    position:relative;

    cursor:pointer;
}


.gallery-grid figure:nth-child(1),
.gallery-grid figure:nth-child(6){

    grid-column:
        span 2;

    grid-row:
        span 2;
}


.gallery-grid img{
    width:100%;

    height:100%;

    object-fit:cover;

    transition:
        transform .55s ease,
        filter .55s ease;
}


.gallery-grid figure:hover img{
    transform:
        scale(1.04);

    filter:
        brightness(.82);
}


.gallery-grid figcaption{
    position:absolute;

    left:15px;

    right:15px;

    bottom:15px;

    color:#fff;

    font-size:.7rem;

    text-transform:uppercase;

    font-weight:800;

    letter-spacing:.06em;

    opacity:0;

    transform:
        translateY(8px);

    transition:.3s;
}


.gallery-grid figure:hover figcaption{
    opacity:1;

    transform:none;
}


/* ==================================================
   LIGHTBOX
================================================== */

.lightbox{
    position:fixed;

    inset:0;

    z-index:3000;

    background:
        rgba(10,7,5,.94);

    display:grid;

    place-items:center;

    padding:28px;

    opacity:0;

    visibility:hidden;

    transition:.25s;
}


.lightbox.open{
    opacity:1;

    visibility:visible;
}


.lightbox img{
    max-width:
        min(
            1200px,
            92vw
        );

    max-height:86vh;

    object-fit:contain;
}


.lightbox button{
    position:absolute;

    right:24px;

    top:20px;

    border:0;

    background:none;

    color:#fff;

    font-size:2rem;
}


/* ==================================================
   DONATION
================================================== */

.donate-layout{
    display:grid;

    grid-template-columns:
        .9fr
        1.1fr;

    gap:60px;

    align-items:start;
}


.qr-card{
    background:
        linear-gradient(
            145deg,
            #ef6d1b,
            #b92820
        );

    color:#fff;

    padding:34px;

    position:sticky;

    top:115px;
}


.qr-card img{
    display:block;

    width:100%;
    max-width:320px;

    height:auto;

    object-fit:contain;

    background:#fff;

    padding:0;

    margin:
        0
        auto
        28px;
}


.qr-card h2{
    font-family:
        "Anton",
        sans-serif;

    font-size:3.3rem;

    text-transform:uppercase;

    font-weight:300;

    line-height:1;

    margin:
        0
        0
        14px;
}


.qr-card p{
    color:
        rgba(255,255,255,.78);

    line-height:1.65;
}


.bank-card{
    border:
        1px solid
        var(--line);

    background:#fff;
}


.bank-row{
    display:grid;

    grid-template-columns:
        190px
        1fr;

    gap:20px;

    padding:
        17px
        22px;

    border-top:
        1px solid
        var(--line);
}


.bank-row:first-child{
    border-top:0;
}


.bank-row span{
    font-size:.7rem;

    color:
        var(--muted);

    text-transform:uppercase;

    font-weight:800;

    letter-spacing:.06em;
}


.bank-row strong{
    font-weight:700;

    overflow-wrap:anywhere;
}


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

.contact-grid{
    display:grid;

    grid-template-columns:
        1fr
        1fr;

    gap:40px;
}


.contact-panel{
    background:
        var(--cream);

    padding:42px;
}


.contact-panel h2{
    font-family:
        "Anton",
        sans-serif;

    font-size:3.1rem;

    text-transform:uppercase;

    font-weight:300;

    line-height:1;

    margin:
        0
        0
        24px;
}


.contact-list{
    display:grid;

    gap:20px;
}


.contact-list article{
    display:grid;

    grid-template-columns:
        42px
        1fr;

    gap:12px;
}


.contact-list i{
    width:42px;

    height:42px;

    display:grid;

    place-items:center;

    background:
        var(--saffron);

    color:#fff;
}


.contact-list small{
    display:block;

    color:
        var(--muted);

    text-transform:uppercase;

    font-size:.64rem;

    font-weight:800;

    letter-spacing:.07em;

    margin-bottom:3px;
}


.contact-list strong,
.contact-list a{
    font-size:.95rem;
}


.contact-form{
    display:grid;

    grid-template-columns:
        1fr
        1fr;

    gap:16px;
}


.contact-form .full{
    grid-column:1/-1;
}


.contact-form input,
.contact-form textarea{

    width:100%;

    border:
        1px solid
        var(--line);

    background:#fff;

    padding:
        14px
        15px;

    outline:none;
}


.contact-form textarea{
    min-height:160px;

    resize:vertical;
}


.contact-form input:focus,
.contact-form textarea:focus{
    border-color:
        var(--saffron);
}


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

.site-footer{
    width:100%;

    background:#17120f;

    color:#fff;

    padding:
        65px
        0
        25px;
}


.footer-grid{
    display:grid;

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

    gap:48px;
}


.footer-brand img{
    height:105px;

    width:auto;
}


.footer-brand p{
    color:
        rgba(255,255,255,.58);

    line-height:1.65;

    font-size:.82rem;

    max-width:300px;

    margin-top:16px;
}


.footer-col h4{
    font-family:
        "Anton",
        sans-serif;

    font-size:1.35rem;

    text-transform:uppercase;

    font-weight:400;

    margin:
        0
        0
        14px;

    color:#ff9a28;
}


.footer-col a{
    display:block;

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

    font-size:.78rem;

    line-height:2;
}


.footer-col a:hover{
    color:#fff;
}


.footer-bottom{
    display:flex;

    justify-content:
        space-between;

    gap:25px;

    padding-top:25px;

    margin-top:38px;

    border-top:
        1px solid
        rgba(255,255,255,.11);

    font-size:.68rem;

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


/* ==================================================
   INNER PAGE SECTION FADE
================================================== */

.motion-ready .section-fade{
    opacity:0;

    transform:
        translateY(30px);

    transition:
        opacity
        .85s
        cubic-bezier(.16,.7,.22,1),

        transform
        .85s
        cubic-bezier(.16,.7,.22,1);
}


.motion-ready
.section-fade.section-visible{
    opacity:1;

    transform:none;
}


/* ==================================================
   INNER PAGE ELEMENT FADE
================================================== */

.inner-page.motion-ready
[data-animate]{

    opacity:0;

    transition:
        opacity
        .8s
        cubic-bezier(.16,.7,.22,1),

        transform
        .8s
        cubic-bezier(.16,.7,.22,1);
}


.inner-page.motion-ready
[data-animate="up"]{
    transform:
        translateY(30px);
}


.inner-page.motion-ready
[data-animate="down"]{
    transform:
        translateY(-30px);
}


.inner-page.motion-ready
[data-animate="left"]{
    transform:
        translateX(-35px);
}


.inner-page.motion-ready
[data-animate="right"]{
    transform:
        translateX(35px);
}


.inner-page.motion-ready
[data-animate="zoom"]{
    transform:
        scale(.97);
}


.inner-page.motion-ready
[data-animate].in-view{
    opacity:1;

    transform:none;
}


.inner-page.motion-ready
[data-delay="1"]{
    transition-delay:.10s;
}


.inner-page.motion-ready
[data-delay="2"]{
    transition-delay:.18s;
}


.inner-page.motion-ready
[data-delay="3"]{
    transition-delay:.26s;
}


/* ==================================================
   <= 1100
================================================== */

@media (max-width:1100px){

    .desktop-nav{
        gap:20px;
    }


    .header-inner{
        grid-template-columns:
            145px
            1fr
            auto
            auto;

        gap:18px;
    }


    .impact-head{
        grid-template-columns:
            1fr
            .72fr;

        gap:40px;
    }


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

        height:auto;
    }


    .impact-card{
        min-height:280px;

        height:390px;
    }









    .impact-card-content{
        transform:none;
    }


    .impact-card-content p{
        opacity:1;

        transform:none;
    }


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


    .metric-grid article:nth-child(3){
        border-left:0;

        border-top:
            1px solid
            var(--line);
    }


    .metric-grid article:nth-child(4){
        border-top:
            1px solid
            var(--line);
    }


    /* FOUNDER */

    .founder-person{
        left:-35px;

        width:57vw;
    }


    .founder-main-content{
        width:58vw;

        margin-left:38%;
    }


    .founder-main-content h2{
        font-size:
            clamp(
                3.4rem,
                6vw,
                5rem
            );
    }


    /* JOIN */

    .join-visual{
        width:46%;
    }


    .join-layout{
        grid-template-columns:
            43%
            57%;
    }


    .join-home-copy{
        padding-left:42px;
    }


    .join-home h2{
        font-size:
            clamp(
                3.8rem,
                6.5vw,
                5.8rem
            );
    }


    .join-logo-badge{
        left:24%;

        width:108px;

        height:108px;
    }


    .join-action-grid{
        gap:12px;
    }

}


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

@media (max-width:991.98px){

    :root{
        --header-h:52px;

        --container-gutter:16px;

        --home-section-padding:70px;
    }


    .desktop-nav,
    .header-donate{
        display:none;
    }


    .header-inner{
        grid-template-columns:
            1fr
            auto;
    }


    .brand-logo{
        height:58px;

        max-width:125px;
    }


    .menu-trigger{
        display:block;
    }


    .home-page .site-header{
        background:
            rgba(20,11,7,.5);

        backdrop-filter:
            blur(8px);

        -webkit-backdrop-filter:
            blur(8px);
    }


    .home-page
    .site-header:not(.is-solid){

        background:
            linear-gradient(
                90deg,

                rgba(255,255,255,1) 0%,

                rgba(255,255,255,.94) 16%,

                rgba(255,255,255,.60) 32%,

                rgba(255,255,255,.18) 55%,

                rgba(255,255,255,0) 78%
            );
    }


    .home-panel:not(.hero-home){
        min-height:auto;

        padding:
            var(--home-section-padding)
            0;

        overflow:visible;
    }


    .hero-home{
        min-height:780px;

        padding-top:
            var(--header-h);

        align-items:center;
    }


    .hero-home .hero-copy{
        width:
            min(
                620px,
                90vw
            );
    }


    .hero-home h1{
        font-size:
            clamp(
                4.2rem,
                14vw,
                7rem
            );

        line-height:1;
    }


    .hero-meta,
    .scroll-cue,
    .fullpage-nav{
        display:none;
    }


    .hero-actions{
        margin-bottom:0;
    }


    .home-about-grid,
    .campaign-home-grid,
    .two-col,
    .donate-layout,
    .contact-grid{
        grid-template-columns:
            1fr;

        gap:42px;
    }


    .home-about-visual{
        height:560px;
    }


    .home-about-visual
    .floating-logo{
        right:10px;
    }


    .impact-head,
    .section-head{
        display:block;
    }


    .impact-head p,
    .section-head p{
        margin-top:16px;
    }


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

        margin-top:20px;

        justify-self:auto;
    }


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


    .impact-card{
        height:380px;
    }


    .campaign-collage{
        height:560px;
    }


    .two-col.reverse
    .media-col{
        order:0;
    }


    .media-col img,
    .media-col.portrait img{
        height:560px;
    }


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


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


    .qr-card{
        position:static;
    }


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


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

    .founder-home{
        min-height:760px;
    }


    .founder-banner-content{
        min-height:760px;

        padding-bottom:100px;
    }


    .founder-person{
        left:-12%;

        bottom:0;

        width:72%;

        height:92%;

        opacity:.86;
    }


    .founder-main-content{
        width:62%;

        margin-left:37%;
    }


    .founder-main-content h2{
        font-size:
            clamp(
                3rem,
                7.5vw,
                4.7rem
            );
    }


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

    .join-home{
        min-height:auto;

        display:block;

        padding:0 !important;
    }


    .join-visual{
        position:relative;

        width:100%;

        height:500px;
    }


    .join-visual-overlay{
    position:absolute;

    inset:0;

    z-index:2;

    background:

        linear-gradient(
            90deg,
            rgba(21,21,34,0) 0%,
            rgba(21,21,34,0) 58%,
            rgba(21,21,34,.04) 68%,
            rgba(21,21,34,.16) 80%,
            rgba(21,21,34,.48) 94%,
            #151522 100%
        ),

        linear-gradient(
            0deg,
            rgba(5,5,8,.14) 0%,
            rgba(5,5,8,.04) 22%,
            transparent 48%
        );
}


    .join-logo-badge{
        left:50%;

        top:75%;

        width:110px;

        height:110px;
    }


    .join-layout{
        display:block;

        min-height:auto;
    }


    .join-home-copy{
        width:100%;

        padding:
            10px
            0
            70px;
    }


    .join-home h2{
        font-size:
            clamp(
                4rem,
                10vw,
                6rem
            );
    }


    .join-description{
        max-width:700px !important;
    }


    .join-action-grid{
        max-width:none;
    }


    html.home-snap{
        scroll-snap-type:
            none !important;
    }


    .home-page
    .home-panel{
        scroll-snap-align:
            none !important;
    }

}


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

@media (max-width:640px){

    :root{
        --container-gutter:13px;

        --home-section-padding:55px;
    }


    .home-page
    .site-header:not(.is-solid){

        background:
            linear-gradient(
                90deg,

                rgba(255,255,255,1) 0%,

                rgba(255,255,255,.93) 25%,

                rgba(255,255,255,.55) 48%,

                rgba(255,255,255,.12) 72%,

                rgba(255,255,255,0) 100%
            );
    }


    .brand-logo{
        height:53px;

        max-width:115px;
    }


    .hero-home{
        min-height:700px;
    }


    .hero-home .panel-bg img{
        object-position:
            65% center;
    }


    .hero-home .shade{
        background:
            linear-gradient(
                90deg,

                rgba(20,9,4,.8),

                rgba(20,9,4,.4)
            );
    }


    .hero-home h1{
        font-size:
            clamp(
                3.6rem,
                18vw,
                5.8rem
            );

        line-height:1;
    }


    .hero-home p{
        font-size:1rem;
    }


    .hero-actions{
        display:grid;

        margin-bottom:0;
    }


    .hero-actions a{
        width:100%;
    }


    .home-panel:not(.hero-home){
        padding:
            var(--home-section-padding)
            0;
    }


    .home-about-visual{
        height:430px;
    }


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


    .fact-strip article + article{
        border-left:0;

        border-top:
            1px solid
            var(--line);

        padding-left:0;
    }


    .impact-head{
        margin-bottom:24px;
    }


    .impact-head h2{
        font-size:3.35rem;

        line-height:.96 !important;
    }


    .impact-intro p{
        font-size:.9rem;
    }


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

        gap:14px;
    }


    .impact-card{
        min-height:310px;

        height:360px;
    }


    .impact-card-top{
        left:18px;

        right:18px;

        top:18px;
    }


    .impact-card-content{
        left:20px;

        right:20px;

        bottom:20px;

        transform:none;
    }


    .impact-card-content h3{
        font-size:2.4rem;
    }


    .impact-card-content p{
        opacity:1;

        transform:none;

        max-width:300px;
    }


    .campaign-collage{
        height:420px;
    }


    .campaign-home-copy h2,
    .home-about-copy h2{
        font-size:3.7rem;

        line-height:1;
    }


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

    .founder-home{
        min-height:720px;
    }


    .founder-bg{
        background-position:center;
    }


    .founder-bg-overlay{
        background:

            linear-gradient(
                0deg,

                rgba(5,18,27,.98) 0%,

                rgba(5,18,27,.88) 30%,

                rgba(155,69,15,.55) 58%,

                rgba(215,83,4,.74) 100%
            );
    }


    .founder-home::after{
        height:56%;
    }


    .founder-person{
        top:0;

        bottom:auto;

        left:50%;

        width:100%;

        height:72%;

        transform:
            translateX(-50%);

        opacity:.88;

        -webkit-mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 65%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 65%,
                transparent 100%
            );
    }


    .founder-banner-content{
        min-height:720px;

        align-items:flex-end;

        padding:
            90px
            0
            103px;
    }


    .founder-main-content{
        width:100%;

        margin-left:0;

        text-align:center;
    }


    .founder-kicker{
        font-size:.64rem;
    }


    .founder-main-content h2{
        font-size:3.3rem;
    }


    .founder-main-content p{
        font-size:.88rem;
    }


    .founder-banner-bottom{
        min-height:50px;
    }


    .founder-bottom-wrap{
        min-height:50px;
    }


    .founder-bottom-left{
        display:none;
    }


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

    .join-home{
        padding:0 !important;
    }


    .join-visual{
        height:390px;
    }


    .join-visual > img{
        object-position:center;
    }


    .join-logo-badge{
        width:88px;

        height:88px;

        padding:10px;

        top:78%;
    }


    .join-home-copy{
        padding:
            8px
            0
            55px;
    }


    .join-home .section-kicker{
        margin-bottom:9px;
    }


    .join-home h2{
        font-size:
            clamp(
                3.2rem,
                15vw,
                4.3rem
            );

        line-height:.95 !important;

        margin-bottom:12px;
    }


    .join-subtitle{
        font-size:1.1rem !important;

        margin-bottom:8px !important;
    }


    .join-home-copy h3{
        font-size:1.25rem;

        margin-bottom:14px;
    }


    .join-description{
        font-size:.87rem;

        margin-bottom:25px !important;
    }


    .join-action-grid{
        grid-template-columns:1fr;

        gap:10px;
    }


    .join-action{
        min-height:82px;

        padding:
            14px
            18px;

        flex-direction:row;

        justify-content:flex-start;

        text-align:left;

        gap:12px;
    }


    .join-action i{
        width:34px;

        margin:0;

        flex:0 0 34px;

        font-size:1.15rem;
    }


    .join-action span{
        font-size:.78rem;
    }


    .join-action strong{
        display:inline;

        margin:
            0
            0
            0
            4px;

        font-size:.9rem;
    }


    .page-hero{
        min-height:62vh;
    }


    .page-hero-content{
        padding:
            80px
            0
            46px;
    }


    .page-title{
        font-size:3.6rem;

        line-height:1;
    }


    .content-section{
        padding:
            72px
            0;
    }


    .section-head h2,
    .copy-col h2{
        font-size:3.5rem;

        line-height:1;
    }


    .media-col img,
    .media-col.portrait img{
        height:430px;
    }


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


    .metric-grid article + article,
    .metric-grid article:nth-child(3),
    .metric-grid article:nth-child(4){

        border-left:0;

        border-top:
            1px solid
            var(--line);
    }


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


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

        grid-auto-rows:
            280px;
    }


    .gallery-grid figure:nth-child(1),
    .gallery-grid figure:nth-child(6){

        grid-column:auto;

        grid-row:auto;
    }


    .timeline::before{
        left:17px;
    }


    .timeline-item{
        grid-template-columns:
            1fr;

        padding-left:45px;

        gap:8px;
    }


    .timeline-year{
        text-align:left;

        font-size:2rem;
    }


    .timeline-item::before{
        left:12px;

        top:10px;
    }


    .bank-row{
        grid-template-columns:
            1fr;

        gap:5px;
    }


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


    .contact-form .full{
        grid-column:auto;
    }


    .contact-panel{
        padding:28px;
    }


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

        gap:30px;
    }


    .footer-bottom{
        display:block;
    }


    .footer-bottom span{
        display:block;

        margin-top:6px;
    }


    .qr-card img{
        width:190px;

        height:190px;
    }

}


/* ==================================================
   DESKTOP SCROLL SNAP
================================================== */

@media
(min-width:992px)
and
(min-height:690px){

    html.home-snap{
        scroll-snap-type:
            y proximity !important;

        scroll-padding-top:0;
    }


    html.home-snap
    body.home-page
    .home-panel{

        scroll-snap-align:start;

        scroll-snap-stop:
            normal !important;
    }

}


/* ==================================================
   REDUCED MOTION
================================================== */

@media
(prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{

        scroll-behavior:
            auto !important;

        animation-duration:
            .001ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .001ms !important;
    }


    .home-page.motion-ready
    .home-panel,

    .home-page.motion-ready
    .home-panel
    .motion-up,

    .home-page.motion-ready
    .home-panel
    .motion-down,

    .home-page.motion-ready
    .home-panel
    .motion-left,

    .home-page.motion-ready
    .home-panel
    .motion-right,

    .home-page.motion-ready
    .home-panel
    .motion-zoom,

    .motion-ready
    .section-fade,

    .inner-page.motion-ready
    [data-animate]{

        opacity:1 !important;

        transform:none !important;

        animation:none !important;

        transition:none !important;
    }

}


/* ==================================================
   FIXED SOCIAL MEDIA RAIL
================================================== */

.social-rail{
    position:fixed;

    right:18px;
    top:108px;

    z-index:970;

    display:flex;

    flex-direction:column;

    gap:8px;
}


.social-rail a{
    width:34px;
    height:34px;

    border-radius:50%;

    display:grid;

    place-items:center;

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

    background:
        rgba(23,25,45,.48);

    backdrop-filter:
        blur(8px);

    -webkit-backdrop-filter:
        blur(8px);

    color:#fff;

    font-size:.92rem;

    box-shadow:
        0 5px 16px
        rgba(0,0,0,.12);

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}


.social-rail a:hover{
    background:
        var(--saffron);

    border-color:
        var(--saffron);

    color:#fff;

    transform:
        translateX(-4px);
}



/* ==================================================
   MEDIA / VIDEO HOME SECTION
================================================== */

/* ==================================================
   MEDIA / VIDEO HOME SECTION
================================================== */

.media-home{
    position:relative;

    width:100%;
    min-height:auto;

    padding:36px 0;

    display:flex;
    align-items:center;

    overflow:hidden;

    color:#111;

    background:
        linear-gradient(
            135deg,
            #363b5c 0%,
            #292f4b 100%
        );
}


.media-home::before{
    content:"";

    position:absolute;
    inset:0;

    pointer-events:none;

    background:
        radial-gradient(
            circle at 20% 30%,
            rgba(232,97,25,.10),
            transparent 35%
        ),
        radial-gradient(
            circle at 85% 70%,
            rgba(255,255,255,.035),
            transparent 34%
        );
}


/* ==================================================
   MEDIA GRID
================================================== */

.media-home-shell{
    position:relative;
    z-index:3;

    width:100%;

    display:grid;

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

    gap:28px;

    align-items:stretch;
}


/* ==================================================
   GENERAL MEDIA BOX
================================================== */

.media-box{
    min-width:0;
}


.media-box-title,
.media-tab-bar{
    height:34px;
    min-height:34px;
}


/* ==================================================
   LATEST UPDATES HEADING
================================================== */

.media-tab-bar{
    display:grid;

    grid-template-columns:1fr;

    background:#0b3479;
}


.media-tab-bar span{
    position:relative;

    display:flex;

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

    padding:7px 8px;

    color:#fff;

    font-size:.68rem;
    font-weight:800;

    text-align:center;
    text-transform:uppercase;
}


.media-tab-bar span.active{
    background:#0a244e;
}


.media-tab-bar span.active::after{
    content:"";

    position:absolute;

    left:50%;
    bottom:-7px;

    width:0;
    height:0;

    transform:translateX(-50%);

    border-left:7px solid transparent;
    border-right:7px solid transparent;
    border-top:7px solid #0a244e;

    z-index:4;
}


/* ==================================================
   LATEST UPDATES SCROLLER
================================================== */

.media-updates{
    height:480px;

    display:flex;
    flex-direction:column;

    overflow:hidden;
}


.media-box-body,
.media-updates-scroll{
    position:relative;

    width:100%;

    height:446px;

    padding:0;

    overflow-x:hidden;
    overflow-y:hidden;

    background:#fff;

    scroll-behavior:auto;
}


/* HIDE SCROLLBAR */

.media-updates-scroll{
    scrollbar-width:none;
}


.media-updates-scroll::-webkit-scrollbar{
    display:none;
}


/* TRACK */

.media-updates-track{
    width:100%;
}


/* ==================================================
   EACH UPDATE
================================================== */

.media-update-item{
    display:grid;

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

    gap:14px;

    width:100%;

    min-height:112px;

    padding:11px 12px;

    border-bottom:
        1px solid
        #e2e2e2;

    background:#fff;

    color:#111;

    transition:
        background .25s ease;
}


.media-update-item:hover{
    background:#f7f7f7;
}


/* IMAGE */

.media-update-image{
    width:100%;
    height:90px;

    overflow:hidden;

    background:#eee;
}


.media-update-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .4s ease;
}


.media-update-item:hover
.media-update-image img{
    transform:scale(1.04);
}


/* CONTENT */

.media-update-content{
    min-width:0;

    display:flex;
    flex-direction:column;

    justify-content:center;
}


.media-update-content > span{
    display:block;

    margin-bottom:4px;

    color:#e86119;

    font-size:.52rem;
    font-weight:800;

    letter-spacing:.07em;

    text-transform:uppercase;
}


.media-update-content h3{
    margin:0 0 4px;

    color:#111;

    font-size:.78rem;
    font-weight:800;

    line-height:1.3;
}


.media-update-content p{
    margin:0 0 5px;

    color:#6e6e6e;

    font-size:.60rem;

    line-height:1.4;
}


.media-update-content small{
    display:inline-flex;

    align-items:center;

    gap:4px;

    width:max-content;

    color:#e64e26;

    font-size:.56rem;
    font-weight:700;
}


/* ==================================================
   RIGHT COLUMN
================================================== */

.media-centre{
    height:480px;

    display:grid;

    grid-template-rows:
        220px
        250px;

    gap:10px;
}


/* ==================================================
   FEATURED CAMPAIGN
================================================== */

.media-feature-box{
    height:220px;

    display:flex;
    flex-direction:column;

    overflow:hidden;
}


.media-box-title{
    padding:8px 10px;

    display:flex;

    align-items:center;

    background:#101d43;

    color:#fff;

    font-size:.72rem;
    line-height:1;

    font-weight:800;

    text-transform:uppercase;
}


.media-feature-visual{
    position:relative;

    display:block;

    width:100%;
    height:186px;

    overflow:hidden;

    background:#fff;
}


.media-feature-visual img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .5s ease;
}


.media-feature-visual:hover img{
    transform:scale(1.04);
}


.media-feature-visual::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            0deg,
            rgba(7,12,26,.82),
            transparent 58%
        );
}


.media-feature-overlay{
    position:absolute;

    left:18px;
    right:18px;
    bottom:14px;

    z-index:3;

    color:#fff;
}


.media-feature-overlay span{
    display:block;

    margin-bottom:3px;

    color:#ff892b;

    font-size:.58rem;
    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;
}


.media-feature-overlay strong{
    display:block;

    font-family:"Anton",sans-serif;

    font-size:1.55rem;
    font-weight:400;

    line-height:1;

    text-transform:uppercase;
}


/* ==================================================
   VIDEO HIGHLIGHTS
================================================== */

.media-video-box{
    height:250px;

    display:flex;
    flex-direction:column;

    overflow:hidden;
}


.media-video-card{
    position:relative;

    width:100%;

    height:216px;

    margin:0;
    padding:0;

    overflow:hidden;

    background:#000;
}


.media-youtube-wrap{
    position:relative;

    width:100%;
    height:100%;

    margin:0;
    padding:0;

    overflow:hidden;

    background:#000;
}


.media-youtube-wrap iframe{
    position:absolute;

    inset:0;

    display:block;

    width:100%;
    height:100%;

    margin:0;
    padding:0;

    border:0;
}


.media-video-caption{
    display:none;
}


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

@media (max-width:991.98px){

    .media-home{
        padding:45px 0;
    }


    .media-home-shell{
        grid-template-columns:1fr;

        gap:20px;
    }


    .media-updates{
        height:440px;
    }


    .media-box-body,
    .media-updates-scroll{
        height:406px;

        overflow:hidden;
    }


    .media-centre{
        height:auto;

        grid-template-rows:auto;

        gap:14px;
    }


    .media-feature-box,
    .media-video-box{
        height:auto;
    }


    .media-feature-visual{
        height:290px;
    }


    .media-video-card{
        height:auto;
    }


    .media-youtube-wrap{
        height:auto;

        aspect-ratio:16 / 9;
    }

}


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

@media (max-width:640px){

    .media-home{
        padding:38px 0;
    }


    .media-updates{
        height:390px;
    }


    .media-box-body,
    .media-updates-scroll{
        height:356px;

        padding:0;

        overflow:hidden;
    }


    .media-update-item{
        grid-template-columns:
            100px
            minmax(0,1fr);

        gap:10px;

        min-height:100px;

        padding:10px;
    }


    .media-update-image{
        height:78px;
    }


    .media-update-content h3{
        font-size:.72rem;
    }


    .media-update-content p{
        display:none;
    }


    .media-feature-visual{
        height:230px;
    }

}


/* ==================================================
   MEDIA GRID
================================================== */

.media-home-shell{
    position:relative;

    z-index:3;

    width:100%;

    display:grid;

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

    gap:36px;

    align-items:start;
}



/* ==================================================
   GENERAL MEDIA BOX
================================================== */

.media-box{
    min-width:0;
}


.media-box-title{
    min-height:38px;

    padding:
        9px
        12px;

    display:flex;

    align-items:center;

    background:#101d43;

    color:#fff;

    font-size:.86rem;

    line-height:1;

    font-weight:800;

    text-transform:uppercase;
}



/* ==================================================
   LEFT UPDATE TABS
================================================== */

.media-tab-bar{
    display:grid;

    grid-template-columns:1fr;

    min-height:38px;

    background:#0b3479;
}


.media-tab-bar span{
    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:
        8px
        8px;

    border-right:
        1px solid
        rgba(255,255,255,.08);

    color:#fff;

    font-size:.72rem;

    font-weight:800;

    text-align:center;

    text-transform:uppercase;
}


.media-tab-bar span:last-child{
    border-right:0;
}


.media-tab-bar span.active{
    background:#0a244e;
}


.media-tab-bar span.active::after{
    content:"";

    position:absolute;

    left:50%;
    bottom:-8px;

    width:0;
    height:0;

    transform:
        translateX(-50%);

    border-left:
        8px solid transparent;

    border-right:
        8px solid transparent;

    border-top:
        8px solid #0a244e;
}




/* ==================================================
   LATEST UPDATES - CONTINUOUS VERTICAL SCROLL
================================================== */

.media-box-body{
    position:relative;

    width:100%;
    height:446px;

    padding:0;

    overflow:hidden;

    background:#fff;
}


.media-updates-scroll{
    position:relative;

    width:100%;
    height:446px;

    overflow:hidden;

    background:#fff;

    scrollbar-width:none;
}


.media-updates-scroll::-webkit-scrollbar{
    display:none;
}


/* TRACK */

.media-updates-track{
    width:100%;
}


/* ==================================================
   EACH UPDATE
================================================== */

.media-update-item{
    display:grid;

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

    gap:14px;

    width:100%;

    min-height:112px;

    padding:
        11px
        12px;

    border-bottom:
        1px solid
        #e2e2e2;

    background:#fff;

    color:#111;

    transition:
        background .25s ease;
}


.media-update-item:hover{
    background:#f8f8f8;
}


/* IMAGE */

.media-update-image{
    width:100%;
    height:90px;

    overflow:hidden;

    background:#eee;
}


.media-update-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .45s ease;
}


.media-update-item:hover
.media-update-image img{
    transform:scale(1.04);
}


/* CONTENT */

.media-update-content{
    min-width:0;

    display:flex;
    flex-direction:column;

    justify-content:center;
}


.media-update-content > span{
    display:block;

    margin-bottom:4px;

    color:#e86119;

    font-size:.52rem;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;
}


.media-update-content h3{
    margin:
        0
        0
        4px;

    color:#111;

    font-size:.78rem;

    font-weight:800;

    line-height:1.3;
}


.media-update-content p{
    margin:
        0
        0
        5px;

    color:#6e6e6e;

    font-size:.60rem;

    line-height:1.4;
}


.media-update-content small{
    display:inline-flex;

    align-items:center;

    gap:4px;

    width:max-content;

    color:#e64e26;

    font-size:.56rem;

    font-weight:700;
}


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

@media (max-width:991.98px){

    .media-box-body,
    .media-updates-scroll{
        height:420px;
    }

}


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

@media (max-width:575.98px){

    .media-box-body,
    .media-updates-scroll{
        height:360px;
    }


    .media-update-item{
        grid-template-columns:
            100px
            minmax(0,1fr);

        gap:10px;

        min-height:100px;

        padding:10px;
    }


    .media-update-image{
        height:78px;
    }


    .media-update-content h3{
        font-size:.72rem;
    }


    .media-update-content p{
        display:none;
    }

}


/* ==================================================
   CENTRE MEDIA COLUMN
================================================== */

.media-centre{
    display:grid;

    gap:14px;
}


.media-feature-visual{
    position:relative;

    display:block;

    height:263px;

    overflow:hidden;

    background:#fff;
}


.media-feature-visual img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .55s ease;
}


.media-feature-visual:hover img{
    transform:
        scale(1.045);
}


.media-feature-visual::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            0deg,
            rgba(7,12,26,.82),
            transparent 58%
        );
}


.media-feature-overlay{
    position:absolute;

    left:20px;
    right:20px;
    bottom:18px;

    z-index:3;

    color:#fff;
}


.media-feature-overlay span{
    display:block;

    margin-bottom:4px;

    color:#ff892b;

    font-size:.65rem;

    font-weight:800;

    letter-spacing:.1em;

    text-transform:uppercase;
}


.media-feature-overlay strong{
    display:block;

    font-family:"Anton",sans-serif;

    font-size:1.8rem;

    font-weight:400;

    line-height:1;

    text-transform:uppercase;
}



/* ==================================================
   VIDEO CARD
================================================== */

.media-video-card{
    position:relative;

    width:100%;

    margin:0;
    padding:0;

    overflow:hidden;

    background:#000;
}


/* ==================================================
   YOUTUBE VIDEO AREA
================================================== */

.media-youtube-wrap{
    position:relative;

    width:100%;

    aspect-ratio:16 / 9;

    margin:0;
    padding:0;

    overflow:hidden;

    background:#000;
}


.media-youtube-wrap iframe{
    position:absolute;

    inset:0;

    display:block;

    width:100%;
    height:100%;

    margin:0;
    padding:0;

    border:0;
}


/* ==================================================
   REMOVE EXTRA CAPTION / BLACK SPACE
================================================== */

.media-video-caption{
    display:none;
}


/* ==================================================
   SOCIAL STREAM COLUMN
================================================== */

.media-stream{
    min-width:0;

    overflow:hidden;

    background:#fff;
}


/* ==================================================
   SOCIAL STREAM BODY
================================================== */

.media-stream-body{
    height:520px;

    padding:
        8px
        10px;

    overflow-x:hidden;
    overflow-y:auto;

    background:#fff;
}


/* SCROLLBAR */

.media-stream-body::-webkit-scrollbar{
    width:8px;
}


.media-stream-body::-webkit-scrollbar-track{
    background:#f1f1f1;
}


.media-stream-body::-webkit-scrollbar-thumb{
    border-radius:10px;

    background:#909090;
}


/* ==================================================
   SOCIAL STREAM CARD
================================================== */

.media-stream-card{
    display:block;

    width:100%;

    margin:
        0
        0
        16px;

    padding:
        0
        0
        18px;

    border-bottom:
        1px solid
        #dedede;

    background:#fff;

    color:#111;
}


.media-stream-card:last-child{
    margin-bottom:0;

    padding-bottom:0;

    border-bottom:0;
}


/* ==================================================
   SOCIAL STREAM IMAGE
================================================== */

.media-stream-image{
    position:relative;

    width:100%;
    height:155px;

    overflow:hidden;

    background:#e9e9e9;
}


.media-stream-image img{
    display:block;

    width:100%;
    height:100%;

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

    transition:
        transform .5s ease;
}


.media-stream-card:hover
.media-stream-image img{
    transform:
        scale(1.04);
}


/* DARK IMAGE OVERLAY */

.media-stream-image::after{
    content:"";

    position:absolute;

    inset:0;

    pointer-events:none;

    background:
        rgba(8,12,22,.20);
}


/* ==================================================
   SOCIAL STREAM PLAY BUTTON
================================================== */

.media-stream-play{
    position:absolute;

    left:50%;
    top:50%;

    z-index:4;

    width:57px;
    height:42px;

    display:grid;

    place-items:center;

    border-radius:10px;

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

    background:#ff0033;

    color:#fff;

    font-size:1.7rem;
}


/* ==================================================
   SOCIAL STREAM TEXT
================================================== */

.media-stream-card h4{
    margin:
        9px
        0
        0;

    padding:0;

    color:#151515;

    font-size:.86rem;
    font-weight:500;

    line-height:1.32;

    overflow-wrap:break-word;
}


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

@media (max-width:1100px){

    .media-stream{
        grid-column:
            1 / -1;
    }


    .media-stream-body{
        height:auto;

        display:grid;

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

        gap:18px;

        overflow:visible;
    }


    .media-stream-card{
        margin:0;

        border-bottom:0;
    }


    .media-stream-image{
        height:210px;
    }

}


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

@media (max-width:640px){

    .media-stream-body{
        grid-template-columns:1fr;

        gap:16px;

        padding:8px;
    }


    .media-stream-image{
        height:200px;
    }

}

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

.home-site-footer{
    position:relative;

    width:100%;

    padding:0;

    background:#1b2038;

    color:#fff;
}



/* ==================================================
   SUBSCRIBE
================================================== */

.footer-subscribe{
    padding:
        12px
        0;

    background:#15192d;

    border-bottom:
        1px solid
        rgba(255,255,255,.04);
}


.footer-subscribe-inner{
    display:flex;

    align-items:center;

    justify-content:center;

    gap:18px;
}


.footer-subscribe-label{
    color:
        rgba(255,255,255,.56);

    font-size:1rem;
}


.footer-subscribe-inner input{
    width:min(390px,36vw);

    height:44px;

    padding:
        0
        12px;

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

    border-radius:3px;

    outline:none;

    background:#454b77;

    color:#fff;
}


.footer-subscribe-inner input::placeholder{
    color:
        rgba(255,255,255,.60);
}


.footer-subscribe-inner button{
    height:44px;

    padding:
        0
        25px;

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

    border-radius:3px;

    background:transparent;

    color:#fff;

    font-size:.83rem;

    font-weight:500;

    transition:
        background .25s ease,
        border-color .25s ease;
}


.footer-subscribe-inner button:hover{
    background:
        var(--saffron);

    border-color:
        var(--saffron);
}



/* ==================================================
   SITE NAVIGATOR
================================================== */

.footer-navigation{
    padding:
        18px
        0
        25px;
}


.footer-navigation-title{
    margin:
        0
        0
        10px;

    font-family:
        "Anton",
        sans-serif;

    font-size:
        clamp(
            2.8rem,
            4vw,
            4.2rem
        );

    line-height:1;

    font-weight:300;

    color:#fff;

    text-transform:uppercase;
}


.footer-navigation-grid{
    display:grid;

    grid-template-columns:
        1.05fr
        1.05fr
        1.05fr
        1fr;

    gap:46px;

    align-items:start;
}


.footer-nav-column{
    min-width:0;
}


.footer-nav-column h3{
    margin:
        0
        0
        10px;

    font-family:
        "Anton",
        sans-serif;

    font-size:1.45rem;

    font-weight:400;

    line-height:1;

    color:#f57a23;

    text-transform:none;
}


.footer-nav-column a,
.footer-nav-column span{

    display:block;

    margin-bottom:5px;

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

    font-size:.75rem;

    line-height:1.35;

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


.footer-nav-column a:hover{
    color:#ff8a21;

    transform:
        translateX(3px);
}


.footer-nav-column
.footer-highlight-link{

    margin:
        14px
        0
        7px;

    color:#ff8a21;

    font-weight:800;
}



/* ==================================================
   FOOTER ACTION BUTTONS
================================================== */

.footer-action-row{
    width:
        min(
            540px,
            100%
        );

    margin:
        24px
        0
        0
        auto;

    display:grid;

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

    gap:12px;
}


.footer-action{
    min-height:44px;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:
        8px
        12px;

    color:#fff;

    font-family:
        "Anton",
        sans-serif;

    font-size:1rem;

    text-align:center;

    transition:
        transform .25s ease,
        filter .25s ease;
}


.footer-action:hover{
    color:#fff;

    transform:
        translateY(-3px);

    filter:
        brightness(1.08);
}


.footer-action-one{
    background:#38b7a4;
}


.footer-action-two{
    background:#3437a5;
}


.footer-action-three{
    background:#671093;
}



/* ==================================================
   COPYRIGHT
================================================== */

.footer-copyright{
    margin-top:24px;

    padding-top:18px;

    border-top:
        1px solid
        rgba(255,255,255,.09);

    display:flex;

    justify-content:
        space-between;

    gap:20px;

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

    font-size:.66rem;
}



/* ==================================================
   <= 1100px
================================================== */

@media (max-width:1100px){

    .media-home-shell{
        grid-template-columns:
            1fr
            1fr;

        gap:24px;
    }


    .media-stream{
        grid-column:
            1 / -1;
    }


    .media-stream-body{
        height:auto;

        display:grid;

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

        gap:18px;
    }


    .media-stream-card{
        margin:0;

        border-bottom:0;
    }


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

        gap:
            32px
            50px;
    }

}



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

@media (max-width:991.98px){

    .social-rail{
        right:12px;

        top:100px;
    }


    .social-rail a{
        width:32px;
        height:32px;

        font-size:.82rem;
    }


    .media-home{
        min-height:auto;

        padding:
            90px
            0
            70px
            !important;
    }


    .media-home-shell{
        grid-template-columns:1fr;

        gap:20px;
    }


    .media-box-body,
    .media-stream-body{
        height:auto;

        overflow:visible;
    }


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


    .media-feature-visual{
        height:360px;
    }
.footer-subscribe-inner{
        flex-wrap:wrap;
    }


    .footer-subscribe-inner input{
        width:
            min(
                390px,
                60vw
            );
    }

}



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

@media (max-width:640px){

    .social-rail{
        top:auto;

        right:12px;
        bottom:15px;

        z-index:1200;

        flex-direction:row;

        gap:6px;

        padding:6px;

        border-radius:30px;

        background:
            rgba(19,22,39,.86);

        backdrop-filter:
            blur(10px);

        -webkit-backdrop-filter:
            blur(10px);
    }


    .social-rail a{
        width:31px;
        height:31px;

        background:transparent;
    }


    .social-rail a:hover{
        transform:none;
    }


    .media-home{
        padding:
            70px
            0
            55px
            !important;
    }


    .media-tab-bar span{
        padding:
            8px
            3px;

        font-size:.60rem;
    }


    .media-box-body{
        padding:8px;
    }


    .media-main-image{
        height:210px;
    }


    .media-feature-visual{
        height:260px;
    }
.media-stream-body{
        grid-template-columns:1fr;

        gap:18px;
    }


    .media-stream-image{
        height:210px;
    }


    /* FOOTER SUBSCRIBE */

    .footer-subscribe{
        padding:
            18px
            0;
    }


    .footer-subscribe-inner{
        display:grid;

        grid-template-columns:1fr;

        gap:10px;
    }


    .footer-subscribe-label{
        text-align:center;

        font-size:.85rem;
    }


    .footer-subscribe-inner input{
        width:100%;
    }


    .footer-subscribe-inner button{
        width:100%;
    }


    /* SITE NAVIGATOR */

    .footer-navigation{
        padding:
            28px
            0
            24px;
    }


    .footer-navigation-title{
        font-size:3rem;
    }


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

        gap:26px;
    }


    .footer-nav-column h3{
        font-size:1.4rem;
    }


    .footer-nav-column a,
    .footer-nav-column span{

        font-size:.78rem;
    }


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

        margin-top:28px;
    }


    .footer-copyright{
        display:block;

        text-align:center;
    }


    .footer-copyright span{
        display:block;

        margin-top:5px;
    }

}

/* ==========================================================
   FOUNDER SECTION - FINAL RESPONSIVE OVERRIDE
   KEEP THIS AT THE VERY END OF style.css
========================================================== */


/* ==========================================================
   BASE / LARGE DESKTOP
   1400px AND ABOVE
========================================================== */

.founder-home{
    position:relative;
    width:100%;
    min-height:100svh;
    padding:0 !important;
    overflow:hidden;
    background:#111;
    color:#fff;
    isolation:isolate;
}


/* Founder image */

.founder-person{
    position:absolute;

    left:
        max(
            0px,
            calc(
                (100vw - var(--container-width)) / 2
                - 80px
            )
        );

    bottom:0;

    z-index:2;

    width:min(50vw,680px);
    height:calc(100% - 15px);

    overflow:hidden;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            #000 0%,
            #000 72%,
            rgba(0,0,0,.95) 80%,
            rgba(0,0,0,.55) 90%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            90deg,
            #000 0%,
            #000 72%,
            rgba(0,0,0,.95) 80%,
            rgba(0,0,0,.55) 90%,
            transparent 100%
        );
}


.founder-person img{
    width:100%;
    height:100%;

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

    transform:scale(1.01);

    filter:
        saturate(.92)
        contrast(1.03);
}


/* Main container */

.founder-banner-content{
    position:relative;
    z-index:5;

    min-height:100svh;

    display:grid;

    grid-template-columns:
        48%
        52%;

    align-items:center;

    padding-top:
        calc(var(--header-h) + 30px);

    padding-bottom:70px;
}


/* Content starts from blue area */

.founder-main-content{
    grid-column:2;

    width:100%;
    max-width:650px;

    margin:0 !important;

    padding:0 20px 0 42px;

    text-align:left !important;
}


.founder-kicker{
    display:inline-flex;

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

    gap:10px;

    margin:0 0 14px;

    color:#ff7919;

    font-size:.72rem;
    font-weight:800;

    letter-spacing:.14em;
    text-transform:uppercase;
}


.founder-kicker::before{
    content:"";

    flex:0 0 31px;

    width:31px;
    height:2px;

    background:#ff7919;
}


.founder-main-content h2{
    margin:0 0 10px;

    max-width:100%;

    font-family:"Anton",sans-serif;

    font-size:
        clamp(
            3.6rem,
            5vw,
            5.5rem
        );

    font-weight:300;

    line-height:1 !important;

    letter-spacing:.02em;

    text-transform:uppercase;

    text-align:left !important;

    color:#fff;
}


.founder-main-content p{
    max-width:520px;

    margin:0 0 24px;

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

    font-size:.95rem;

    line-height:1.6;

    text-align:left !important;
}


.founder-read-more{
    display:inline-flex;

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

    min-width:124px;
    height:44px;

    margin:0 !important;

    padding:0 20px;

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

    background:
        rgba(0,0,0,.13);

    color:#fff;

    font-size:.88rem;
    font-weight:500;
}


/* ==========================================================
   LARGE DESKTOP
   1200px - 1399px
========================================================== */

@media
(min-width:1200px)
and
(max-width:1399.98px){

    .founder-person{
        width:49vw;

        left:
            max(
                0px,
                calc(
                    (100vw - var(--container-width)) / 2
                    - 45px
                )
            );
    }


    .founder-banner-content{
        grid-template-columns:
            47%
            53%;
    }


    .founder-main-content{
        padding-left:38px;
        padding-right:20px;

        max-width:620px;
    }


    .founder-main-content h2{
        font-size:
            clamp(
                3.5rem,
                5.3vw,
                5.1rem
            );
    }

}


/* ==========================================================
   LAPTOP
   992px - 1199px
========================================================== */

@media
(min-width:992px)
and
(max-width:1199.98px){

    .founder-home{
        min-height:100svh;
    }


    .founder-person{
        left:-30px;

        width:52%;

        height:94%;
    }


    .founder-banner-content{
        min-height:100svh;

        grid-template-columns:
            45%
            55%;

        align-items:center;

        padding-top:
            calc(var(--header-h) + 25px);

        padding-bottom:70px;
    }


    .founder-main-content{
        grid-column:2;

        width:100%;
        max-width:none;

        margin:0 !important;

        padding-left:36px;
        padding-right:22px;

        text-align:left !important;
    }


    .founder-kicker{
        justify-content:flex-start;

        font-size:.68rem;
    }


    .founder-main-content h2{
        font-size:
            clamp(
                3.25rem,
                5.6vw,
                4.8rem
            );

        text-align:left !important;
    }


    .founder-main-content p{
        max-width:460px;

        font-size:.9rem;

        text-align:left !important;
    }

}


/* ==========================================================
   TABLET LANDSCAPE / TABLET
   768px - 991px
========================================================== */

@media
(min-width:768px)
and
(max-width:991.98px){

    .founder-home{
        min-height:720px;

        padding:0 !important;

        overflow:hidden !important;
    }


    .founder-person{
        top:auto;
        bottom:0;

        left:-8%;

        width:60%;

        height:88%;

        opacity:.92;

        -webkit-mask-image:
            linear-gradient(
                90deg,
                #000 0%,
                #000 68%,
                rgba(0,0,0,.75) 84%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                90deg,
                #000 0%,
                #000 68%,
                rgba(0,0,0,.75) 84%,
                transparent 100%
            );
    }


    .founder-banner-content{
        min-height:720px;

        display:grid;

        grid-template-columns:
            43%
            57%;

        align-items:center;

        padding-top:
            calc(var(--header-h) + 25px);

        padding-bottom:75px;
    }


    .founder-main-content{
        grid-column:2;

        width:100%;

        max-width:none;

        margin:0 !important;

        padding-left:28px;
        padding-right:16px;

        text-align:left !important;
    }


    .founder-kicker{
        justify-content:flex-start;

        font-size:.64rem;

        margin-bottom:11px;
    }


    .founder-main-content h2{
        font-size:
            clamp(
                3rem,
                6.2vw,
                4.2rem
            );

        line-height:.98 !important;

        text-align:left !important;
    }


    .founder-main-content p{
        max-width:390px;

        font-size:.86rem;

        text-align:left !important;
    }


    .founder-read-more{
        height:42px;

        min-width:116px;

        font-size:.82rem;
    }

}


/* ==========================================================
   SMALL TABLET
   641px - 767px
========================================================== */

@media
(min-width:641px)
and
(max-width:767.98px){

    .founder-home{
        min-height:760px;

        padding:0 !important;

        overflow:hidden !important;
    }


    /*
       Image stays in upper/left portion.
       No translateX is used because the motion animation
       also controls transform.
    */

    .founder-person{
        top:0;
        bottom:auto;

        left:0;

        width:72%;
        height:72%;

        opacity:.88;

        -webkit-mask-image:
            linear-gradient(
                90deg,
                #000 0%,
                #000 65%,
                rgba(0,0,0,.60) 83%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                90deg,
                #000 0%,
                #000 65%,
                rgba(0,0,0,.60) 83%,
                transparent 100%
            );
    }


    .founder-person img{
        object-position:center top;
    }


    .founder-banner-content{
        min-height:760px;

        display:flex;

        align-items:flex-end;

        justify-content:flex-start;

        padding-top:90px;
        padding-bottom:95px;
    }


    .founder-main-content{
        width:68%;

        max-width:520px;

        margin:0 0 0 auto !important;

        padding:
            0
            18px
            0
            24px;

        text-align:left !important;
    }


    .founder-kicker{
        justify-content:flex-start;

        font-size:.63rem;

        margin-bottom:10px;
    }


    .founder-main-content h2{
        font-size:
            clamp(
                2.9rem,
                8vw,
                4rem
            );

        line-height:.98 !important;

        text-align:left !important;
    }


    .founder-main-content p{
        max-width:390px;

        font-size:.84rem;

        text-align:left !important;
    }

}


/* ==========================================================
   MOBILE
   421px - 640px
========================================================== */

@media
(min-width:421px)
and
(max-width:640px){

    .founder-home{
        min-height:760px;

        padding:0 !important;

        overflow:hidden !important;
    }


    /*
       Mobile changes to vertical composition:
       portrait at top, content at bottom.
    */

    .founder-person{
        top:0;
        bottom:auto;

        left:0;

        width:100%;
        height:65%;

        opacity:.90;

        -webkit-mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 58%,
                rgba(0,0,0,.72) 72%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 58%,
                rgba(0,0,0,.72) 72%,
                transparent 100%
            );
    }


    .founder-person img{
        object-position:center top;
    }


    .founder-bg-overlay{
        background:
            linear-gradient(
                0deg,

                rgba(5,18,27,1) 0%,
                rgba(5,18,27,.98) 30%,
                rgba(16,39,47,.80) 48%,
                rgba(160,69,14,.60) 68%,
                rgba(215,83,4,.76) 100%
            );
    }


    .founder-home::after{
        height:62%;
    }


    .founder-banner-content{
        min-height:760px;

        display:flex;

        align-items:flex-end;

        justify-content:flex-start;

        padding:
            90px
            0
            92px;
    }


    .founder-main-content{
        width:100%;

        max-width:none;

        margin:0 !important;

        padding:
            0
            4px;

        text-align:left !important;
    }


    .founder-kicker{
        justify-content:flex-start;

        margin-bottom:10px;

        font-size:.62rem;
    }


    .founder-kicker::before{
        width:25px;

        flex-basis:25px;
    }


    .founder-main-content h2{
        margin-bottom:8px;

        font-size:
            clamp(
                2.9rem,
                12vw,
                3.8rem
            );

        line-height:.97 !important;

        text-align:left !important;
    }


    .founder-main-content p{
        margin-bottom:18px;

        max-width:100%;

        font-size:.84rem;

        line-height:1.5;

        text-align:left !important;
    }


    .founder-read-more{
        min-width:110px;

        height:40px;

        padding:
            0
            16px;

        font-size:.8rem;

        margin-left:0 !important;
    }


    .founder-banner-bottom{
        min-height:48px;
    }


    .founder-bottom-wrap{
        min-height:48px;
    }


    .founder-bottom-left{
        display:none;
    }

}


/* ==========================================================
   SMALL MOBILE
   0px - 420px
========================================================== */

@media (max-width:420px){

    .founder-home{
        min-height:700px;

        padding:0 !important;

        overflow:hidden !important;
    }


    .founder-person{
        top:0;
        bottom:auto;

        left:0;

        width:100%;
        height:61%;

        opacity:.90;

        -webkit-mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 54%,
                rgba(0,0,0,.68) 70%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 54%,
                rgba(0,0,0,.68) 70%,
                transparent 100%
            );
    }


    .founder-person img{
        width:100%;
        height:100%;

        object-fit:cover;

        object-position:center top;
    }


    .founder-bg-overlay{
        background:
            linear-gradient(
                0deg,

                rgba(5,18,27,1) 0%,
                rgba(5,18,27,.99) 32%,
                rgba(22,39,43,.80) 50%,
                rgba(155,67,13,.61) 70%,
                rgba(211,82,5,.78) 100%
            );
    }


    .founder-home::after{
        height:65%;
    }


    .founder-banner-content{
        min-height:700px;

        display:flex;

        align-items:flex-end;

        justify-content:flex-start;

        padding:
            80px
            0
            85px;
    }


    .founder-main-content{
        width:100%;

        max-width:none;

        margin:0 !important;

        padding:
            0
            2px;

        text-align:left !important;
    }


    .founder-kicker{
        justify-content:flex-start;

        margin-bottom:9px;

        font-size:.58rem;

        letter-spacing:.11em;
    }


    .founder-kicker::before{
        width:22px;

        flex-basis:22px;
    }


    .founder-main-content h2{
        margin:
            0
            0
            8px;

        font-size:
            clamp(
                2.55rem,
                13vw,
                3.35rem
            );

        line-height:.97 !important;

        letter-spacing:-.01em;

        text-align:left !important;

        white-space:normal;
    }


    .founder-main-content p{
        max-width:300px;

        margin:
            0
            0
            17px;

        font-size:.78rem;

        line-height:1.45;

        text-align:left !important;
    }


    .founder-read-more{
        min-width:106px;

        height:39px;

        padding:
            0
            14px;

        font-size:.77rem;

        margin:0 !important;
    }


    .founder-banner-bottom{
        min-height:44px;
    }


    .founder-bottom-wrap{
        min-height:44px;
    }


    .founder-bottom-left{
        display:none;
    }

}












/* ==========================================================
   VERY SMALL PHONE
   360px AND BELOW
========================================================== */

@media (max-width:360px){

    .founder-home{
        min-height:660px;
    }


    .founder-person{
        height:58%;
    }


    .founder-banner-content{
        min-height:660px;

        padding-bottom:75px;
    }


    .founder-main-content h2{
        font-size:2.5rem;
    }


    .founder-main-content p{
        font-size:.75rem;
    }


    .founder-kicker{
        font-size:.54rem;
    }

}


/* ==========================================================
   FINAL MOBILE RESPONSIVE CSS
   ALL PAGES
   KEEP THIS AT THE ABSOLUTE BOTTOM OF style.css
========================================================== */

@media (max-width:767.98px){

    /* ======================================================
       GLOBAL
    ====================================================== */

    :root{
        --header-h:68px;
        --container-gutter:16px;
        --home-section-padding:55px;
    }

    html{
        scroll-behavior:smooth;
        overflow-x:hidden;
    }

    body{
        width:100%;
        overflow-x:hidden;
    }

    .site-shell{
        width:calc(100% - 32px);
        max-width:100%;
        margin-left:auto;
        margin-right:auto;
    }

    img{
        max-width:100%;
        height:auto;
    }

    h1,
    h2{
        line-height:1 !important;
        font-weight:300 !important;
    }

    p{
        overflow-wrap:break-word;
    }

    .section-kicker,
    .eyebrow{
        font-size:.62rem;
        letter-spacing:.13em;
        gap:8px;
    }

    .section-kicker::before,
    .eyebrow::before{
        width:23px;
    }

    .btn-site,
    .btn-outline-site,
    .btn-dark-site{
        min-height:44px;
        padding:0 16px;
        font-size:.67rem;
    }


    /* ======================================================
       HEADER
    ====================================================== */

    .site-header{
        height:var(--header-h);
    }

    .header-inner{
        height:100%;
        display:grid;
        grid-template-columns:1fr auto;
        gap:15px;
        align-items:center;
    }

    .desktop-nav,
    .header-donate{
        display:none !important;
    }

    .brand{
        width:max-content;
    }

    .brand-logo{
        height:52px;
        width:auto;
        max-width:112px;
    }

    .menu-trigger{
        display:flex;
        align-items:center;
        justify-content:center;

        width:42px;
        height:42px;

        padding:0;
        margin:0;

        font-size:1.8rem;
    }

    .home-page .site-header:not(.is-solid){
        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,.98) 0%,
                rgba(255,255,255,.90) 28%,
                rgba(255,255,255,.48) 58%,
                rgba(255,255,255,0) 100%
            );
    }

    


.inner-page
.site-header:not(.is-solid){
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.90) 28%,
            rgba(255,255,255,.48) 58%,
            rgba(255,255,255,0) 100%
        );
}


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

    .mobile-menu{
        width:min(330px,88vw) !important;
    }

    .mobile-menu .offcanvas-header{
        padding:14px 18px;
    }

    .mobile-menu .offcanvas-body{
        padding:10px 20px 25px;
    }

    .mobile-logo{
        height:60px;
    }

    .mobile-links a{
        padding:14px 3px;
        font-size:1.35rem;
    }

    .mobile-donate{
        margin-top:20px;
        padding:13px 15px;
        font-size:.75rem;
    }


    /* ======================================================
       HOME PAGE SECTIONS
    ====================================================== */

    .home-panel{
        width:100%;
    }

    .home-panel:not(.hero-home){
        min-height:auto !important;
        height:auto !important;

        padding:
            var(--home-section-padding)
            0 !important;

        overflow:hidden;
    }

    html.home-snap{
        scroll-snap-type:none !important;
    }

    .home-page .home-panel{
        scroll-snap-align:none !important;
        scroll-snap-stop:normal !important;
    }

    .fullpage-nav{
        display:none !important;
    }


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

    .hero-home{
        min-height:700px;
        height:auto;

        display:flex;
        align-items:center;

        padding-top:var(--header-h);
    }

    .hero-home .site-shell{
        position:relative;
        z-index:4;
    }

    .hero-home .hero-copy{
        width:100%;
        max-width:500px;

        padding-top:30px;
        padding-right:10px;
    }

    .hero-home .panel-bg img{
        object-position:66% center;
    }

    .hero-home .shade{
        background:
            linear-gradient(
                90deg,
                rgba(20,9,4,.82) 0%,
                rgba(20,9,4,.64) 48%,
                rgba(20,9,4,.25) 100%
            );
    }

    .hero-home h1{
        width:100%;

        /* margin:13px 0 18px; */

        font-size:clamp(3.35rem,16vw,5.4rem);
        line-height:.96 !important;

        letter-spacing:0.05em;
    }

    .home-page.motion-ready
    .hero-home.has-entered
    h1.motion-left{
        transform:none !important;
    }

    .home-page.motion-ready
    .hero-home:not(.has-entered)
    h1.motion-left{
        transform:translateX(-25px) !important;
    }

    .hero-home p{
        max-width:410px;

        margin-bottom:22px;

        font-size:.95rem;
        line-height:1.5;
    }

    .hero-actions{
        width:100%;

        display:grid;
        grid-template-columns:1fr;

        gap:10px;

        margin:0;
    }

    .hero-actions a{
        width:100%;
        max-width:310px;
    }

    .hero-meta,
    .scroll-cue{
        display:none !important;
    }


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

    .home-about-grid{
        display:grid;
        grid-template-columns:1fr;

        gap:35px;
    }

    .home-about-visual{
        width:100%;
        height:390px;
    }

    .home-about-visual > img{
        width:100%;
        height:100%;
        object-fit:cover;
    }

    .home-about-visual .floating-logo{
        width:90px;
        height:90px;

        top:auto;
        right:15px;
        bottom:-25px;

        padding:12px;
    }

    .home-about-copy{
        width:100%;
    }

    .home-about-copy h2{
        margin:12px 0 17px;

        font-size:clamp(3rem,13vw,4.3rem);
        line-height:.96 !important;
    }

    .home-about-copy p{
        font-size:.88rem;
        line-height:1.7;
    }

    .fact-strip{
        grid-template-columns:1fr;

        margin-top:24px;
    }

    .fact-strip article,
    .fact-strip article + article{
        padding:16px 0;

        border-left:0;
        border-top:1px solid var(--line);
    }

    .fact-strip article:first-child{
        border-top:0;
    }

    .fact-strip strong{
        font-size:1.9rem;
    }


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

    .impact-home{
        min-height:auto;
    }

    .impact-head{
        display:block;

        margin-bottom:28px;
    }

    .impact-title{
        max-width:100%;
    }

    .impact-head h2{
        max-width:100%;

        font-size:clamp(3rem,13vw,4.2rem);
        line-height:.95 !important;
    }

    .impact-intro{
        max-width:100%;

        margin-top:18px;
        padding:0;
    }

    .impact-intro p{
        font-size:.87rem;
        line-height:1.65;
    }

    .impact-grid{
        display:grid;
        grid-template-columns:1fr;

        gap:14px;
    }

    .impact-card{
        width:100%;
        height:350px;
        min-height:350px;
    }

    .impact-card-content{
        left:20px;
        right:20px;
        bottom:20px;

        transform:none !important;
    }

    .impact-card-content h3{
        max-width:280px;

        margin-bottom:8px;

        font-size:2.25rem;
    }

    .impact-card-content p{
        max-width:290px;

        opacity:1 !important;
        transform:none !important;

        font-size:.73rem;
    }

    .impact-card-top{
        left:18px;
        right:18px;
        top:18px;
    }

    .impact-arrow{
        width:38px;
        height:38px;
    }


    /* ======================================================
       CAMPAIGNS
    ====================================================== */

    .campaign-home-grid{
        display:grid;
        grid-template-columns:1fr;

        gap:36px;
    }

    .campaign-collage{
        width:100%;
        height:390px;

        gap:5px;

        transform:none;
    }

    .campaign-home-copy h2{
        margin:12px 0 17px;

        font-size:clamp(3rem,13vw,4.3rem);
        line-height:.96 !important;
    }

    .campaign-home-copy p{
        font-size:.87rem;
        line-height:1.7;
    }

    .campaign-list{
        margin:20px 0 25px;
    }

    .campaign-list a{
        padding:13px 0;

        font-size:.7rem;
    }


    /* ======================================================
       FOUNDER
    ====================================================== */

    .founder-home{
        min-height:720px !important;

        padding:0 !important;

        overflow:hidden !important;
    }

    .founder-bg{
        background-position:center top;
    }

    .founder-bg-overlay{
        background:
            linear-gradient(
                0deg,
                rgba(5,18,27,1) 0%,
                rgba(5,18,27,.98) 31%,
                rgba(15,37,45,.82) 48%,
                rgba(158,70,15,.58) 69%,
                rgba(213,82,4,.76) 100%
            );
    }

    .founder-home::after{
        height:64%;
    }

    .founder-person{
        position:absolute;

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

        width:100% !important;
        height:62% !important;

        opacity:.92;

        -webkit-mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 54%,
                rgba(0,0,0,.70) 72%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 54%,
                rgba(0,0,0,.70) 72%,
                transparent 100%
            );
    }

    .founder-person img{
        width:100%;
        height:100%;

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

    .founder-banner-content{
        min-height:720px;

        display:flex !important;

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

        padding:
            80px
            0
            86px;
    }

    .founder-main-content{
        width:100% !important;
        max-width:none;

        margin:0 !important;

        padding:0 !important;

        text-align:left !important;
    }

    .founder-kicker{
        justify-content:flex-start;

        margin-bottom:9px;

        font-size:.58rem;
    }

    .founder-main-content h2{
        max-width:100%;

        margin:0 0 7px;

        font-size:clamp(2.7rem,12vw,3.6rem);
        line-height:.97 !important;

        text-align:left !important;
    }

    .founder-main-content p{
        max-width:320px;

        margin:0 0 17px;

        font-size:.8rem;
        line-height:1.45;

        text-align:left !important;
    }

    .founder-read-more{
        min-width:108px;
        height:40px;

        margin:0 !important;

        padding:0 15px;

        font-size:.78rem;
    }

    .founder-banner-bottom{
        min-height:44px;
    }

    .founder-bottom-wrap{
        min-height:44px;
    }

    .founder-bottom-left{
        display:none;
    }


    /* ======================================================
       FOOTPRINT
    ====================================================== */

    .footprint-home{
        min-height:auto;

        padding:0 !important;
    }

    .footprint-layout{
        min-height:auto;

        display:grid;
        grid-template-columns:1fr;

        gap:22px;

        padding:
            65px
            0
            50px;
    }

    .footprint-copy{
        max-width:100%;
    }

    .footprint-copy h2{
        max-width:100%;

        font-size:clamp(3rem,13vw,4.4rem);
        line-height:.94 !important;
    }

    .footprint-lead{
        max-width:100%;

        margin-bottom:22px;

        font-size:.86rem;
        line-height:1.65;
    }

    .footprint-stats{
        grid-template-columns:1fr;

        width:100%;
        max-width:100%;
    }

    .footprint-stats article,
    .footprint-stats article:nth-child(even){
        min-height:auto;

        padding:15px 0;

        border-left:0;
        border-top:1px solid rgba(67,36,48,.20);
    }

    .footprint-stats article:first-child{
        border-top:0;
    }

    .footprint-stats strong{
        font-size:2.35rem;
    }

    .footprint-stats span{
        max-width:100%;
    }

    .footprint-map-wrap{
        min-height:400px;
    }

    .footprint-map{
        width:min(270px,72vw);
        max-height:350px;
    }

    .footprint-map-glow{
        width:300px;
        height:300px;
    }

    .footprint-map-label{
        right:0;
        bottom:28px;

        min-width:150px;

        padding:10px 12px;
    }

    .footprint-map-label strong{
        font-size:1.15rem;
    }

    .footprint-map-credit{
        right:0;
        bottom:6px;

        font-size:.5rem;
    }







    /* ======================================================
       CONTRIBUTE
    ====================================================== */

    .join-home{
        min-height:auto;

        display:block;

        padding:0 !important;
    }

    .join-visual{
        position:relative;

        width:100%;
        height:360px;
    }

    .join-visual > img{
        width:100%;
        height:100%;

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

    .join-visual-overlay{
        background:
            linear-gradient(
                0deg,
                #181724 0%,
                rgba(24,23,36,.78) 20%,
                rgba(24,23,36,.08) 62%,
                transparent 100%
            );
    }

    .join-logo-badge{
        left:50%;
        top:76%;

        width:82px;
        height:82px;

        padding:10px;
    }

    .join-layout{
        min-height:auto;

        display:block;
    }

    .join-home-copy{
        width:100%;

        padding:
            8px
            0
            50px;
    }

    .join-home h2{
        margin-bottom:10px;

        font-size:clamp(3rem,13vw,4.2rem);
        line-height:.95 !important;
    }

    .join-subtitle{
        font-size:1rem !important;
    }

    .join-home-copy h3{
        margin-bottom:12px;

        font-size:1.15rem;
    }

    .join-description{
        max-width:100% !important;

        margin-bottom:22px !important;

        font-size:.84rem;
        line-height:1.6 !important;
    }

    .join-action-grid{
        width:100%;
        max-width:100%;

        grid-template-columns:1fr;

        gap:9px;
    }

    .join-action{
        min-height:76px;

        padding:13px 16px;

        flex-direction:row;
        justify-content:flex-start;

        gap:12px;

        text-align:left;
    }

    .join-action i{
        width:32px;

        flex:0 0 32px;

        margin:0;

        font-size:1.1rem;
    }

    .join-action strong{
        display:inline;

        margin-left:3px;

        font-size:.88rem;
    }


    /* ======================================================
       MEDIA / VIDEO
    ====================================================== */

    .media-home{
        min-height:auto;

        padding:
            60px
            0
            50px
            !important;
    }

    .media-home-shell{
        display:grid;
        grid-template-columns:1fr;

        gap:18px;
    }

    .media-box{
        width:100%;
    }

    .media-box-body,
    .media-stream-body{
        height:auto;

        overflow:visible;
    }

    .media-tab-bar span{
        padding:9px 3px;

        font-size:.58rem;
    }

    .media-main-image{
        height:205px;
    }

    .media-main-copy{
        padding:17px 12px 20px;
    }

    .media-main-copy h3{
        font-size:.9rem;
    }

    .media-feature-visual{
        height:250px;
    }

    .media-feature-overlay{
        left:15px;
        right:15px;
        bottom:15px;
    }

    .media-feature-overlay strong{
        font-size:1.5rem;
    }
.media-stream-body{
        display:grid;
        grid-template-columns:1fr;

        gap:16px;

        padding:8px;
    }

    .media-stream-card{
        margin:0;

        padding-bottom:15px;
    }

    .media-stream-image{
        height:200px;
    }

    .media-play-button{
        width:56px;
        height:42px;

        font-size:1.7rem;
    }


    /* ======================================================
       FIXED SOCIAL ICONS
    ====================================================== */

    .social-rail{
        top:auto;
        right:10px;
        bottom:12px;

        z-index:1200;

        display:flex;
        flex-direction:row;

        gap:4px;

        padding:5px;

        border-radius:30px;

        background:rgba(19,22,39,.88);
    }

    .social-rail a{
        width:30px;
        height:30px;

        background:transparent;

        font-size:.78rem;
    }

    .social-rail a:hover{
        transform:none;
    }


    /* ======================================================
       INNER PAGE HERO
    ====================================================== */

    .page-hero{
        min-height:500px;

        padding-top:var(--header-h);

        align-items:flex-end;
    }

    .page-hero .hero-photo img{
        object-position:center;
    }

    .page-hero::after{
        background:
            linear-gradient(
                90deg,
                rgba(17,9,5,.88),
                rgba(17,9,5,.52)
            );
    }

    .page-hero-content{
        width:100%;
        max-width:100%;

        padding:
            75px
            0
            42px;
    }

    .page-title{
        max-width:100%;

        font-size:clamp(3rem,13vw,4.2rem);
        line-height:.96 !important;

        overflow-wrap:break-word;
    }

    .page-hero-content p{
        max-width:100%;

        margin-top:16px;

        font-size:.88rem;
        line-height:1.65;
    }

    .breadcrumb-mini{
        flex-wrap:wrap;

        margin-top:18px;

        font-size:.61rem;
    }


    /* ======================================================
       INNER PAGE CONTENT
    ====================================================== */

    .content-section{
        padding:
            55px
            0;
    }

    .section-head{
        display:block;

        margin-bottom:30px;
    }

    .section-head h2{
        max-width:100%;

        margin-top:8px;

        font-size:clamp(2.8rem,12vw,4rem);
        line-height:.97 !important;
    }

    .section-head p{
        max-width:100%;

        margin-top:14px;

        font-size:.87rem;
        line-height:1.65;
    }


    /* ======================================================
       TWO COLUMN INNER PAGE
    ====================================================== */

    .two-col,
    .two-col.reverse{
        display:grid;
        grid-template-columns:1fr;

        gap:32px;
    }

    .two-col.reverse .media-col{
        order:0;
    }

    .media-col{
        width:100%;
    }

    .media-col img,
    .media-col.portrait img{
        width:100%;
        height:400px;

        object-fit:cover;
    }

    .media-badge{
        left:12px;
        bottom:12px;

        max-width:200px;

        padding:13px 15px;
    }

    .media-badge strong{
        font-size:1.65rem;
    }

    .copy-col h2{
        font-size:clamp(2.9rem,12vw,4rem);
        line-height:.97 !important;
    }

    .copy-col h3{
        font-size:clamp(2.2rem,9vw,3rem);
    }

    .copy-col p{
        font-size:.87rem;
        line-height:1.7;
    }


    /* ======================================================
       METRIC GRID
    ====================================================== */

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

    .metric-grid article,
    .metric-grid article + article,
    .metric-grid article:nth-child(3),
    .metric-grid article:nth-child(4){
        padding:20px 0;

        border-left:0;
        border-top:1px solid var(--line);
    }

    .metric-grid article:first-child{
        border-top:0;
    }

    .metric-grid strong{
        font-size:2.8rem;
    }


    /* ======================================================
       CARD GRID
    ====================================================== */

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

        gap:18px;
    }

    .info-card{
        width:100%;
    }

    .info-card .image{
        height:230px;
    }

    .info-card .body{
        padding:20px;
    }

    .info-card h3{
        font-size:1.8rem;
    }


    /* ======================================================
       TIMELINE
    ====================================================== */

    .timeline::before{
        left:16px;
    }

    .timeline-item{
        grid-template-columns:1fr;

        gap:6px;

        padding:
            0
            0
            35px
            42px;
    }

    .timeline-year{
        text-align:left;

        font-size:1.9rem;
    }

    .timeline-item::before{
        left:11px;
        top:8px;
    }

    .timeline-item h3{
        font-size:1.7rem;
    }

    .timeline-item p{
        font-size:.85rem;
    }


    /* ======================================================
       IMAGE STORY
    ====================================================== */

    .image-story{
        height:390px;
    }

    .image-story .overlay{
        padding:
            75px
            18px
            18px;
    }

    .image-story h3{
        font-size:1.9rem;
    }


    /* ======================================================
       GALLERY
    ====================================================== */

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

        grid-auto-rows:260px;

        gap:10px;
    }

    .gallery-grid figure:nth-child(1),
    .gallery-grid figure:nth-child(6){
        grid-column:auto;
        grid-row:auto;
    }

    .gallery-grid figcaption{
        opacity:1;

        transform:none;

        padding-top:45px;

        background:
            linear-gradient(
                transparent,
                rgba(0,0,0,.65)
            );
    }


    /* ======================================================
       DONATION / CONTRIBUTE INNER PAGE
    ====================================================== */

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

        gap:28px;
    }

    .qr-card{
        position:static;

        padding:24px;
    }

    .qr-card img{
    width:100%;
    max-width:280px;

    height:auto;

    margin:
        0
        auto
        22px;
}

    .qr-card h2{
        font-size:2.8rem;
    }

    .bank-row{
        grid-template-columns:1fr;

        gap:5px;

        padding:15px 17px;
    }

    .bank-row strong{
        overflow-wrap:anywhere;
    }


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

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

        gap:25px;
    }

    .contact-panel{
        padding:23px 18px;
    }

    .contact-panel h2{
        font-size:2.7rem;
    }

    .contact-list article{
        grid-template-columns:38px 1fr;

        gap:10px;
    }

    .contact-list i{
        width:38px;
        height:38px;
    }

    .contact-list strong,
    .contact-list a{
        font-size:.84rem;

        overflow-wrap:anywhere;
    }

    .contact-form{
        grid-template-columns:1fr;

        gap:12px;
    }

    .contact-form .full{
        grid-column:auto;
    }

    .contact-form input,
    .contact-form textarea{
        padding:13px;
    }


    /* ======================================================
       NORMAL FOOTER USED ON INNER PAGES
    ====================================================== */

    .site-footer{
        padding:
            45px
            0
            22px;
    }

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

        gap:27px;
    }

    .footer-brand img{
        height:80px;
    }

    .footer-bottom{
        display:block;

        margin-top:28px;

        padding-top:18px;
    }

    .footer-bottom span{
        display:block;

        margin-top:6px;
    }


    /* ======================================================
       HOME SITE NAVIGATOR FOOTER
    ====================================================== */

    .home-site-footer{
        padding:0;
    }

    .footer-subscribe{
        padding:17px 0;
    }

    .footer-subscribe-inner{
        display:grid;
        grid-template-columns:1fr;

        gap:9px;
    }

    .footer-subscribe-label{
        text-align:left;

        font-size:.82rem;
    }

    .footer-subscribe-inner input{
        width:100%;
        height:43px;
    }

    .footer-subscribe-inner button{
        width:100%;
        height:43px;
    }

    .footer-navigation{
        padding:
            28px
            0
            22px;
    }

    .footer-navigation-title{
        margin-bottom:22px;

        font-size:2.8rem;
    }

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

        gap:25px;
    }

    .footer-nav-column h3{
        margin-bottom:9px;

        font-size:1.35rem;
    }

    .footer-nav-column a,
    .footer-nav-column span{
        margin-bottom:6px;

        font-size:.76rem;
    }

    .footer-action-row{
        width:100%;

        margin-top:25px;

        grid-template-columns:1fr;

        gap:8px;
    }

    .footer-action{
        min-height:43px;
    }

    .footer-copyright{
        display:block;

        margin-top:20px;

        padding-top:15px;

        text-align:left;
    }

    .footer-copyright span{
        display:block;

        margin-top:5px;
    }


    /* ======================================================
       LIGHTBOX
    ====================================================== */

    .lightbox{
        padding:15px;
    }

    .lightbox img{
        max-width:95vw;
        max-height:80vh;
    }

    .lightbox button{
        top:10px;
        right:12px;
    }

}


/* ==========================================================
   SMALL MOBILE
   420px AND BELOW
========================================================== */

@media (max-width:420px){

    :root{
        --container-gutter:13px;
        --home-section-padding:48px;
    }

    .site-shell{
        width:calc(100% - 26px);
    }

    .brand-logo{
        height:60px;
        max-width:105px;
    }


    /* HERO */

    .hero-home{
        min-height:660px;
    }

    .hero-home h1{
        font-size:clamp(3rem,16vw,4rem);
    }

    .hero-home p{
        font-size:.88rem;
    }


    /* ABOUT */

    .home-about-visual{
        height:330px;
    }

    .home-about-copy h2{
        font-size:3rem;
    }


    /* IMPACT */

    .impact-head h2{
        font-size:3rem;
    }

    .impact-card{
        height:320px;
        min-height:320px;
    }

    .impact-card-content h3{
        font-size:2rem;
    }


    /* CAMPAIGN */

    .campaign-collage{
        height:330px;
    }

    .campaign-home-copy h2{
        font-size:3rem;
    }


    /* FOUNDER */

    .founder-home,
    .founder-banner-content{
        min-height:380px !important;
    }

    .founder-person{
        height:58% !important;
    }

    .founder-main-content h2{
        font-size:2.65rem;
    }

    .founder-kicker{
        font-size:.55rem;
    }

    .founder-main-content p{
        font-size:.76rem;
    }


    /* FOOTPRINT */

    .footprint-copy h2{
        font-size:3rem;
    }

    .footprint-map-wrap{
        min-height:360px;
    }

    .footprint-map{
        width:min(245px,72vw);
    }


    /* JOIN */

    .join-visual{
        height:320px;
    }

    .join-home h2{
        font-size:3rem;
    }


    /* INNER PAGE */

    .page-hero{
        min-height:460px;
    }

    .page-title{
        font-size:3rem;
    }

    .content-section{
        padding:
            48px
            0;
    }

    .section-head h2,
    .copy-col h2{
        font-size:2.8rem;
    }

    .media-col img,
    .media-col.portrait img{
        height:340px;
    }

    .gallery-grid{
        grid-auto-rows:230px;
    }

    .image-story{
        height:340px;
    }


    /* MEDIA */

    .media-main-image{
        height:185px;
    }

    .media-feature-visual{
        height:220px;
    }
.media-stream-image{
        height:180px;
    }


    /* FOOTER */

    .footer-navigation-title{
        font-size:2.55rem;
    }

}


/* ==========================================================
   VERY SMALL MOBILE
   360px AND BELOW
========================================================== */

@media (max-width:360px){

    :root{
        --container-gutter:11px;
    }

    .site-shell{
        width:calc(100% - 22px);
    }

    .hero-home h1{
        font-size:2.85rem;
    }

    .home-about-copy h2,
    .impact-head h2,
    .campaign-home-copy h2,
    .footprint-copy h2,
    .join-home h2{
        font-size:2.7rem;
    }

    .founder-main-content h2{
        font-size:2.4rem;
    }

    .page-title{
        font-size:2.7rem;
    }

    .section-head h2,
    .copy-col h2{
        font-size:2.55rem;
    }

    .social-rail{
        right:7px;
        bottom:8px;
    }

    .social-rail a{
        width:28px;
        height:28px;
    }

}

/* ==========================================================
   JOIN THE JOURNEY
   FINAL PREMIUM DESIGN OVERRIDE
========================================================== */

.join-home{
    position:relative;

    width:100%;
    min-height:100svh;

    padding:0 !important;

    display:flex;
    align-items:stretch;

    overflow:hidden;

    background:#151522;
    color:#fff;

    isolation:isolate;
}


/* ==========================================================
   LEFT IMAGE
========================================================== */

.join-visual{
    position:absolute;

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

    width:52%;
    height:100%;

    z-index:1;

    overflow:hidden;

    background:#1a130f;
}


.join-visual > img{
    width:100%;
    height:100%;

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

    transform:scale(1.05);

    filter:
        saturate(.9)
        contrast(1.03)
        brightness(.78);

    transition:
        transform 1.4s
        cubic-bezier(.16,.7,.22,1);
}


.join-home.is-active
.join-visual > img{
    transform:scale(1);
}


/* ==========================================================
   IMAGE OVERLAY
========================================================== */

.join-visual-overlay{
    position:absolute;

    inset:0;

    z-index:2;

    background:

        linear-gradient(
            90deg,
            rgba(14,8,5,.08) 0%,
            rgba(14,8,5,.08) 45%,
            rgba(21,21,34,.25) 68%,
            rgba(21,21,34,.82) 91%,
            #151522 100%
        ),

        linear-gradient(
            0deg,
            rgba(8,6,5,.64) 0%,
            rgba(8,6,5,.10) 40%,
            transparent 70%
        );
}


/* ==========================================================
   SMALL IMAGE LABELS
========================================================== */

.join-image-caption{
    position:absolute;

    left:max(
        22px,
        calc(
            (100vw - var(--container-width)) / 2
        )
    );

    bottom:34px;

    z-index:4;

    display:flex;
    align-items:center;

    gap:22px;
}


.join-image-caption span{
    position:relative;

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

    /* font-size:.56rem; */
    font-size: 18px;
    font-weight:800;

    letter-spacing:.18em;

    text-transform:uppercase;
}


.join-image-caption span + span::before{
    content:"";

    position:absolute;

    left:-12px;
    top:50%;

    width:3px;
    height:3px;

    border-radius:50%;

    background:#ff8124;

    transform:translateY(-50%);
}


/* ==========================================================
   LOGO ON IMAGE / CONTENT DIVIDER
========================================================== */

.join-logo-badge{
    position:absolute;

    left:52%;
    top:50%;

    z-index:10;

    width:100px;
    height:100px;

    padding:11px;

    display:grid;
    place-items:center;

    border-radius:50%;

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

    background:#f4771f;

    border:5px solid #151522;

    box-shadow:
        0 12px 40px
        rgba(0,0,0,.36);
}


.join-logo-badge::before{
    content:"";

    position:absolute;

    inset:5px;

    border-radius:50%;

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


.join-logo-badge::after{
    content:"";

    position:absolute;

    inset:-10px;

    z-index:-1;

    border-radius:50%;

    border:
        1px solid
        rgba(244,119,31,.28);
}


.join-logo-badge img{
    position:relative;

    z-index:2;

    width:100%;
    height:100%;

    object-fit:contain;
}


/* ==========================================================
   DARK PANEL DECORATION
========================================================== */

.join-home::before{
    content:"";

    position:absolute;

    right:-260px;
    top:-270px;

    z-index:0;

    width:650px;
    height:650px;

    border-radius:50%;

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

    box-shadow:
        0 0 0 90px rgba(255,255,255,.010),
        0 0 0 180px rgba(255,255,255,.006);

    pointer-events:none;
}


.join-home::after{
    content:"";

    position:absolute;

    right:0;
    bottom:0;

    z-index:3;

    width:48%;
    height:3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #e86119 30%,
            #ff9b26
        );

    pointer-events:none;
}


/* ==========================================================
   LAYOUT
========================================================== */

.join-layout{
    position:relative;

    z-index:7;

    min-height:100svh;

    display:grid;

    grid-template-columns:
        52%
        48%;

    align-items:center;
}


/* ==========================================================
   RIGHT CONTENT
========================================================== */

.join-home-copy{
    grid-column:2;

    width:100%;

    max-width:650px;

    padding:
        calc(var(--header-h) + 20px)
        0
        55px
        72px;
}


/* ==========================================================
   KICKER
========================================================== */

.join-home .section-kicker{
    margin-bottom:14px;

    color:#ff8124;
}


/* ==========================================================
   MAIN HEADING
========================================================== */

.join-home h2{
    max-width:540px;

    margin:
        0
        0
        16px;

    font-family:"Anton",sans-serif;

    font-size:
        clamp(
            4rem,
            5.4vw,
            6.2rem
        );

    font-weight:300;

    line-height:.91 !important;

    letter-spacing:.005em;

    text-transform:uppercase;

    color:#fff;
}


/* ==========================================================
   SUBTITLE
========================================================== */

.join-subtitle{
    max-width:520px !important;

    margin:
        0
        0
        17px !important;

    color:
        rgba(255,255,255,.90) !important;

    font-size:
        clamp(
            1.05rem,
            1.35vw,
            1.3rem
        ) !important;

    font-weight:400;

    line-height:1.45 !important;
}


/* ==========================================================
   SMALL DIVIDER
========================================================== */

.join-divider{
    width:54px;
    height:2px;

    margin-bottom:18px;

    background:#f4771f;
}


/* ==========================================================
   SUPPORT TITLE
========================================================== */

.join-home-copy h3{
    margin:
        0
        0
        12px;

    font-size:
        clamp(
            1rem,
            1.25vw,
            1.2rem
        );

    font-weight:800;

    line-height:1.3;

    letter-spacing:.02em;

    text-transform:uppercase;

    color:#fff;
}


.join-home-copy h3 span{
    color:#ff7926;
}


/* ==========================================================
   DESCRIPTION
========================================================== */

.join-description{
    max-width:570px !important;

    margin:
        0
        0
        28px !important;

    color:
        rgba(255,255,255,.58) !important;

    font-size:.84rem;

    line-height:1.72 !important;
}


/* ==========================================================
   ACTION GRID
========================================================== */

.join-action-grid{
    width:100%;
    max-width:610px;

    display:grid;

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

    gap:10px;
}


/* ==========================================================
   ACTION CARD
========================================================== */

.join-action{
    --join-accent:#f4771f;

    position:relative;

    min-height:145px;

    padding:
        18px
        16px
        16px;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    justify-content:space-between;

    gap:14px;

    overflow:hidden;

    text-align:left;

    color:#fff;

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

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

    border-top:
        3px solid
        var(--join-accent);

    backdrop-filter:
        blur(7px);

    -webkit-backdrop-filter:
        blur(7px);

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


.join-action-one{
    --join-accent:#ff7a1a;
}


.join-action-two{
    --join-accent:#c7372d;
}


.join-action-three{
    --join-accent:#f39b23;
}


.join-action::before{
    content:"";

    position:absolute;

    inset:0;

    pointer-events:none;

    opacity:0;

    background:
        linear-gradient(
            135deg,
            color-mix(
                in srgb,
                var(--join-accent) 20%,
                transparent
            ),
            transparent 60%
        );

    transition:
        opacity .3s ease;
}


.join-action:hover{
    color:#fff;

    transform:
        translateY(-6px);

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

    border-color:
        rgba(255,255,255,.20);

    border-top-color:
        var(--join-accent);

    box-shadow:
        0 18px 38px
        rgba(0,0,0,.27);
}


.join-action:hover::before{
    opacity:1;
}


/* ==========================================================
   ICON
========================================================== */

.join-action-icon{
    width:38px;
    height:38px;

    flex:0 0 38px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    background:
        var(--join-accent);

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


.join-action-icon i{
    width:auto !important;

    margin:0 !important;

    font-size:.95rem !important;
}


/* ==========================================================
   CARD TEXT
========================================================== */

.join-action-text small{
    display:block;

    margin-bottom:5px;

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

    font-size:.48rem;

    font-weight:800;

    letter-spacing:.14em;

    text-transform:uppercase;
}


.join-action-text span{
    display:block;

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

    font-size:.68rem;

    font-weight:600;

    line-height:1.3;

    text-transform:uppercase;
}


.join-action-text strong{
    display:block;

    margin-top:3px;

    color:#fff;

    font-size:.98rem;

    font-weight:800;
}


/* ==========================================================
   ARROW
========================================================== */

.join-action-arrow{
    position:absolute;

    right:14px;
    top:16px;

    width:auto !important;

    margin:0 !important;

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

    font-size:.82rem !important;

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


.join-action:hover
.join-action-arrow{
    color:#fff;

    transform:
        translate(3px,-3px);
}


/* ==========================================================
   LAPTOP
========================================================== */

@media
(min-width:992px)
and
(max-width:1199.98px){

    .join-visual{
        width:48%;
    }


    .join-logo-badge{
        left:48%;

        width:90px;
        height:90px;
    }


    .join-layout{
        grid-template-columns:
            48%
            52%;
    }


    .join-home-copy{
        padding-left:55px;
        padding-right:20px;
    }


    .join-home h2{
        font-size:
            clamp(
                3.8rem,
                5.7vw,
                5.5rem
            );
    }


    .join-action{
        min-height:135px;

        padding:16px 13px;
    }

}


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

@media (max-width:991.98px){

    .join-home{
        min-height:auto !important;

        display:block;

        padding:0 !important;

        overflow:hidden;
    }


    .join-visual{
        position:relative;

        width:100%;
        height:480px;
    }


    .join-visual-overlay{
        background:
            linear-gradient(
                0deg,
                #151522 0%,
                rgba(21,21,34,.82) 20%,
                rgba(21,21,34,.12) 55%,
                transparent 100%
            );
    }


    .join-image-caption{
        left:22px;
        bottom:25px;
    }


    .join-logo-badge{
        left:50%;
        top:480px;

        width:92px;
        height:92px;
    }


    .join-layout{
        display:block;

        min-height:auto;
    }


    .join-home-copy{
        width:100%;
        max-width:none;

        padding:
            70px
            0
            70px;
    }


    .join-home h2{
        max-width:650px;

        font-size:
            clamp(
                4rem,
                10vw,
                6rem
            );
    }


    .join-description{
        max-width:680px !important;
    }


    .join-action-grid{
        max-width:none;
    }

}


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

@media (max-width:767.98px){

    .join-home{
        height:auto !important;
    }


    .join-visual{
        height:340px;
    }


    .join-logo-badge{
        top:340px;

        width:76px;
        height:76px;

        padding:8px;
    }


    .join-image-caption{
        left:16px;
        bottom:18px;

        gap:14px;
    }


    .join-image-caption span{
        font-size:.48rem;

        letter-spacing:.13em;
    }


    .join-home-copy{
        padding:
            57px
            0
            50px;
    }


    .join-home h2{
        margin-bottom:12px;

        font-size:
            clamp(
                3.2rem,
                14vw,
                4.3rem
            );

        line-height:.92 !important;
    }


    .join-subtitle{
        max-width:100% !important;

        margin-bottom:15px !important;

        font-size:.98rem !important;
    }


    .join-divider{
        width:42px;

        margin-bottom:16px;
    }


    .join-home-copy h3{
        font-size:1rem;
    }


    .join-description{
        max-width:100% !important;

        margin-bottom:21px !important;

        font-size:.81rem;

        line-height:1.65 !important;
    }


    .join-action-grid{
        grid-template-columns:1fr;

        gap:8px;
    }


    .join-action{
        min-height:76px;

        padding:
            11px
            13px;

        display:grid;

        grid-template-columns:
            40px
            1fr
            24px;

        align-items:center;

        gap:11px;

        border-top-width:1px;

        border-left:
            3px solid
            var(--join-accent);
    }


    .join-action-icon{
        width:38px;
        height:38px;
    }


    .join-action-text small{
        margin-bottom:2px;

        font-size:.46rem;
    }


    .join-action-text span{
        font-size:.65rem;
    }


    .join-action-text strong{
        display:inline;

        margin:
            0
            0
            0
            3px;

        font-size:.81rem;
    }


    .join-action-arrow{
        position:static;

        justify-self:end;
    }


    .join-action:hover{
        transform:
            translateY(-2px);
    }

}


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

@media (max-width:420px){

    .join-visual{
        height:300px;
    }


    .join-logo-badge{
        top:300px;

        width:70px;
        height:70px;
    }


    .join-home-copy{
        padding:
            53px
            0
            44px;
    }


    .join-home h2{
        font-size:3rem;
    }


    .join-image-caption{
        gap:10px;
    }


    .join-image-caption span{
        font-size:.44rem;
    }

}


/* ==========================================================
   FINAL HERO TYPOGRAPHY
   SAME STYLE ON HOME + ALL INNER PAGES
========================================================== */

.hero-home h1,
.page-hero .page-title{
    font-family:"Anton",sans-serif !important;

    font-size:clamp(
        4.5rem,
        8vw,
        7rem
    ) !important;

    font-weight:300 !important;

    line-height:.95 !important;

    letter-spacing:0 !important;

    text-transform:uppercase;

    font-style:normal;

    transform:none;

    text-shadow:
        0 4px 32px
        rgba(0,0,0,.18);
}


/* HOME PAGE MUST NOT COMPRESS THE TITLE */

.home-page.motion-ready
.hero-home.has-entered
h1.motion-left{
    opacity:1;

    transform:none !important;
}


/* KEEP ENTRANCE ANIMATION WITHOUT CHANGING FONT WIDTH */

.home-page.motion-ready
.hero-home:not(.has-entered)
h1.motion-left{
    opacity:0;

    transform:
        translateX(-40px) !important;
}


/* HOME TITLE WIDTH */

.hero-home h1{
    width:auto !important;
    max-width:900px;
}


/* INNER PAGE TITLE */

.page-hero .page-title{
    width:auto;
    max-width:900px;
}


/* HOME ORANGE WORD */

.hero-home h1 em{
    font-family:"Anton",sans-serif !important;

    font-style:normal;

    font-weight:300;

    color:#ffb022;
}


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

@media (max-width:991.98px){

    .hero-home h1,
    .page-hero .page-title{
        font-size:clamp(
            4rem,
            10vw,
            6rem
        ) !important;

        line-height:.95 !important;

        letter-spacing:0 !important;
    }

}


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

@media (max-width:767.98px){

    .hero-home h1,
    .page-hero .page-title{
        width:100% !important;

        max-width:100%;

        font-size:clamp(
            3.25rem,
            13vw,
            4.3rem
        ) !important;

        line-height:.95 !important;

        letter-spacing:0 !important;
    }

}


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

@media (max-width:420px){

    .hero-home h1,
    .page-hero .page-title{
        font-size:3rem !important;
    }

}


/* ==========================================================
   VERY SMALL MOBILE
========================================================== */

@media (max-width:360px){

    .hero-home h1,
    .page-hero .page-title{
        font-size:2.7rem !important;
    }

}


/* ==========================================================
   FINAL RESPONSIVE HOME HERO IMAGE
========================================================== */

.hero-home{
    position:relative;
    width:100%;
    min-height:100svh;
    overflow:hidden;
}

.hero-home .panel-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden;
}

.hero-home .panel-bg img{
    display:block;

    width:100% !important;
    height:100% !important;

    max-width:none;

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

    transform:scale(1.02);
}


/* Active image animation */

.hero-home.is-active .panel-bg img{
    transform:scale(1);
}


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

@media (max-width:991.98px){

    .hero-home{
        min-height:100svh !important;
    }

    .hero-home .panel-bg img{
        object-position:58% center !important;
    }

}


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

@media (max-width:767.98px){

    .hero-home{
        min-height:100svh !important;
        height:auto !important;

        padding-top:var(--header-h);
    }

    .hero-home .panel-bg{
        inset:0 !important;

        width:100%;
        height:100%;
    }

    .hero-home .panel-bg img{
        width:100% !important;
        height:100% !important;

        object-fit:cover !important;

        /*
           Shows more of the person + flag
           instead of pushing the image too far right.
        */
        object-position:56% center !important;

        transform:none !important;
    }

}


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

@media (max-width:420px){

    .hero-home{
        min-height:100svh !important;
    }

    .hero-home .panel-bg img{
        object-position:55% center !important;
    }

}


/* ==========================================================
   VERY SMALL MOBILE
========================================================== */

@media (max-width:360px){

    .hero-home .panel-bg img{
        object-position:54% center !important;
    }

}

/* ==========================================================
   FINAL MOBILE HERO HEIGHT
========================================================== */

@media (max-width:767.98px){

    .hero-home{
        min-height:580px !important;
        height:82svh !important;
        max-height:640px !important;

        padding-top:var(--header-h);
    }

    .hero-home .panel-bg,
    .hero-home .panel-bg picture{
        position:absolute;
        inset:0;

        width:100%;
        height:100%;
    }

    .hero-home .panel-bg img{
        width:100% !important;
        height:100% !important;

        object-fit:cover !important;
        object-position:55% center !important;
    }

    .hero-home .hero-copy{
        padding-top:10px;
    }

}


/* SMALL MOBILE */

@media (max-width:420px){

    .hero-home{
        min-height:560px !important;
        height:80svh !important;
        max-height:600px !important;
    }

    .hero-home .panel-bg img{
        object-position:55% center !important;
    }

}


/* VERY SMALL MOBILE */

@media (max-width:360px){

    .hero-home{
        min-height:540px !important;
        height:80svh !important;
        max-height:570px !important;
    }

}

/* ==========================================================
   HERO BUTTONS IN ONE ROW ON MOBILE
========================================================== */

@media (max-width:767.98px){

    .hero-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;

        gap:10px;

        width:100%;

        margin:0;
    }

    .hero-actions a{
        width:100% !important;
        max-width:none !important;

        min-height:44px;

        padding:0 10px;

        font-size:.62rem;

        white-space:nowrap;
    }

}

/* ==========================================================
   FOUNDER MOBILE - CENTER ALIGN CONTENT
========================================================== */

@media (max-width:767.98px){

    .founder-main-content{
        width:100% !important;
        max-width:100% !important;

        margin:0 auto !important;
        padding:0 16px !important;

        text-align:center !important;
    }


    .founder-kicker{
        display:flex;

        width:max-content;

        margin:
            0
            auto
            10px !important;

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

        text-align:center;
    }


    .founder-main-content h2{
        width:100%;

        margin:
            0
            auto
            9px !important;

        text-align:center !important;
    }


    .founder-main-content p{
        width:100%;
        max-width:420px !important;

        margin:
            0
            auto
            18px !important;

        text-align:center !important;
    }


    .founder-read-more{
        display:flex;

        width:max-content;

        margin:
            0
            auto !important;

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

}

/* ==========================================================
   FOOTER SUBSCRIBE - INPUT + BUTTON IN ONE ROW
========================================================== */

@media (max-width:767.98px){

    .footer-subscribe-inner{
        display:grid !important;

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

        gap:8px !important;

        align-items:center;
    }


    .footer-subscribe-label{
        grid-column:1 / -1;

        width:100%;

        margin:0 0 2px;

        text-align:left !important;
    }


    .footer-subscribe-inner input{
        grid-column:1;

        width:100% !important;
        min-width:0;

        height:42px;

        margin:0 !important;
    }


    .footer-subscribe-inner button{
        grid-column:2;

        width:auto !important;
        min-width:105px;

        height:42px;

        margin:0 !important;

        padding:0 14px;

        white-space:nowrap;
    }

}


/* ==========================================================
   FOOTER ACTION BUTTONS - ONE ROW ON MOBILE
========================================================== */

@media (max-width:767.98px){

    .footer-action-row{
        width:100% !important;

        display:grid !important;
        grid-template-columns:repeat(3,1fr) !important;

        gap:7px !important;

        margin:
            24px
            0
            0 !important;
    }


    .footer-action{
        width:100%;

        min-height:44px;

        padding:
            7px
            5px;

        font-size:.78rem;

        white-space:nowrap;
    }

}


/* SMALL MOBILE */

@media (max-width:420px){

    .footer-action-row{
        gap:5px !important;
    }

    .footer-action{
        min-height:42px;

        padding:
            6px
            3px;

        font-size:.68rem;
    }

}

/* ==========================================================
   DHARMA PAGE HERO IMAGE POSITION
========================================================== */

.dharma-page-hero .hero-photo img{
    width:100%;
    height:100%;

    object-fit:cover;

    /* Keep the upper part / faces visible */
    object-position:center 18% !important;
}


/* TABLET */
@media (max-width:991.98px){

    .dharma-page-hero .hero-photo img{
        object-position:center 15% !important;
    }

}


/* MOBILE */
@media (max-width:767.98px){

    .dharma-page-hero .hero-photo img{
        object-position:60% 12% !important;
    }

}


/* SMALL MOBILE */
@media (max-width:420px){

    .dharma-page-hero .hero-photo img{
        object-position:62% 10% !important;
    }

}

/* ==================================================
   FOOTER NAVIGATION LOGO
================================================== */

.footer-navigation-logo{
    margin:0 0 16px;
}

.footer-navigation-logo a{
    display:inline-block;
}

.footer-navigation-logo img{
    display:block;

    width:auto;
    height:90px;

    max-width:190px;

    object-fit:contain;
}

/* ==========================================================
   HOME HERO BRAND - FINAL DESIGN
========================================================== */

.hero-home .hero-copy{
    width:min(690px,55vw) !important;
    max-width:690px !important;
}


/* SMALL TOP LABEL */

.hero-home .hero-brand-kicker{
    display:inline-flex;
    align-items:center;
    gap:11px;

    margin:0 0 10px;

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

    font-size:.67rem;
    font-weight:800;

    letter-spacing:.18em;
    text-transform:uppercase;
}


.hero-home .hero-brand-kicker::before{
    content:"";

    width:34px;
    height:2px;

    background:#ff8a21;
}


/* ==========================================================
   ORGANISATION NAME
========================================================== */

.hero-home .hero-org-name{
    width:auto !important;
    max-width:none !important;

    margin:0 !important;

    font-family:"Anton",sans-serif !important;

    font-size:
        clamp(
            5.6rem,
            9vw,
            9.4rem
        ) !important;

    font-weight:300 !important;

    line-height:.88 !important;

    letter-spacing:.015em !important;

    text-transform:uppercase;

    color:#fff;

    text-shadow:
        0 8px 35px
        rgba(0,0,0,.22);

    transform:none;
}


/* ORANGE ACCENT UNDER BRAND */

.hero-home .hero-brand-rule{
    width:92px;
    height:5px;

    margin:
        17px
        0
        18px;

    background:
        linear-gradient(
            90deg,
            #ff8a21,
            #d7391e
        );
}


/* ==========================================================
   SUPPORTING SLOGAN
========================================================== */

.hero-home .hero-brand-statement{
    max-width:570px;

    margin:
        0
        0
        15px !important;

    font-family:"Anton",sans-serif !important;

    font-size:
        clamp(
            2.4rem,
            4vw,
            4.2rem
        ) !important;

    font-weight:300 !important;

    line-height:.96 !important;

    letter-spacing:.01em;

    text-transform:uppercase;

    color:#fff;
}


.hero-home .hero-brand-statement span{
    display:block;
}


.hero-home .hero-brand-statement em{
    display:inline-block;

    font-style:normal;

    color:#ffae22;
}


/* ==========================================================
   TAGLINE
========================================================== */

.hero-home .hero-copy > p{
    max-width:450px;

    margin:
        0
        0
        23px !important;

    padding-left:14px;

    border-left:2px solid #ff8a21;

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

    font-size:1rem;
    line-height:1.45;
}


/* ==========================================================
   MOTION
========================================================== */

.home-page.motion-ready
.hero-home:not(.has-entered)
.hero-org-name.motion-left{
    opacity:0;

    transform:
        translateX(-38px) !important;
}


.home-page.motion-ready
.hero-home.has-entered
.hero-org-name.motion-left{
    opacity:1;

    transform:none !important;
}


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

@media (max-width:991.98px){

    .hero-home .hero-copy{
        width:min(620px,88vw) !important;
    }

    .hero-home .hero-org-name{
        font-size:
            clamp(
                4.8rem,
                12vw,
                7rem
            ) !important;
    }

    .hero-home .hero-brand-statement{
        font-size:
            clamp(
                2.2rem,
                6vw,
                3.5rem
            ) !important;
    }

}


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

@media (max-width:767.98px){

    .hero-home .hero-copy{
        width:100% !important;
        max-width:100% !important;
    }


    .hero-home .hero-brand-kicker{
        margin-bottom:8px;

        font-size:.50rem;

        letter-spacing:.13em;
    }


    .hero-home .hero-brand-kicker::before{
        width:23px;
    }


    .hero-home .hero-org-name{
        width:100% !important;

        font-size:
            clamp(
                3.8rem,
                16vw,
                5.2rem
            ) !important;

        line-height:.9 !important;
    }


    .hero-home .hero-brand-rule{
        width:65px;
        height:4px;

        margin:
            12px
            0
            13px;
    }


    .hero-home .hero-brand-statement{
        max-width:320px;

        margin-bottom:12px !important;

        font-size:
            clamp(
                1.8rem,
                8vw,
                2.6rem
            ) !important;

        line-height:.96 !important;
    }


    .hero-home .hero-copy > p{
        max-width:300px;

        margin-bottom:17px !important;

        padding-left:10px;

        font-size:.78rem;
    }

}


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

@media (max-width:420px){

    .hero-home .hero-org-name{
        font-size:
            clamp(
                3.45rem,
                15.5vw,
                4.35rem
            ) !important;
    }


    .hero-home .hero-brand-statement{
        max-width:280px;

        font-size:
            clamp(
                1.65rem,
                7.5vw,
                2.25rem
            ) !important;
    }

}

/* ==========================================================
   JOIN ACTION CARDS
   FINAL COMPACT DESIGN
   KEEP AT ABSOLUTE BOTTOM OF style.css
========================================================== */

.join-action-grid{
    width:100%;
    max-width:610px;

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

    gap:9px;
}


/* ==========================================================
   COMPACT CARD
========================================================== */

.join-action{
    --join-accent:#ff7a1a;

    position:relative;

    min-height:92px !important;
    height:92px;

    padding:
        13px
        13px
        13px
        14px !important;

    display:grid !important;

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

    align-items:center;

    column-gap:11px;

    overflow:hidden;

    text-align:left !important;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.025)
        ) !important;

    border:
        1px solid
        rgba(255,255,255,.12) !important;

    border-top:
        3px solid
        var(--join-accent) !important;

    backdrop-filter:blur(7px);

    -webkit-backdrop-filter:blur(7px);

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


/* CARD COLOURS */

.join-action-one{
    --join-accent:#ff7817;
}

.join-action-two{
    --join-accent:#cf382f;
}

.join-action-three{
    --join-accent:#f29a1f;
}


/* SUBTLE BACKGROUND ACCENT */

.join-action::before{
    content:"";

    position:absolute;

    left:0;
    top:0;

    width:58px;
    height:100%;

    pointer-events:none;

    opacity:.10;

    background:
        linear-gradient(
            90deg,
            var(--join-accent),
            transparent
        );

    transition:
        opacity .28s ease;
}


/* ==========================================================
   ICON
========================================================== */

.join-action-icon{
    position:relative;

    z-index:2;

    width:36px !important;
    height:36px !important;

    flex:none !important;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:
        var(--join-accent) !important;

    color:#fff;

    box-shadow:
        0 6px 18px
        rgba(0,0,0,.20);
}


.join-action-icon i{
    width:auto !important;

    margin:0 !important;

    font-size:.88rem !important;

    line-height:1;
}


/* ==========================================================
   TEXT
========================================================== */

.join-action-text{
    position:relative;

    z-index:2;

    min-width:0;
}


.join-action-text small{
    display:block;

    margin:
        0
        0
        3px !important;

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

    font-size:.43rem !important;

    font-weight:800;

    line-height:1;

    letter-spacing:.14em;

    text-transform:uppercase;
}


.join-action-text span{
    display:block;

    margin:0;

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

    font-size:.60rem !important;

    font-weight:600;

    line-height:1.15 !important;

    text-transform:uppercase;
}


.join-action-text strong{
    display:block !important;

    margin:
        3px
        0
        0 !important;

    color:#fff;

    font-family:"Inter",sans-serif;

    font-size:.88rem !important;

    font-weight:800;

    line-height:1.05;

    text-transform:uppercase;
}


/* ==========================================================
   ARROW
========================================================== */

.join-action-arrow{
    position:static !important;

    z-index:2;

    width:auto !important;

    margin:0 !important;

    justify-self:end;

    align-self:start;

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

    font-size:.72rem !important;

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


/* ==========================================================
   HOVER
========================================================== */

.join-action:hover{
    color:#fff;

    transform:
        translateY(-4px);

    background:
        rgba(255,255,255,.07) !important;

    border-color:
        rgba(255,255,255,.19) !important;

    border-top-color:
        var(--join-accent) !important;

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


.join-action:hover::before{
    opacity:.18;
}


.join-action:hover
.join-action-arrow{
    color:
        var(--join-accent);

    transform:
        translate(2px,-2px);
}


/* ==========================================================
   LAPTOP
========================================================== */

@media
(min-width:768px)
and
(max-width:1199.98px){

    .join-action-grid{
        gap:7px;
    }


    .join-action{
        min-height:88px !important;
        height:88px;

        padding:
            11px
            10px
            11px
            11px !important;

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

        column-gap:8px;
    }


    .join-action-icon{
        width:33px !important;
        height:33px !important;
    }


    .join-action-text strong{
        font-size:.80rem !important;
    }

}


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

@media (max-width:767.98px){

    .join-action-grid{
        grid-template-columns:1fr;

        gap:7px;
    }


    .join-action{
        width:100%;

        min-height:68px !important;
        height:68px;

        padding:
            9px
            12px !important;

        grid-template-columns:
            36px
            1fr
            20px;

        column-gap:11px;

        border-top:
            1px solid
            rgba(255,255,255,.12) !important;

        border-left:
            3px solid
            var(--join-accent) !important;
    }


    .join-action-icon{
        width:34px !important;
        height:34px !important;
    }


    .join-action-text small{
        font-size:.42rem !important;
    }


    .join-action-text span{
        font-size:.58rem !important;
    }


    .join-action-text strong{
        display:inline !important;

        margin-left:3px !important;

        font-size:.82rem !important;
    }


    .join-action-arrow{
        align-self:center;
    }


    .join-action:hover{
        transform:
            translateY(-2px);
    }

}


/* ==========================================================
   FOOTER QUICK CONTACT
   MODERN CONTACT BAR
========================================================== */

.footer-contact{
    position:relative;

    width:100%;

    padding:
        30px
        0;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            #14182b 0%,
            #191e35 55%,
            #121627 100%
        );

    border-bottom:
        1px solid
        rgba(255,255,255,.07);

    color:#fff;
}


/* DECORATIVE GLOW */

.footer-contact::before{
    content:"";

    position:absolute;

    right:-120px;
    top:-180px;

    width:430px;
    height:430px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(232,97,25,.12),
            transparent 68%
        );

    pointer-events:none;
}


/* ==========================================================
   LAYOUT
========================================================== */

.footer-contact-layout{
    position:relative;

    z-index:2;

    display:grid;

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

    gap:45px;

    align-items:center;
}


/* ==========================================================
   LEFT CONTENT
========================================================== */

.footer-contact-intro{
    position:relative;

    padding-right:35px;

    border-right:
        1px solid
        rgba(255,255,255,.10);
}


.footer-contact-kicker{
    display:flex;

    align-items:center;

    gap:9px;

    margin-bottom:7px;

    color:#ff8124;

    font-size:.58rem;

    font-weight:800;

    letter-spacing:.16em;

    text-transform:uppercase;
}


.footer-contact-kicker::before{
    content:"";

    width:25px;
    height:2px;

    background:#ff8124;
}


.footer-contact-intro h2{
    margin:
        0
        0
        7px;

    font-family:"Anton",sans-serif;

    font-size:
        clamp(
            1.9rem,
            2.8vw,
            2.7rem
        );

    font-weight:300 !important;

    line-height:.95 !important;

    text-transform:uppercase;

    color:#fff;
}


.footer-contact-intro h2 span{
    display:block;

    color:#ff8124;
}


.footer-contact-intro p{
    max-width:250px;

    margin:0;

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

    font-size:.72rem;

    line-height:1.55;
}


/* ==========================================================
   FORM
========================================================== */

.footer-contact-form{
    width:100%;

    display:grid;

    grid-template-columns:
        1fr
        1fr
        1.25fr
        auto;

    gap:9px;

    align-items:end;
}


/* ==========================================================
   FIELDS
========================================================== */

.footer-contact-field{
    min-width:0;
}


.footer-contact-field label{
    display:block;

    margin-bottom:6px;

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

    font-size:.52rem;

    font-weight:700;

    letter-spacing:.09em;

    text-transform:uppercase;
}


.footer-contact-field input{
    width:100%;
    height:46px;

    padding:
        0
        13px;

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

    border-radius:0;

    outline:none;

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

    color:#fff;

    font-family:"Inter",sans-serif;

    font-size:.76rem;

    transition:
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}


.footer-contact-field input::placeholder{
    color:
        rgba(255,255,255,.32);
}


.footer-contact-field input:focus{
    border-color:#ff8124;

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

    box-shadow:
        0 0 0 3px
        rgba(255,129,36,.08);
}


/* ==========================================================
   SUBMIT BUTTON
========================================================== */

.footer-contact-submit{
    height:46px;

    padding:
        0
        18px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    border:0;

    background:
        linear-gradient(
            135deg,
            #f4771f,
            #d9471a
        );

    color:#fff;

    font-size:.65rem;

    font-weight:800;

    letter-spacing:.07em;

    text-transform:uppercase;

    white-space:nowrap;

    cursor:pointer;

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


.footer-contact-submit i{
    font-size:.82rem;

    transition:
        transform .25s ease;
}


.footer-contact-submit:hover{
    background:
        linear-gradient(
            135deg,
            #ff8b25,
            #c83221
        );

    transform:
        translateY(-2px);

    box-shadow:
        0 10px 25px
        rgba(0,0,0,.22);
}


.footer-contact-submit:hover i{
    transform:
        translate(2px,-2px);
}


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

@media (max-width:991.98px){

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

        gap:22px;
    }


    .footer-contact-intro{
        padding:
            0
            0
            18px;

        border-right:0;

        border-bottom:
            1px solid
            rgba(255,255,255,.10);
    }


    .footer-contact-intro p{
        max-width:500px;
    }


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


    .footer-contact-message{
        grid-column:
            1 / 2;
    }


    .footer-contact-submit{
        width:100%;
    }

}


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

@media (max-width:767.98px){

    .footer-contact{
        padding:
            25px
            0;
    }


    .footer-contact-layout{
        gap:18px;
    }


    .footer-contact-intro{
        padding-bottom:16px;
    }


    .footer-contact-intro h2{
        font-size:2rem;
    }


    .footer-contact-intro p{
        max-width:100%;

        font-size:.7rem;
    }


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


    .footer-contact-message{
        grid-column:auto;
    }


    .footer-contact-field input{
        height:44px;

        font-size:.72rem;
    }


    .footer-contact-submit{
        width:100%;
        height:44px;

        margin-top:2px;
    }

}

/* ==========================================================
   CONTACT PAGE - MODERN FORM
   KEEP AT ABSOLUTE BOTTOM OF style.css
========================================================== */

.contact-modern-card{
    position:relative;
    width:100%;
    padding:38px 38px 40px;
    overflow:hidden;

    background:
        linear-gradient(
            145deg,
            #171b30 0%,
            #1d223d 55%,
            #131729 100%
        );

    color:#fff;

    box-shadow:
        0 24px 60px
        rgba(20,16,13,.15);
}


/* ORANGE ACCENT LINE */

.contact-modern-card::after{
    content:"";
    position:absolute;
    left:0;
    top:0;

    width:95px;
    height:4px;

    background:
        linear-gradient(
            90deg,
            #ff8a21,
            #c83324
        );
}


/* BACKGROUND DECORATION */

.contact-modern-card::before{
    content:"";

    position:absolute;

    right:-150px;
    top:-170px;

    width:390px;
    height:390px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(232,97,25,.13),
            transparent 68%
        );

    pointer-events:none;
}


/* ==========================================================
   FORM HEADING
========================================================== */

.contact-modern-head{
    position:relative;
    z-index:2;

    margin-bottom:27px;
}


.contact-modern-kicker{
    display:flex;
    align-items:center;
    gap:9px;

    margin-bottom:9px;

    color:#ff8124;

    font-size:.61rem;
    font-weight:800;

    letter-spacing:.16em;

    text-transform:uppercase;
}


.contact-modern-kicker::before{
    content:"";

    width:28px;
    height:2px;

    background:#ff8124;
}


.contact-modern-head h2{
    max-width:470px;

    margin:0 0 13px;

    font-family:"Anton",sans-serif;

    font-size:
        clamp(
            3rem,
            4.5vw,
            4.7rem
        );

    font-weight:300 !important;

    line-height:.94 !important;

    text-transform:uppercase;

    color:#fff;
}


.contact-modern-head h2 span{
    color:#ff8124;
}


.contact-modern-head p{
    max-width:500px;

    margin:0;

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

    font-size:.82rem;

    line-height:1.65;
}


/* ==========================================================
   FORM
========================================================== */

.contact-modern-form{
    position:relative;

    z-index:2;

    width:100%;

    display:grid;

    gap:15px;
}


.contact-modern-row{
    display:grid;

    grid-template-columns:
        1fr
        1fr;

    gap:12px;
}


.contact-modern-field{
    min-width:0;
}


.contact-modern-field label{
    display:block;

    margin-bottom:7px;

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

    font-size:.54rem;

    font-weight:800;

    letter-spacing:.11em;

    text-transform:uppercase;
}


/* ==========================================================
   INPUT WRAPPER
========================================================== */

.contact-modern-input{
    position:relative;

    width:100%;
    min-height:50px;

    display:flex;

    align-items:center;

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

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

    transition:
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}


.contact-modern-input:focus-within{
    border-color:#ff8124;

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

    box-shadow:
        0 0 0 3px
        rgba(255,129,36,.08);
}


/* ICON */

.contact-modern-input > i{
    width:46px;

    flex:0 0 46px;

    display:grid;

    place-items:center;

    color:#ff8124;

    font-size:.92rem;
}


/* INPUT */

.contact-modern-input input{
    width:100%;
    height:48px;

    min-width:0;

    padding:
        0
        14px
        0
        0;

    border:0 !important;

    outline:0 !important;

    box-shadow:none !important;

    background:transparent !important;

    color:#fff;

    font-family:"Inter",sans-serif;

    font-size:.78rem;
}


.contact-modern-input input::placeholder,
.contact-modern-input textarea::placeholder{
    color:
        rgba(255,255,255,.31);
}


/* ==========================================================
   TEXTAREA
========================================================== */

.contact-modern-textarea{
    align-items:flex-start;

    min-height:130px;
}


.contact-modern-textarea > i{
    padding-top:16px;
}


.contact-modern-input textarea{
    width:100%;
    min-height:128px;

    padding:
        14px
        14px
        14px
        0;

    border:0 !important;

    outline:0 !important;

    box-shadow:none !important;

    resize:vertical;

    background:transparent !important;

    color:#fff;

    font-family:"Inter",sans-serif;

    font-size:.78rem;

    line-height:1.55;
}


/* ==========================================================
   BUTTON
========================================================== */

.contact-modern-submit{
    width:100%;
    min-height:52px;

    margin-top:3px;

    padding:
        0
        18px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:15px;

    border:0;

    background:
        linear-gradient(
            135deg,
            #f4771f,
            #d6441a
        );

    color:#fff;

    cursor:pointer;

    font-family:"Inter",sans-serif;

    font-size:.68rem;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;

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


.contact-modern-submit i{
    width:31px;
    height:31px;

    display:grid;

    place-items:center;

    border-radius:50%;

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

    font-size:.8rem;

    transition:
        transform .25s ease;
}


.contact-modern-submit:hover{
    background:
        linear-gradient(
            135deg,
            #ff8a21,
            #bd2b20
        );

    transform:translateY(-2px);

    box-shadow:
        0 12px 30px
        rgba(0,0,0,.22);
}


.contact-modern-submit:hover i{
    transform:
        translate(2px,-2px);
}


/* ==========================================================
   CONTACT SECTION ALIGNMENT
========================================================== */

.contact-grid{
    display:grid;

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

    gap:40px;

    align-items:stretch;
}


.contact-grid > *{
    min-width:0;
}


.contact-panel,
.contact-modern-card{
    height:100%;
}


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

@media (max-width:991.98px){

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

        gap:30px;
    }


    .contact-modern-card{
        padding:
            32px
            30px
            34px;
    }


    .contact-modern-head h2{
        max-width:600px;
    }

}


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

@media (max-width:767.98px){

    .contact-modern-card{
        padding:
            27px
            20px
            28px;
    }


    .contact-modern-head{
        margin-bottom:22px;
    }


    .contact-modern-head h2{
        font-size:
            clamp(
                2.7rem,
                12vw,
                3.6rem
            );

        line-height:.96 !important;
    }


    .contact-modern-head p{
        max-width:100%;

        font-size:.76rem;
    }


    .contact-modern-row{
        grid-template-columns:1fr;

        gap:15px;
    }


    .contact-modern-input{
        min-height:47px;
    }


    .contact-modern-input input{
        height:45px;

        font-size:.74rem;
    }


    .contact-modern-input textarea{
        min-height:110px;

        font-size:.74rem;
    }


    .contact-modern-textarea{
        min-height:112px;
    }


    .contact-modern-submit{
        min-height:48px;
    }

}


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

@media (max-width:420px){

    .contact-modern-card{
        padding:
            24px
            16px
            25px;
    }


    .contact-modern-head h2{
        font-size:2.65rem;
    }


    .contact-modern-field label{
        font-size:.5rem;
    }


    .contact-modern-input > i{
        width:42px;

        flex-basis:42px;
    }

}


/* ==========================================================
   CONTACT FORM SUBMISSION STATUS
========================================================== */

.footer-contact-form-wrap{
    width:100%;
    min-width:0;
}

.contact-submit-message{
    width:100%;
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 12px;
    padding:10px 12px;
    font-family:"Inter",sans-serif;
    font-size:.68rem;
    line-height:1.4;
}

.contact-submit-message i{
    flex:0 0 auto;
    font-size:.88rem;
}

.contact-submit-success{
    color:#d9ffe6;
    border:1px solid rgba(72,203,118,.30);
    background:rgba(72,203,118,.12);
}

.contact-submit-success i{
    color:#67d98f;
}

.contact-submit-error{
    color:#ffe1dd;
    border:1px solid rgba(241,89,72,.32);
    background:rgba(241,89,72,.12);
}

.contact-submit-error i{
    color:#ff7669;
}



/* ==========================================================
   HOME CONTACT FORM - NAME / PHONE / EMAIL / MESSAGE
========================================================== */

.footer-contact-form{
    width:100%;

    display:grid;

    grid-template-columns:
        .95fr
        .78fr
        1.1fr
        1.2fr
        auto;

    gap:9px;

    align-items:end;
}


/* TABLET */

@media (max-width:1199.98px){

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

    .footer-contact-message{
        grid-column:
            1 / 2;
    }

    .footer-contact-submit{
        width:100%;
    }

}


/* MOBILE */

@media (max-width:767.98px){

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

    .footer-contact-message{
        grid-column:auto;
    }

    .footer-contact-submit{
        width:100%;
    }

}

/* ==================================================
   INNER PAGE NAVIGATION UPDATE
   Keeps all requested inner pages visible as nav links.
================================================== */

@media (min-width:992px){

    .site-header .site-shell{
        max-width:1380px;
    }

    .header-inner{
        grid-template-columns:118px minmax(0,1fr) auto;
        gap:14px;
    }

    .brand-logo{
        height:70px;
        max-width:112px;
    }

    .desktop-nav{
        width:100%;
        justify-content:space-between;
        gap:10px;
    }

    .desktop-nav > a{
        font-size:.59rem;
        letter-spacing:.025em;
    }

}

@media (min-width:992px) and (max-width:1180px){

    .site-header .site-shell{
        width:calc(100% - 28px);
    }

    .header-inner{
        grid-template-columns:92px minmax(0,1fr) auto;
        gap:8px;
    }

    .brand-logo{
        height:60px;
        max-width:88px;
    }

    .desktop-nav{
        gap:6px;
    }

    .desktop-nav > a{
        font-size:.52rem;
        letter-spacing:0;
    }

}


/* ==========================================================
   FINAL TWO ROW DESKTOP NAVBAR
========================================================== */

@media (min-width:992px){

    :root{
        --header-h:118px;
    }


    /* HEADER */

    .site-header{
        height:var(--header-h);
    }


    .header-inner{
        height:100%;

        display:grid;

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

        align-items:center;

        gap:28px;
    }


    /* LOGO */

    .brand{
        align-self:center;
    }


    .brand-logo{
        width:auto;

        height:96px;

        max-width:125px;

        object-fit:contain;
    }


    /* ======================================================
       TWO ROW NAVIGATION
    ====================================================== */

    .desktop-nav{
        width:100%;

        display:flex;

        flex-direction:column;

        align-items:stretch;

        justify-content:center;

        gap:0;

        min-width:0;
    }


    .desktop-nav-row{
        width:100%;

        min-height:46px;

        display:flex;

        align-items:center;

        justify-content:space-between;

        gap:24px;
    }


    .desktop-nav-row-bottom{
        justify-content:flex-end;

        gap:48px;

        border-top:
            1px solid
            rgba(255,255,255,.16);
    }


    /* INNER PAGE / SOLID HEADER DIVIDER */

    .site-header.is-solid
    .desktop-nav-row-bottom,

    .inner-page
    .site-header
    .desktop-nav-row-bottom{
        border-top-color:
            rgba(50,35,25,.09);
    }


    /* ======================================================
       NAV LINKS
    ====================================================== */

    .desktop-nav-row > a{
    position:relative;

    display:inline-flex;

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

    min-height:0;
    height:auto;

    padding:
        4px
        2px
        6px;

    color:#15213d;

    font-family:
        "Inter",
        sans-serif;

    font-size:.68rem;

    font-weight:700;

    line-height:1.2;

    letter-spacing:.01em;

    white-space:nowrap;

    text-transform:uppercase;

    transition:
        color .25s ease;
}

    /* NORMAL / INNER PAGE */

    .site-header.is-solid
    .desktop-nav-row > a,

    .inner-page
    .site-header
    .desktop-nav-row > a{
        color:#17120f;
    }


    /* HOME HERO */

    .home-page
    .site-header:not(.is-solid)
    .desktop-nav-row > a{
        color:#fff;

        text-shadow:
            0 1px 3px
            rgba(0,0,0,.55),

            0 2px 8px
            rgba(0,0,0,.25);
    }


    /* ======================================================
       ACTIVE / HOVER LINE
    ====================================================== */

    .desktop-nav-row > a::after{
        content:"";

        position:absolute;

        left:0;

        bottom:4px;

        width:0;

        height:2px;

        background:
            var(--saffron);

        transition:
            width .28s ease;
    }


    .desktop-nav-row > a:hover::after,
    .desktop-nav-row > a.active::after{
        width:100%;
    }


    .desktop-nav-row > a:hover,
    .desktop-nav-row > a.active{
        color:
            var(--saffron);
    }


    .home-page
    .site-header:not(.is-solid)
    .desktop-nav-row > a.active{
        color:#fff;
    }


    /* HIDE MOBILE BUTTON ON DESKTOP */

    .menu-trigger{
        display:none !important;
    }

}


/* ==========================================================
   SMALL DESKTOP / LAPTOP
   992 - 1199
========================================================== */

@media
(min-width:992px)
and
(max-width:1199.98px){

    :root{
        --header-h:110px;
    }


    .header-inner{
        grid-template-columns:
            105px
            minmax(0,1fr);

        gap:18px;
    }


    .brand-logo{
        height:82px;

        max-width:100px;
    }


    .desktop-nav-row{
        gap:12px;
    }


    .desktop-nav-row-bottom{
        gap:28px;
    }


    .desktop-nav-row > a{
        font-size:.70rem;

        letter-spacing:.015em;
    }

}


/* ==========================================================
   MOBILE + TABLET NAV
========================================================== */

@media (max-width:991.98px){

    :root{
        --header-h:68px;
    }


    .site-header{
        height:var(--header-h);
    }


    .header-inner{
        height:100%;

        display:grid;

        grid-template-columns:
            1fr
            auto;

        align-items:center;

        gap:15px;
    }


    /* DESKTOP NAV OFF */

    .desktop-nav{
        display:none !important;
    }


    /* LOGO */

    .brand-logo{
        width:auto;

        height:58px;

        max-width:115px;
    }


    /* MENU BUTTON */

    .menu-trigger{
        width:44px;
        height:44px;

        display:flex !important;

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

        padding:0;

        font-size:1.9rem;
    }


    /* ======================================================
       OFFCANVAS
    ====================================================== */

    .mobile-menu{
        width:
            min(
                370px,
                90vw
            ) !important;
    }


    .mobile-menu
    .offcanvas-header{
        padding:
            14px
            20px;

        border-bottom:
            1px solid
            var(--line);
    }


    .mobile-logo{
        height:65px;
    }


    .mobile-menu
    .offcanvas-body{
        padding:
            8px
            22px
            28px;
    }


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

    .mobile-links{
        display:grid;
    }


    .mobile-links a{
        position:relative;

        display:flex;

        align-items:center;

        width:100%;

        min-height:58px;

        padding:
            13px
            4px;

        border-bottom:
            1px solid
            var(--line);

        font-family:
            "Anton",
            sans-serif;

        font-size:1.25rem;

        font-weight:400;

        line-height:1.15;

        letter-spacing:.015em;

        text-transform:uppercase;

        color:#17120f;
    }


    .mobile-links a.active{
        color:
            var(--saffron);

        padding-left:14px;
    }


    .mobile-links a.active::before{
        content:"";

        position:absolute;

        left:0;

        top:50%;

        width:5px;
        height:28px;

        transform:
            translateY(-50%);

        background:
            var(--saffron);
    }


    /* DONATE */

    .mobile-donate{
        min-height:48px;

        display:flex;

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

        margin-top:22px;

        padding:
            12px
            16px;

        background:
            var(--red);

        color:#fff;

        font-size:.74rem;

        font-weight:800;

        letter-spacing:.07em;

        text-transform:uppercase;
    }

}


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

@media (max-width:420px){

    .mobile-menu{
        width:92vw !important;
    }


    .mobile-links a{
        min-height:54px;

        padding:
            12px
            3px;

        font-size:1.08rem;
    }


    .mobile-logo{
        height:58px;
    }

}



/* ==========================================================
   FINAL DESKTOP NAVBAR
   TWO NAV ROWS + FULL LINK NAMES
========================================================== */

@media (min-width:1200px){

    :root{
        --header-h:108px;
    }


    /* HEADER */

    .site-header{
        height:var(--header-h);
    }


    .site-header .site-shell{
        width:calc(100% - 40px);
        max-width:1440px;

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

        padding: 0 40px;
    }


    .header-inner{
        width:100%;
        height:100%;

        display:grid;

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

        gap:20px;

        align-items:center;
    }


    /* LOGO */

    .brand{
        width:100px;

        display:flex;

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


    .brand-logo{
        width:auto;
        height:80px;
        max-width:95px;

        object-fit:contain;
    }


    /* ======================================================
       NAV CONTAINER
    ====================================================== */

    .desktop-nav{
        width:100%;
        min-width:0;

        display:flex;

        flex-direction:column;

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

        gap:0;

        margin:0;
        padding:0;
    }


    /* ======================================================
       TWO NAV ROWS
    ====================================================== */

    .desktop-nav-row{
        width:100%;

        display:grid;

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

        gap:8px;

        align-items:stretch;
    }


    .desktop-nav-row-bottom{
        border-top:
            1px solid
            rgba(23,18,15,.09);
    }


    /* ======================================================
       NAV LINKS
    ====================================================== */

    .desktop-nav-row > a{
        position:relative;

        min-width:0;
        min-height:48px;

        display:flex;

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

        padding:
            5px
            6px;

        color:#17120f;

        font-family:"Inter",sans-serif;

        font-size:.63rem;
        font-weight:800;

        line-height:1.25;

        letter-spacing:.01em;

        text-align:center;
        text-transform:uppercase;

        white-space:normal;

        word-break:normal;
        overflow-wrap:normal;

        transition:
            color .25s ease;
    }


    /* ======================================================
       HOME HEADER TEXT
    ====================================================== */

    .home-page
    .site-header:not(.is-solid)
    .desktop-nav-row > a{
        color:#fff;

        text-shadow:
            0 1px 3px rgba(0,0,0,.55),
            0 2px 8px rgba(0,0,0,.25);
    }


    /* ======================================================
       INNER PAGE / SCROLLED HEADER
    ====================================================== */

    .inner-page
    .site-header
    .desktop-nav-row > a,

    .site-header.is-solid
    .desktop-nav-row > a{
        color:#17120f;

        text-shadow:none;
    }


    /* ======================================================
       ACTIVE / HOVER
    ====================================================== */

    .desktop-nav-row > a:hover,
    .desktop-nav-row > a.active{
        color:var(--saffron);
    }


    .desktop-nav-row > a::after{
        content:"";

        position:absolute;

        left:50%;
        bottom:2px;

        width:0;
        height:2px;

        transform:
            translateX(-50%);

        background:var(--saffron);

        transition:
            width .25s ease;
    }


    .desktop-nav-row > a:hover::after,
    .desktop-nav-row > a.active::after{
        width:30px;
    }


    .home-page
    .site-header:not(.is-solid)
    .desktop-nav-row > a.active{
        color:#fff;
    }

}

/* ==========================================================
   DESKTOP NAVBAR - CENTER SECOND ROW
========================================================== */

@media (min-width:992px){

    /* TOP ROW */
    .desktop-nav-row:not(.desktop-nav-row-bottom){
        width:100%;

        display:grid;

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

        align-items:center;

        gap:8px;
    }


    /* BOTTOM ROW */
    .desktop-nav-row-bottom{
        width:100%;

        display:grid;

        grid-template-columns:
            repeat(5,max-content);

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

        column-gap:clamp(
            35px,
            5vw,
            85px
        );

        border-top:
            1px solid
            rgba(23,18,15,.09);
    }


    /* LINKS */
    .desktop-nav-row-bottom > a{
        display:flex;

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

        min-height:45px;

        padding:
            0
            4px;

        text-align:center;

        white-space:normal;
    }

}




/* ==========================================================
   REMOVE DECORATIVE ORANGE LINES SITE-WIDE
========================================================== */

.section-kicker::before,
.eyebrow::before,
.founder-kicker::before,
.hero-brand-kicker::before,
.footer-contact-kicker::before,
.contact-modern-kicker::before{
    content:none !important;
    display:none !important;
}

.hero-brand-rule,
.join-divider,
.contact-modern-card::after{
    display:none !important;
    content:none !important;
}

/* ==========================================================
   BOOTSTRAP 5 RESPONSIVE MASTER OVERRIDES
   Breakpoints follow Bootstrap 5: xl / lg / md / sm.
   Desktop design above 1200px is intentionally untouched.
========================================================== */

/* ==========================================================
   LARGE TABLET / SMALL DESKTOP - BELOW XL
========================================================== */
@media (max-width:1199.98px){

    :root{
        --container-gutter:22px;
    }

    .site-shell{
        max-width:960px;
    }

    .site-header .site-shell,
    .home-panel .site-shell,
    .hero-meta .site-shell{
        max-width:960px;
    }

    .header-inner{
        grid-template-columns:130px minmax(0,1fr) auto;
        gap:18px;
    }

    .brand-logo{
        height:72px;
        max-width:125px;
    }

    .desktop-nav{
        gap:15px;
    }

    .desktop-nav > a{
        font-size:.62rem;
        letter-spacing:.035em;
    }

    .hero-home .hero-copy{
        width:min(620px,62vw) !important;
        max-width:620px !important;
    }

    .hero-home .hero-org-name,
    .hero-home h1.page-title{
        font-size:clamp(4rem,7vw,6rem) !important;
    }

    .hero-home .hero-brand-statement{
        font-size:clamp(2.8rem,4.2vw,3.8rem) !important;
    }

    .impact-head{
        gap:42px;
    }

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

    .impact-card{
        height:360px;
    }

    .campaign-home-grid,
    .home-about-grid{
        gap:44px;
    }

    .founder-person{
        width:min(49vw,590px);
    }

    .founder-main-content{
        padding-left:28px;
    }

    .footprint-layout{
        gap:44px;
        grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);
    }

    .join-home-copy{
        padding-left:52px;
    }

    .join-logo-badge{
        width:90px;
        height:90px;
    }

    .footer-navigation-grid{
        gap:30px;
    }
}


/* ==========================================================
   TABLET / MOBILE NAV - BELOW LG
========================================================== */
@media (max-width:991.98px){

    :root{
        --header-h:72px;
        --container-gutter:18px;
        --home-section-padding:58px;
    }

    html,
    body{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    .site-shell,
    .site-header .site-shell,
    .home-panel .site-shell,
    .hero-meta .site-shell,
    .content-section > .site-shell,
    .page-hero > .site-shell,
    .site-footer > .site-shell{
        width:calc(100% - (var(--container-gutter) * 2));
        max-width:720px;
    }

    .site-header{
        height:var(--header-h);
    }

    .header-inner{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:16px;
    }

    .brand-logo{
        height:64px;
        max-width:108px;
    }

    .menu-trigger{
        align-items:center;
        justify-content:center;
        width:44px;
        height:44px;
        padding:0;
        font-size:1.75rem;
    }

    .home-page .site-header:not(.is-solid) .menu-trigger{
        color:#fff;
    }

    .mobile-menu{
        width:min(92vw,390px) !important;
    }

    .mobile-links a{
        font-size:1.25rem;
        line-height:1.2;
        overflow-wrap:anywhere;
    }

    .home-panel{
        min-height:auto;
    }

    .home-panel:not(.hero-home){
        padding:var(--home-section-padding) 0;
    }

    /* HOME HERO */

    .hero-home{
        min-height:100svh;
        padding-top:var(--header-h);
        align-items:center;
    }

    .hero-home .hero-copy{
        width:min(100%,610px) !important;
        max-width:610px !important;
        padding-top:30px;
    }

    .hero-home .hero-org-name,
    .hero-home h1.page-title{
        max-width:100% !important;
        font-size:clamp(4rem,10vw,5.6rem) !important;
        line-height:.92 !important;
    }

    .hero-home .hero-brand-statement{
        max-width:520px;
        font-size:clamp(2.7rem,7vw,3.7rem) !important;
    }

    .hero-home .hero-copy > p{
        max-width:420px;
    }

    .hero-actions{
        margin-bottom:60px;
    }

    .scroll-cue{
        right:22px;
        bottom:28px;
    }

    /* ABOUT */

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

.home-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: stretch;
}


.home-about-left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


/* Image */

.home-about-visual {
    position: relative;
    transform: translateY(-35px);
}


.home-about-visual > img:first-child {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
}


/* Floating logo */

.home-about-visual .floating-logo {
    position: absolute;
    width: 150px;
    height: 150px;
    right: -40px;
    bottom: -35px;
    border-radius: 50%;
}



/* Right content */

.home-about-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}


.home-about-copy h2 {
    margin-bottom: 30px;
}



/* Stats */

.fact-strip {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid #ddd;
    margin-top: 40px;
}


.fact-strip article {
    padding: 25px 18px;
    border-right: 1px solid #ddd;
}


.fact-strip article:last-child {
    border-right: none;
}


.fact-strip strong {
    display: block;
    font-size: 42px;
    color: #b3261e;
    line-height: 1;
    margin-bottom: 12px;
}


.fact-strip span {
    font-size: 15px;
    line-height: 1.6;
}



/* Equal height */

.home-about-left,
.home-about-copy {
    min-height: 100%;
}



@media(max-width:992px){

    .home-about-grid{
        grid-template-columns:1fr;
    }


    .home-about-visual{
        transform:none;
    }


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

}

    /* IMPACT */

    .impact-home{
        min-height:auto;
    }

    .impact-head{
        grid-template-columns:1fr;
        gap:22px;
        margin-bottom:30px;
    }

    .impact-intro{
        justify-self:start;
        max-width:620px;
    }

    .impact-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .impact-card{
        height:350px;
    }

    .impact-card-content{
        transform:none;
    }

    .impact-card-content p{
        opacity:1;
        transform:none;
    }

    /* CAMPAIGN */

    .campaign-home-grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .campaign-collage{
        height:460px;
    }

    .campaign-home-copy h2{
        font-size:clamp(3rem,8vw,5rem);
    }

    /* FOUNDER */

    .founder-home{
        min-height:auto;
        display:block;
        overflow:hidden;
    }

    .founder-person{
        position:relative;
        left:auto;
        bottom:auto;
        width:100%;
        height:500px;
        -webkit-mask-image:none;
        mask-image:none;
    }

    .founder-person img{
        object-position:center top;
    }

    .founder-banner-content{
        min-height:auto;
        display:block;
        padding:42px 0 92px;
    }

    .founder-main-content{
        width:100%;
        max-width:620px;
        margin:0;
        padding:0;
    }

    .founder-banner-bottom{
        min-height:56px;
    }

    .founder-bottom-wrap{
        min-height:56px;
    }

    /* FOOTPRINT */

    .footprint-home{
        min-height:auto;
    }

    .footprint-layout{
        min-height:auto;
        grid-template-columns:1fr;
        gap:20px;
        padding-top:58px;
        padding-bottom:58px;
    }

    .footprint-copy{
        max-width:650px;
    }

    .footprint-copy h2{
        font-size:clamp(3.2rem,9vw,5.4rem);
    }

    .footprint-map-wrap{
        min-height:460px;
    }

    .footprint-map{
        width:min(360px,62vw);
        max-height:420px;
    }

    .footprint-map-label{
        right:10%;
        bottom:38px;
    }

    /* JOIN */

    .join-home{
        min-height:auto;
        display:block;
    }

    .join-visual{
        position:relative;
        width:100%;
        height:460px;
    }

    .join-logo-badge{
        left:50%;
        top:460px;
        width:86px;
        height:86px;
        border-width:4px;
    }

    .join-layout{
        min-height:auto;
        display:block;
    }

    .join-home-copy{
        width:100%;
        max-width:650px;
        padding:65px 0 60px;
    }

    .join-home h2{
        font-size:clamp(3.2rem,9vw,5.2rem);
    }

    .join-action-grid{
        max-width:none;
    }

    /* MEDIA */

    .media-home-shell{
        grid-template-columns:1fr;
        gap:22px;
        align-items:start;
    }

    .media-updates,
    .media-centre{
        width:100%;
        height:auto;
    }

    .media-box-body,
    .media-updates-scroll{
        height:420px;
    }

    .media-centre{
        grid-template-rows:auto;
        gap:18px;
    }

    .media-feature-box,
    .media-video-box{
        height:auto;
    }

    .media-feature-visual{
        height:320px;
    }

    .media-video-card{
        height:auto;
    }

    .media-youtube-wrap{
        height:auto;
        aspect-ratio:16 / 9;
    }

    /* INNER PAGE HERO */

    .page-hero{
        min-height:58vh;
    }

    .page-hero-content{
        padding:105px 0 48px;
        max-width:720px;
    }

    .page-hero .page-title{
        max-width:100%;
        font-size:clamp(3.2rem,9vw,5.6rem) !important;
        line-height:.96 !important;
    }

    /* INNER PAGE LAYOUTS */

    .content-section{
        padding:54px 0;
    }

    .section-head{
        align-items:flex-start;
        flex-direction:column;
        gap:18px;
        margin-bottom:34px;
    }

    .section-head h2{
        font-size:clamp(2.8rem,8vw,4.8rem);
    }

    .two-col{
        grid-template-columns:1fr;
        gap:30px;
    }

    .two-col.reverse .media-col{
        order:0;
    }

    .media-col img,
    .media-col.portrait img{
        height:440px;
    }

    .media-badge{
        left:18px;
        bottom:18px;
    }

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

    .metric-grid article:nth-child(3){
        border-left:0;
    }

    .metric-grid article:nth-child(n+3){
        border-top:1px solid var(--line);
    }

    .card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }

    .gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-auto-rows:220px;
    }

    .gallery-grid figure:nth-child(1),
    .gallery-grid figure:nth-child(6){
        grid-column:span 1;
        grid-row:span 1;
    }

    .donate-layout,
    .contact-grid{
        grid-template-columns:1fr;
        gap:30px;
    }

    .qr-card{
        position:relative;
        top:auto;
    }

    /* HOME CONTACT / FOOTER */

    .footer-contact-layout{
        grid-template-columns:1fr;
        gap:24px;
    }

    .footer-contact-intro{
        padding-right:0;
        padding-bottom:20px;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.10);
    }

    .footer-contact-intro p{
        max-width:520px;
    }

    .footer-contact-form{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }

    .footer-contact-submit{
        grid-column:1 / -1;
    }

    .footer-navigation-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:28px 34px;
    }

    .footer-copyright{
        flex-wrap:wrap;
    }

    .social-rail{
        right:10px;
    }
}


/* ==========================================================
   MOBILE - BELOW MD
========================================================== */
@media (max-width:767.98px){

    :root{
        --container-gutter:16px;
        --home-section-padding:46px;
    }

    .site-shell,
    .site-header .site-shell,
    .home-panel .site-shell,
    .hero-meta .site-shell,
    .content-section > .site-shell,
    .page-hero > .site-shell,
    .site-footer > .site-shell{
        max-width:540px;
    }

    .social-rail{
        display:none;
    }

    /* HERO */

    .hero-home{
        min-height:720px;
    }

    .hero-home .panel-bg img{
        object-position:58% center;
    }

    .hero-home .hero-copy{
        width:100% !important;
        max-width:100% !important;
        padding-top:22px;
    }

    .hero-home .hero-org-name,
    .hero-home h1.page-title{
        font-size:clamp(3.35rem,14vw,4.7rem) !important;
        line-height:.93 !important;
    }

    .hero-home .hero-brand-statement{
        max-width:440px;
        font-size:clamp(2.15rem,9.5vw,3.2rem) !important;
        line-height:.96 !important;
    }

    .hero-home .hero-copy > p{
        max-width:360px;
        font-size:.92rem;
    }

    .hero-actions{
        margin-bottom:42px;
        gap:10px;
    }

    .hero-actions .btn-site,
    .hero-actions .btn-outline-site{
        min-height:44px;
        padding:0 15px;
        font-size:.64rem;
    }

    .scroll-cue{
        display:none;
    }

    /* ABOUT */

    .home-about-visual{
        height:340px;
    }

    .home-about-copy h2{
        font-size:clamp(2.7rem,12vw,4rem);
        margin-top:0;
    }

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

    .fact-strip article,
    .fact-strip article + article{
        padding:16px 0;
        border-left:0;
    }

    .fact-strip article + article{
        border-top:1px solid var(--line);
    }

    /* IMPACT */

    .impact-head h2{
        font-size:clamp(2.9rem,12vw,4.2rem);
    }

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

    .impact-card{
        height:335px;
    }

    /* CAMPAIGN */

    .campaign-collage{
        height:360px;
        gap:6px;
        transform:none;
    }

    .campaign-home-copy h2{
        font-size:clamp(2.8rem,12vw,4.2rem);
    }

    .campaign-list a{
        font-size:.7rem;
        letter-spacing:.04em;
    }

    /* FOUNDER */

    .founder-person{
        height:410px;
    }

    .founder-banner-content{
        padding:34px 0 82px;
    }

    .founder-main-content h2{
        font-size:clamp(2.8rem,12vw,4.2rem);
    }

    /* FOOTPRINT */

    .footprint-copy h2{
        font-size:clamp(2.9rem,12vw,4.4rem);
    }

    .footprint-stats{
        grid-template-columns:1fr;
    }

    .footprint-stats article,
    .footprint-stats article:nth-child(even){
        min-height:auto;
        padding:16px 0;
        border-left:0;
    }

    .footprint-stats article:nth-child(n+2){
        border-top:1px solid rgba(67,36,48,.20);
    }

    .footprint-map-wrap{
        min-height:390px;
    }

    .footprint-map{
        width:min(310px,78vw);
        max-height:350px;
    }

    .footprint-map-label{
        right:0;
        bottom:18px;
    }

    /* JOIN */

    .join-visual{
        height:390px;
    }

    .join-logo-badge{
        top:390px;
        width:78px;
        height:78px;
    }

    .join-home-copy{
        padding:58px 0 48px;
    }

    .join-home h2{
        font-size:clamp(2.9rem,12vw,4.2rem);
    }

    .join-action-grid{
        grid-template-columns:1fr;
        gap:9px;
    }

    .join-action{
        height:auto;
        min-height:84px !important;
    }

    /* MEDIA */

    .media-box-body,
    .media-updates-scroll{
        height:365px;
    }

    .media-update-item{
        grid-template-columns:105px minmax(0,1fr);
        gap:11px;
        padding:10px;
    }

    .media-update-image{
        height:82px;
    }

    .media-update-content > span{
        font-size:.48rem;
    }

    .media-update-content h3{
        font-size:.76rem;
    }

    .media-update-content p{
        display:none;
    }

    .media-feature-visual{
        height:250px;
    }

    .media-feature-overlay strong{
        font-size:1.45rem;
    }

    /* INNER PAGES */

    .page-hero{
        min-height:500px;
    }

    .page-hero-content{
        padding:100px 0 38px;
    }

    .page-hero .page-title{
        font-size:clamp(2.8rem,13vw,4.4rem) !important;
    }

    .page-hero-content p{
        font-size:.92rem;
        line-height:1.65;
    }

    .breadcrumb-mini{
        flex-wrap:wrap;
        font-size:.62rem;
    }

    .content-section{
        padding:44px 0;
    }

    .section-head h2,
    .copy-col h2{
        font-size:clamp(2.5rem,11vw,3.8rem);
    }

    .copy-col h3{
        font-size:clamp(2rem,9vw,3rem);
    }

    .media-col img,
    .media-col.portrait img{
        height:330px;
    }

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

    .metric-grid article{
        padding:22px 16px;
    }

    .metric-grid strong{
        font-size:clamp(2rem,9vw,3rem);
    }

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

    .info-card .image{
        height:230px;
    }

    .timeline::before{
        left:16px;
    }

    .timeline-item{
        grid-template-columns:1fr;
        gap:8px;
        padding:0 0 34px 42px;
    }

    .timeline-year{
        text-align:left;
        font-size:1.8rem;
    }

    .timeline-item::before{
        left:11px;
        top:7px;
    }

    .gallery-grid{
        grid-template-columns:1fr 1fr;
        grid-auto-rows:180px;
        gap:8px;
    }

    .image-story{
        height:390px;
    }

    .contact-panel,
    .contact-modern-card{
        padding:28px 22px;
    }

    .contact-form,
    .contact-modern-row{
        grid-template-columns:1fr;
    }

    .bank-row{
        grid-template-columns:1fr;
        gap:5px;
    }

    /* FOOTER */

    .footer-contact{
        padding:28px 0;
    }

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

    .footer-contact-submit{
        grid-column:auto;
        width:100%;
    }

    .footer-navigation-grid{
        grid-template-columns:1fr 1fr;
        gap:25px 18px;
    }

    .footer-navigation-logo img{
        height:76px;
        max-width:155px;
    }

    .footer-copyright{
        flex-direction:column;
        gap:6px;
    }
}


/* ==========================================================
   SMALL MOBILE - BELOW SM
========================================================== */
@media (max-width:575.98px){

    :root{
        --container-gutter:14px;
    }

    .site-shell,
    .site-header .site-shell,
    .home-panel .site-shell,
    .hero-meta .site-shell,
    .content-section > .site-shell,
    .page-hero > .site-shell,
    .site-footer > .site-shell{
        width:calc(100% - 28px);
        max-width:none;
    }

    .brand-logo{
        height:58px;
        max-width:96px;
    }

    .mobile-menu{
        width:94vw !important;
    }

    .mobile-links a{
        padding:14px 2px;
        font-size:1.08rem;
    }

    .hero-home{
        min-height:680px;
    }

    .hero-home .hero-org-name,
    .hero-home h1.page-title{
        font-size:clamp(2.9rem,14vw,3.9rem) !important;
    }

    .hero-home .hero-brand-statement{
        font-size:clamp(1.85rem,9.5vw,2.7rem) !important;
    }

    .hero-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
    }

    .hero-actions .btn-site,
    .hero-actions .btn-outline-site{
        width:100%;
        padding:0 9px;
        font-size:.58rem;
        letter-spacing:.04em;
    }

    .home-about-visual{
        height:290px;
    }

    .home-about-visual .floating-logo{
        width:86px;
        height:86px;
        right:12px;
        top:14px;
        padding:10px;
    }

    .impact-card{
        height:310px;
    }

    .campaign-collage{
        height:300px;
    }

    .founder-person{
        height:350px;
    }

    .founder-main-content p{
        font-size:.88rem;
    }

    .footprint-map-wrap{
        min-height:330px;
    }

    .footprint-map-label{
        min-width:155px;
        padding:10px 12px;
    }

    .join-visual{
        height:330px;
    }

    .join-logo-badge{
        top:330px;
        width:72px;
        height:72px;
        padding:8px;
    }

    .join-subtitle{
        font-size:1rem !important;
    }

    .media-box-title,
    .media-tab-bar{
        min-height:34px;
        height:auto;
    }

    .media-box-body,
    .media-updates-scroll{
        height:340px;
    }

    .media-update-item{
        grid-template-columns:92px minmax(0,1fr);
        gap:9px;
        padding:9px;
    }

    .media-update-image{
        height:74px;
    }

    .media-feature-visual{
        height:210px;
    }

    .page-hero{
        min-height:450px;
    }

    .page-hero .page-title{
        font-size:clamp(2.45rem,13vw,3.7rem) !important;
    }

    .media-col img,
    .media-col.portrait img{
        height:280px;
    }

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

    .metric-grid article,
    .metric-grid article + article,
    .metric-grid article:nth-child(3){
        border-left:0;
    }

    .metric-grid article + article{
        border-top:1px solid var(--line);
    }

    .gallery-grid{
        grid-template-columns:1fr;
        grid-auto-rows:245px;
    }

    .qr-card{
        padding:24px 20px;
    }

    .qr-card img{
        width:190px;
        height:190px;
    }

    .footer-navigation-grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .footer-nav-column a,
    .footer-nav-column span{
        font-size:.8rem;
    }

    .footer-copyright{
        text-align:left;
    }
}

/* ==========================================================
   DYNAMIC CAMPAIGNS PAGE
   FINAL DESIGN
========================================================== */

.campaigns-page{
    width:100%;
    overflow:hidden;
    background:#f5f6f8;
}


/* ==========================================================
   CAMPAIGN PAGE HERO
========================================================== */

.campaigns-page-hero::after{
    background:
        linear-gradient(
            90deg,
            rgba(8,17,39,.84) 0%,
            rgba(8,17,39,.64) 45%,
            rgba(8,17,39,.20) 100%
        );
}


/* ==========================================================
   DYNAMIC CAMPAIGN SECTION
========================================================== */

.campaign-db-section{
    position:relative;

    width:100%;

    padding:
        36px
        0;

    scroll-margin-top:
        calc(
            var(--header-h) + 15px
        );
}


.campaign-theme-default{
    background:#f8f8f8;
}


.campaign-theme-alt{
    background:#f7f1e8;
}


.campaign-theme-dark{
    background:#10182b;

    color:#fff;
}


/* ==========================================================
   CAMPAIGN LIST
========================================================== */

.campaign-large-list{
    width:100%;

    display:flex;

    flex-direction:column;

    gap:36px;
}


/* ==========================================================
   CAMPAIGN STORY
========================================================== */

.campaign-story{
    position:relative;

    width:100%;

    min-height:460px;

    display:grid;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(0,.92fr);

    overflow:hidden;

    border:
        1px solid
        #e3e5e9;

    background:#fff;

    box-shadow:
        0 14px 40px
        rgba(15,27,54,.045);
}


/* ==========================================================
   ALTERNATING IMAGE POSITION
========================================================== */

.campaign-story-image-right
.campaign-story-media{
    order:2;
}


.campaign-story-image-right
.campaign-story-content{
    order:1;
}


/* ==========================================================
   CAMPAIGN IMAGE
========================================================== */

.campaign-story-media{
    position:relative;

    width:100%;

    min-width:0;

    min-height:460px;

    overflow:hidden;

    background:#e7e9ed;
}


.campaign-story-media img{
    position:absolute;

    inset:0;

    display:block;

    width:100%;

    height:100%;

    max-width:none;

    object-fit:cover;

    object-position:center;

    transition:
        transform .65s ease;
}


.campaign-story:hover
.campaign-story-media img{
    transform:
        scale(1.025);
}


.campaign-story-media::after{
    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            transparent 58%,
            rgba(4,9,20,.34) 100%
        );
}


/* ==========================================================
   LARGE NUMBER ON IMAGE
========================================================== */

.campaign-story-number{
    position:absolute;

    left:22px;

    bottom:15px;

    z-index:3;

    color:#fff;

    font-family:
        "Anton",
        sans-serif;

    font-size:4rem;

    font-weight:400;

    line-height:1;

    text-shadow:
        0 4px 18px
        rgba(0,0,0,.26);
}


/* ==========================================================
   CAMPAIGN CONTENT
========================================================== */

.campaign-story-content{
    position:relative;

    min-width:0;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:45px;
}


/* ==========================================================
   SMALL ORANGE LABEL
========================================================== */

.campaign-db-label{
    display:block;

    width:max-content;

    max-width:100%;

    margin:
        0
        0
        12px;

    color:#e86119;

    font-family:
        "Inter",
        sans-serif;

    font-size:.59rem;

    font-weight:800;

    line-height:1.3;

    letter-spacing:.09em;

    text-transform:uppercase;
}


/* ==========================================================
   CAMPAIGN HEADING
========================================================== */

.campaigns-page
.campaign-story-content h2{
    width:100%;

    max-width:540px;

    margin:
        0
        0
        17px;

    padding:0;

    color:#071b47;

    font-family:
        "Anton",
        sans-serif;

    font-size:
        clamp(
            3rem,
            4.2vw,
            4.35rem
        );

    font-weight:400 !important;

    line-height:.96 !important;

    letter-spacing:0;

    text-transform:uppercase;
}


/* ==========================================================
   CAMPAIGN DESCRIPTION
========================================================== */

.campaign-story-text{
    width:100%;

    max-width:580px;
}


.campaign-story-text p{
    margin:
        0
        0
        10px;

    padding:0;

    color:#70758a;

    font-family:
        "Inter",
        sans-serif;

    font-size:.88rem;

    font-weight:400;

    line-height:1.72;
}


.campaign-story-text p:last-child{
    margin-bottom:0;
}


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

.campaign-story-link{
    display:inline-flex;

    align-items:center;

    gap:8px;

    width:max-content;

    max-width:100%;

    margin-top:17px;

    padding-bottom:5px;

    border-bottom:
        1px solid
        #e86119;

    color:#d95218;

    font-size:.64rem;

    font-weight:800;

    letter-spacing:.06em;

    text-transform:uppercase;

    transition:
        gap .25s ease,
        color .25s ease;
}


.campaign-story-link i{
    transition:
        transform .25s ease;
}


.campaign-story-link:hover{
    gap:12px;

    color:#071b47;
}


.campaign-story-link:hover i{
    transform:
        translateX(2px);
}


/* ==========================================================
   DARK CAMPAIGN THEME
========================================================== */

.campaign-theme-dark
.campaign-story{
    background:#172139;

    border-color:
        rgba(255,255,255,.10);

    box-shadow:
        0 14px 40px
        rgba(0,0,0,.14);
}


.campaign-theme-dark
.campaign-story-content h2{
    color:#fff;
}


.campaign-theme-dark
.campaign-story-text p{
    color:
        rgba(255,255,255,.68);
}


.campaign-theme-dark
.campaign-story-link{
    color:#ff8a21;
}


.campaign-theme-dark
.campaign-story-link:hover{
    color:#fff;
}


/* ==========================================================
   IMAGE PLACEHOLDER
========================================================== */

.campaign-image-placeholder{
    position:absolute;

    inset:0;

    display:grid;

    place-items:center;

    width:100%;

    height:100%;

    background:#e8ebf0;

    color:#9199aa;

    font-size:2rem;
}


.campaign-theme-dark
.campaign-image-placeholder{
    background:#202b43;

    color:#71809c;
}


/* ==========================================================
   DATABASE / EMPTY STATE
========================================================== */

.campaign-state-section{
    width:100%;

    padding:
        70px
        0;

    background:#f5f6f8;
}


.campaign-state-card{
    width:100%;

    max-width:760px;

    display:flex;

    align-items:flex-start;

    gap:18px;

    padding:28px;

    border:
        1px solid
        #e2e5ea;

    background:#fff;
}


.campaign-state-icon{
    flex:
        0
        0
        50px;

    width:50px;

    height:50px;

    display:grid;

    place-items:center;

    background:#e86119;

    color:#fff;

    font-size:1.25rem;
}


.campaign-state-card
> div:last-child
> span{
    display:block;

    margin-bottom:4px;

    color:#e86119;

    font-size:.57rem;

    font-weight:800;

    letter-spacing:.09em;

    text-transform:uppercase;
}


.campaigns-page
.campaign-state-card h2{
    margin:
        0
        0
        8px;

    color:#071b47;

    font-family:
        "Anton",
        sans-serif;

    font-size:2rem;

    font-weight:400 !important;

    line-height:1 !important;

    text-transform:uppercase;
}


.campaign-state-card p{
    margin:0;

    color:#727784;

    font-size:.82rem;

    line-height:1.65;
}


/* ==========================================================
   LAPTOP
========================================================== */

@media
(min-width:992px)
and
(max-width:1199.98px){

    .campaign-db-section{
        padding:
            32px
            0;
    }


    .campaign-story{
        min-height:420px;

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


    .campaign-story-media{
        min-height:420px;
    }


    .campaign-story-content{
        padding:36px;
    }


    .campaigns-page
    .campaign-story-content h2{
        font-size:
            clamp(
                2.8rem,
                4.5vw,
                3.8rem
            );
    }

}


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

@media (max-width:991.98px){

    .campaign-db-section{
        padding:
            28px
            0;
    }


    .campaign-large-list{
        gap:28px;
    }


    .campaign-story{
        min-height:0;

        grid-template-columns:1fr;
    }


    /*
       On tablet/mobile the image is always shown first.
    */

    .campaign-story-image-right
    .campaign-story-media{
        order:0;
    }


    .campaign-story-image-right
    .campaign-story-content{
        order:1;
    }


    .campaign-story-media{
        min-height:400px;
    }


    .campaign-story-content{
        min-height:300px;

        padding:
            36px
            32px;
    }


    .campaigns-page
    .campaign-story-content h2{
        max-width:650px;

        font-size:
            clamp(
                3rem,
                7vw,
                4.2rem
            );
    }


    .campaign-story-text{
        max-width:650px;
    }

}


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

@media (max-width:767.98px){

    .campaign-db-section{
        padding:
            22px
            0;
    }


    .campaign-large-list{
        gap:22px;
    }


    .campaign-story{
        min-height:0;

        grid-template-columns:1fr;
    }


    .campaign-story-media{
        min-height:300px;
    }


    .campaign-story-content{
        min-height:0;

        padding:
            28px
            22px
            31px;
    }


    .campaign-story-number{
        left:17px;

        bottom:13px;

        font-size:3.2rem;
    }


    .campaign-db-label{
        margin-bottom:9px;

        font-size:.54rem;

        letter-spacing:.08em;
    }


    .campaigns-page
    .campaign-story-content h2{
        max-width:100%;

        margin-bottom:14px;

        font-size:
            clamp(
                2.5rem,
                10vw,
                3.5rem
            );

        line-height:.97 !important;
    }


    .campaign-story-text{
        max-width:100%;
    }


    .campaign-story-text p{
        font-size:.81rem;

        line-height:1.65;
    }


    .campaign-story-link{
        margin-top:14px;

        font-size:.6rem;
    }


    .campaign-state-section{
        padding:
            50px
            0;
    }


    .campaign-state-card{
        flex-direction:column;

        padding:22px;
    }

}


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

@media (max-width:420px){

    .campaign-db-section{
        padding:
            18px
            0;
    }


    .campaign-large-list{
        gap:18px;
    }


    .campaign-story-media{
        min-height:250px;
    }


    .campaign-story-content{
        padding:
            23px
            17px
            26px;
    }


    .campaign-story-number{
        left:14px;

        bottom:10px;

        font-size:2.8rem;
    }


    .campaigns-page
    .campaign-story-content h2{
        font-size:
            clamp(
                2.25rem,
                11vw,
                3rem
            );
    }


    .campaign-story-text p{
        font-size:.78rem;
    }

}


/* ==========================================================
   VERY SMALL MOBILE
========================================================== */

@media (max-width:360px){

    .campaign-story-media{
        min-height:225px;
    }


    .campaign-story-content{
        padding:
            21px
            15px
            24px;
    }


    .campaigns-page
    .campaign-story-content h2{
        font-size:2.2rem;
    }


    .campaign-story-number{
        font-size:2.55rem;
    }

}
/* ==========================================================
   MOBILE-FIRST POLISH OVERRIDES
   Added 2026-08-25
   Mobile usability only. Desktop layout/data/images unchanged.
========================================================== */

@media (max-width:991.98px){

    :root{
        --header-h:64px;
        --container-gutter:16px;
        --home-section-padding:56px;
    }

    html,
    body{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    body{
        -webkit-text-size-adjust:100%;
        text-size-adjust:100%;
    }

    .site-shell,
    .content-section > .site-shell,
    .page-hero > .site-shell,
    .site-footer > .site-shell{
        width:calc(100% - 32px);
        max-width:100%;
    }

    .site-header{
        min-height:var(--header-h);
    }

    .header-inner{
        min-height:var(--header-h);
        gap:12px;
    }

    .brand-logo{
        height:54px;
        max-width:112px;
    }

    .menu-trigger{
        width:44px;
        height:44px;
        min-width:44px;
        padding:0;
        display:inline-grid;
        place-items:center;
        border-radius:0;
        font-size:1.7rem;
        touch-action:manipulation;
    }

    .mobile-menu{
        width:min(390px,92vw) !important;
        max-width:92vw;
    }

    .mobile-menu .offcanvas-header{
        min-height:72px;
        padding:10px 16px;
    }

    .mobile-logo{
        height:56px;
    }

    .mobile-menu .offcanvas-body{
        padding:12px 18px 24px;
    }

    .mobile-links a{
        min-height:54px;
        display:flex;
        align-items:center;
        padding:13px 2px;
        font-size:1.28rem;
        line-height:1.08;
    }

    .mobile-donate{
        min-height:50px;
        display:flex;
        align-items:center;
        justify-content:center;
        margin-top:20px;
        padding:12px 16px;
    }

    .home-panel:not(.hero-home){
        min-height:auto;
        padding:56px 0;
    }

    .hero-home{
        min-height:100svh;
        padding-top:var(--header-h);
    }

    .hero-home .hero-copy{
        padding-top:24px;
    }

    .hero-actions{
        gap:10px;
    }

    .btn-site,
    .btn-outline-site,
    .btn-dark-site{
        min-height:48px;
        padding:0 18px;
        touch-action:manipulation;
    }

    .home-about-grid,
    .campaign-home-grid,
    .two-col,
    .donate-layout,
    .contact-grid{
        gap:32px;
    }

    .section-head{
        margin-bottom:30px;
    }

    .section-head p,
    .copy-col p{
        line-height:1.7;
    }

    .media-col img,
    .media-col.portrait img{
        height:clamp(320px,62vw,500px);
    }

    .card-grid{
        gap:16px;
    }

    .timeline{
        margin-top:6px;
    }

    .footer-contact-layout,
    .footer-grid,
    .footer-navigation-grid{
        gap:24px;
    }

    .social-rail{
        display:none;
    }

    input,
    select,
    textarea,
    button{
        max-width:100%;
    }

    input,
    select,
    textarea{
        font-size:16px;
    }

    a,
    button,
    input,
    select,
    textarea{
        touch-action:manipulation;
    }
}


@media (max-width:767.98px){

    :root{
        --container-gutter:14px;
        --home-section-padding:48px;
    }

    .site-shell,
    .content-section > .site-shell,
    .page-hero > .site-shell,
    .site-footer > .site-shell{
        width:calc(100% - 28px);
    }

    .page-hero{
        min-height:54svh;
        padding-top:var(--header-h);
    }

    .page-hero-content{
        padding:70px 0 34px;
    }

    .page-title{
        font-size:clamp(2.75rem,13vw,3.8rem);
        line-height:.98 !important;
        overflow-wrap:anywhere;
    }

    .page-hero-content p{
        margin-top:14px;
        font-size:.88rem;
        line-height:1.6;
    }

    .breadcrumb-mini{
        gap:7px;
        margin-top:18px;
        font-size:.58rem;
        line-height:1.4;
        flex-wrap:wrap;
    }

    .content-section{
        padding:48px 0;
    }

    .home-panel:not(.hero-home){
        padding:48px 0;
    }

    .section-head{
        margin-bottom:24px;
    }

    .section-head h2,
    .copy-col h2{
        font-size:clamp(2.75rem,12vw,3.5rem);
        line-height:.98 !important;
    }

    .copy-col h3{
        font-size:clamp(2rem,9vw,2.7rem);
    }

    .copy-col p,
    .section-head p{
        font-size:.9rem;
        line-height:1.68;
    }

    .two-col,
    .home-about-grid,
    .campaign-home-grid,
    .donate-layout,
    .contact-grid{
        gap:26px;
    }

    .media-col img,
    .media-col.portrait img{
        height:clamp(280px,80vw,390px);
    }

    .home-about-visual{
        height:390px;
    }

    .campaign-collage{
        height:360px;
    }

    .impact-grid{
        gap:12px;
    }

    .impact-card{
        min-height:290px;
        height:330px;
    }

    .gallery-grid{
        grid-auto-rows:240px;
        gap:10px;
    }

    .timeline-item{
        padding:0 0 28px 40px;
    }

    .timeline-year{
        font-size:1.8rem;
    }

    .contact-panel,
    .contact-modern-card{
        padding:24px 18px;
    }

    .bank-card{
        width:100%;
    }

    .bank-row{
        padding:12px 0;
        overflow-wrap:anywhere;
    }

    .bank-row strong,
    .bank-row a{
        overflow-wrap:anywhere;
        word-break:break-word;
    }

    .media-home{
        padding:32px 0;
    }

    .media-home-shell{
        grid-template-columns:1fr;
        gap:16px;
    }

    .media-updates{
        height:360px;
    }

    .media-box-body,
    .media-updates-scroll{
        height:326px;
    }

    .media-update-item{
        grid-template-columns:92px minmax(0,1fr);
        min-height:88px;
        gap:10px;
        padding:9px;
    }

    .media-update-image{
        height:70px;
    }

    .media-update-content h3{
        font-size:.72rem;
        line-height:1.3;
    }

    .media-update-content small{
        font-size:.56rem;
    }

    .media-feature-visual{
        height:210px;
    }

    .media-video-card,
    .media-youtube-wrap{
        width:100%;
        height:auto;
        aspect-ratio:16 / 9;
    }

    .footer-contact-form,
    .footer-subscribe-inner,
    .footer-navigation-grid,
    .footer-grid{
        grid-template-columns:1fr;
    }

    .footer-contact-field input,
    .footer-subscribe-inner input{
        min-height:48px;
        font-size:16px;
    }

    .footer-contact-submit,
    .footer-subscribe-inner button{
        min-height:48px;
        width:100%;
    }

    .footer-action-row{
        grid-template-columns:1fr;
    }

    .footer-bottom,
    .footer-copyright{
        text-align:center;
    }

    .campaign-db-section{
        padding:18px 0;
    }

    .campaign-story{
        border-left:0;
        border-right:0;
        box-shadow:none;
    }

    .campaign-story-media{
        min-height:270px;
    }

    .campaign-story-content{
        padding:24px 18px 27px;
    }

    .campaigns-page .campaign-story-content h2{
        font-size:clamp(2.35rem,11vw,3.1rem);
        line-height:.97 !important;
    }

    .campaign-story-text p{
        font-size:.82rem;
        line-height:1.62;
    }

    .campaign-large-list{
        gap:16px;
    }
}


@media (max-width:420px){

    :root{
        --container-gutter:12px;
    }

    .site-shell,
    .content-section > .site-shell,
    .page-hero > .site-shell,
    .site-footer > .site-shell{
        width:calc(100% - 24px);
    }

    .brand-logo{
        height:50px;
        max-width:104px;
    }

    .mobile-menu{
        width:94vw !important;
        max-width:94vw;
    }

    .mobile-links a{
        font-size:1.18rem;
    }

    .hero-home{
        min-height:100svh;
    }

    .hero-home .hero-copy{
        padding-top:14px;
    }

    .page-hero{
        min-height:50svh;
    }

    .page-hero-content{
        padding:64px 0 30px;
    }

    .page-title{
        font-size:clamp(2.5rem,13.5vw,3.25rem);
    }

    .content-section,
    .home-panel:not(.hero-home){
        padding:42px 0;
    }

    .home-about-visual{
        height:340px;
    }

    .campaign-collage{
        height:320px;
    }

    .media-col img,
    .media-col.portrait img{
        height:300px;
    }

    .impact-card{
        height:310px;
    }

    .media-updates{
        height:340px;
    }

    .media-box-body,
    .media-updates-scroll{
        height:306px;
    }

    .media-feature-visual{
        height:190px;
    }

    .campaign-story-media{
        min-height:240px;
    }

    .campaign-story-number{
        font-size:2.65rem;
    }

    .campaign-story-content{
        padding:21px 16px 24px;
    }

    .campaigns-page .campaign-story-content h2{
        font-size:clamp(2.15rem,11.5vw,2.8rem);
    }
}


/* Reduce motion cost on touch-first / accessibility settings. */
@media (prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto;
    }

    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }
}



/* ==========================================================
   HOME GALLERY
========================================================== */

.home-gallery-section{
    position:relative;

    width:100%;

    padding:
        80px
        0;

    overflow:hidden;

    background:#f5f3ee;
}


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

.home-gallery-head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(300px,.55fr);

    gap:70px;

    align-items:end;

    margin-bottom:34px;
}


.home-gallery-title > span{
    display:block;

    margin-bottom:12px;

    color:#e86119;

    font-family:
        "Inter",
        sans-serif;

    font-size:.62rem;

    font-weight:800;

    line-height:1;

    letter-spacing:.14em;

    text-transform:uppercase;
}


.home-gallery-title h2{
    max-width:700px;

    margin:0;

    color:#071b47;

    font-family:
        "Anton",
        sans-serif;

    font-size:
        clamp(
            4rem,
            6vw,
            6.8rem
        );

    font-weight:400;

    line-height:.9;

    letter-spacing:.005em;

    text-transform:uppercase;
}


.home-gallery-title h2 strong{
    display:block;

    color:#e86119;

    font:inherit;
}


/* ==========================================================
   INTRO
========================================================== */

.home-gallery-intro{
    padding-bottom:5px;
}


.home-gallery-intro p{
    max-width:440px;

    margin:
        0
        0
        22px;

    color:#6d7280;

    font-family:
        "Inter",
        sans-serif;

    font-size:.85rem;

    line-height:1.75;
}


.home-gallery-view-all{
    display:inline-flex;

    align-items:center;

    gap:10px;

    padding-bottom:5px;

    border-bottom:
        1px solid
        #e86119;

    color:#071b47;

    font-size:.65rem;

    font-weight:800;

    letter-spacing:.07em;

    text-transform:uppercase;

    transition:
        gap .25s ease,
        color .25s ease;
}


.home-gallery-view-all:hover{
    gap:14px;

    color:#e86119;
}


/* ==========================================================
   GALLERY GRID
========================================================== */

.home-gallery-grid{
    display:grid;

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

    grid-template-rows:
        245px
        245px;

    gap:10px;
}


/* ==========================================================
   GALLERY ITEM
========================================================== */

.home-gallery-item{
    position:relative;

    display:block;

    min-width:0;

    overflow:hidden;

    background:#ddd;
}


/* LARGE LEFT */

.home-gallery-item-1{
    grid-column:
        1 / span 5;

    grid-row:
        1 / span 2;
}


/* TOP MIDDLE */

.home-gallery-item-2{
    grid-column:
        6 / span 4;

    grid-row:1;
}


/* TOP RIGHT */

.home-gallery-item-3{
    grid-column:
        10 / span 3;

    grid-row:1;
}


/* BOTTOM MIDDLE */

.home-gallery-item-4{
    grid-column:
        6 / span 3;

    grid-row:2;
}


/* BOTTOM RIGHT LARGE */

.home-gallery-item-5{
    grid-column:
        9 / span 4;

    grid-row:2;
}


/*
 * Sixth image is used as a subtle extra layer
 * only when available.
 */

.home-gallery-item-6{
    display:none;
}


/* ==========================================================
   IMAGE
========================================================== */

.home-gallery-item img{
    display:block;

    width:100%;
    height:100%;

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

    transition:
        transform .6s
        cubic-bezier(.16,.7,.22,1);
}


.home-gallery-item:hover img{
    transform:
        scale(1.045);
}


/* ==========================================================
   OVERLAY
========================================================== */

.home-gallery-overlay{
    position:absolute;

    inset:0;

    z-index:2;

    display:flex;

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

    opacity:0;

    background:
        rgba(5,18,45,.34);

    transition:
        opacity .3s ease;
}


.home-gallery-item:hover
.home-gallery-overlay{
    opacity:1;
}


.home-gallery-overlay span{
    width:50px;
    height:50px;

    display:grid;

    place-items:center;

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

    border-radius:50%;

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

    color:#fff;

    font-size:1rem;

    backdrop-filter:
        blur(5px);

    -webkit-backdrop-filter:
        blur(5px);
}


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

.home-gallery-mobile-action{
    display:none;

    margin-top:22px;

    text-align:center;
}


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

@media (max-width:991.98px){

    .home-gallery-section{
        padding:
            60px
            0;
    }


    .home-gallery-head{
        grid-template-columns:1fr;

        gap:18px;

        margin-bottom:28px;
    }


    .home-gallery-intro{
        max-width:600px;
    }


    .home-gallery-title h2{
        font-size:
            clamp(
                3.8rem,
                9vw,
                5.7rem
            );
    }


    .home-gallery-grid{
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );

        grid-template-rows:
            300px
            220px
            220px;

        gap:8px;
    }


    .home-gallery-item-1{
        grid-column:
            1 / -1;

        grid-row:1;
    }


    .home-gallery-item-2{
        grid-column:1;
        grid-row:2;
    }


    .home-gallery-item-3{
        grid-column:2;
        grid-row:2;
    }


    .home-gallery-item-4{
        grid-column:1;
        grid-row:3;
    }


    .home-gallery-item-5{
        grid-column:2;
        grid-row:3;
    }

}


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

@media (max-width:767.98px){

    .home-gallery-section{
        padding:
            45px
            0;
    }


    .home-gallery-head{
        gap:14px;

        margin-bottom:20px;
    }


    .home-gallery-title > span{
        margin-bottom:9px;

        font-size:.56rem;
    }


    .home-gallery-title h2{
        font-size:
            clamp(
                3rem,
                14vw,
                4.2rem
            );

        line-height:.92;
    }


    .home-gallery-intro p{
        margin-bottom:0;

        font-size:.79rem;

        line-height:1.65;
    }


    /*
     * Hide desktop CTA.
     * Mobile CTA appears below gallery.
     */

    .home-gallery-view-all{
        display:none;
    }


    .home-gallery-grid{
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );

        grid-template-rows:
            250px
            160px
            160px;

        gap:5px;
    }


    .home-gallery-item-1{
        grid-column:
            1 / -1;

        grid-row:1;
    }


    .home-gallery-item-2{
        grid-column:1;
        grid-row:2;
    }


    .home-gallery-item-3{
        grid-column:2;
        grid-row:2;
    }


    .home-gallery-item-4{
        grid-column:1;
        grid-row:3;
    }


    .home-gallery-item-5{
        grid-column:2;
        grid-row:3;
    }


    .home-gallery-overlay{
        opacity:1;

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

        padding:10px;

        background:
            linear-gradient(
                180deg,
                transparent 65%,
                rgba(4,12,28,.32) 100%
            );
    }


    .home-gallery-overlay span{
        width:34px;
        height:34px;

        font-size:.7rem;
    }


    .home-gallery-mobile-action{
        display:block;
    }


    .home-gallery-mobile-action
    .btn-dark-site{
        width:100%;

        justify-content:center;
    }

}


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

@media (max-width:420px){

    .home-gallery-section{
        padding:
            36px
            0;
    }


    .home-gallery-title h2{
        font-size:
            clamp(
                2.8rem,
                13vw,
                3.7rem
            );
    }


    .home-gallery-grid{
        grid-template-rows:
            220px
            145px
            145px;
    }

}

/* ==========================================================
   FINAL DESKTOP NAV UNDERLINE ALIGNMENT
   KEEP THIS AT THE ABSOLUTE END OF style.css
========================================================== */

@media (min-width:992px){

    .desktop-nav-row > a{
        position:relative !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        text-align:center !important;
    }


    .desktop-nav-row > a::after{
        content:"" !important;

        position:absolute !important;

        left:50% !important;
        right:auto !important;
        bottom:2px !important;

        width:30px !important;
        height:2px !important;

        background:var(--saffron) !important;

        transform:
            translateX(-50%)
            scaleX(0) !important;

        transform-origin:center center !important;

        transition:
            transform .25s ease !important;

        pointer-events:none;
    }


    .desktop-nav-row > a:hover::after,
    .desktop-nav-row > a.active::after{
        width:30px !important;

        transform:
            translateX(-50%)
            scaleX(1) !important;
    }

}

/* ==========================================================
   FINAL GLOBAL HEADER + HERO CONSISTENCY
   Same navbar and hero design on every public page.
   Keep this block at the absolute end of style.css.
========================================================== */


/* ==========================================================
   HEADER BACKGROUND - SAME ON HOME + INNER PAGES
========================================================== */

.site-header:not(.is-solid){
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.86) 18%,
            rgba(255,255,255,.62) 38%,
            rgba(255,255,255,.36) 58%,
            rgba(255,255,255,.16) 78%,
            rgba(255,255,255,0) 100%
        );

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    border-bottom:
        1px solid
        rgba(255,255,255,.20);
}


.site-header.is-solid{
    background:rgba(255,250,242,.97);

    backdrop-filter:blur(15px);
    -webkit-backdrop-filter:blur(15px);

    border-bottom-color:
        rgba(83,44,21,.08);

    box-shadow:
        0 7px 30px
        rgba(38,20,10,.08);
}


/* ==========================================================
   DESKTOP NAVBAR - SAME LAYOUT ON EVERY PAGE
========================================================== */

@media (min-width:992px){

    :root{
        --header-h:108px;
    }


    .site-header{
        height:var(--header-h);
    }


    .site-header .site-shell{
        width:calc(100% - 40px);
        max-width:1440px;
    }


    .header-inner{
        width:100%;
        height:100%;
        min-height:0;

        display:grid;

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

        gap:24px;

        align-items:center;
    }


    .brand{
        width:120px;

        align-self:center;
    }


    .brand-logo{
        width:auto;
        height:82px;

        max-width:112px;

        object-fit:contain;
    }


    .desktop-nav{
        width:100%;
        min-width:0;

        display:flex !important;

        flex-direction:column;

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

        gap:0;
    }


    /* TOP ROW */

    .desktop-nav-row{
        width:100%;
        min-width:0;

        display:grid;

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

        gap:8px;

        align-items:center;
    }


    /* BOTTOM ROW */

    .desktop-nav-row-bottom{
        grid-template-columns:
            repeat(
                5,
                max-content
            );

        justify-content:center;

        column-gap:
            clamp(
                38px,
                5vw,
                78px
            );

        border-top:
            1px solid
            rgba(255,255,255,.18);
    }


    .site-header.is-solid
    .desktop-nav-row-bottom{
        border-top-color:
            rgba(23,18,15,.09);
    }


    /* NAV LINKS */

    .desktop-nav-row > a{
        position:relative !important;

        min-width:0;
        min-height:46px;

        display:flex !important;

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

        padding:
            5px
            5px
            8px;

        color:#fff;

        font-family:
            "Inter",
            sans-serif;

        font-size:.64rem;
        font-weight:800;

        line-height:1.2;

        letter-spacing:.01em;

        text-align:center !important;
        text-transform:uppercase;

        white-space:normal;

        word-break:normal;
        overflow-wrap:normal;

        text-shadow:
            0 1px 3px
            rgba(0,0,0,.58),

            0 2px 8px
            rgba(0,0,0,.25);
    }


    /* SCROLLED HEADER */

    .site-header.is-solid
    .desktop-nav-row > a{
        color:#17120f;

        text-shadow:none;
    }


    /* HOVER / ACTIVE */

    .desktop-nav-row > a:hover,
    .desktop-nav-row > a.active{
        color:#fff;
    }


    .site-header.is-solid
    .desktop-nav-row > a:hover,

    .site-header.is-solid
    .desktop-nav-row > a.active{
        color:var(--saffron);
    }


    /* CENTERED ORANGE UNDERLINE */

    .desktop-nav-row > a::after{
        content:"" !important;

        position:absolute !important;

        left:50% !important;
        right:auto !important;

        bottom:3px !important;

        width:30px !important;
        height:2px !important;

        background:
            var(--saffron) !important;

        transform:
            translateX(-50%)
            scaleX(0) !important;

        transform-origin:
            center !important;

        transition:
            transform
            .25s
            ease !important;

        pointer-events:none;
    }


    .desktop-nav-row > a:hover::after,
    .desktop-nav-row > a.active::after{
        transform:
            translateX(-50%)
            scaleX(1) !important;
    }

}


/* ==========================================================
   HOME + INNER PAGE HERO
   SAME HEIGHT AND VISUAL STYLE
========================================================== */

.hero-home,
.page-hero{
    position:relative;

    width:100%;

    height:100svh;

    min-height:720px;
    max-height:none;

    padding-top:
        var(--header-h);

    display:flex;

    align-items:center;

    overflow:hidden;

    color:#fff;

    background:#1b100c;

    isolation:isolate;
}


/* ==========================================================
   HERO BACKGROUND IMAGE
========================================================== */

.hero-home .panel-bg,
.page-hero .hero-photo{
    position:absolute;

    inset:0;

    z-index:-2;

    width:100%;
    height:100%;

    overflow:hidden;
}


.hero-home .panel-bg img,
.page-hero .hero-photo img{
    display:block;

    width:100% !important;
    height:100% !important;

    max-width:none;

    object-fit:cover !important;

    object-position:
        center center;

    transform:
        scale(1.02);
}


.hero-home.is-active
.panel-bg img,

.page-hero
.hero-photo img{
    transform:scale(1);
}


/* ==========================================================
   SAME HERO OVERLAY
========================================================== */

.hero-home .shade,
.inner-page .page-hero::after{
    background:
        linear-gradient(
            90deg,

            rgba(20,9,4,.78) 0%,

            rgba(20,9,4,.52) 34%,

            rgba(20,9,4,.20) 62%,

            rgba(20,9,4,.05) 100%
        );
}


.inner-page
.page-hero::after{
    content:"";

    position:absolute;

    inset:0;

    z-index:-1;
}


/* ==========================================================
   INNER HERO CONTENT CONTAINER
========================================================== */

.page-hero >
.page-hero-content{
    width:
        calc(
            100% -
            (var(--container-gutter) * 2)
        );

    max-width:
        var(--container-width);

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

    padding:
        20px
        0
        0;
}


/* ==========================================================
   SAME HERO TITLE STYLE
========================================================== */

.page-hero .page-title,
.hero-home h1.page-title{
    width:auto !important;

    max-width:
        900px !important;

    margin:
        0 !important;

    font-family:
        "Anton",
        sans-serif !important;

    font-size:
        clamp(
            4.5rem,
            8vw,
            7rem
        ) !important;

    font-weight:
        300 !important;

    line-height:
        .95 !important;

    letter-spacing:
        0 !important;

    text-transform:
        uppercase;

    color:#fff;

    text-shadow:
        0 4px 32px
        rgba(0,0,0,.18);
}


/* ==========================================================
   EYEBROW
========================================================== */

.page-hero-content
.eyebrow{
    margin-bottom:14px;

    color:#ffb022;

    font-size:.67rem;

    font-weight:800;

    letter-spacing:.16em;
}


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

.page-hero-content p{
    max-width:570px;

    margin:
        18px
        0
        0;

    padding-left:14px;

    border-left:
        2px solid
        var(--saffron);

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

    font-size:1rem;

    line-height:1.55;
}


/* ==========================================================
   BREADCRUMB
========================================================== */

.page-hero
.breadcrumb-mini{
    margin-top:20px;

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


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

@media (max-width:991.98px){

    :root{
        --header-h:72px;
    }


    .site-header{
        height:
            var(--header-h);
    }


    .site-header:not(.is-solid){
        background:
            linear-gradient(
                90deg,

                rgba(255,255,255,.98) 0%,

                rgba(255,255,255,.91) 30%,

                rgba(255,255,255,.58) 60%,

                rgba(255,255,255,.18) 82%,

                rgba(255,255,255,0) 100%
            );
    }


    .menu-trigger,
    .site-header:not(.is-solid)
    .menu-trigger,
    .site-header.is-solid
    .menu-trigger{
        color:#17120f;
    }


    .hero-home,
    .page-hero{
        height:
            720px !important;

        min-height:
            720px !important;

        max-height:
            720px !important;

        padding-top:
            var(--header-h);

        align-items:center;
    }


    .hero-home
    .panel-bg img,

    .page-hero
    .hero-photo img{
        object-position:
            58%
            center;
    }


    .page-hero >
    .page-hero-content{
        width:
            calc(
                100% -
                (var(--container-gutter) * 2)
            );

        max-width:720px;

        padding:
            18px
            0
            0;
    }


    .page-hero
    .page-title,

    .hero-home
    h1.page-title{
        max-width:
            100% !important;

        font-size:
            clamp(
                4rem,
                10vw,
                5.6rem
            ) !important;

        line-height:
            .93 !important;
    }


    .page-hero-content p{
        max-width:520px;

        font-size:.94rem;
    }

}


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

@media (max-width:767.98px){

    :root{
        --header-h:68px;
    }


    .hero-home,
    .page-hero{
        height:
            680px !important;

        min-height:
            680px !important;

        max-height:
            680px !important;

        padding-top:
            var(--header-h);

        align-items:center;
    }


    .hero-home
    .panel-bg img,

    .page-hero
    .hero-photo img{
        object-position:
            56%
            center;
    }


    .hero-home .shade,
    .inner-page
    .page-hero::after{
        background:
            linear-gradient(
                90deg,

                rgba(20,9,4,.82) 0%,

                rgba(20,9,4,.65) 45%,

                rgba(20,9,4,.30) 74%,

                rgba(20,9,4,.12) 100%
            );
    }


    .page-hero >
    .page-hero-content{
        width:
            calc(
                100% -
                32px
            );

        max-width:540px;

        padding:
            10px
            0
            0;
    }


    .page-hero
    .page-title,

    .hero-home
    h1.page-title{
        font-size:
            clamp(
                3.25rem,
                13vw,
                4.3rem
            ) !important;

        line-height:
            .94 !important;
    }


    .page-hero-content
    .eyebrow{
        margin-bottom:10px;

        font-size:.58rem;
    }


    .page-hero-content p{
        max-width:390px;

        margin-top:14px;

        padding-left:10px;

        font-size:.84rem;

        line-height:1.5;
    }


    .page-hero
    .breadcrumb-mini{
        margin-top:16px;

        font-size:.60rem;
    }

}


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

@media (max-width:575.98px){

    .hero-home,
    .page-hero{
        height:
            620px !important;

        min-height:
            620px !important;

        max-height:
            620px !important;
    }


    .page-hero >
    .page-hero-content{
        width:
            calc(
                100% -
                28px
            );

        max-width:none;
    }


    .page-hero
    .page-title,

    .hero-home
    h1.page-title{
        font-size:
            clamp(
                2.9rem,
                14vw,
                3.9rem
            ) !important;
    }

}


/* ==========================================================
   VERY SMALL MOBILE
========================================================== */

@media (max-width:420px){

    .hero-home,
    .page-hero{
        height:
            580px !important;

        min-height:
            580px !important;

        max-height:
            580px !important;
    }


    .page-hero
    .page-title,

    .hero-home
    h1.page-title{
        font-size:
            3rem !important;
    }

}


/* ==========================================================
   DESKTOP NAV - KEEP DONATE IN SECOND ROW
========================================================== */

@media (min-width:992px){

    .desktop-nav{
        width:100%;
        min-width:0;
    }

    .desktop-nav-row{
        width:100%;

        display:flex;

        align-items:center;

        justify-content:space-between;

        flex-wrap:nowrap !important;

        gap:12px;
    }

    .desktop-nav-row > a{
        flex:0 0 auto;

        white-space:nowrap;

        font-size:.66rem;

        letter-spacing:0;
    }

    .desktop-nav-row-bottom{
        display:flex;

        flex-wrap:nowrap !important;

        align-items:center;

        justify-content:space-between;

        gap:12px;

        width:100%;
    }

    .desktop-nav-row-bottom > a{
        flex:0 0 auto;

        white-space:nowrap;
    }

}


/* ==========================================================
   LAPTOP
========================================================== */

@media
(min-width:992px)
and
(max-width:1199.98px){

    .desktop-nav-row{
        gap:7px;
    }

    .desktop-nav-row > a{
        font-size:.55rem;
    }

}


/* ==========================================================
   1200 - 1399 DESKTOP
========================================================== */

@media
(min-width:1200px)
and
(max-width:1399.98px){

    .desktop-nav-row{
        gap:9px;
    }

    .desktop-nav-row > a{
        font-size:.61rem;
    }

}


/* ==========================================================
   LARGE DESKTOP
========================================================== */

@media (min-width:1400px){

    .desktop-nav-row{
        gap:16px;
    }

    .desktop-nav-row > a{
        font-size:.68rem;
    }

}






