/**
 * /assets/css/pages/leadership-summary.css
 *
 * Leadership-page-specific styles only.
 * Global tokens, typography, containers, buttons and standardized hero
 * are provided by core.css/components.css.
 */

.page-leadership-summary {
  --hero-min-height: 80vh;
  --hero-accent-x: 78%;
  --hero-accent-y: 35%;
  --hero-accent-alpha: .18;
}

.leadership-hero-art {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 35%, rgba(189,0,0,.16), transparent 31%),
    linear-gradient(120deg, #080808, #101010 58%, #080808);
}


/* =========================================================
           INTRO
        ========================================================= */

        .leadership-intro {

            padding:
                75px
                0
                0;

        }


        .section-heading {

            display:
                grid;

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

            gap:
                80px;

            align-items:
                end;

            padding-bottom:
                32px;

        }
/* =========================================================
           TEAM SELECTOR
        ========================================================= */

        .team-selector-wrap {

            margin-top:
                38px;

            padding:
                18px
                0;

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

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

            background:
                #090909;

        }


        .team-selector {

            display:
                grid;

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

            gap:
                8px;

        }


        .team-filter {

            position:
                relative;

            width:
                100%;

            min-width:
                0;

            min-height:
                74px;

            display:
                grid;

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

            gap:
                12px;

            align-items:
                center;

            padding:
                13px
                16px;

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

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

            background:
                #0d0d0d;

            cursor:
                pointer;

            text-align:
                left;

            overflow:
                hidden;

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

        }


        .team-filter:hover {

            color:
                #fff;

            border-color:
                rgba(189,0,0,.28);

            background:
                #111;

            transform:
                translateY(-1px);

        }


        .team-filter.active {

            color:
                #fff;

            border-color:
                rgba(189,0,0,.46);

            background:
                linear-gradient(
                    135deg,
                    rgba(189,0,0,.11),
                    #101010 70%
                );

        }


        .team-filter.active::after {

            content:
                "";

            position:
                absolute;

            left:
                0;

            top:
                0;

            bottom:
                0;

            width:
                3px;

            background:
                var(--red-bright);

        }


        .team-filter-icon {

            width:
                40px;

            height:
                40px;

            display:
                flex;

            align-items:
                center;

            justify-content:
                center;

            color:
                var(--red-bright);

            border:
                1px solid
                rgba(189,0,0,.27);

            background:
                rgba(189,0,0,.055);

            font-size:
                .95rem;

        }


        .team-filter-label {

            min-width:
                0;

            display:
                block;

        }


        .team-filter-small {

            display:
                block;

            margin-bottom:
                4px;

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

            font-size:
                .56rem;

            font-weight:
                800;

            line-height:
                1.1;

            letter-spacing:
                .08em;

            text-transform:
                uppercase;

        }


        .team-filter-name {

            display:
                block;

            color:
                inherit;

            font-size:
                .74rem;

            font-weight:
                800;

            line-height:
                1.25;

            letter-spacing:
                .01em;

            text-transform:
                uppercase;

            white-space:
                normal;

            overflow-wrap:
                normal;

            word-break:
                normal;

        }


        /* =========================================================
           LEADERSHIP SEARCH
        ========================================================= */

        .leadership-search-section {

            padding:
                26px
                0
                0;

            background:
                var(--bg);

        }


        .leadership-search-panel {

            position:
                relative;

            display:
                grid;

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

            gap:
                18px;

            align-items:
                center;

            padding:
                20px;

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

            background:
                linear-gradient(
                    135deg,
                    #111,
                    #0c0c0c
                );

        }


        .leadership-search-panel::before {

            content:
                "";

            position:
                absolute;

            left:
                0;

            top:
                0;

            bottom:
                0;

            width:
                3px;

            background:
                var(--red-bright);

        }


        .leadership-search-heading {

            min-width:
                0;

        }


        .leadership-search-kicker {

            color:
                var(--red-bright);

            font-size:
                .60rem;

            font-weight:
                800;

            letter-spacing:
                .12em;

            text-transform:
                uppercase;

        }


        .leadership-search-title {

            margin-top:
                5px;

            color:
                #fff;

            font-size:
                1.15rem;

            font-weight:
                850;

            letter-spacing:
                -.02em;

        }


        .leadership-search-copy {

            margin-top:
                5px;

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

            font-size:
                .78rem;

            line-height:
                1.55;

        }


        .leadership-search-control {

            position:
                relative;

            width:
                min(
                    100%,
                    430px
                );

        }


        .leadership-search-input-wrap {

            position:
                relative;

            display:
                flex;

            align-items:
                center;

        }


        .leadership-search-icon {

            position:
                absolute;

            left:
                16px;

            z-index:
                2;

            color:
                var(--red-bright);

            pointer-events:
                none;

        }


        .leadership-search-input {

            width:
                100%;

            height:
                52px;

            padding:
                0
                48px
                0
                45px;

            color:
                #fff;

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

            border-radius:
                0;

            outline:
                none;

            background:
                #080808;

            font-size:
                .86rem;

            transition:
                border-color .18s ease,
                box-shadow .18s ease,
                background .18s ease;

        }


        .leadership-search-input::placeholder {

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

        }


        .leadership-search-input:focus {

            border-color:
                rgba(189,0,0,.60);

            background:
                #0b0b0b;

            box-shadow:
                0
                0
                0
                3px
                rgba(189,0,0,.08);

        }


        .leadership-search-clear {

            position:
                absolute;

            right:
                8px;

            width:
                35px;

            height:
                35px;

            display:
                none;

            align-items:
                center;

            justify-content:
                center;

            padding:
                0;

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

            border:
                0;

            background:
                transparent;

            cursor:
                pointer;

        }


        .leadership-search-clear.visible {

            display:
                inline-flex;

        }


        .leadership-search-clear:hover {

            color:
                #fff;

        }


        /* =========================================================
           SEARCH RESULTS
        ========================================================= */

        .leadership-search-results {

            display:
                none;

            margin-top:
                10px;

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

            background:
                #080808;

        }


        .leadership-search-results.visible {

            display:
                block;

        }


        .search-results-header {

            display:
                flex;

            align-items:
                center;

            justify-content:
                space-between;

            gap:
                15px;

            padding:
                12px
                14px;

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

        }


        .search-results-label {

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

            font-size:
                .62rem;

            font-weight:
                800;

            letter-spacing:
                .08em;

            text-transform:
                uppercase;

        }


        .search-results-count {

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

            font-size:
                .64rem;

        }


        .search-results-list {

            display:
                grid;

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

            gap:
                1px;

            max-height:
                430px;

            overflow-y:
                auto;

            background:
                var(--border-soft);

        }


        .search-result {

            min-width:
                0;

            display:
                grid;

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

            gap:
                12px;

            align-items:
                center;

            min-height:
                78px;

            padding:
                13px
                15px;

            color:
                inherit;

            border:
                0;

            background:
                #0a0a0a;

            text-align:
                left;

            cursor:
                pointer;

            transition:
                background .15s ease;

        }


        .search-result:hover,
        .search-result:focus-visible {

            background:
                #111;

            outline:
                none;

        }


        .search-result-avatar {

            width:
                46px;

            height:
                46px;

            border-radius:
                50%;

            object-fit:
                cover;

            border:
                1px solid
                rgba(189,0,0,.35);

            background:
                #050505;

        }


        .search-result-info {

            min-width:
                0;

        }


        .search-result-name {

            overflow:
                hidden;

            color:
                #fff;

            font-size:
                .85rem;

            font-weight:
                800;

            text-overflow:
                ellipsis;

            white-space:
                nowrap;

        }


        .search-result-roles {

            margin-top:
                5px;

            overflow:
                hidden;

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

            font-size:
                .68rem;

            line-height:
                1.45;

            text-overflow:
                ellipsis;

            white-space:
                nowrap;

        }


        .search-result-arrow {

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

            font-size:
                .85rem;

        }


        .search-result:hover
        .search-result-arrow {

            color:
                var(--red-bright);

        }


        .search-no-results {

            grid-column:
                1 / -1;

            padding:
                28px;

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

            background:
                #090909;

            font-size:
                .82rem;

            text-align:
                center;

        }


        /* =========================================================
           SELECTED MEMBER PROFILE
        ========================================================= */

        .member-profile {

            display:
                none;

            margin-top:
                14px;

            border:
                1px solid
                rgba(189,0,0,.28);

            background:
                linear-gradient(
                    135deg,
                    rgba(189,0,0,.055),
                    #0d0d0d 32%,
                    #090909
                );

        }


        .member-profile.visible {

            display:
                block;

        }


        .member-profile-main {

            display:
                grid;

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

            gap:
                20px;

            align-items:
                center;

            padding:
                22px;

        }


        .member-profile-avatar {

            width:
                78px;

            height:
                78px;

            border-radius:
                50%;

            object-fit:
                cover;

            border:
                2px solid
                rgba(189,0,0,.42);

            background:
                #050505;

        }


        .member-profile-info {

            min-width:
                0;

        }


        .member-profile-kicker {

            color:
                var(--red-bright);

            font-size:
                .60rem;

            font-weight:
                800;

            letter-spacing:
                .11em;

            text-transform:
                uppercase;

        }


        .member-profile-name {

            margin-top:
                4px;

            color:
                #fff;

            font-size:
                clamp(
                    1.5rem,
                    3vw,
                    2.1rem
                );

            font-weight:
                900;

            line-height:
                1.05;

            letter-spacing:
                -.035em;

        }


        .member-profile-role-count {

            margin-top:
                7px;

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

            font-size:
                .75rem;

        }


        .member-profile-close {

            width:
                40px;

            height:
                40px;

            display:
                flex;

            align-items:
                center;

            justify-content:
                center;

            padding:
                0;

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

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

            background:
                #090909;

            cursor:
                pointer;

            transition:
                color .18s ease,
                border-color .18s ease,
                background .18s ease;

        }


        .member-profile-close:hover {

            color:
                #fff;

            border-color:
                rgba(189,0,0,.40);

            background:
                rgba(189,0,0,.10);

        }


        .member-profile-roles {

            padding:
                18px
                22px
                22px;

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

        }


        .member-profile-roles-title {

            margin-bottom:
                12px;

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

            font-size:
                .64rem;

            font-weight:
                800;

            letter-spacing:
                .10em;

            text-transform:
                uppercase;

        }


        .member-role-list {

            display:
                flex;

            flex-wrap:
                wrap;

            gap:
                7px;

        }


        .member-role-badge {

            display:
                inline-flex;

            align-items:
                center;

            gap:
                7px;

            min-height:
                38px;

            padding:
                8px
                12px;

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

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

            background:
                rgba(255,255,255,.025);

            font-size:
                .72rem;

            font-weight:
                700;

        }


        .member-role-badge::before {

            content:
                "";

            width:
                5px;

            height:
                5px;

            flex:
                0 0
                5px;

            border-radius:
                50%;

            background:
                var(--red-bright);

        }


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

        .leadership-content {

            padding:
                60px
                0
                110px;

        }


        .content-topline {

            display:
                flex;

            justify-content:
                space-between;

            align-items:
                center;

            gap:
                20px;

            margin-bottom:
                34px;

        }


        .content-label {

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

            font-size:
                .67rem;

            font-weight:
                800;

            letter-spacing:
                .11em;

            text-transform:
                uppercase;

        }


        .data-status {

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

            font-size:
                .68rem;

            font-weight:
                600;

        }


        /* =========================================================
           GROUP
        ========================================================= */

        .leadership-group {

            margin-bottom:
                95px;

        }


        .leadership-group:last-child {

            margin-bottom:
                0;

        }


        .group-heading {

            display:
                grid;

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

            gap:
                30px;

            align-items:
                end;

            margin-bottom:
                26px;

            padding-bottom:
                21px;

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

        }


        .group-heading-left {

            display:
                flex;

            align-items:
                flex-start;

            gap:
                17px;

        }


        .group-icon {

            width:
                48px;

            height:
                48px;

            display:
                flex;

            align-items:
                center;

            justify-content:
                center;

            flex-shrink:
                0;

            color:
                var(--red-bright);

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

            background:
                var(--red-soft);

            font-size:
                1.05rem;

        }


        .group-overline {

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

            font-size:
                .58rem;

            font-weight:
                800;

            letter-spacing:
                .1em;

            text-transform:
                uppercase;

        }


        .group-name {

            margin-top:
                5px;

            color:
                #fff;

            font-size:
                clamp(
                    1.45rem,
                    2vw,
                    2rem
                );

            font-weight:
                850;

            line-height:
                1.15;

            letter-spacing:
                -.025em;

            text-transform:
                uppercase;

        }


        .group-subtitle {

            max-width:
                850px;

            margin-top:
                10px;

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

            font-size:
                .88rem;

            line-height:
                1.7;

        }


        .group-stats {

            display:
                flex;

            align-items:
                center;

            gap:
                8px;

            flex-wrap:
                wrap;

            justify-content:
                flex-end;

        }


        .group-stat {

            display:
                inline-flex;

            align-items:
                center;

            gap:
                7px;

            min-height:
                38px;

            padding:
                0
                13px;

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

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

            background:
                rgba(255,255,255,.015);

            font-size:
                .61rem;

            font-weight:
                800;

            letter-spacing:
                .05em;

            text-transform:
                uppercase;

        }


        .group-stat strong {

            color:
                #fff;

            font-size:
                .72rem;

        }


        /* =========================================================
           TEAM GRID
        ========================================================= */

        .teams-grid {

            display:
                grid;

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

            gap:
                18px;

            align-items:
                start;

        }


        .teams-grid.single-team {

            grid-template-columns:
                1fr;

        }


        /* =========================================================
           TEAM PANEL
        ========================================================= */

        .team-panel {

            --team-accent:
                var(--red-bright);

            position:
                relative;

            min-width:
                0;

            overflow:
                hidden;

            align-self:
                start;

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

            background:
                linear-gradient(
                    145deg,
                    #111,
                    #0c0c0c
                );

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

        }


        .team-panel:hover {

            transform:
                translateY(-3px);

            border-color:
                color-mix(
                    in srgb,
                    var(--team-accent) 42%,
                    rgba(255,255,255,.08)
                );

            background:
                linear-gradient(
                    145deg,
                    #131313,
                    #0d0d0d
                );

        }


        .team-panel::before {

            content:
                "";

            position:
                absolute;

            top:
                0;

            left:
                0;

            width:
                90px;

            height:
                3px;

            background:
                var(--team-accent);

        }


        .team-panel-header {

            min-height:
                94px;

            display:
                flex;

            align-items:
                flex-start;

            justify-content:
                space-between;

            gap:
                22px;

            padding:
                23px
                24px
                20px;

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

        }


        .team-panel-overline {

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

            font-size:
                .57rem;

            font-weight:
                800;

            letter-spacing:
                .09em;

            text-transform:
                uppercase;

        }


        .team-panel-name {

            margin-top:
                6px;

            color:
                #fff;

            font-size:
                clamp(
                    1.08rem,
                    1.5vw,
                    1.38rem
                );

            font-weight:
                850;

            line-height:
                1.25;

        }


        .team-member-count {

            flex-shrink:
                0;

            display:
                flex;

            align-items:
                center;

            gap:
                8px;

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

            font-size:
                .64rem;

            font-weight:
                750;

            text-transform:
                uppercase;

        }


        .team-member-count strong {

            min-width:
                35px;

            height:
                35px;

            display:
                inline-flex;

            align-items:
                center;

            justify-content:
                center;

            color:
                #fff;

            border:
                1px solid
                color-mix(
                    in srgb,
                    var(--team-accent) 42%,
                    transparent
                );

            background:
                color-mix(
                    in srgb,
                    var(--team-accent) 9%,
                    transparent
                );

            font-size:
                .74rem;

            font-weight:
                900;

        }


        .team-description {

            padding:
                18px
                24px;

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

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

            font-size:
                .88rem;

            line-height:
                1.72;

        }


        /* =========================================================
           MEMBERS
        ========================================================= */

        .team-members {

            display:
                grid;

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

            gap:
                1px;

            background:
                var(--border-soft);

        }


        .team-member {

            min-width:
                0;

            min-height:
                76px;

            display:
                flex;

            align-items:
                center;

            gap:
                13px;

            padding:
                13px
                16px;

            background:
                #0a0a0a;

            transition:
                background .15s ease;

        }


        .team-member:hover {

            background:
                #0f0f0f;

        }


        .member-avatar {

            width:
                44px;

            height:
                44px;

            flex-shrink:
                0;

            object-fit:
                cover;

            border-radius:
                50%;

            border:
                1px solid
                color-mix(
                    in srgb,
                    var(--team-accent) 45%,
                    transparent
                );

            background:
                #050505;

        }


        .member-details {

            min-width:
                0;

        }


        .member-name {

            display:
                block;

            overflow:
                hidden;

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

            font-size:
                .86rem;

            font-weight:
                750;

            line-height:
                1.3;

            text-overflow:
                ellipsis;

            white-space:
                nowrap;

        }


        .member-position {

            display:
                block;

            margin-top:
                4px;

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

            font-size:
                .60rem;

            font-weight:
                700;

            line-height:
                1.35;

            letter-spacing:
                .035em;

            text-transform:
                uppercase;

        }


        /* =========================================================
           SUBTEAMS
        ========================================================= */

        .subteams {

            padding:
                22px
                23px
                23px;

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

            background:
                #080808;

        }


        .subteams-label {

            margin-bottom:
                14px;

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

            font-size:
                .68rem;

            font-weight:
                800;

            letter-spacing:
                .10em;

            text-transform:
                uppercase;

        }


        /*
         * Flex is intentional.
         *
         * Opening one Sherpa team does not stretch the
         * neighboring team.
         */

        .subteam-list {

            display:
                flex;

            flex-wrap:
                wrap;

            align-items:
                flex-start;

            gap:
                9px;

        }


        .subteam {

            --subteam-accent:
                var(--red-bright);

            flex:
                1 1
                calc(50% - 5px);

            width:
                calc(50% - 5px);

            min-width:
                0;

            align-self:
                flex-start;

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

            background:
                #0b0b0b;

            transition:
                border-color .18s ease,
                background .18s ease;

        }


        .subteam:hover {

            border-color:
                color-mix(
                    in srgb,
                    var(--subteam-accent) 30%,
                    var(--border)
                );

        }


        .subteam[open] {

            border-color:
                color-mix(
                    in srgb,
                    var(--subteam-accent) 42%,
                    var(--border)
                );

            background:
                #0d0d0d;

        }


        .subteam summary {

            min-height:
                56px;

            display:
                flex;

            align-items:
                center;

            justify-content:
                space-between;

            gap:
                15px;

            padding:
                11px
                14px;

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

            border-left:
                3px solid
                var(--subteam-accent);

            font-size:
                .78rem;

            font-weight:
                750;

            line-height:
                1.35;

            list-style:
                none;

            cursor:
                pointer;

            user-select:
                none;

        }


        .subteam summary::-webkit-details-marker {
            display: none;
        }


        .subteam-summary-title {

            min-width:
                0;

            overflow-wrap:
                break-word;

        }


        .subteam-summary-right {

            flex:
                0
                0
                auto;

            display:
                flex;

            align-items:
                center;

            gap:
                9px;

        }


        .subteam-count {

            min-width:
                29px;

            height:
                27px;

            display:
                inline-flex;

            align-items:
                center;

            justify-content:
                center;

            padding:
                0
                6px;

            color:
                #fff;

            background:
                var(--subteam-accent);

            font-size:
                .61rem;

            font-weight:
                850;

        }


        .subteam-chevron {

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

            font-size:
                .72rem;

            transition:
                transform .2s ease;

        }


        .subteam[open]
        .subteam-chevron {

            transform:
                rotate(180deg);

        }


        .subteam-members {

            display:
                grid;

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

            gap:
                1px;

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

            background:
                var(--border-soft);

        }


        .subteam-member {

            min-width:
                0;

            min-height:
                55px;

            display:
                flex;

            align-items:
                center;

            gap:
                10px;

            padding:
                10px
                12px;

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

            background:
                #080808;

            font-size:
                .76rem;

            font-weight:
                700;

        }


        .subteam-member img {

            width:
                34px;

            height:
                34px;

            flex:
                0
                0
                34px;

            border-radius:
                50%;

            object-fit:
                cover;

        }


        /* =========================================================
           CORE LEADERSHIP
        ========================================================= */

        .leadership-group[data-category="leadership"]
        .teams-grid {

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

        }


        .leadership-group[data-category="leadership"]
        .team-members {

            grid-template-columns:
                1fr;

        }


        /* =========================================================
           GAME ADMINISTRATION
        ========================================================= */

        .leadership-group[data-category="game_administration"]
        .teams-grid {

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

        }


        .leadership-group[data-category="game_administration"]
        .team-members {

            grid-template-columns:
                1fr;

        }


        /* =========================================================
           SHERPA
        ========================================================= */

        .leadership-group[data-category="sherpa"]
        .teams-grid {

            grid-template-columns:
                1fr;

        }


        .leadership-group[data-category="sherpa"]
        .team-members {

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

        }


        /* =========================================================
           LOADING / ERROR
        ========================================================= */

        .leadership-message {

            min-height:
                300px;

            display:
                flex;

            flex-direction:
                column;

            align-items:
                center;

            justify-content:
                center;

            padding:
                42px;

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

            background:
                var(--panel);

            text-align:
                center;

        }


        .loading-spinner {

            width:
                30px;

            height:
                30px;

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

            border-top-color:
                var(--red-bright);

            border-radius:
                50%;

            animation:
                spin
                .75s
                linear
                infinite;

        }


        @keyframes spin {

            to {
                transform:
                    rotate(360deg);
            }

        }


        .message-title {

            margin-top:
                17px;

            color:
                #fff;

            font-size:
                .85rem;

            font-weight:
                800;

            letter-spacing:
                .08em;

            text-transform:
                uppercase;

        }


        .message-copy {

            max-width:
                520px;

            margin-top:
                9px;

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

            font-size:
                .78rem;

            line-height:
                1.65;

        }


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

        .leadership-bottom {

            padding:
                75px
                0;

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

            background:
                linear-gradient(
                    120deg,
                    #070707,
                    #0c0c0c
                );

        }


        .leadership-bottom-inner {

            display:
                grid;

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

            gap:
                50px;

            align-items:
                center;

        }


        .bottom-title {

            color:
                #fff;

            font-size:
                clamp(
                    1.8rem,
                    3vw,
                    2.8rem
                );

            font-weight:
                900;

            line-height:
                1;

            letter-spacing:
                -.04em;

            text-transform:
                uppercase;

        }


        .bottom-copy {

            max-width:
                720px;

            margin-top:
                12px;

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

            font-size:
                .85rem;

            line-height:
                1.72;

        }


        .bottom-actions {

            display:
                flex;

            gap:
                8px;

        }
