        html {
            scroll-behavior: smooth;
            scroll-padding-top: 88px;
        }

        body {
            font-family: 'DM Sans', sans-serif;
        }

        h1,
        h2,
        h3,
        .display {
            font-family: 'Manrope', sans-serif;
        }

        .hero-pattern {
            background-image: radial-gradient(rgba(13, 92, 60, .08) 1px, transparent 1px);
            background-size: 22px 22px;
        }

        .hero-photo:after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, transparent 48%, rgba(3, 38, 24, .76));
            border-radius: inherit;
        }

        .reveal {
            animation: rise .75s ease both;
        }


        /* ============ OUR MOVEMENT IN PICTURES ============ */
        .movement-section {
            padding: 100px 0;
            background: #fefbf6;
            overflow: hidden;
        }

        .movement-container {
            width: min(1180px, 90%);
            margin: 0 auto;
        }

        .movement-heading {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            gap: 30px;
            margin-bottom: 42px;
        }

        .movement-eyebrow {
            display: inline-block;
            color: #0d5c3c;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 3px;
            margin-bottom: 18px;
        }

        .movement-heading h2 {
            font-size: clamp(34px, 5vw, 54px);
            line-height: 1.1;
            letter-spacing: -1.8px;
            color: #17231d;
            margin: 0;
        }

        .movement-heading h2 span {
            color: #0d5c3c;
        }

        .movement-heading p {
            max-width: 550px;
            color: #647067;
            line-height: 1.8;
            font-size: 15px;
            margin-top: 20px;
        }

        .movement-link {
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            gap: 16px;
            padding: 15px 22px;
            border: 1px solid #d5dfd7;
            border-radius: 50px;
            color: #0d5c3c;
            font-size: 13px;
            font-weight: 700;
            text-decoration: none;
            transition: .3s ease;
        }

        .movement-link:hover {
            background: #0d5c3c;
            border-color: #0d5c3c;
            color: #fff;
        }

        .movement-gallery {
            display: grid;
            grid-template-columns: 1.15fr 1fr 1fr;
            grid-template-rows: 230px 230px;
            gap: 18px;
        }

        .movement-card {
            position: relative;
            overflow: hidden;
            border-radius: 22px;
            background: #173e2d;
            isolation: isolate;
        }

        .movement-card img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .7s ease;
            z-index: -2;
        }

        .movement-card:hover img {
            transform: scale(1.07);
        }

        .movement-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top,
                    rgba(0, 0, 0, .78),
                    rgba(0, 0, 0, .04) 80%);
            z-index: -1;
        }

        .movement-feature {
            grid-row: span 2;
        }

        .movement-wide {
            grid-column: span 2;
        }

        .movement-wide .movement-overlay {
            background: linear-gradient(90deg,
                    rgba(13, 92, 60, .94),
                    rgba(13, 92, 60, .48),
                    transparent);
        }

        .movement-caption {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 25px;
            color: #fff;
        }

        .movement-tag {
            display: inline-block;
            padding: 7px 11px;
            border-radius: 50px;
            background: #f2a900;
            color: #173e2d;
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 1.5px;
            margin-bottom: 12px;
        }

        .movement-caption h3 {
            font-size: 21px;
            line-height: 1.25;
            margin: 0 0 8px;
            font-weight: 800;
        }

        .movement-feature .movement-caption h3,
        .movement-wide .movement-caption h3 {
            font-size: clamp(23px, 3vw, 30px);
        }

        .movement-caption p {
            color: rgba(255, 255, 255, .82);
            font-size: 13px;
            line-height: 1.7;
            margin: 0;
            max-width: 330px;
        }

        .movement-bottom {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-top: 25px;
        }

        .movement-bottom p {
            margin: 0;
            color: #647067;
            font-size: 12px;
        }

        .movement-dot {
            width: 8px;
            height: 8px;
            flex-shrink: 0;
            border-radius: 50%;
            background: #f2a900;
        }

        /* Tablet */
        @media (max-width: 800px) {
            .movement-section {
                padding: 75px 0;
            }

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

            .movement-gallery {
                grid-template-columns: 1fr 1fr;
                grid-template-rows: 340px 220px 220px;
                gap: 13px;
            }

            .movement-feature {
                grid-column: span 2;
                grid-row: auto;
            }

            .movement-wide {
                grid-column: span 2;
            }
        }

        /* Mobile */
        @media (max-width: 480px) {
            .movement-section {
                padding: 60px 0;
            }

            .movement-container {
                width: 90%;
            }

            .movement-heading {
                margin-bottom: 28px;
            }

            .movement-heading h2 {
                font-size: 36px;
                letter-spacing: -1px;
            }

            .movement-heading p {
                font-size: 14px;
            }

            .movement-gallery {
                grid-template-rows: 300px 190px 190px 230px;
                gap: 10px;
            }

            .movement-card {
                border-radius: 16px;
            }

            .movement-feature {
                grid-column: span 2;
            }

            .movement-wide {
                grid-column: span 2;
            }

            .movement-caption {
                padding: 15px;
            }

            .movement-caption h3 {
                font-size: 17px;
            }

            .movement-feature .movement-caption h3,
            .movement-wide .movement-caption h3 {
                font-size: 23px;
            }

            .movement-caption p {
                font-size: 12px;
            }

            .movement-link {
                padding: 13px 18px;
            }
        }


        @keyframes rise {
            from {
                opacity: 0;
                transform: translateY(18px)
            }

            to {
                opacity: 1;
                transform: translateY(0)
            }
        }

        @media (prefers-reduced-motion: reduce) {
            html {
                scroll-behavior: auto
            }

            .reveal {
                animation: none
            }
        }