

    .entourage-section {
        position: relative;
        min-height: 100svh;
        background: var(--ivory);
        color: var(--burgundy);
        overflow: hidden;
        padding: clamp(70px, 8vh, 110px) 24px;
    }

    .entourage-content {
        position: relative;
        z-index: 2;
        width: min(1180px, 100%);
        margin: 0 auto;
    }


    /* =========================================
                           LARGE BACKGROUND I / J
                        ========================================= */

    .entourage-bg-letter {
        position: absolute;
        z-index: 0;
        font-family: "Cormorant Garamond", serif;
        font-weight: 300;
        line-height: 0.7;
        color: rgba(82, 0, 13, 0.045);
        pointer-events: none;
        user-select: none;
    }

    .entourage-bg-i {
        font-size: clamp(24rem, 48vw, 50rem);
        left: -8%;
        bottom: -10%;
        animation: monogram-drift 24s ease-in-out infinite;
    }

    .entourage-bg-j {
        font-size: clamp(28rem, 55vw, 58rem);
        right: -10%;
        top: 5%;
        animation: monogram-drift-alt 28s ease-in-out infinite;
    }


    /* =========================================
                           ENTOURAGE HEADER
                        ========================================= */

    .entourage-header {
        text-align: center;
        margin-bottom: clamp(45px, 6vh, 75px);
    }

    .entourage-eyebrow {
        font-family: "Montserrat", sans-serif;
        font-size: clamp(0.65rem, 1vw, 0.8rem);
        font-weight: 500;
        letter-spacing: 0.32em;
        text-transform: uppercase;
        margin-bottom: 14px;
        opacity: 0.7;
    }

    .entourage-title {
        font-size: clamp(3rem, 6vw, 5.5rem);
        font-weight: 300;
        line-height: 1;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .entourage-divider {
        width: 70px;
        height: 1px;
        margin: 24px auto 0;
        background: linear-gradient( 90deg, transparent, rgba(82, 0, 13, 0.55), transparent );
    }


    /* =========================================
                           ENTOURAGE LAYOUT
                        ========================================= */

    .entourage-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: clamp(50px, 8vw, 120px);
        row-gap: clamp(38px, 5vh, 60px);
        align-items: start;
    }

    .entourage-group {
        position: relative;
        text-align: center;
    }

        .entourage-group.full-width {
            grid-column: 1 / -1;
        }


    /* =========================================
                           ROLE TITLES
                        ========================================= */

    .entourage-role {
        font-family: "Montserrat", sans-serif;
        font-size: clamp(0.75rem, 1.2vw, 0.95rem);
        font-weight: 600;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        margin-bottom: 12px;
    }


    /* =========================================
                           NAMES
                        ========================================= */

    .entourage-names {
        list-style: none;
        margin: 0;
        padding: 0;
    }

        .entourage-names li {
            font-size: clamp(1.1rem, 2vw, 1.55rem);
            font-weight: 400;
            line-height: 1.45;
            letter-spacing: 0.02em;
        }

            .entourage-names li + li {
                margin-top: 2px;
            }


    /* =========================================
                           PRINCIPAL SPONSORS
                        ========================================= */

    .principal-sponsors {
        padding: clamp(15px, 2vh, 25px) 0;
    }

        .principal-sponsors .entourage-names li {
            font-size: clamp(1.15rem, 2.2vw, 1.65rem);
        }


    /* =========================================
                           SMALL DECORATIVE LINE
                        ========================================= */

    .entourage-group::after {
        content: "";
        display: block;
        width: 32px;
        height: 1px;
        margin: 20px auto 0;
        background: rgba(82, 0, 13, 0.18);
        transform: scaleX(0);
        transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) calc(var(--reveal-delay, 0s) + 0.4s);
    }

    .entourage-group.is-visible::after {
        transform: scaleX(1);
    }


    /* =========================================
                           SPECIAL ENTOURAGE REVEAL
                        ========================================= */

    .entourage-reveal {
        opacity: 0;
        transform: translateY(42px);
        transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0s), transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0s);
    }

        .entourage-reveal.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

    /* =========================================
                           ENTOURAGE - FLOATING TYPOGRAPHY
                        ========================================= */

    .entourage-floating-words {
        position: absolute;
        inset: 0;
        z-index: 0;
        overflow: hidden;
        pointer-events: none;
        user-select: none;
    }

    .entourage-float-word {
        position: absolute;
        font-family: "Montserrat", sans-serif;
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0.35em;
        text-transform: uppercase;
        color: rgba(82, 0, 13, 0.035);
        /*color: rgba(82, 0, 13, 0.025);*/
        white-space: nowrap;
        will-change: transform;
    }


    /* FAMILY - TOP LEFT */

    .float-family {
        top: 12%;
        left: -3%;
        font-size: clamp(2.5rem, 6vw, 6rem);
        animation: entourage-word-drift 18s ease-in-out infinite;
    }


    /* FRIENDS - UPPER RIGHT */

    .float-friends {
        top: 30%;
        right: -5%;
        font-size: clamp(2.2rem, 5vw, 5rem);
        animation: entourage-word-drift-alt 22s ease-in-out infinite;
    }


    /* SPONSORS - LOWER LEFT */

    .float-sponsors {
        bottom: 28%;
        left: -5%;
        font-size: clamp(2rem, 5vw, 5rem);
        animation: entourage-word-drift-alt 25s ease-in-out infinite;
    }


    /* TOGETHER - BOTTOM RIGHT */

    .float-together {
        bottom: 8%;
        right: -7%;
        font-size: clamp(2.5rem, 6vw, 6rem);
        animation: entourage-word-drift 20s ease-in-out infinite;
    }


    /* SLOW DRIFT RIGHT + UP */

    @keyframes entourage-word-drift {

        0%, 100% {
            transform: translate3d(0, 0, 0);
        }

        50% {
            transform: translate3d(45px, -18px, 0);
        }
    }


    /* SLOW DRIFT LEFT + DOWN */

    @keyframes entourage-word-drift-alt {

        0%, 100% {
            transform: translate3d(0, 0, 0);
        }

        50% {
            transform: translate3d(-45px, 18px, 0);
        }
    }

@media (max-width:600px) {

    .entourage-section {
        padding: 75px 18px;
    }

    .entourage-header {
        margin-bottom: 50px;
    }

    .entourage-grid {
        grid-template-columns: 1fr;
        row-gap: 42px;
    }

    .entourage-group.full-width {
        grid-column: auto;
    }

    .entourage-title {
        letter-spacing: 0.05em;
    }

    .entourage-names li {
        line-height: 1.5;
    }

    .entourage-bg-i {
        left: -35%;
    }

    .entourage-bg-j {
        right: -40%;
    }

    .principal-sponsors {
        padding: 5px 0;
    }
}

