/* ========================================
   SITE FOOTER
   land acknowledgment, partner logos,
   funders note, copyright
   ======================================== */

        .site-footer {
            background: #ffffff;

            color: #2b2b2b;

            font-family:
                'League Spartan',
                sans-serif;
        }

        .footer-inner {
            width:
                min(1020px, 94vw);

            margin:
                0 auto;

            padding:
                2.5rem 0 1.5rem;
        }

        .footer-note {
            margin: 0;

            font-size: 1rem;

            line-height: 1.6;

            text-align: left;
        }

        /*
         * Divider under the first text section
         * (land acknowledgment).
         */

        .footer-inner > .footer-note:first-of-type {
            border-bottom:
                2px solid rgba(36, 95, 156, .3);

            padding-bottom: 1.5rem;
        }


        /* ========================================
           PARTNER LOGOS
           text placeholders until real
           logo assets land in images/logos/
           two rows like the reference:
           3 on top, 4 below
           ======================================== */

        .partner-logos-block {
            display: flex;

            flex-direction: column;

            gap: 2.5rem;

            margin:
                2.5rem 0;
        }

        .partner-logos {
            display: flex;

            flex-wrap: wrap;

            align-items: center;

            justify-content: space-evenly;

            gap:
                2rem 3rem;

            list-style: none;

            margin: 0;

            padding: 0;
        }

        .partner-logo {
            display: inline-flex;

            align-items: center;

            gap: .6rem;

            font-family:
                'League Spartan',
                sans-serif;

            line-height: 1;

            white-space: nowrap;
        }

        .partner-logo-glocal {
            color: #1f2a5a;

            font-weight: 800;

            font-size: 2rem;

            letter-spacing: .5px;
        }

        .partner-logo-glocal::before {
            content: "";

            width: 46px;
            height: 46px;

            border-radius: 50%;

            background:
                radial-gradient(
                    circle at 35% 35%,
                    #d63fa0,
                    #6a2aa0 70%
                );
        }

        .partner-logo-glocal small {
            display: block;

            font-size: .62rem;

            font-weight: 700;

            letter-spacing: 2px;
        }

        .partner-logo-film {
            width: 58px;
            height: 58px;

            border-radius: 14px;

            background: #e5455a;

            position: relative;
        }

        .partner-logo-film::after {
            content: "";

            position: absolute;

            left: 50%;
            top: 50%;

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

            border-left:
                20px solid #ffffff;

            border-top:
                13px solid transparent;

            border-bottom:
                13px solid transparent;
        }

        .partner-logo-waterlution {
            color: #1f9d55;

            font-weight: 800;

            font-size: 1.9rem;

            font-style: italic;
        }

        .partner-logo-waterlution::before {
            content: "";

            width: 24px;
            height: 24px;

            border-radius:
                50% 50% 50% 0;

            transform:
                rotate(-45deg);

            background: #2aa9e0;
        }

        .partner-logo-trca {
            color: #333333;

            font-size: .8rem;

            font-weight: 700;

            line-height: 1.3;

            text-align: left;

            white-space: normal;

            max-width: 175px;
        }

        .partner-logo-trca::before {
            content: "";

            flex-shrink: 0;

            width: 46px;
            height: 46px;

            border-radius: 50%;

            background:
                conic-gradient(
                    #e5455a,
                    #f5a623,
                    #7ac74f,
                    #2aa9e0,
                    #e5455a
                );
        }

        .partner-logo-frontlines {
            color: #1a1a1a;

            font-weight: 800;

            font-size: 1.9rem;
        }

        .partner-logo-frontlines i {
            font-style: normal;

            color: #4a9b2d;

            margin:
                0 -.14em;
        }

        .partner-logo-leaf {
            width: 58px;
            height: 58px;

            border-radius: 50%;

            border:
                5px solid #4a9b2d;

            position: relative;
        }

        .partner-logo-leaf::after {
            content: "";

            position: absolute;

            left: 50%;
            top: 50%;

            width: 20px;
            height: 10px;

            transform:
                translate(-50%, -50%)
                rotate(-30deg);

            border-radius:
                0 50% 0 50%;

            background: #4a9b2d;
        }

        .partner-logo-oceanwise {
            color: #0a2a5a;

            font-size: .78rem;

            font-weight: 700;

            letter-spacing: 1.5px;

            text-align: center;

            line-height: 1.4;
        }

        .partner-logo-oceanwise strong {
            display: block;

            font-size: 1.55rem;

            letter-spacing: .5px;
        }


        /* ========================================
           COPYRIGHT
           ======================================== */

        .footer-copyright {
            margin:
                1.5rem 0 0;

            font-size: .8rem;

            color: #004a98;

            text-align: center;
        }


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

        @media (max-width: 600px) {

            .partner-logos-block {
                gap: 2rem;

                margin:
                    2rem 0;
            }

            .partner-logos {
                gap:
                    1.5rem 2rem;
            }

            .partner-logo-glocal {
                font-size: 1.5rem;
            }

            .partner-logo-glocal::before {
                width: 36px;
                height: 36px;
            }

            .partner-logo-film {
                width: 46px;
                height: 46px;
            }

            .partner-logo-waterlution,
            .partner-logo-frontlines {
                font-size: 1.4rem;
            }

            .partner-logo-trca {
                font-size: .72rem;

                max-width: 150px;
            }

            .partner-logo-trca::before {
                width: 36px;
                height: 36px;
            }

            .partner-logo-leaf {
                width: 46px;
                height: 46px;
            }

            .partner-logo-oceanwise strong {
                font-size: 1.2rem;
            }

            .footer-note {
                font-size: 0.96rem;
            }
        }


        /* ========================================
           REAL PARTNER LOGO IMAGES
           all slots are now <img>; neutralize
           the old text-placeholder shapes.
           ======================================== */

        .partner-logo::before,
        .partner-logo::after {
            content: none;
        }

        .partner-logo-film,
        .partner-logo-leaf {
            width: auto;
            height: auto;
            background: none;
            border: 0;
        }

        .partner-logo img {
            display: block;
            width: auto;
            max-width: 180px;
            max-height: 64px;
            object-fit: contain;
        }

        /*
         * Square-ish marks get a taller cap so their
         * visual weight matches the wide logos.
         */

        .partner-logo-frontlines img,
        .partner-logo-leaf img {
            max-height: 88px;
        }

        /* Frontlines 15% smaller than the group. */

        .partner-logo-frontlines img {
            max-height: 75px;
        }

        /* StopMotion 30% smaller than the group. */

        .partner-logo-film img {
            max-height: 62px;
        }

        /* SEA 20% bigger than the group. */

        .partner-logo-leaf img {
            max-height: 106px;
        }

        .partner-logo-oceanwise img {
            max-height: 99px;
        }

        @media (max-width: 600px) {
            .partner-logo img {
                max-width: 140px;
                max-height: 48px;
            }

            .partner-logo-frontlines img,
            .partner-logo-leaf img {
                max-height: 64px;
            }

            .partner-logo-frontlines img {
                max-height: 54px;
            }

            .partner-logo-film img {
                max-height: 45px;
            }

            .partner-logo-leaf img {
                max-height: 77px;
            }

            .partner-logo-oceanwise img {
                max-height: 73px;
            }
        }