/* =========================================================
           RESPONSIVE
        ========================================================= */

        @media (max-width: 1199.98px) {

            .team-selector {

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

            }


            .leadership-group[data-category="leadership"]
            .teams-grid,
            .leadership-group[data-category="game_administration"]
            .teams-grid {

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

            }


            .leadership-group[data-category="sherpa"]
            .team-members {

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

            }

        }


        @media (max-width: 991.98px) {
            .section-heading {

                grid-template-columns:
                    1fr;

                gap:
                    28px;

            }
.leadership-search-panel {

                grid-template-columns:
                    1fr;

            }


            .leadership-search-control {

                width:
                    100%;

            }


            .teams-grid,
            .leadership-group[data-category="leadership"]
            .teams-grid,
            .leadership-group[data-category="game_administration"]
            .teams-grid {

                grid-template-columns:
                    1fr;

            }


            .team-members {

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

            }


            .subteam-members {

                grid-template-columns:
                    1fr;

            }


            .leadership-bottom-inner {

                grid-template-columns:
                    1fr;

            }

        }


        @media (max-width: 767.98px) {
.team-selector-wrap {

                padding:
                    12px
                    0;

            }


            .team-selector {

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

                gap:
                    7px;

            }


            .team-filter {

                min-height:
                    68px;

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

                gap:
                    10px;

                padding:
                    11px
                    12px;

            }


            .team-filter-icon {

                width:
                    35px;

                height:
                    35px;

                font-size:
                    .85rem;

            }


            .team-filter-name {

                font-size:
                    .68rem;

            }


            .leadership-search-panel {

                padding:
                    17px;

            }


            .search-results-list {

                grid-template-columns:
                    1fr;

            }


            .member-profile-main {

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

            }


            .member-profile-close {

                grid-column:
                    1 / -1;

                width:
                    100%;

            }


            .content-topline {

                align-items:
                    flex-start;

                flex-direction:
                    column;

                gap:
                    8px;

            }


            .group-heading {

                grid-template-columns:
                    1fr;

            }


            .group-stats {

                justify-content:
                    flex-start;

            }


            .team-members,
            .leadership-group[data-category="sherpa"]
            .team-members {

                grid-template-columns:
                    1fr;

            }


            .subteam {

                flex-basis:
                    100%;

                width:
                    100%;

            }


            .team-description {

                font-size:
                    .9rem;

            }

        }


        @media (max-width: 575.98px) {
.group-heading-left {

                gap:
                    12px;

            }


            .group-icon {

                width:
                    42px;

                height:
                    42px;

            }


            .team-panel-header {

                flex-direction:
                    column;

                gap:
                    15px;

            }


            .team-member-count {

                width:
                    100%;

                justify-content:
                    space-between;

            }


            .member-name {

                white-space:
                    normal;

            }


            .member-profile-main {

                grid-template-columns:
                    1fr;

                text-align:
                    center;

            }


            .member-profile-avatar {

                margin:
                    0
                    auto;

            }


            .member-role-list {

                justify-content:
                    center;

            }


            .bottom-actions {

                display:
                    grid;

                grid-template-columns:
                    1fr;

            }

        }


        @media (max-width: 479.98px) {

            .team-selector {

                grid-template-columns:
                    1fr;

            }


            .team-filter {

                min-height:
                    62px;

            }


            .team-filter-name {

                font-size:
                    .72rem;

            }

        }
