.map-section {
    background-color: var(--color-black);
    padding: 4rem 2.25rem;
    /* Contain the map's off-screen bleed without a horizontal scrollbar */
    overflow-x: clip;

    /* Desktop: map bleeds to the left screen edge; text column right.
       The 120px right padding sits outside the Figma group per design. */
    @media (min-width: 768px) {
        padding: 5rem 2rem 5rem 0rem;
    }

    @media (min-width: 1200px) {
        padding: 5rem 7.5rem 10rem 0rem;
    }

    .wrapper {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 2.5rem;
        max-width: 1512px;
        margin: 0 auto;
        @media (min-width: 768px) {
            grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
            gap: 5rem;
            align-items: center;
        }
    }

    .map-wrap {
        position: relative;
        min-width: 0;
        /* Mobile: full-bleed map hanging 20px off both screen edges */
        @media (max-width: 767px) {
            width: calc(100vw + 2.5rem);
            margin-left: calc(50% - 50vw - 1.25rem);
        }

        /* Desktop: the map hangs ~40px off the left edge of the screen */
        @media (min-width: 768px) {
            margin-left: -2.5rem;
        }

        .map-img {
            display: block;
            width: 100%;
            max-width: none;
            height: auto;
        }

        /* Placeholder until the real map graphic is added */
        .map-placeholder {
            display: block;
            width: 100%;
            aspect-ratio: 880 / 538;
            background: linear-gradient(115deg, #0b3c4d 0%, var(--color-blue) 45%, var(--color-blue-two) 70%, #0b3c4d 100%);
            opacity: 0.35;
        }
    }

    .text {
        min-width: 0;

        .section-title {
            color: var(--color-white);
            font-family: var(--font-heading);
            font-size: var(--text-h4);
            line-height: 1.2;
            margin: 0;
        }

        .paragraph {
            color: rgba(255, 255, 255, 0.72);
            font-size: 0.875rem;
            line-height: 1.5;
            margin: 1.25rem 0 0 0;
        }
    }
}
