.promo {
    padding: 48px 0 80px;
    .wrapper {
        display: flex;
        flex-direction: column;
    }
    .media {
        display: flex;
        flex-direction: column;
        height: 640px;
        padding: 40px;
        background:
            linear-gradient(
                color-mix(in srgb, var(--main-bg) 75%, transparent) 0%,
                transparent 22%,
                transparent 60%,
                color-mix(in srgb, var(--main-bg) 85%, transparent) 100%
            ),
            var(--promo-img) center / cover no-repeat;
    }
    .credits {
        display: flex;
        gap: 40px;
        overflow: hidden;
        span {
            font-size: 12px;
            line-height: 16px;
            font-weight: 500;
            letter-spacing: 0;
            text-transform: uppercase;
            white-space: nowrap;
            &:last-child:not(:first-child) {
                margin-left: auto;
            }
        }
    }
    .text {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 48px;
        margin-top: -110px;
    }
    h1 {
        font-family: 'Oswald';
        font-size: 180px;
        font-weight: 700;
        line-height: 184px;
        letter-spacing: -1.5px;
        text-transform: uppercase;
        overflow-wrap: anywhere;
    }
    p {
        max-width: 720px;
        font-size: 24px;
        line-height: 28px;
        font-weight: 300;
        letter-spacing: 0;
        color: var(--text-4);
    }
}
.facts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 64px;
    padding: 80px 0;
    .item {
        display: flex;
        flex-direction: column;
        gap: 12px;
        min-width: 0;
        padding-right: 40px;
        border-right: 1px solid var(--border-2);
        &:last-child {
            border-right: none;
        }
    }
    span {
        font-family: 'Oswald';
        font-size: 72px;
        font-weight: 700;
        line-height: 76px;
        letter-spacing: 0;
        text-transform: uppercase;
    }
    p {
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0;
        color: var(--text-4);
    }
}
.format, .history {
    display: grid;
    grid-template-columns: 778fr 886fr;
    align-items: start;
    gap: 96px;
    padding: 140px 0;
}
.format, .team, .stats, .history {
    h2 {
        font-family: 'Oswald';
        font-size: 48px;
        font-weight: 700;
        line-height: 52px;
        letter-spacing: 0;
        text-transform: uppercase;
    }
}
.format {
    .info {
        display: flex;
        flex-direction: column;
        gap: 40px;
        p {
            max-width: 600px;
            font-size: 24px;
            line-height: 28px;
            font-weight: 300;
            letter-spacing: 0;
            color: var(--text-4);
        }
    }
    .items {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
    .item {
        padding: 20px;
        border: 1px solid var(--border-2);
        img {
            width: 44px;
            height: 44px;
            object-fit: contain;
            margin-bottom: 32px;
        }
        h3 {
            margin-bottom: 16px;
            font-family: 'Oswald';
            font-size: 24px;
            font-weight: 700;
            line-height: 32px;
            letter-spacing: 0;
        }
        p {
            font-size: 16px;
            line-height: 24px;
            letter-spacing: 0;
            color: var(--text-4);
        }
    }
}
.team {
    padding: 140px 0;
    h2 {
        margin-bottom: 96px;
    }
    .items {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: calc((100% - 96px) / 4);
        gap: 32px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }
    .item {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        min-width: 0;
        scroll-snap-align: start;
    }
    .photo {
        position: relative;
        width: 100%;
        margin-bottom: 24px;
        img {
            height: 440px;
        }
    }
    .category {
        position: absolute;
        top: 12px;
        right: 12px;
        padding: 10px;
        background: color-mix(in srgb, var(--main-bg) 60%, transparent);
        font-size: 12px;
        line-height: 16px;
        font-weight: 500;
        letter-spacing: 0;
        text-transform: uppercase;
    }
    .role {
        margin-bottom: 16px;
        font-size: 16px;
        line-height: 24px;
        font-weight: 700;
        letter-spacing: 0;
        color: var(--text-11);
    }
    h3 {
        margin-bottom: 8px;
        font-family: 'Oswald';
        font-size: 32px;
        font-weight: 600;
        line-height: 40px;
        letter-spacing: -0.5px;
    }
    .bio {
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0;
        color: var(--text-4);
    }
    .inst {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        height: 40px;
        margin-top: 24px;
        padding: 0 16px;
        border-radius: 999px;
        background: var(--bg-4);
        font-size: 12px;
        line-height: 16px;
        font-weight: 500;
        letter-spacing: 0;
        transition: background 0.3s;
        &::before {
            content: '\e011';
            font-family: 'icon';
            font-size: 16px;
            color: var(--text-1);
        }
        &::after {
            content: '*';
            margin-left: -8px;
            font-size: inherit;
            color: inherit;
        }
    }
}
.brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 80px 0;
    .word {
        height: 683px;
        object-fit: fill;
    }
    .word + .court {
        margin-top: -382px;
    }
    .court {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 48px;
        width: 100%;
        max-width: 1200px;
    }
    .legend {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px 48px;
        list-style: none;
        li {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 12px;
            line-height: 16px;
            font-weight: 500;
            letter-spacing: 0;
            text-transform: uppercase;
            color: var(--text-4);
            &::before {
                content: '';
                flex-shrink: 0;
                width: 16px;
                height: 16px;
                border-radius: 50%;
            }
            &.lugang::before {
                background: var(--text-11);
            }
            &.rival::before {
                border: 1.5px solid var(--text-4);
            }
            &.pass::before, &.run::before {
                width: 32px;
                height: 0;
                border-radius: 0;
                border-top: 1.5px dashed var(--text-11);
            }
            &.run::before {
                border-top-style: solid;
            }
            &.arc::before {
                width: 28px;
                border: 1.5px solid var(--text-11);
                border-radius: 28px 28px 0 0;
                border-bottom: none;
            }
        }
    }
}
.stats {
    display: flex;
    flex-direction: column;
    gap: 64px;
    padding: 140px 0;
    .head {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 20px 40px;
    }
    .tabs {
        display: flex;
        gap: 4px;
        padding: 4px;
        border: 1px solid var(--border-2);
        border-radius: 999px;
        button {
            padding: 12px 24px;
            border-radius: 999px;
            background: none;
            font-size: 16px;
            line-height: 20px;
            letter-spacing: 0;
            white-space: nowrap;
            color: var(--text-4);
            transition: background 0.3s, color 0.3s;
            &[aria-selected="true"] {
                background: var(--text-5);
                color: var(--bg-13);
            }
        }
    }
    .table {
        position: relative;
        border: 1px solid var(--border-5);
        &::after {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            width: 56px;
            background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--main-bg) 95%, transparent));
            pointer-events: none;
        }
    }
    .scroll {
        overflow-x: auto;
    }
    table {
        width: 100%;
        table-layout: fixed;
        border-collapse: separate;
        border-spacing: 0;
    }
    th, td {
        height: 80px;
        padding: 0 32px 0 0;
        border-bottom: 1px solid var(--border-5);
        background: var(--main-bg);
        text-align: right;
        white-space: nowrap;
        font-size: 20px;
        line-height: 28px;
        letter-spacing: 0;
    }
    th {
        height: 56px;
        background: var(--bg-13);
        font-size: 12px;
        line-height: 16px;
        font-weight: 700;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        color: var(--text-10);
    }
    .number, .player {
        position: sticky;
        left: 0;
        z-index: 1;
        text-align: left;
    }
    .number {
        width: 128px;
        min-width: 128px;
        padding-left: 32px;
    }
    td.number {
        font-size: 24px;
        line-height: 32px;
        font-weight: 700;
        color: var(--text-11);
    }
    .player {
        left: 128px;
        width: 432px;
        border-right: 1px solid var(--border-5);
    }
    td.player {
        font-family: 'Oswald';
        font-weight: 500;
    }
    tr:last-child td {
        border-bottom: none;
    }
    .total td {
        background: var(--bg-4);
    }
    .note {
        margin-top: -40px;
        font-size: 12px;
        line-height: 16px;
        letter-spacing: 0;
        color: var(--text-10);
    }
}
.history {
    > .info {
        display: flex;
        flex-direction: column;
        gap: 32px;
        max-width: 573px;
        h2 {
            max-width: 300px;
        }
        > p {
            font-size: 20px;
            line-height: 28px;
            letter-spacing: 0;
            color: var(--text-4);
        }
    }
    .medals {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
        .item {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 20px;
            padding: 24px;
            border: 1px solid var(--border-2);
            text-align: center;
        }
        span {
            font-family: 'Oswald';
            font-size: 72px;
            font-weight: 700;
            line-height: 76px;
            letter-spacing: 0;
            color: var(--text-11);
        }
        .item:nth-child(2) span {
            color: var(--text-1);
        }
        .item:nth-child(3) span {
            color: var(--text-4);
        }
        p {
            font-size: 12px;
            line-height: 16px;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            color: var(--text-10);
        }
    }
    .items {
        border-top: 1px solid var(--border-5);
        .item {
            display: grid;
            grid-template-columns: 120px 1fr auto;
            align-items: start;
            gap: 40px;
            padding: 32px 0;
            border-bottom: 1px solid var(--border-5);
        }
        .info {
            min-width: 0;
            h3 {
                margin-bottom: 8px;
                font-family: 'Oswald';
                font-size: 32px;
                font-weight: 600;
                line-height: 40px;
                letter-spacing: -0.5px;
            }
            p {
                font-size: 16px;
                line-height: 24px;
                letter-spacing: 0;
                color: var(--text-10);
            }
        }
    }
    .date {
        display: flex;
        flex-direction: column;
        gap: 4px;
        span {
            color: var(--text-10);
            &:first-child {
                font-size: 32px;
                line-height: 40px;
                font-weight: 700;
                letter-spacing: 0;
            }
            &:last-child {
                font-size: 12px;
                line-height: 16px;
                font-weight: 700;
                letter-spacing: 1.5px;
            }
        }
    }
    .result {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 12px;
        line-height: 16px;
        font-weight: 700;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        white-space: nowrap;
        &.win {
            color: var(--text-11);
        }
        &.participant {
            color: var(--text-10);
            &::before {
                content: '';
                width: 5px;
                height: 5px;
                border-radius: 50%;
                background: var(--border-4);
            }
        }
    }
}
@media screen and (max-width: 1759px) {
    .promo {
        padding: 40px 0 64px;
        .wrapper {
            width: calc(100% - 128px);
        }
        .media {
            height: 560px;
            padding: 32px;
        }
        .text {
            gap: 40px;
            margin-top: -64px;
        }
        h1 {
            font-size: 96px;
            line-height: 104px;
        }
        p {
            max-width: 640px;
        }
    }
    .facts {
        gap: 40px;
        padding: 56px 0;
        .item {
            padding-right: 32px;
        }
        span {
            font-size: 56px;
            line-height: 60px;
        }
    }
    .format, .history {
        gap: 64px;
        padding: 120px 0;
    }
    .format {
        grid-template-columns: 1fr 886px;
        .info {
            gap: 32px;
        }
        .items {
            gap: 32px;
        }
        .item {
            padding: 16px;
            img {
                margin-bottom: 24px;
            }
        }
    }
    .brand {
        padding: 64px 0;
        .word {
            height: 560px;
        }
        .word + .court {
            margin-top: -390px;
        }
        .court {
            gap: 40px;
            max-width: 1000px;
        }
        .legend {
            column-gap: 40px;
        }
    }
    .team, .stats {
        padding: 120px 0;
    }
    .team {
        h2 {
            margin-bottom: 64px;
        }
        h3 {
            font-size: 28px;
            line-height: 36px;
        }
    }
    .stats {
        .number {
            width: 112px;
            min-width: 112px;
        }
        .player {
            left: 112px;
            width: 328px;
        }
    }
    .history {
        grid-template-columns: 573px 1fr;
        .medals {
            .item {
                gap: 24px;
            }
            span {
                font-size: 56px;
                line-height: 60px;
            }
        }
        .items {
            .item {
                grid-template-columns: 112px 1fr auto;
                gap: 32px;
            }
            .info h3 {
                font-size: 28px;
                line-height: 36px;
            }
        }
        .date span:first-child {
            font-size: 28px;
            line-height: 36px;
        }
    }
}
@media screen and (max-width: 1279px) {
    .promo {
        padding: 120px 0 56px;
        .media {
            height: 480px;
        }
        .text {
            gap: 32px;
            margin-top: -80px;
        }
        h1 {
            font-size: 96px;
            line-height: 100px;
        }
        p {
            font-size: 18px;
            line-height: 24px;
        }
    }
    .facts {
        grid-template-columns: repeat(2, 1fr);
        .item:nth-child(2n) {
            border-right: none;
        }
    }
    .format, .history {
        grid-template-columns: 1fr;
        gap: 60px;
        padding: 100px 0;
    }
    .team, .stats {
        padding: 100px 0;
    }
    .team {
        h2 {
            margin-bottom: 60px;
        }
        .items {
            grid-auto-columns: calc((100% - 32px) / 2);
        }
    }
    .stats {
        table {
            min-width: 880px;
        }
        .one-point, .two-point, .free-throw {
            display: none;
        }
    }
    .history > .info {
        max-width: none;
    }
}
@media screen and (max-width: 767px) {
    .promo {
        padding: 100px 0 32px;
        .wrapper {
            width: calc(100% - 40px);
        }
        .media {
            height: 420px;
            padding: 16px;
            background-image:
                linear-gradient(
                    color-mix(in srgb, var(--main-bg) 75%, transparent) 0%,
                    transparent 22%,
                    transparent 60%,
                    color-mix(in srgb, var(--main-bg) 85%, transparent) 100%
                ),
                var(--promo-mob-img, var(--promo-img));
        }
        .credits {
            gap: 16px;
        }
        .text {
            gap: 24px;
            margin-top: -30px;
        }
        h1 {
            font-size: 56px;
            line-height: 56px;
            letter-spacing: -0.5px;
        }
        p {
            font-size: 16px;
            line-height: 20px;
        }
    }
    .facts {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 40px 0;
        border-bottom: 1px solid var(--border-2);
        .item, .item:nth-child(2n), .item:last-child {
            padding-right: 20px;
            border-right: 1px solid var(--border-2);
        }
        span {
            font-size: 32px;
            line-height: 40px;
        }
        p {
            font-size: 12px;
        }
    }
    .format, .team, .stats, .history {
        h2 {
            font-size: 32px;
            line-height: 36px;
        }
    }
    .format, .history {
        gap: 40px;
        padding: 56px 0;
    }
    .format {
        gap: 32px;
        .info {
            gap: 20px;
            p {
                font-size: 16px;
                line-height: 20px;
            }
        }
        .items {
            grid-template-columns: 1fr;
            gap: 20px;
        }
        .item {
            padding: 12px;
            img {
                margin-bottom: 20px;
            }
            h3 {
                font-size: 20px;
                line-height: 28px;
            }
            p {
                font-size: 12px;
            }
        }
    }
    .team {
        padding: 56px 0;
        h2 {
            margin-bottom: 40px;
        }
        .items {
            grid-auto-flow: row;
            grid-template-columns: 1fr;
            overflow: visible;
        }
        .photo {
            margin-bottom: 16px;
        }
        .role {
            margin-bottom: 12px;
            font-size: 12px;
        }
        h3 {
            font-size: 24px;
            line-height: 32px;
        }
        .bio {
            font-size: 12px;
        }
        .inst {
            margin-top: 16px;
        }
    }
    .brand {
        padding: 32px 0;
        .word {
            height: 200px;
        }
        .word + .court {
            margin-top: -96px;
        }
        .court {
            gap: 16px;
            max-width: 335px;
        }
        .legend {
            gap: 12px 16px;
        }
    }
    .stats {
        padding: 56px 0;
        .head {
            flex-direction: column;
            align-items: stretch;
        }
        .tabs button {
            flex: 1;
            padding: 8px 12px;
            font-size: 12px;
            line-height: 16px;
        }
        th, td {
            padding-right: 20px;
            font-size: 14px;
            line-height: 24px;
        }
        th {
            font-size: 12px;
            line-height: 16px;
        }
        .number {
            width: 60px;
            min-width: 60px;
            padding-left: 20px;
        }
        td.number {
            font-size: 20px;
            line-height: 28px;
        }
        table {
            min-width: 829px;
        }
        .player {
            left: 60px;
            width: 129px;
            padding-right: 8px;
            white-space: normal;
        }
        td.player {
            font-size: 16px;
            line-height: 20px;
        }
        .games {
            display: none;
        }
        .note {
            margin-top: -32px;
        }
    }
    .history {
        > .info {
            gap: 20px;
            h2 {
                max-width: 200px;
            }
            > p {
                font-size: 14px;
                line-height: 24px;
            }
        }
        .medals {
            .item {
                gap: 12px;
                padding: 16px 8px;
            }
            span {
                font-size: 32px;
                line-height: 40px;
            }
        }
        .items {
            .item {
                grid-template-columns: 80px 1fr;
                gap: 8px 20px;
                padding: 20px 0;
            }
            .info h3 {
                font-size: 24px;
                line-height: 32px;
            }
            .info p {
                font-size: 12px;
            }
        }
        .date span:first-child {
            font-size: 24px;
            line-height: 32px;
        }
        .result {
            grid-column: 2;
        }
    }
}
@media (hover: hover) {
    .stats .tabs button:not([aria-selected="true"]):hover {
        color: var(--text-1);
    }
    .team .inst:hover {
        background: var(--bg-8);
    }
}
