/* =========================
   ALLSTAR GALAXY FINAL SITE
   Shared CSS for all pages
========================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

:root {
    --gold: #ffd700;
    --white: #f5f5f5;
    --muted: #d9d1e8;
    --site-width: 1400px;

    --page-glow-1: #ffd700;
    --page-glow-2: #ff00ff;
    --page-glow-3: #00aaff;
    --page-panel: rgba(18, 0, 40, 0.88);
    --page-border: rgba(255, 215, 0, 0.55);

    --nav-hue: 0deg;
    --nav-saturate: 1;

    --page-bg-1: rgba(255, 215, 0, 0.12);
    --page-bg-2: rgba(255, 0, 255, 0.09);
    --page-bg-3: rgba(0, 170, 255, 0.06);
    --page-rgb: 255, 215, 0;
    --galaxy-tint: rgba(255, 215, 0, 0.06);
    --shell-tint: rgba(255, 215, 0, 0.045);
    --main-tint: rgba(255, 215, 0, 0.055);
    --text-main: #ffffff;
    --text-soft: #efe8ff;
    --text-muted: #d9d1e8;
}

body {
    font-family: Arial, sans-serif;
    color: var(--text-main);
    line-height: 1.6;
    overflow-x: hidden;
    background:
        linear-gradient(180deg, rgba(5, 0, 15, 0.18) 0%, rgba(5, 0, 15, 0.34) 58%, rgba(5, 0, 15, 0.48) 100%),
        linear-gradient(135deg, var(--galaxy-tint), rgba(0, 0, 0, 0.02) 42%, var(--galaxy-tint)),
        radial-gradient(circle at 14% 12%, rgba(var(--page-rgb), 0.11), transparent 38%),
        radial-gradient(circle at 86% 22%, rgba(var(--page-rgb), 0.08), transparent 42%),
        radial-gradient(circle at 50% 92%, rgba(var(--page-rgb), 0.06), transparent 44%),
        url("../images/backgrounds/galaxy-background.png") center center fixed;
    background-size: cover, cover, cover, cover, cover, cover;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(0,0,0,0.12), transparent 24%, transparent 76%, rgba(0,0,0,0.12)),
        radial-gradient(circle at center, transparent 0%, rgba(0, 0, 0, 0.16) 78%);
    opacity: 0.32;
}

a {
    color: inherit;
    text-decoration: none;
}

h1,
h2,
.big-header,
.section-title {
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow:
        0 0 10px var(--page-glow-1),
        0 0 22px var(--page-glow-2);
}

h3,
h4,
strong,
th {
    color: var(--page-glow-1);
}

p,
li,
td,
.section-intro {
    color: var(--text-soft);
}

small,
.footer-small {
    color: var(--white);
}

/* =========================
   PAGE COLOR THEMES
========================= */

.page-home {
    --page-glow-1: #ffd700;
    --page-glow-2: #ffb000;
    --page-glow-3: #fff2a8;
    --page-border: rgba(255, 215, 0, 0.65);
    --page-panel: rgba(35, 20, 0, 0.82);
    --nav-hue: 0deg;
    --nav-saturate: 1.15;
    --page-bg-1: rgba(255, 215, 0, 0.11);
    --page-bg-2: rgba(255, 128, 0, 0.09);
    --page-bg-3: rgba(255, 0, 255, 0.06);
    --page-rgb: 255, 215, 0;
    --galaxy-tint: rgba(255, 215, 0, 0.065);
    --shell-tint: rgba(255, 215, 0, 0.050);
    --main-tint: rgba(255, 215, 0, 0.060);
}

.page-team {
    --page-glow-1: #b000ff;
    --page-glow-2: #ff00ff;
    --page-glow-3: #7b2cff;
    --page-border: rgba(176, 0, 255, 0.75);
    --page-panel: rgba(30, 0, 55, 0.84);
    --nav-hue: 70deg;
    --nav-saturate: 1.6;
    --page-bg-1: rgba(176, 0, 255, 0.13);
    --page-bg-2: rgba(255, 0, 255, 0.10);
    --page-bg-3: rgba(123, 44, 255, 0.07);
    --page-rgb: 176, 0, 255;
    --galaxy-tint: rgba(176, 0, 255, 0.075);
    --shell-tint: rgba(176, 0, 255, 0.055);
    --main-tint: rgba(176, 0, 255, 0.065);
}

.page-schedule {
    --page-glow-1: #39ff14;
    --page-glow-2: #00ff88;
    --page-glow-3: #b6ff00;
    --page-border: rgba(57, 255, 20, 0.75);
    --page-panel: rgba(0, 35, 12, 0.84);
    --nav-hue: 105deg;
    --nav-saturate: 1.8;
    --page-bg-1: rgba(57, 255, 20, 0.12);
    --page-bg-2: rgba(0, 255, 136, 0.09);
    --page-bg-3: rgba(182, 255, 0, 0.06);
    --page-rgb: 57, 255, 20;
    --galaxy-tint: rgba(57, 255, 20, 0.070);
    --shell-tint: rgba(57, 255, 20, 0.050);
    --main-tint: rgba(57, 255, 20, 0.060);
}

.page-media {
    --page-glow-1: #00aaff;
    --page-glow-2: #006eff;
    --page-glow-3: #7df9ff;
    --page-border: rgba(0, 170, 255, 0.75);
    --page-panel: rgba(0, 18, 55, 0.84);
    --nav-hue: 185deg;
    --nav-saturate: 1.9;
    --page-bg-1: rgba(0, 170, 255, 0.13);
    --page-bg-2: rgba(0, 110, 255, 0.10);
    --page-bg-3: rgba(125, 249, 255, 0.06);
    --page-rgb: 0, 170, 255;
    --galaxy-tint: rgba(0, 170, 255, 0.075);
    --shell-tint: rgba(0, 170, 255, 0.055);
    --main-tint: rgba(0, 170, 255, 0.065);
}

.page-news {
    --page-glow-1: #ff4d00;
    --page-glow-2: #ff9900;
    --page-glow-3: #ff2200;
    --page-border: rgba(255, 85, 0, 0.75);
    --page-panel: rgba(55, 10, 0, 0.84);
    --nav-hue: 25deg;
    --nav-saturate: 1.8;
    --page-bg-1: rgba(255, 77, 0, 0.13);
    --page-bg-2: rgba(255, 153, 0, 0.10);
    --page-bg-3: rgba(255, 34, 0, 0.07);
    --page-rgb: 255, 77, 0;
    --galaxy-tint: rgba(255, 77, 0, 0.075);
    --shell-tint: rgba(255, 77, 0, 0.055);
    --main-tint: rgba(255, 77, 0, 0.065);
}

.page-live {
    --page-glow-1: #ff0000;
    --page-glow-2: #ff3333;
    --page-glow-3: #ff7700;
    --page-border: rgba(255, 0, 0, 0.75);
    --page-panel: rgba(55, 0, 0, 0.84);
    --nav-hue: 330deg;
    --nav-saturate: 1.9;
    --page-bg-1: rgba(255, 0, 0, 0.14);
    --page-bg-2: rgba(255, 51, 51, 0.10);
    --page-bg-3: rgba(255, 119, 0, 0.07);
    --page-rgb: 255, 0, 0;
    --galaxy-tint: rgba(255, 0, 0, 0.080);
    --shell-tint: rgba(255, 0, 0, 0.055);
    --main-tint: rgba(255, 0, 0, 0.065);
}

.page-follow {
    --page-glow-1: #ff4dff;
    --page-glow-2: #ff00aa;
    --page-glow-3: #00e5ff;
    --page-border: rgba(255, 77, 255, 0.75);
    --page-panel: rgba(45, 0, 45, 0.84);
    --nav-hue: 300deg;
    --nav-saturate: 1.9;
    --page-bg-1: rgba(255, 77, 255, 0.14);
    --page-bg-2: rgba(255, 0, 170, 0.10);
    --page-bg-3: rgba(0, 229, 255, 0.06);
    --page-rgb: 255, 77, 255;
    --galaxy-tint: rgba(255, 77, 255, 0.075);
    --shell-tint: rgba(255, 77, 255, 0.055);
    --main-tint: rgba(255, 77, 255, 0.065);
}

/* =========================
   SITE WIDTH
========================= */

.site-shell {
    width: min(100%, var(--site-width));
    margin: 0 auto;
    background:
        linear-gradient(180deg, rgba(5, 0, 15, 0.80), rgba(5, 0, 15, 0.90)),
        linear-gradient(180deg, var(--shell-tint), rgba(0, 0, 0, 0.02) 52%, var(--shell-tint)),
        radial-gradient(circle at top, rgba(var(--page-rgb), 0.075), transparent 74%),
        radial-gradient(circle at bottom, rgba(var(--page-rgb), 0.055), transparent 78%);
    border-left: 1px solid rgba(255, 255, 255, 0.05);
    border-right: 1px solid rgba(255, 255, 255, 0.05);
}

/* =========================
   HEADER / NAVIGATION
========================= */

.site-top {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(5, 0, 15, 0.97);
    border-bottom: 1px solid var(--page-border);
    box-shadow: 0 0 28px rgba(0, 0, 0, 0.55), 0 0 14px var(--page-bg-1);
}

.hero-bar {
    width: 100%;
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) 110px;
    align-items: center;
    column-gap: 14px;
    padding: 10px 18px 4px;
}

.hero-logo,
.hero-logo-right {
    display: flex;
    align-items: center;
}

.hero-logo {
    justify-content: flex-start;
}

.hero-logo-right {
    justify-content: flex-end;
}

.hero-logo img,
.hero-logo-right img,
.footer-logo img {
    transition: all 0.3s ease;
    filter:
        drop-shadow(0 0 8px var(--page-glow-1))
        drop-shadow(0 0 18px var(--page-glow-2));
}

.hero-logo:hover img,
.hero-logo-right:hover img,
.footer-logo:hover img {
    transform: scale(1.12);
    filter:
        drop-shadow(0 0 12px var(--page-glow-1))
        drop-shadow(0 0 28px var(--page-glow-2))
        drop-shadow(0 0 40px var(--page-glow-3));
}

.hero-logo img,
.hero-logo-right img {
    width: 88px;
    display: block;
}

.hero-logo img,
.hero-logo-right img,
.footer-logo img {
    animation: pulseGlow 11.5s ease-in-out infinite;
}

.hero-logo-right img {
    animation-delay: 2.8s;
}

.footer-logo-left img {
    animation-delay: 0.9s;
}

.footer-logo-right img {
    animation-delay: 4.2s;
}

@keyframes pulseGlow {
    0%, 100% {
        filter:
            drop-shadow(0 0 8px var(--page-glow-1))
            drop-shadow(0 0 18px var(--page-glow-2));
    }

    42% {
        filter:
            drop-shadow(0 0 18px var(--page-glow-1))
            drop-shadow(0 0 42px var(--page-glow-2))
            drop-shadow(0 0 70px var(--page-glow-3));
    }

    68% {
        filter:
            drop-shadow(0 0 10px var(--page-glow-1))
            drop-shadow(0 0 22px var(--page-glow-2));
    }
}

.hero-title {
    min-width: 0;
    text-align: center;
}

.hero-title img {
    width: min(100%, 1060px);
    max-height: 86px;
    height: auto;
    display: block;
    margin: 0 auto;
    filter:
        drop-shadow(0 0 6px var(--page-glow-1))
        drop-shadow(0 0 14px var(--page-glow-2));
}

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0;
    width: calc(100% - 210px);
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 14px 9px;
}

nav a {
    color: var(--white);
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.95rem;
    transition: 0.25s;
    padding: 3px 9px;
    border-radius: 999px;
}

nav a:hover,
nav a.active {
    color: var(--page-glow-1);
    text-shadow:
        0 0 10px var(--page-glow-1),
        0 0 20px var(--page-glow-2);
}

nav a.active {
    animation: navPulseGlow 11.5s ease-in-out infinite;
    animation-delay: 1.65s;
}

@keyframes navPulseGlow {
    0%, 100% {
        color: var(--white);
        transform: scale(1);
        background: rgba(255, 255, 255, 0.02);
        text-shadow:
            0 0 8px var(--page-glow-1),
            0 0 18px var(--page-glow-2);
        box-shadow:
            0 0 6px var(--page-glow-1),
            0 0 14px var(--page-glow-2);
    }
    42% {
        color: var(--page-glow-1);
        transform: scale(1.08);
        background: rgba(255, 255, 255, 0.07);
        text-shadow:
            0 0 16px var(--page-glow-1),
            0 0 34px var(--page-glow-2),
            0 0 58px var(--page-glow-3);
        box-shadow:
            0 0 12px var(--page-glow-1),
            0 0 28px var(--page-glow-2),
            0 0 44px var(--page-glow-3);
    }
    70% {
        color: var(--white);
        transform: scale(1.02);
        background: rgba(255, 255, 255, 0.03);
        text-shadow:
            0 0 10px var(--page-glow-1),
            0 0 20px var(--page-glow-2);
        box-shadow:
            0 0 8px var(--page-glow-1),
            0 0 18px var(--page-glow-2);
    }
}

/* =========================
   HERO IMAGE
========================= */

.hero-image {
    width: 100%;
    aspect-ratio: 2560 / 1440;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-color: rgba(5, 0, 15, 0.92);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow:
        0 0 34px rgba(0, 0, 0, 0.55),
        0 0 62px var(--page-bg-1);
}

.hero-home {
    background-image:
        linear-gradient(to bottom, rgba(5, 0, 15, 0.05), rgba(5, 0, 15, 0.25)),
        url("../images/heroes/pages/hero-home.png"),
        url("../images/heroes/pages/hero-homepage.png"),
        url("../images/heroes/pages/home-hero.png"),
        url("../images/heroes/pages/hero-team.png");
}

.hero-team {
    background-image:
        linear-gradient(to bottom, rgba(5, 0, 15, 0.05), rgba(5, 0, 15, 0.25)),
        url("../images/heroes/pages/hero-team.png");
}

.hero-schedule {
    background-image:
        linear-gradient(to bottom, rgba(5, 0, 15, 0.05), rgba(5, 0, 15, 0.25)),
        url("../images/heroes/pages/hero-schedule.png");
}

.hero-media {
    background-image:
        linear-gradient(to bottom, rgba(5, 0, 15, 0.05), rgba(5, 0, 15, 0.25)),
        url("../images/heroes/pages/hero-media.png");
}

.hero-news {
    background-image:
        linear-gradient(to bottom, rgba(5, 0, 15, 0.05), rgba(5, 0, 15, 0.25)),
        url("../images/heroes/pages/hero-news.png");
}

.hero-live {
    background-image:
        linear-gradient(to bottom, rgba(5, 0, 15, 0.05), rgba(5, 0, 15, 0.25)),
        url("../images/heroes/pages/hero-live.png");
}

.hero-follow {
    background-image:
        linear-gradient(to bottom, rgba(5, 0, 15, 0.05), rgba(5, 0, 15, 0.25)),
        url("../images/heroes/pages/hero-follow.png");
}

/* =========================
   MAIN LAYOUT
========================= */

main {
    width: 100%;
    padding: 38px 22px 48px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.01), rgba(5, 0, 15, 0.10)),
        linear-gradient(180deg, var(--main-tint), rgba(5, 0, 15, 0.02) 48%, var(--main-tint));
}

section {
    margin-bottom: 58px;
}

.section-intro {
    color: var(--text-muted);
    max-width: 820px;
    margin: 0 auto 26px;
    text-align: center;
}

/* =========================
   CAROUSEL
========================= */

.carousel {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid var(--page-border);
    background: var(--page-panel);
    box-shadow: 0 0 22px rgba(0, 0, 0, 0.35);
    max-width: 980px;
    margin: 0 auto;
}

.carousel-track {
    display: flex;
    width: 100%;
    transition: transform 0.45s ease;
}

.media-slide,
.team-slide {
    min-width: 100%;
    position: relative;
    background: rgba(5, 0, 15, 0.95);
}

.media-slide {
    aspect-ratio: 16 / 9;
}

.media-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    background: rgba(5, 0, 15, 0.95);
}

.media-caption {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 25px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent);
}

.media-caption h3 {
    color: var(--page-glow-1);
    font-size: clamp(1.25rem, 3vw, 2.1rem);
    text-transform: uppercase;
}

.media-caption p {
    color: var(--white);
}

.carousel-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid var(--page-glow-1);
    background: rgba(5, 0, 15, 0.75);
    color: var(--page-glow-1);
    font-size: 2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-button:hover {
    background: rgba(255, 255, 255, 0.12);
    box-shadow:
        0 0 10px var(--page-glow-1),
        0 0 20px var(--page-glow-2);
}

.carousel-button.prev {
    left: 16px;
}

.carousel-button.next {
    right: 16px;
}

.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 14px 0;
    background: rgba(5, 0, 15, 0.85);
}

.carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1px solid var(--page-glow-1);
    background: transparent;
    cursor: pointer;
}

.carousel-dot.active {
    background: var(--page-glow-1);
    box-shadow: 0 0 10px var(--page-glow-1);
}

/* =========================
   CARDS / GRIDS
========================= */

.grid,
.game-grid {
    max-width: 980px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 22px;
}

.card,
.game-card,
.story-card,
.table-card,
.live-card {
    background:
        linear-gradient(180deg, rgba(var(--page-rgb), 0.055), rgba(0, 0, 0, 0.04)),
        var(--page-panel);
    border: 1px solid var(--page-border);
    border-radius: 24px;
    box-shadow: 0 0 22px rgba(0, 0, 0, 0.35);
}

.card,
.game-card {
    overflow: hidden;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.card:hover,
.game-card:hover {
    transform: translateY(-5px);
    border-color: var(--page-glow-1);
    box-shadow:
        0 0 16px var(--page-glow-1),
        0 0 28px var(--page-glow-2);
}

.card-icon,
.game-thumb {
    height: 180px;
    background: rgba(30, 0, 55, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--page-glow-1);
    font-size: 3rem;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    padding: 20px;
}

.card-content,
.game-card-content {
    padding: 22px;
    text-align: center;
}

.card-content h3,
.game-card-content h3 {
    color: var(--page-glow-1);
    text-transform: uppercase;
    margin-bottom: 8px;
}

.card-content p,
.game-card-content p {
    color: var(--text-muted);
}

.card-content span,
.game-card-content span {
    display: inline-block;
    margin-top: 12px;
    color: var(--white);
    font-weight: bold;
}

/* =========================
   TEAM PAGE
========================= */

.story-card {
    padding: 34px;
    max-width: 820px;
    margin: 0 auto 42px;
}

.story-card h2 {
    color: var(--white);
    text-transform: uppercase;
    margin-bottom: 12px;
    text-shadow:
        0 0 10px var(--page-glow-1),
        0 0 20px var(--page-glow-2);
}

.story-card p {
    color: var(--text-muted);
    margin-bottom: 14px;
}

.team-slide {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 420px;
}

.team-photo {
    background: rgba(30, 0, 55, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--page-glow-1);
    font-weight: bold;
    font-size: 1.6rem;
    text-transform: uppercase;
    text-align: center;
    padding: 20px;
}

.team-info {
    padding: 42px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.team-info .number {
    color: var(--page-glow-2);
    font-size: 4rem;
    font-weight: bold;
    line-height: 1;
}

.team-info h3 {
    color: var(--page-glow-1);
    font-size: 2.2rem;
    text-transform: uppercase;
    margin: 8px 0;
}

.team-info h4 {
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 14px;
}

.team-info p {
    color: var(--text-muted);
}

/* =========================
   SCHEDULE PAGE
========================= */

.schedule-grid {
    max-width: 980px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.table-card {
    padding: 24px;
    overflow-x: auto;
}

.table-card h3 {
    color: var(--page-glow-1);
    text-transform: uppercase;
    margin-bottom: 16px;
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 420px;
}

th,
td {
    padding: 12px 10px;
    text-align: left;
    border-bottom: 1px solid rgba(255,255,255,0.14);
}

th {
    color: var(--page-glow-1);
    text-transform: uppercase;
    font-size: 0.82rem;
    letter-spacing: 1px;
}

td {
    color: var(--white);
}

/* =========================
   LIVE PAGE
========================= */

.live-card {
    max-width: 820px;
    margin: 0 auto;
    overflow: hidden;
    text-align: center;
}

.live-frame {
    aspect-ratio: 16 / 9;
    background: rgba(30, 0, 55, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.live-frame h2 {
    color: var(--white);
    font-size: clamp(2rem, 5vw, 4rem);
    text-transform: uppercase;
    text-shadow:
        0 0 12px var(--page-glow-1),
        0 0 28px var(--page-glow-2);
}

.live-content {
    padding: 32px 24px;
}

.live-content p {
    color: var(--text-muted);
    margin-bottom: 12px;
}

.button {
    display: inline-block;
    margin-top: 10px;
    padding: 12px 22px;
    border: 1px solid var(--page-glow-1);
    border-radius: 999px;
    color: var(--page-glow-1);
    font-weight: bold;
    text-transform: uppercase;
}

.button:hover {
    box-shadow:
        0 0 12px var(--page-glow-1),
        0 0 24px var(--page-glow-2);
}

/* =========================
   FOLLOW PAGE
========================= */

.follow-page-icons {
    display: grid;
    grid-template-columns: repeat(3, minmax(210px, 1fr));
    gap: 56px 92px;
    align-items: center;
    justify-content: space-between;
    justify-items: center;
    max-width: 1040px;
    margin: 6px auto 12px;
}

.follow-page-icons a {
    width: 240px;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s ease, filter 0.25s ease;
}

.follow-page-icons a:hover {
    transform: scale(1.08);
    filter:
        drop-shadow(0 0 12px var(--page-glow-1))
        drop-shadow(0 0 28px var(--page-glow-2));
}

.follow-page-icons img {
    width: 212px;
    height: 212px;
    object-fit: contain;
    display: block;
}

.large-email-icon {
    color: var(--page-glow-1);
    font-size: 10rem;
    line-height: 1;
}

/* =========================
   FOOTER
========================= */

footer {
    border-top: 1px solid var(--page-border);
    background:
        linear-gradient(180deg, rgba(var(--page-rgb), 0.035), rgba(5, 0, 15, 0.02)),
        rgba(5, 0, 15, 0.97);
    box-shadow: inset 0 1px 0 var(--page-glow-1), 0 -8px 28px rgba(var(--page-rgb), 0.10);
    text-align: center;
    padding: 20px 20px 16px;
}

.footer-social-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin: 2px auto 8px;
}

.footer-logo {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex: 0 0 auto;
}

.footer-logo img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    display: block;
    margin: 0;
    filter:
        drop-shadow(0 0 6px var(--page-glow-1))
        drop-shadow(0 0 14px var(--page-glow-2));
}

.footer-logo:hover img {
    transform: scale(1.18);
    filter:
        drop-shadow(0 0 10px var(--page-glow-1))
        drop-shadow(0 0 24px var(--page-glow-2))
        drop-shadow(0 0 34px var(--page-glow-3));
}

.footer-social {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin: 0;
}

.footer-social a {
    display: flex;
    align-items: center;
}

.footer-social img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    display: block;
    transition: transform 0.25s ease;
}

.footer-social img:hover {
    transform: scale(1.15);
}

.footer-email {
    color: var(--page-glow-1);
    font-weight: bold;
    font-size: 0.92rem;
    white-space: nowrap;
    gap: 8px;
}

.footer-email:hover {
    text-shadow: 0 0 10px var(--page-glow-1);
}

.footer-small {
    color: var(--white);
    font-size: 0.88rem;
    margin-top: 4px;
}

/* =========================
   MOBILE
========================= */

@media (max-width: 800px) {
    .site-shell {
        width: 100%;
        border-left: none;
        border-right: none;
    }

    .hero-bar {
        grid-template-columns: 58px 1fr 58px;
        padding: 8px 8px 4px;
    }

    .hero-logo img,
    .hero-logo-right img {
        width: 52px;
    }

    .hero-title img {
        max-width: 100%;
    }

    nav {
        width: 100%;
        justify-content: center;
        width: 100%;
        max-width: none;
        gap: 12px;
        padding: 4px 6px 8px;
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        white-space: nowrap;
    }

    nav a {
        font-size: 0.72rem;
    }

    .hero-image {
        aspect-ratio: 16 / 9;
        background-size: cover;
        background-position: center center;
    }

    main {
        padding: 34px 18px 42px;
    }

    .media-slide {
        aspect-ratio: 4 / 5;
    }

    .media-caption {
        padding: 18px;
    }

    .carousel-button {
        width: 38px;
        height: 38px;
        font-size: 1.6rem;
    }

    .team-slide {
        grid-template-columns: 1fr;
    }

    .team-photo {
        min-height: 260px;
    }

    .team-info {
        padding: 28px;
    }

    .schedule-grid {
        grid-template-columns: 1fr;
    }

    .follow-page-icons {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
        max-width: 420px;
    }

    .follow-page-icons a {
        width: 135px;
        height: 135px;
    }

    .follow-page-icons img {
        width: 118px;
        height: 118px;
    }

    .large-email-icon {
        font-size: 5.8rem;
    }

    footer {
        padding: 18px 12px 14px;
    }

    .footer-social-row {
        gap: 10px;
    }

    .footer-logo {
        width: 26px;
        height: 26px;
    }

    .footer-logo img {
        width: 24px;
        height: 24px;
    }

    .footer-social {
        gap: 10px;
    }

    .footer-social img {
        width: 24px;
        height: 24px;
    }

    .footer-email {
        font-size: 0.82rem;
    }

    .footer-small {
        font-size: 0.78rem;
    }
}


/* =========================
   FOOTER COMPACT FIX - V9
   Keeps footer logos small and staggers pulse timing
========================= */
footer {
    padding: 14px 18px 12px !important;
}

.footer-social-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 13px !important;
    flex-wrap: nowrap !important;
    margin: 0 auto 6px !important;
}

.footer-social-row > .footer-logo,
.footer-social-row > a.footer-logo,
a.footer-logo.footer-logo-left,
a.footer-logo.footer-logo-right {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.footer-social-row > .footer-logo img,
.footer-social-row > a.footer-logo img,
a.footer-logo.footer-logo-left img,
a.footer-logo.footer-logo-right img {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 !important;
    animation: pulseGlow 11.5s ease-in-out infinite !important;
}

a.footer-logo.footer-logo-left img {
    animation-delay: 0.9s !important;
}

a.footer-logo.footer-logo-right img {
    animation-delay: 4.2s !important;
}

.hero-logo img {
    animation-delay: 0s !important;
}

.hero-logo-right img {
    animation-delay: 2.8s !important;
}

nav a.active {
    animation-delay: 1.65s !important;
}

.footer-social {
    gap: 12px !important;
    flex-wrap: nowrap !important;
}

.footer-social img {
    width: 24px !important;
    height: 24px !important;
}

.footer-email {
    font-size: 0.86rem !important;
}

.footer-small {
    font-size: 0.82rem !important;
    margin-top: 3px !important;
}

@media (max-width: 800px) {
    .footer-social-row {
        gap: 8px !important;
        flex-wrap: wrap !important;
    }

    .footer-social-row > .footer-logo,
    .footer-social-row > a.footer-logo,
    a.footer-logo.footer-logo-left,
    a.footer-logo.footer-logo-right {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        max-width: 26px !important;
        flex-basis: 26px !important;
    }

    .footer-social-row > .footer-logo img,
    .footer-social-row > a.footer-logo img,
    a.footer-logo.footer-logo-left img,
    a.footer-logo.footer-logo-right img {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
    }

    .footer-social {
        gap: 9px !important;
        flex-wrap: wrap !important;
    }

    .footer-social img {
        width: 22px !important;
        height: 22px !important;
    }
}


/* =========================
   MOBILE POLISH FIX - V10
   Shows full hero artwork on phones, tightens header, fixes follow grid,
   and keeps footer compact with icon-only email.
========================= */

.footer-email {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
    color: var(--page-glow-1) !important;
    text-shadow: 0 0 8px var(--page-glow-1), 0 0 14px var(--page-glow-2);
}

.footer-email:hover {
    transform: scale(1.15);
    text-shadow: 0 0 12px var(--page-glow-1), 0 0 24px var(--page-glow-2);
}

@media (max-width: 800px) {
    .site-top {
        position: sticky;
    }

    .hero-bar {
        grid-template-columns: 46px 1fr 46px !important;
        column-gap: 6px !important;
        padding: 5px 7px 2px !important;
    }

    .hero-logo img,
    .hero-logo-right img {
        width: 42px !important;
    }

    .hero-title img {
        max-width: 100% !important;
        max-height: 42px !important;
        object-fit: contain !important;
    }

    nav {
        justify-content: flex-start !important;
        gap: 10px !important;
        padding: 3px 6px 6px !important;
        overflow-x: auto !important;
        scrollbar-width: none;
    }

    nav::-webkit-scrollbar {
        display: none;
    }

    nav a {
        font-size: 0.66rem !important;
        padding: 2px 7px !important;
        letter-spacing: 0.5px !important;
        flex: 0 0 auto;
    }

    .hero-image {
        aspect-ratio: 16 / 9 !important;
        background-size: contain !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        background-color: rgba(5, 0, 15, 0.96) !important;
        box-shadow: 0 0 22px rgba(0,0,0,0.55), 0 0 38px var(--page-bg-1) !important;
    }

    main {
        padding: 22px 14px 28px !important;
    }

    section {
        margin-bottom: 34px !important;
    }

    .section-intro {
        margin-bottom: 18px !important;
        font-size: 0.88rem;
    }

    .live-card {
        width: min(92%, 420px) !important;
    }

    .follow-page-icons {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 24px 14px !important;
        max-width: 100% !important;
        padding: 0 6px !important;
        margin: 10px auto 18px !important;
    }

    .follow-page-icons a {
        width: 100% !important;
        height: 112px !important;
    }

    .follow-page-icons img {
        width: min(92px, 26vw) !important;
        height: min(92px, 26vw) !important;
    }

    .large-email-icon {
        font-size: min(5.2rem, 24vw) !important;
    }

    footer {
        padding: 12px 8px 10px !important;
    }

    .footer-social-row {
        gap: 7px !important;
    }

    .footer-social {
        gap: 8px !important;
    }

    .footer-email {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        font-size: 1.08rem !important;
    }
}

@media (max-width: 430px) {
    .hero-bar {
        grid-template-columns: 38px 1fr 38px !important;
    }

    .hero-logo img,
    .hero-logo-right img {
        width: 34px !important;
    }

    .hero-title img {
        max-height: 34px !important;
    }

    nav {
        gap: 8px !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    nav a {
        font-size: 0.58rem !important;
        padding: 2px 6px !important;
    }

    .hero-image {
        aspect-ratio: 16 / 9 !important;
    }

    .media-slide {
        aspect-ratio: 16 / 9 !important;
    }

    .carousel {
        border-radius: 14px !important;
    }

    .follow-page-icons {
        gap: 20px 10px !important;
    }

    .follow-page-icons a {
        height: 96px !important;
    }

    .follow-page-icons img {
        width: min(82px, 25vw) !important;
        height: min(82px, 25vw) !important;
    }
}

/* =========================
   FINAL MOBILE POLISH - V10
   Full-bleed mobile hero, compact one-line footer, smaller footer logos,
   and page-color mobile browser tint support via theme-color meta tags.
========================= */

.footer-small {
    white-space: nowrap !important;
    font-size: 0.82rem !important;
}

.footer-logo,
.footer-social-row > .footer-logo,
.footer-social-row > a.footer-logo,
a.footer-logo.footer-logo-left,
a.footer-logo.footer-logo-right {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    flex: 0 0 26px !important;
}

.footer-logo img,
.footer-social-row > .footer-logo img,
.footer-social-row > a.footer-logo img,
a.footer-logo.footer-logo-left img,
a.footer-logo.footer-logo-right img {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
}

@media (max-width: 800px) {
    .hero-image {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: 50% !important;
        transform: translateX(-50%) !important;
        aspect-ratio: 16 / 9.35 !important;
        background-size: 100% 100% !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }

    .footer-social-row {
        gap: 8px !important;
        flex-wrap: nowrap !important;
    }

    .footer-logo,
    .footer-social-row > .footer-logo,
    .footer-social-row > a.footer-logo,
    a.footer-logo.footer-logo-left,
    a.footer-logo.footer-logo-right {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        flex: 0 0 22px !important;
    }

    .footer-logo img,
    .footer-social-row > .footer-logo img,
    .footer-social-row > a.footer-logo img,
    a.footer-logo.footer-logo-left img,
    a.footer-logo.footer-logo-right img {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        max-width: 20px !important;
        min-height: 20px !important;
        max-height: 20px !important;
    }

    .footer-social img {
        width: 22px !important;
        height: 22px !important;
    }

    .footer-email {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        font-size: 1.05rem !important;
    }

    .footer-small {
        white-space: nowrap !important;
        font-size: clamp(0.68rem, 3.2vw, 0.82rem) !important;
        line-height: 1.2 !important;
        margin-top: 4px !important;
    }
}

@media (max-width: 430px) {
    .hero-image {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: 50% !important;
        transform: translateX(-50%) !important;
        aspect-ratio: 16 / 9.35 !important;
        background-size: 100% 100% !important;
    }

    footer {
        padding: 10px 6px 9px !important;
    }

    .footer-social-row {
        gap: 6px !important;
    }

    .footer-social {
        gap: 7px !important;
    }

    .footer-logo,
    .footer-social-row > .footer-logo,
    .footer-social-row > a.footer-logo,
    a.footer-logo.footer-logo-left,
    a.footer-logo.footer-logo-right {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        max-width: 20px !important;
        flex-basis: 20px !important;
    }

    .footer-logo img,
    .footer-social-row > .footer-logo img,
    .footer-social-row > a.footer-logo img,
    a.footer-logo.footer-logo-left img,
    a.footer-logo.footer-logo-right img {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        max-width: 18px !important;
    }

    .footer-social img {
        width: 20px !important;
        height: 20px !important;
    }

    .footer-email {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        font-size: 0.98rem !important;
    }
}


/* =========================
   HOMEPAGE BEST OF TITLE + WIDE MEDIA CAROUSEL - V12
   Place images/titles/section-titles/homepage-bestof-title.png in the images/banner folder.
========================= */

.page-home main {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.homepage-bestof-section {
    margin-bottom: 44px !important;
}

.homepage-bestof-title-wrap {
    width: 100%;
    text-align: center;
    padding: 18px 14px 34px;
}

.homepage-bestof-title {
    width: min(96%, 900px);
    height: auto;
    display: block;
    margin: 0 auto;
    filter:
        drop-shadow(0 0 10px rgba(255, 210, 45, 0.42))
        drop-shadow(0 0 22px rgba(255, 180, 0, 0.28));
    animation: bestOfTitleGlow 5.5s ease-in-out infinite;
}

@keyframes bestOfTitleGlow {
    0%, 100% {
        transform: scale(1);
        filter:
            drop-shadow(0 0 8px rgba(255, 210, 45, 0.36))
            drop-shadow(0 0 18px rgba(255, 180, 0, 0.22));
    }
    50% {
        transform: scale(1.012);
        filter:
            drop-shadow(0 0 16px rgba(255, 230, 80, 0.72))
            drop-shadow(0 0 34px rgba(255, 180, 0, 0.46));
    }
}

.page-home .homepage-media-carousel {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
    padding: 0 0 20px !important;
}

.page-home .homepage-media-carousel .carousel-track {
    gap: 16px;
    padding: 0 22px;
    align-items: stretch;
}

.page-home .homepage-media-carousel .media-slide {
    min-width: min(72vw, 390px) !important;
    max-width: 390px;
    aspect-ratio: 16 / 9;
    border: 1px solid var(--page-border);
    border-radius: 18px;
    overflow: hidden;
    background: rgba(4, 0, 10, 0.92);
    box-shadow:
        0 0 12px rgba(255, 215, 0, 0.22),
        0 0 22px rgba(0, 0, 0, 0.65);
}

.page-home .homepage-media-carousel .media-slide img {
    object-fit: cover !important;
    background: rgba(4, 0, 10, 0.92) !important;
}

.page-home .homepage-media-carousel .media-caption {
    padding: 18px;
}

.page-home .homepage-media-carousel .carousel-button {
    border: 0 !important;
    background: rgba(5, 0, 15, 0.38) !important;
    box-shadow: none !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 8px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 8px !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    background: transparent !important;
    padding-top: 12px !important;
}

@media (min-width: 900px) {
    .page-home .homepage-media-carousel .media-slide {
        min-width: calc((100% - 64px) / 5) !important;
    }
}

@media (max-width: 800px) {
    .homepage-bestof-title-wrap {
        padding: 12px 8px 22px !important;
    }

    .homepage-bestof-title {
        width: 99% !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 12px !important;
        padding: 0 12px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        min-width: 88vw !important;
        max-width: none !important;
        border-radius: 16px !important;
    }

    .page-home .homepage-media-carousel .carousel-button {
        width: 38px !important;
        height: 38px !important;
        font-size: 1.75rem !important;
    }
}


/* =========================
   PROFESSIONAL POLISH + HOMEPAGE FINAL FIX - V13
   Upload this file as style.css and update HTML cache versions to ?v=13.
========================= */

/* Reduce the overall glow so the site still feels premium but less overwhelming. */
.site-top {
    box-shadow:
        0 0 18px rgba(0, 0, 0, 0.62),
        0 0 8px rgba(var(--page-rgb), 0.16) !important;
}

.hero-logo img,
.hero-logo-right img,
.footer-logo img {
    filter:
        drop-shadow(0 0 5px var(--page-glow-1))
        drop-shadow(0 0 10px rgba(var(--page-rgb), 0.38)) !important;
}

.hero-logo:hover img,
.hero-logo-right:hover img,
.footer-logo:hover img {
    transform: scale(1.08) !important;
    filter:
        drop-shadow(0 0 8px var(--page-glow-1))
        drop-shadow(0 0 16px rgba(var(--page-rgb), 0.52)) !important;
}

.hero-title img {
    filter:
        drop-shadow(0 0 4px var(--page-glow-1))
        drop-shadow(0 0 8px rgba(var(--page-rgb), 0.32)) !important;
}

@keyframes pulseGlow {
    0%, 100% {
        filter:
            drop-shadow(0 0 4px var(--page-glow-1))
            drop-shadow(0 0 10px rgba(var(--page-rgb), 0.34));
    }
    45% {
        filter:
            drop-shadow(0 0 8px var(--page-glow-1))
            drop-shadow(0 0 18px rgba(var(--page-rgb), 0.50));
    }
    70% {
        filter:
            drop-shadow(0 0 5px var(--page-glow-1))
            drop-shadow(0 0 12px rgba(var(--page-rgb), 0.38));
    }
}

nav a:hover,
nav a.active {
    text-shadow:
        0 0 6px var(--page-glow-1),
        0 0 12px rgba(var(--page-rgb), 0.38) !important;
}

nav a.active {
    animation: navPulseGlowPro 11.5s ease-in-out infinite !important;
}

@keyframes navPulseGlowPro {
    0%, 100% {
        color: var(--white);
        transform: scale(1);
        background: rgba(255, 255, 255, 0.025);
        box-shadow: 0 0 5px rgba(var(--page-rgb), 0.35);
        text-shadow: 0 0 6px var(--page-glow-1);
    }
    45% {
        color: var(--page-glow-1);
        transform: scale(1.04);
        background: rgba(255, 255, 255, 0.055);
        box-shadow: 0 0 12px rgba(var(--page-rgb), 0.45);
        text-shadow:
            0 0 9px var(--page-glow-1),
            0 0 16px rgba(var(--page-rgb), 0.42);
    }
    72% {
        color: var(--white);
        transform: scale(1.01);
        background: rgba(255, 255, 255, 0.03);
        box-shadow: 0 0 7px rgba(var(--page-rgb), 0.34);
    }
}

.hero-image {
    box-shadow:
        0 0 22px rgba(0, 0, 0, 0.58),
        0 0 28px rgba(var(--page-rgb), 0.10) !important;
}

h1,
h2,
.big-header,
.section-title,
.story-card h2,
.live-frame h2 {
    text-shadow:
        0 0 6px var(--page-glow-1),
        0 0 13px rgba(var(--page-rgb), 0.32) !important;
}

.card,
.game-card,
.story-card,
.table-card,
.live-card,
.carousel {
    box-shadow: 0 0 18px rgba(0, 0, 0, 0.42) !important;
}

.card:hover,
.game-card:hover {
    transform: translateY(-4px) !important;
    box-shadow:
        0 0 10px rgba(var(--page-rgb), 0.45),
        0 0 18px rgba(0, 0, 0, 0.52) !important;
}

/* Homepage: tighter hero-to-title spacing, wider Best Of title, cleaner carousel. */
.page-home main {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 42px !important;
}

.page-home #best-media.homepage-bestof-section {
    margin-bottom: 34px !important;
}

.homepage-bestof-title-wrap {
    width: 100% !important;
    text-align: center !important;
    padding: 10px 18px 22px !important;
}

.homepage-bestof-title {
    width: min(94%, 1060px) !important;
    max-width: 1060px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    border-radius: 2px;
    filter:
        drop-shadow(0 0 6px rgba(255, 215, 0, 0.30))
        drop-shadow(0 0 14px rgba(255, 175, 0, 0.18)) !important;
    animation: bestOfTitleGlowPro 7.5s ease-in-out infinite !important;
}

@keyframes bestOfTitleGlowPro {
    0%, 100% {
        transform: scale(1);
        filter:
            drop-shadow(0 0 5px rgba(255, 215, 0, 0.25))
            drop-shadow(0 0 12px rgba(255, 175, 0, 0.16));
    }
    50% {
        transform: scale(1.006);
        filter:
            drop-shadow(0 0 9px rgba(255, 225, 75, 0.46))
            drop-shadow(0 0 18px rgba(255, 175, 0, 0.24));
    }
}

.page-home .homepage-media-carousel {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.page-home .homepage-media-carousel .carousel-track {
    gap: 18px !important;
    padding: 0 24px !important;
    align-items: stretch !important;
}

.page-home .homepage-media-carousel .media-slide {
    min-width: min(76vw, 405px) !important;
    max-width: 405px !important;
    aspect-ratio: 16 / 9 !important;
    border: 1px solid rgba(255, 215, 0, 0.48) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: rgba(4, 0, 10, 0.93) !important;
    box-shadow:
        0 0 8px rgba(255, 215, 0, 0.18),
        0 8px 24px rgba(0, 0, 0, 0.44) !important;
}

.page-home .homepage-media-carousel .media-slide:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 215, 0, 0.72) !important;
    box-shadow:
        0 0 12px rgba(255, 215, 0, 0.24),
        0 10px 26px rgba(0, 0, 0, 0.52) !important;
}

.page-home .homepage-media-carousel .media-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    background: rgba(4, 0, 10, 0.93) !important;
}

.page-home .homepage-media-carousel .media-caption {
    padding: 16px !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.86), rgba(0, 0, 0, 0.18) 64%, transparent) !important;
}

.page-home .homepage-media-carousel .media-caption h3 {
    font-size: clamp(1.05rem, 1.45vw, 1.65rem) !important;
    line-height: 1.08 !important;
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.34) !important;
}

.page-home .homepage-media-carousel .media-caption p {
    font-size: 0.86rem !important;
    line-height: 1.35 !important;
}

.page-home .homepage-media-carousel .carousel-button {
    width: 42px !important;
    height: 42px !important;
    border: 0 !important;
    background: rgba(5, 0, 15, 0.32) !important;
    color: var(--page-glow-1) !important;
    box-shadow: none !important;
}

.page-home .homepage-media-carousel .carousel-button:hover {
    background: rgba(5, 0, 15, 0.62) !important;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.24) !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 10px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 10px !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    background: transparent !important;
    padding: 12px 0 0 !important;
}

.page-home .homepage-media-carousel .carousel-dot {
    width: 8px !important;
    height: 8px !important;
    box-shadow: none !important;
}

.page-home .homepage-media-carousel .carousel-dot.active {
    box-shadow: 0 0 7px rgba(255, 215, 0, 0.58) !important;
}

footer {
    box-shadow:
        inset 0 1px 0 rgba(var(--page-rgb), 0.44),
        0 -6px 18px rgba(var(--page-rgb), 0.08) !important;
}

@media (min-width: 900px) {
    .page-home .homepage-media-carousel .media-slide {
        min-width: calc((100% - 54px) / 4) !important;
        max-width: none !important;
    }
}

@media (min-width: 1250px) {
    .page-home .homepage-media-carousel .media-slide {
        min-width: calc((100% - 72px) / 5) !important;
    }
}

@media (max-width: 800px) {
    .homepage-bestof-title-wrap {
        padding: 8px 10px 18px !important;
    }

    .homepage-bestof-title {
        width: 98% !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 12px !important;
        padding: 0 12px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        min-width: 84vw !important;
        max-width: none !important;
        border-radius: 14px !important;
    }
}


/* =========================
   HOMEPAGE CAROUSEL SIZE UPDATE - V14
   Makes the homepage carousel thumbnails about 25% larger and moves them closer to the Best Of graphic.
========================= */

.page-home .homepage-bestof-title-wrap {
    padding-bottom: 12px !important;
}

.page-home .homepage-media-carousel {
    margin-top: -4px !important;
    padding-bottom: 18px !important;
}

.page-home .homepage-media-carousel .carousel-track {
    gap: 22px !important;
    padding: 0 24px !important;
}

.page-home .homepage-media-carousel .media-slide {
    min-width: min(86vw, 506px) !important;
    max-width: 506px !important;
}

.page-home .homepage-media-carousel .media-caption {
    padding: 18px !important;
}

.page-home .homepage-media-carousel .media-caption h3 {
    font-size: clamp(1.18rem, 1.75vw, 1.95rem) !important;
}

.page-home .homepage-media-carousel .media-caption p {
    font-size: 0.92rem !important;
}

@media (min-width: 900px) {
    .page-home .homepage-media-carousel .media-slide {
        min-width: calc((100% - 66px) / 3.25) !important;
        max-width: none !important;
    }
}

@media (min-width: 1250px) {
    .page-home .homepage-media-carousel .media-slide {
        min-width: calc((100% - 66px) / 4) !important;
        max-width: none !important;
    }
}

@media (max-width: 800px) {
    .page-home .homepage-bestof-title-wrap {
        padding-bottom: 12px !important;
    }

    .page-home .homepage-media-carousel {
        margin-top: -2px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 14px !important;
        padding: 0 12px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        min-width: 92vw !important;
        max-width: none !important;
    }
}

/* =========================
   HOMEPAGE WIDE MEDIA STRIP FIX - V16
   Fixes the homepage carousel so the cards are larger, wider, and less boxed-in.
========================= */

.page-home main {
    padding-top: 14px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 42px !important;
}

.page-home #best-media,
.page-home .homepage-bestof-section {
    margin-bottom: 34px !important;
}

.page-home .homepage-bestof-title-wrap {
    width: 100% !important;
    padding: 0 0 10px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.page-home .homepage-bestof-title {
    width: min(82%, 930px) !important;
    max-width: 930px !important;
    display: block !important;
    margin: 0 auto !important;
    border-radius: 0 !important;
    box-shadow:
        0 0 18px rgba(255, 215, 0, 0.30),
        0 0 34px rgba(255, 176, 0, 0.18) !important;
}

.page-home .homepage-media-carousel {
    width: calc(100% - 18px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 8px 18px !important;
    overflow: hidden !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.page-home .homepage-media-carousel .carousel-track {
    display: flex !important;
    align-items: stretch !important;
    gap: 28px !important;
    width: auto !important;
    padding: 0 2px !important;
    transition: transform 0.45s ease !important;
}

.page-home .homepage-media-carousel .media-slide {
    flex: 0 0 calc((100% - 56px) / 3) !important;
    min-width: calc((100% - 56px) / 3) !important;
    max-width: calc((100% - 56px) / 3) !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 215, 0, 0.68) !important;
    background: rgba(5, 0, 15, 0.92) !important;
    box-shadow:
        0 0 10px rgba(255, 215, 0, 0.28),
        0 8px 18px rgba(0, 0, 0, 0.34) !important;
}

.page-home .homepage-media-carousel .media-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    background: rgba(5, 0, 15, 0.92) !important;
}

.page-home .homepage-media-carousel .media-caption {
    padding: 18px 16px 14px !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.34), transparent) !important;
}

.page-home .homepage-media-carousel .media-caption h3 {
    font-size: clamp(1.45rem, 2.35vw, 2.35rem) !important;
    line-height: 0.98 !important;
    margin-bottom: 5px !important;
    color: #ffd700 !important;
    text-shadow:
        0 0 5px rgba(0, 0, 0, 0.90),
        0 0 9px rgba(255, 215, 0, 0.62) !important;
}

.page-home .homepage-media-carousel .media-caption p {
    font-size: clamp(0.82rem, 1.05vw, 1rem) !important;
    line-height: 1.22 !important;
    color: #fff6cc !important;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.90) !important;
}

.page-home .homepage-media-carousel .carousel-button {
    width: 42px !important;
    height: 42px !important;
    border: none !important;
    background: rgba(5, 0, 15, 0.28) !important;
    color: #ffd700 !important;
    box-shadow: none !important;
    opacity: 0.95 !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 2px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 2px !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    padding: 12px 0 0 !important;
    background: transparent !important;
    gap: 9px !important;
}

.page-home .homepage-media-carousel .carousel-dot {
    width: 8px !important;
    height: 8px !important;
    border-color: rgba(255, 215, 0, 0.9) !important;
}

.page-home .homepage-media-carousel .carousel-dot.active {
    background: #ffd700 !important;
    box-shadow: 0 0 8px rgba(255, 215, 0, 0.72) !important;
}

@media (min-width: 1250px) {
    .page-home .homepage-media-carousel .media-slide {
        flex-basis: calc((100% - 84px) / 4) !important;
        min-width: calc((100% - 84px) / 4) !important;
        max-width: calc((100% - 84px) / 4) !important;
    }
}

@media (max-width: 800px) {
    .page-home main {
        padding-top: 12px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .page-home .homepage-bestof-title {
        width: 95% !important;
    }

    .page-home .homepage-media-carousel {
        width: 100% !important;
        padding: 0 12px 16px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 16px !important;
        padding: 0 !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        flex-basis: 82vw !important;
        min-width: 82vw !important;
        max-width: 82vw !important;
    }
}


/* =========================
   HOMEPAGE CAROUSEL SIZE FIX - V17
   Makes the homepage media strip substantially larger and closer to the Best Of graphic.
========================= */

.page-home main {
    padding-top: 12px !important;
    padding-bottom: 36px !important;
}

.page-home .homepage-bestof-title-wrap {
    padding-bottom: 4px !important;
}

.page-home .homepage-bestof-title {
    width: min(83%, 940px) !important;
    max-width: 940px !important;
}

.page-home .homepage-media-carousel {
    width: calc(100% - 12px) !important;
    max-width: none !important;
    margin: -2px auto 0 !important;
    padding: 0 12px 16px !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.page-home .homepage-media-carousel .carousel-track {
    gap: 24px !important;
    padding: 0 6px !important;
    align-items: stretch !important;
}

.page-home .homepage-media-carousel .media-slide {
    flex: 0 0 calc((100% - 24px) / 2.35) !important;
    min-width: calc((100% - 24px) / 2.35) !important;
    max-width: calc((100% - 24px) / 2.35) !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 15px !important;
    border: 1px solid rgba(255, 215, 0, 0.70) !important;
    box-shadow:
        0 0 12px rgba(255, 215, 0, 0.30),
        0 10px 24px rgba(0, 0, 0, 0.42) !important;
}

.page-home .homepage-media-carousel .media-slide img {
    object-fit: cover !important;
}

.page-home .homepage-media-carousel .media-caption {
    padding: 22px 19px 16px !important;
}

.page-home .homepage-media-carousel .media-caption h3 {
    font-size: clamp(1.85rem, 3.05vw, 3rem) !important;
    line-height: 0.95 !important;
    margin-bottom: 6px !important;
}

.page-home .homepage-media-carousel .media-caption p {
    font-size: clamp(0.94rem, 1.22vw, 1.1rem) !important;
    line-height: 1.22 !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 4px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 4px !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    padding-top: 10px !important;
}

@media (min-width: 1250px) {
    .page-home .homepage-media-carousel .media-slide {
        flex-basis: calc((100% - 48px) / 2.75) !important;
        min-width: calc((100% - 48px) / 2.75) !important;
        max-width: calc((100% - 48px) / 2.75) !important;
    }
}

@media (max-width: 900px) {
    .page-home .homepage-media-carousel .media-slide {
        flex-basis: 78vw !important;
        min-width: 78vw !important;
        max-width: 78vw !important;
    }
}

@media (max-width: 800px) {
    .page-home main {
        padding-top: 10px !important;
    }

    .page-home .homepage-bestof-title {
        width: 96% !important;
    }

    .page-home .homepage-media-carousel {
        width: 100% !important;
        padding: 0 12px 14px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 16px !important;
        padding: 0 !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        flex-basis: 86vw !important;
        min-width: 86vw !important;
        max-width: 86vw !important;
    }

    .page-home .homepage-media-carousel .media-caption h3 {
        font-size: clamp(1.35rem, 7vw, 2.2rem) !important;
    }
}


/* =========================
   HOMEPAGE CAROUSEL SCALE FIX - V18
   Makes the homepage media cards noticeably larger and closer to the Best Of title.
========================= */

.page-home main {
    padding-top: 10px !important;
    padding-bottom: 34px !important;
}

.page-home .homepage-bestof-title-wrap {
    padding-bottom: 0 !important;
    margin-bottom: -8px !important;
}

.page-home .homepage-bestof-title {
    width: min(84%, 940px) !important;
    max-width: 940px !important;
}

.page-home .homepage-media-carousel {
    width: calc(100% - 8px) !important;
    max-width: none !important;
    margin: 0 auto 0 !important;
    padding: 0 16px 18px !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.page-home .homepage-media-carousel .carousel-track {
    gap: 20px !important;
    padding: 0 4px !important;
    align-items: stretch !important;
}

.page-home .homepage-media-carousel .media-slide {
    flex: 0 0 calc((100% - 20px) / 2) !important;
    min-width: calc((100% - 20px) / 2) !important;
    max-width: calc((100% - 20px) / 2) !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 215, 0, 0.72) !important;
    box-shadow:
        0 0 14px rgba(255, 215, 0, 0.32),
        0 12px 26px rgba(0, 0, 0, 0.45) !important;
}

.page-home .homepage-media-carousel .media-slide img {
    object-fit: cover !important;
}

.page-home .homepage-media-carousel .media-caption {
    padding: 26px 22px 18px !important;
}

.page-home .homepage-media-carousel .media-caption h3 {
    font-size: clamp(2rem, 3.4vw, 3.25rem) !important;
    line-height: 0.94 !important;
    margin-bottom: 8px !important;
}

.page-home .homepage-media-carousel .media-caption p {
    font-size: clamp(1rem, 1.32vw, 1.18rem) !important;
    line-height: 1.22 !important;
}

.page-home .homepage-media-carousel .carousel-button {
    width: 48px !important;
    height: 48px !important;
    font-size: 2.1rem !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 4px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 4px !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    padding-top: 12px !important;
}

@media (max-width: 900px) {
    .page-home .homepage-media-carousel .media-slide {
        flex-basis: 72vw !important;
        min-width: 72vw !important;
        max-width: 72vw !important;
    }
}

@media (max-width: 800px) {
    .page-home .homepage-bestof-title {
        width: 96% !important;
    }

    .page-home .homepage-media-carousel {
        width: 100% !important;
        padding: 0 12px 16px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 16px !important;
        padding: 0 !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        flex-basis: 88vw !important;
        min-width: 88vw !important;
        max-width: 88vw !important;
    }

    .page-home .homepage-media-carousel .media-caption h3 {
        font-size: clamp(1.45rem, 7.6vw, 2.35rem) !important;
    }
}

/* =========================
   HOMEPAGE SINGLE FEATURE CAROUSEL - V19
   Makes the homepage carousel large enough to feature one thumbnail at a time.
========================= */

.page-home main {
    padding-top: 8px !important;
    padding-bottom: 32px !important;
}

.page-home .homepage-bestof-title-wrap {
    padding-bottom: 0 !important;
    margin-bottom: -6px !important;
}

.page-home .homepage-bestof-title {
    width: min(84%, 940px) !important;
    max-width: 940px !important;
}

.page-home .homepage-media-carousel {
    width: calc(100% - 10px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 18px 18px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.page-home .homepage-media-carousel .carousel-track {
    gap: 28px !important;
    padding: 0 36px !important;
    align-items: stretch !important;
    width: auto !important;
}

.page-home .homepage-media-carousel .media-slide {
    flex: 0 0 calc(100% - 72px) !important;
    min-width: calc(100% - 72px) !important;
    max-width: calc(100% - 72px) !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255, 215, 0, 0.76) !important;
    overflow: hidden !important;
    background: rgba(5, 0, 15, 0.94) !important;
    box-shadow:
        0 0 16px rgba(255, 215, 0, 0.34),
        0 14px 30px rgba(0, 0, 0, 0.48) !important;
}

.page-home .homepage-media-carousel .media-slide:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(255, 215, 0, 0.90) !important;
    box-shadow:
        0 0 18px rgba(255, 215, 0, 0.40),
        0 16px 34px rgba(0, 0, 0, 0.55) !important;
}

.page-home .homepage-media-carousel .media-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.page-home .homepage-media-carousel .media-caption {
    padding: 34px 30px 24px !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95), rgba(0, 0, 0, 0.44) 58%, transparent) !important;
}

.page-home .homepage-media-carousel .media-caption h3 {
    font-size: clamp(2.35rem, 5vw, 4.35rem) !important;
    line-height: 0.94 !important;
    margin-bottom: 9px !important;
    color: #ffd700 !important;
    text-shadow:
        0 0 6px rgba(0, 0, 0, 0.95),
        0 0 12px rgba(255, 215, 0, 0.58) !important;
}

.page-home .homepage-media-carousel .media-caption p {
    font-size: clamp(1.05rem, 1.6vw, 1.35rem) !important;
    line-height: 1.25 !important;
    color: #fff6cc !important;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.95) !important;
}

.page-home .homepage-media-carousel .carousel-button {
    width: 54px !important;
    height: 54px !important;
    font-size: 2.4rem !important;
    border: none !important;
    background: rgba(5, 0, 15, 0.34) !important;
    color: #ffd700 !important;
    box-shadow: none !important;
}

.page-home .homepage-media-carousel .carousel-button:hover {
    background: rgba(5, 0, 15, 0.66) !important;
    box-shadow: 0 0 12px rgba(255, 215, 0, 0.28) !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 12px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 12px !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    padding-top: 14px !important;
    background: transparent !important;
}

.page-home .homepage-media-carousel .carousel-dot {
    width: 8px !important;
    height: 8px !important;
}

@media (max-width: 900px) {
    .page-home .homepage-media-carousel {
        width: 100% !important;
        padding: 0 12px 16px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 18px !important;
        padding: 0 !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        flex-basis: 90vw !important;
        min-width: 90vw !important;
        max-width: 90vw !important;
    }
}

@media (max-width: 800px) {
    .page-home .homepage-bestof-title {
        width: 96% !important;
    }

    .page-home .homepage-media-carousel .media-caption {
        padding: 22px 18px 16px !important;
    }

    .page-home .homepage-media-carousel .media-caption h3 {
        font-size: clamp(1.65rem, 8vw, 2.65rem) !important;
    }

    .page-home .homepage-media-carousel .media-caption p {
        font-size: 0.9rem !important;
    }

    .page-home .homepage-media-carousel .carousel-button {
        width: 42px !important;
        height: 42px !important;
        font-size: 1.9rem !important;
    }
}

/* =========================
   HOMEPAGE FINAL FEATURE CAROUSEL - V20
   One large featured thumbnail at a time, almost full width.
========================= */

.page-home main {
    padding-top: 6px !important;
    padding-bottom: 26px !important;
}

.page-home .homepage-bestof-section {
    margin-bottom: 34px !important;
}

.page-home .homepage-bestof-title-wrap {
    padding-bottom: 0 !important;
    margin-bottom: -4px !important;
}

.page-home .homepage-bestof-title {
    width: min(86%, 960px) !important;
    max-width: 960px !important;
}

.page-home .homepage-media-carousel {
    width: calc(100% - 28px) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 10px 12px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.page-home .homepage-media-carousel .carousel-track {
    gap: 34px !important;
    padding: 0 !important;
    align-items: stretch !important;
    width: auto !important;
}

.page-home .homepage-media-carousel .media-slide {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255, 215, 0, 0.78) !important;
    overflow: hidden !important;
    background: rgba(5, 0, 15, 0.94) !important;
    box-shadow:
        0 0 16px rgba(255, 215, 0, 0.34),
        0 14px 30px rgba(0, 0, 0, 0.50) !important;
}

.page-home .homepage-media-carousel .media-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.page-home .homepage-media-carousel .media-caption {
    padding: 38px 36px 28px !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.96), rgba(0, 0, 0, 0.48) 58%, transparent) !important;
}

.page-home .homepage-media-carousel .media-caption h3 {
    font-size: clamp(2.75rem, 5.6vw, 5rem) !important;
    line-height: 0.92 !important;
    margin-bottom: 10px !important;
    color: #ffd700 !important;
    text-shadow:
        0 0 7px rgba(0, 0, 0, 0.95),
        0 0 12px rgba(255, 215, 0, 0.52) !important;
}

.page-home .homepage-media-carousel .media-caption p {
    font-size: clamp(1.12rem, 1.75vw, 1.48rem) !important;
    line-height: 1.25 !important;
    color: #fff6cc !important;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.95) !important;
}

.page-home .homepage-media-carousel .carousel-button {
    width: 56px !important;
    height: 56px !important;
    font-size: 2.5rem !important;
    border: none !important;
    background: rgba(5, 0, 15, 0.34) !important;
    color: #ffd700 !important;
    box-shadow: none !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 8px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 8px !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    padding-top: 12px !important;
    padding-bottom: 0 !important;
    background: transparent !important;
}

@media (max-width: 900px) {
    .page-home .homepage-media-carousel {
        width: 100% !important;
        padding: 0 10px 12px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 22px !important;
    }
}

@media (max-width: 800px) {
    .page-home .homepage-bestof-title {
        width: 96% !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        aspect-ratio: 16 / 10 !important;
    }

    .page-home .homepage-media-carousel .media-caption {
        padding: 24px 18px 16px !important;
    }

    .page-home .homepage-media-carousel .media-caption h3 {
        font-size: clamp(1.8rem, 8.6vw, 3rem) !important;
    }

    .page-home .homepage-media-carousel .media-caption p {
        font-size: 0.95rem !important;
    }
}


/* =========================
   HOMEPAGE FEATURE SECTION - V21
   Wider Best Of graphic with balanced spacing above and below.
========================= */

.page-home main {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
}

.page-home .homepage-bestof-section {
    margin-bottom: 32px !important;
}

.page-home .homepage-bestof-title-wrap {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 auto 26px !important;
    display: flex !important;
    justify-content: center !important;
}

.page-home .homepage-bestof-title {
    width: min(92%, 1240px) !important;
    max-width: 1240px !important;
    height: auto !important;
    display: block !important;
}

.page-home .homepage-media-carousel {
    width: min(92%, 1240px) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 0 12px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.page-home .homepage-media-carousel .media-slide {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 18px !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 10px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 10px !important;
}

@media (max-width: 900px) {
    .page-home main {
        padding-top: 22px !important;
    }

    .page-home .homepage-bestof-title-wrap {
        margin-bottom: 22px !important;
    }

    .page-home .homepage-bestof-title,
    .page-home .homepage-media-carousel {
        width: min(94%, 1240px) !important;
    }
}

@media (max-width: 800px) {
    .page-home .homepage-bestof-title,
    .page-home .homepage-media-carousel {
        width: 96% !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        aspect-ratio: 16 / 10 !important;
    }
}

/* =========================
   HOMEPAGE PLAYLIST CAROUSEL - V22
   Uses the new branded playlist thumbnails and links directly to YouTube playlists.
========================= */

.page-home .homepage-media-carousel .media-slide img {
    object-fit: cover !important;
}

.page-home .homepage-media-carousel .media-caption {
    display: none !important;
}

.page-home .homepage-media-carousel .playlist-pending {
    cursor: default !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    gap: 8px !important;
    padding-top: 13px !important;
}

.page-home .homepage-media-carousel .carousel-dot {
    width: 8px !important;
    height: 8px !important;
}

@media (max-width: 800px) {
    .page-home .homepage-media-carousel .carousel-dots {
        gap: 6px !important;
    }

    .page-home .homepage-media-carousel .carousel-dot {
        width: 7px !important;
        height: 7px !important;
    }
}


/* =========================
   FINAL HOMEPAGE / NAV POLISH - V24
   Larger centered header logos, cleaner carousel controls, and hover glow without movement.
========================= */

/* Header logo balance */
.hero-bar {
    grid-template-columns: 128px minmax(0, 1fr) 128px !important;
    align-items: center !important;
    column-gap: 12px !important;
    padding: 8px 22px 3px !important;
}

.hero-logo,
.hero-logo-right {
    min-height: 76px !important;
    align-items: center !important;
}

.hero-logo {
    justify-content: center !important;
}

.hero-logo-right {
    justify-content: center !important;
}

.hero-logo img,
.hero-logo-right img {
    width: 106px !important;
    max-width: 106px !important;
    height: auto !important;
    display: block !important;
    filter:
        drop-shadow(0 0 6px var(--page-glow-1))
        drop-shadow(0 0 14px var(--page-glow-2)) !important;
}

.hero-logo:hover img,
.hero-logo-right:hover img {
    transform: scale(1.08) !important;
    filter:
        drop-shadow(0 0 9px var(--page-glow-1))
        drop-shadow(0 0 20px var(--page-glow-2))
        drop-shadow(0 0 30px var(--page-glow-3)) !important;
}

/* Let the current slim navigation graphic use the header space cleanly. */
.hero-title img {
    width: min(100%, 1080px) !important;
    max-height: 94px !important;
    object-fit: contain !important;
}

nav {
    width: calc(100% - 255px) !important;
    max-width: 1060px !important;
    padding-bottom: 8px !important;
}

/* Featured section polish */
.page-home .homepage-bestof-title {
    width: min(93%, 1260px) !important;
    max-width: 1260px !important;
    transform: scaleY(1.05) !important;
    transform-origin: center center !important;
}

.page-home .homepage-bestof-title-wrap {
    margin-bottom: 30px !important;
}

.page-home .homepage-media-carousel {
    width: min(93%, 1260px) !important;
    max-width: 1260px !important;
}

/* Make the single playlist card feel interactive without changing the layout. */
.page-home .homepage-media-carousel .media-slide {
    overflow: hidden !important;
    border-radius: 18px !important;
    box-shadow:
        0 0 0 1px rgba(255, 215, 0, 0.72),
        0 0 16px rgba(255, 215, 0, 0.24),
        0 18px 34px rgba(0, 0, 0, 0.38) !important;
    transition: box-shadow 0.28s ease, filter 0.28s ease, border-color 0.28s ease !important;
}

.page-home .homepage-media-carousel .media-slide:hover {
    transform: none !important;
    box-shadow:
        0 0 0 2px rgba(255, 215, 0, 1),
        0 0 24px rgba(255, 215, 0, 0.62),
        0 0 48px rgba(255, 176, 0, 0.34),
        0 18px 34px rgba(0, 0, 0, 0.42) !important;
    filter: brightness(1.06) saturate(1.06) !important;
}


.page-home .homepage-media-carousel .media-slide:focus-visible {
    outline: 2px solid var(--page-glow-1) !important;
    outline-offset: 4px !important;
    box-shadow:
        0 0 0 2px rgba(255, 215, 0, 1),
        0 0 26px rgba(255, 215, 0, 0.68),
        0 0 52px rgba(255, 176, 0, 0.36),
        0 18px 34px rgba(0, 0, 0, 0.42) !important;
}

/* Bigger, easier-to-find carousel arrows */
.page-home .homepage-media-carousel .carousel-button {
    width: 58px !important;
    height: 58px !important;
    font-size: 2.7rem !important;
    border-width: 2px !important;
    background: rgba(5, 0, 15, 0.68) !important;
    color: var(--page-glow-1) !important;
    box-shadow:
        0 0 10px rgba(0,0,0,0.65),
        0 0 12px rgba(255, 215, 0, 0.24) !important;
}

.page-home .homepage-media-carousel .carousel-button:hover {
    background: rgba(255, 215, 0, 0.12) !important;
    box-shadow:
        0 0 14px var(--page-glow-1),
        0 0 28px var(--page-glow-2) !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 24px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 24px !important;
}

/* Bigger dots under the playlist carousel */
.page-home .homepage-media-carousel .carousel-dots {
    gap: 11px !important;
    padding-top: 16px !important;
    padding-bottom: 2px !important;
}

.page-home .homepage-media-carousel .carousel-dot {
    width: 12px !important;
    height: 12px !important;
    border-width: 2px !important;
}

.page-home .homepage-media-carousel .carousel-dot.active {
    box-shadow:
        0 0 10px var(--page-glow-1),
        0 0 20px var(--page-glow-2) !important;
}

@media (max-width: 900px) {
    .hero-bar {
        grid-template-columns: 96px minmax(0, 1fr) 96px !important;
        padding: 7px 12px 3px !important;
    }

    .hero-logo,
    .hero-logo-right {
        min-height: 60px !important;
    }

    .hero-logo img,
    .hero-logo-right img {
        width: 78px !important;
        max-width: 78px !important;
    }

    nav {
        width: calc(100% - 180px) !important;
    }

    .page-home .homepage-bestof-title,
    .page-home .homepage-media-carousel {
        width: 94% !important;
    }

    .page-home .homepage-media-carousel .carousel-button {
        width: 48px !important;
        height: 48px !important;
        font-size: 2.2rem !important;
    }

    .page-home .homepage-media-carousel .carousel-button.prev {
        left: 14px !important;
    }

    .page-home .homepage-media-carousel .carousel-button.next {
        right: 14px !important;
    }
}

@media (max-width: 800px) {
    .hero-bar {
        grid-template-columns: 62px 1fr 62px !important;
        padding: 7px 8px 3px !important;
    }

    .hero-logo,
    .hero-logo-right {
        min-height: 44px !important;
    }

    .hero-logo img,
    .hero-logo-right img {
        width: 54px !important;
        max-width: 54px !important;
    }

    nav {
        width: 100% !important;
    }

    .page-home .homepage-media-carousel .carousel-button {
        width: 42px !important;
        height: 42px !important;
        font-size: 1.9rem !important;
    }

    .page-home .homepage-media-carousel .carousel-dot {
        width: 10px !important;
        height: 10px !important;
    }
}


/* =========================
   HOMEPAGE PLAYLIST SHOWCASE CAROUSEL - V25
   Multi-card streaming-style carousel using existing Allstar Galaxy playlist thumbnails.
========================= */

.page-home .homepage-bestof-section {
    overflow: hidden !important;
}

.page-home .homepage-media-carousel {
    width: min(96%, 1320px) !important;
    max-width: 1320px !important;
    margin: 0 auto 14px !important;
    padding: 26px 70px 22px !important;
    overflow: hidden !important;
    border-radius: 28px !important;
    border: 1px solid rgba(255, 215, 0, 0.62) !important;
    background:
        radial-gradient(circle at center, rgba(255, 215, 0, 0.075), transparent 62%),
        linear-gradient(180deg, rgba(18, 8, 0, 0.72), rgba(5, 0, 15, 0.90)) !important;
    box-shadow:
        inset 0 0 18px rgba(255, 215, 0, 0.10),
        0 0 24px rgba(255, 215, 0, 0.14),
        0 22px 42px rgba(0, 0, 0, 0.45) !important;
}

.page-home .homepage-media-carousel .carousel-track {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    width: max-content !important;
    transition: transform 0.55s cubic-bezier(.22,.61,.36,1) !important;
    padding: 6px 0 10px !important;
    will-change: transform !important;
}

.page-home .homepage-media-carousel .media-slide {
    flex: 0 0 clamp(300px, 46vw, 620px) !important;
    min-width: 0 !important;
    aspect-ratio: 16 / 9 !important;
    position: relative !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255, 215, 0, 0.54) !important;
    background: rgba(5, 0, 15, 0.95) !important;
    overflow: hidden !important;
    opacity: 0.58 !important;
    transform: scale(0.84) !important;
    transform-origin: center center !important;
    box-shadow:
        0 0 0 1px rgba(255, 215, 0, 0.32),
        0 0 14px rgba(255, 215, 0, 0.12),
        0 14px 28px rgba(0, 0, 0, 0.45) !important;
    transition:
        transform 0.38s ease,
        opacity 0.38s ease,
        box-shadow 0.38s ease,
        border-color 0.38s ease,
        filter 0.38s ease !important;
}

.page-home .homepage-media-carousel .media-slide.is-neighbor {
    opacity: 0.76 !important;
    transform: scale(0.91) !important;
}

.page-home .homepage-media-carousel .media-slide.is-active {
    opacity: 1 !important;
    transform: scale(1) !important;
    z-index: 3 !important;
    border-color: rgba(255, 215, 0, 0.98) !important;
    box-shadow:
        0 0 0 2px rgba(255, 215, 0, 0.92),
        0 0 24px rgba(255, 215, 0, 0.46),
        0 0 52px rgba(255, 176, 0, 0.24),
        0 22px 38px rgba(0, 0, 0, 0.50) !important;
}

.page-home .homepage-media-carousel .media-slide:hover,
.page-home .homepage-media-carousel .media-slide:focus-visible {
    opacity: 1 !important;
    transform: scale(1.025) !important;
    z-index: 4 !important;
    border-color: rgba(255, 215, 0, 1) !important;
    filter: brightness(1.08) saturate(1.10) !important;
    box-shadow:
        0 0 0 2px rgba(255, 215, 0, 1),
        0 0 30px rgba(255, 215, 0, 0.72),
        0 0 70px rgba(255, 176, 0, 0.34),
        0 24px 42px rgba(0, 0, 0, 0.54) !important;
}

.page-home .homepage-media-carousel .media-slide img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    background: #05000f !important;
}

.page-home .homepage-media-carousel .media-caption {
    display: none !important;
}

.page-home .homepage-media-carousel .carousel-button {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(255, 215, 0, 0.92) !important;
    background: rgba(5, 0, 15, 0.78) !important;
    color: var(--page-glow-1) !important;
    font-size: 3.1rem !important;
    line-height: 1 !important;
    z-index: 10 !important;
    box-shadow:
        0 0 16px rgba(255, 215, 0, 0.28),
        0 0 28px rgba(0, 0, 0, 0.65) !important;
}

.page-home .homepage-media-carousel .carousel-button:hover {
    background: rgba(255, 215, 0, 0.16) !important;
    transform: translateY(-50%) scale(1.06) !important;
    box-shadow:
        0 0 18px rgba(255, 215, 0, 0.78),
        0 0 38px rgba(255, 176, 0, 0.38) !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 18px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 18px !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 15px 0 0 !important;
    background: transparent !important;
}

.page-home .homepage-media-carousel .carousel-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255, 215, 0, 0.75) !important;
    background: rgba(255, 255, 255, 0.12) !important;
    opacity: 0.72 !important;
}

.page-home .homepage-media-carousel .carousel-dot.active {
    width: 13px !important;
    height: 13px !important;
    opacity: 1 !important;
    background: var(--page-glow-1) !important;
    box-shadow:
        0 0 10px var(--page-glow-1),
        0 0 22px var(--page-glow-2) !important;
}

@media (max-width: 1000px) {
    .page-home .homepage-media-carousel {
        width: 96% !important;
        padding: 22px 54px 20px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 18px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        flex-basis: clamp(280px, 58vw, 560px) !important;
    }

    .page-home .homepage-media-carousel .carousel-button {
        width: 52px !important;
        height: 52px !important;
        font-size: 2.45rem !important;
    }

    .page-home .homepage-media-carousel .carousel-button.prev {
        left: 12px !important;
    }

    .page-home .homepage-media-carousel .carousel-button.next {
        right: 12px !important;
    }
}

@media (max-width: 800px) {
    .page-home .homepage-media-carousel {
        width: 94% !important;
        padding: 18px 40px 18px !important;
        border-radius: 22px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 14px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        flex-basis: 82vw !important;
        transform: scale(0.92) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform: scale(1) !important;
    }

    .page-home .homepage-media-carousel .media-slide:hover,
    .page-home .homepage-media-carousel .media-slide:focus-visible {
        transform: scale(1.01) !important;
    }

    .page-home .homepage-media-carousel .carousel-button {
        width: 42px !important;
        height: 42px !important;
        font-size: 1.9rem !important;
    }

    .page-home .homepage-media-carousel .carousel-dot {
        width: 8px !important;
        height: 8px !important;
    }

    .page-home .homepage-media-carousel .carousel-dot.active {
        width: 10px !important;
        height: 10px !important;
    }
}



/* =========================
   HOMEPAGE PLAYLIST SHOWCASE POLISH - V26
   Larger neighboring cards, stronger active-card glow, better spacing, and smoother selection.
========================= */

.page-home .homepage-media-carousel {
    width: min(98%, 1360px) !important;
    max-width: 1360px !important;
    padding: 34px 58px 28px !important;
    min-height: 360px !important;
    border-color: rgba(255, 215, 0, 0.72) !important;
    box-shadow:
        inset 0 0 22px rgba(255, 215, 0, 0.12),
        0 0 30px rgba(255, 215, 0, 0.18),
        0 26px 48px rgba(0, 0, 0, 0.48) !important;
}

.page-home .homepage-media-carousel .carousel-track {
    gap: 30px !important;
    padding: 16px 0 18px !important;
}

.page-home .homepage-media-carousel .media-slide {
    flex: 0 0 clamp(310px, 42vw, 590px) !important;
    opacity: 0.50 !important;
    transform: scale(0.92) !important;
    filter: brightness(0.76) saturate(0.92) !important;
}

.page-home .homepage-media-carousel .media-slide.is-neighbor {
    opacity: 0.82 !important;
    transform: scale(0.98) !important;
    filter: brightness(0.90) saturate(1.02) !important;
}

.page-home .homepage-media-carousel .media-slide.is-active {
    opacity: 1 !important;
    transform: scale(1.075) !important;
    filter: brightness(1.04) saturate(1.10) !important;
    border-color: rgba(255, 215, 0, 1) !important;
    animation: activePlaylistPulse 0.48s ease both;
    box-shadow:
        0 0 0 2px rgba(255, 215, 0, 0.95),
        0 0 32px rgba(255, 215, 0, 0.62),
        0 0 76px rgba(255, 176, 0, 0.34),
        0 24px 46px rgba(0, 0, 0, 0.55) !important;
}

@keyframes activePlaylistPulse {
    0% {
        opacity: 0.86;
        transform: scale(1.02);
        filter: brightness(0.94) saturate(1.02);
    }
    100% {
        opacity: 1;
        transform: scale(1.075);
        filter: brightness(1.04) saturate(1.10);
    }
}

.page-home .homepage-media-carousel .media-slide:hover,
.page-home .homepage-media-carousel .media-slide:focus-visible {
    transform: scale(1.09) !important;
    filter: brightness(1.11) saturate(1.14) !important;
    box-shadow:
        0 0 0 2px rgba(255, 215, 0, 1),
        0 0 36px rgba(255, 215, 0, 0.78),
        0 0 84px rgba(255, 176, 0, 0.40),
        0 26px 48px rgba(0, 0, 0, 0.58) !important;
}

.page-home .homepage-media-carousel .carousel-button {
    width: 62px !important;
    height: 62px !important;
    background: rgba(5, 0, 15, 0.84) !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 8px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 8px !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    gap: 12px !important;
    padding-top: 18px !important;
}

.page-home .homepage-media-carousel .carousel-dot {
    width: 9px !important;
    height: 9px !important;
    opacity: 0.58 !important;
}

.page-home .homepage-media-carousel .carousel-dot.active {
    width: 14px !important;
    height: 14px !important;
    opacity: 1 !important;
}

@media (max-width: 1000px) {
    .page-home .homepage-media-carousel {
        width: 98% !important;
        padding: 30px 44px 26px !important;
        min-height: 315px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 24px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        flex-basis: clamp(300px, 50vw, 520px) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-neighbor {
        transform: scale(0.96) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform: scale(1.055) !important;
    }

    .page-home .homepage-media-carousel .media-slide:hover,
    .page-home .homepage-media-carousel .media-slide:focus-visible {
        transform: scale(1.065) !important;
    }
}

@media (max-width: 800px) {
    .page-home .homepage-media-carousel {
        width: 96% !important;
        padding: 22px 32px 22px !important;
        min-height: auto !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 16px !important;
        padding: 8px 0 12px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        flex-basis: 82vw !important;
        transform: scale(0.94) !important;
        opacity: 0.62 !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform: scale(1) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-neighbor {
        transform: scale(0.94) !important;
    }

    .page-home .homepage-media-carousel .media-slide:hover,
    .page-home .homepage-media-carousel .media-slide:focus-visible {
        transform: scale(1.01) !important;
    }
}


/* =========================
   HOMEPAGE FINAL POLISH - V27
   Fixes clipped Best Of banner and gives the playlist showcase more vertical breathing room.
========================= */

/* Keep the Best Of graphic wide, but not edge-to-edge, so it no longer clips. */
.page-home .homepage-bestof-title-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 34px !important;
    padding: 0 0 !important;
    overflow: visible !important;
    text-align: center !important;
}

.page-home .homepage-bestof-title {
    display: block !important;
    width: min(94%, 1220px) !important;
    max-width: 1220px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    transform: none !important;
    transform-origin: center center !important;
}

/* Let the section breathe while keeping the carousel centered. */
.page-home #best-media.homepage-bestof-section,
.page-home .homepage-bestof-section {
    overflow: visible !important;
}

/* Taller showcase frame: the cards stay proportional, but the carousel no longer feels cramped. */
.page-home .homepage-media-carousel {
    width: min(96%, 1320px) !important;
    max-width: 1320px !important;
    min-height: 420px !important;
    padding: 50px 70px 46px !important;
    overflow: hidden !important;
}

.page-home .homepage-media-carousel .carousel-track {
    padding: 10px 0 22px !important;
    align-items: center !important;
}

/* Keep artwork aspect ratio; do not stretch or crop the thumbnails. */
.page-home .homepage-media-carousel .media-slide,
.page-home .homepage-media-carousel .media-slide.is-neighbor,
.page-home .homepage-media-carousel .media-slide.is-active {
    aspect-ratio: 16 / 9 !important;
}

.page-home .homepage-media-carousel .media-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Move dots lower so they are not crowding the cards. */
.page-home .homepage-media-carousel .carousel-dots {
    padding-top: 28px !important;
    margin-top: 2px !important;
}

/* Recenter arrows on the artwork area inside the taller frame. */
.page-home .homepage-media-carousel .carousel-button {
    top: 48% !important;
}

@media (max-width: 1000px) {
    .page-home .homepage-bestof-title {
        width: min(94%, 1120px) !important;
    }

    .page-home .homepage-media-carousel {
        min-height: 380px !important;
        padding: 42px 48px 40px !important;
    }

    .page-home .homepage-media-carousel .carousel-dots {
        padding-top: 22px !important;
    }
}

@media (max-width: 800px) {
    .page-home .homepage-bestof-title-wrap {
        margin-bottom: 26px !important;
    }

    .page-home .homepage-bestof-title {
        width: 94% !important;
    }

    .page-home .homepage-media-carousel {
        min-height: auto !important;
        padding: 28px 32px 30px !important;
    }

    .page-home .homepage-media-carousel .carousel-dots {
        padding-top: 18px !important;
    }
}


/* =========================
   HOMEPAGE FINAL CAROUSEL POLISH - V28
   Bigger focused card, softer side-card crop, gentle active glow, stronger nav-logo balance,
   and subtle carousel edge fades.
========================= */

/* Navigation balance: make the corner logos anchor the header better. */
.hero-bar {
    grid-template-columns: 128px minmax(0, 1fr) 128px !important;
    column-gap: 16px !important;
}

.hero-logo,
.hero-logo-right {
    justify-content: center !important;
}

.hero-logo img,
.hero-logo-right img {
    width: 104px !important;
}

.hero-title img {
    width: min(96%, 1040px) !important;
}

/* Keep the Best Of banner clean and unclipped. */
.page-home .homepage-bestof-title {
    width: min(93%, 1200px) !important;
    object-fit: contain !important;
}

/* Premium streaming-style carousel polish. */
.page-home .homepage-media-carousel {
    position: relative !important;
    padding-left: 76px !important;
    padding-right: 76px !important;
}

/* Soft edge fades to imply more cards beyond the visible area. */
.page-home .homepage-media-carousel::before,
.page-home .homepage-media-carousel::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 76px !important;
    pointer-events: none !important;
    z-index: 6 !important;
}

.page-home .homepage-media-carousel::before {
    left: 0 !important;
    background: linear-gradient(90deg, rgba(5, 0, 15, 0.96), rgba(5, 0, 15, 0.45), transparent) !important;
}

.page-home .homepage-media-carousel::after {
    right: 0 !important;
    background: linear-gradient(270deg, rgba(5, 0, 15, 0.96), rgba(5, 0, 15, 0.45), transparent) !important;
}

/* Slightly narrower base card lets more of the side cards show. */
.page-home .homepage-media-carousel .media-slide {
    flex-basis: clamp(300px, 39vw, 560px) !important;
    opacity: 0.56 !important;
    transform: scale(0.92) !important;
    filter: brightness(0.72) saturate(0.92) !important;
}

/* Neighbor cards are easier to identify, not overly cropped or too dim. */
.page-home .homepage-media-carousel .media-slide.is-neighbor {
    opacity: 0.86 !important;
    transform: scale(0.99) !important;
    filter: brightness(0.92) saturate(1.05) !important;
}

/* Center card gets a little more dominance and a gentle living glow. */
.page-home .homepage-media-carousel .media-slide.is-active {
    transform: scale(1.13) !important;
    opacity: 1 !important;
    filter: brightness(1.06) saturate(1.13) !important;
    animation: activePlaylistBreath 5s ease-in-out infinite !important;
    box-shadow:
        0 0 0 2px rgba(255, 215, 0, 1),
        0 0 34px rgba(255, 215, 0, 0.66),
        0 0 78px rgba(255, 176, 0, 0.38),
        0 26px 50px rgba(0, 0, 0, 0.58) !important;
}

@keyframes activePlaylistBreath {
    0%, 100% {
        box-shadow:
            0 0 0 2px rgba(255, 215, 0, 0.94),
            0 0 26px rgba(255, 215, 0, 0.52),
            0 0 58px rgba(255, 176, 0, 0.24),
            0 26px 50px rgba(0, 0, 0, 0.56);
        filter: brightness(1.03) saturate(1.08);
    }
    50% {
        box-shadow:
            0 0 0 2px rgba(255, 215, 0, 1),
            0 0 42px rgba(255, 215, 0, 0.78),
            0 0 92px rgba(255, 176, 0, 0.42),
            0 28px 54px rgba(0, 0, 0, 0.60);
        filter: brightness(1.10) saturate(1.16);
    }
}

.page-home .homepage-media-carousel .media-slide:hover,
.page-home .homepage-media-carousel .media-slide:focus-visible {
    transform: scale(1.145) !important;
    animation-play-state: paused !important;
    filter: brightness(1.14) saturate(1.18) !important;
    box-shadow:
        0 0 0 2px rgba(255, 215, 0, 1),
        0 0 46px rgba(255, 215, 0, 0.84),
        0 0 100px rgba(255, 176, 0, 0.46),
        0 28px 56px rgba(0, 0, 0, 0.62) !important;
}

/* Give the larger active card enough room to breathe. */
.page-home .homepage-media-carousel .carousel-track {
    gap: 34px !important;
    padding-top: 20px !important;
    padding-bottom: 28px !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    padding-top: 30px !important;
}

.page-home .homepage-media-carousel .carousel-button {
    z-index: 12 !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 16px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 16px !important;
}

@media (max-width: 1000px) {
    .hero-bar {
        grid-template-columns: 104px minmax(0, 1fr) 104px !important;
    }

    .hero-logo img,
    .hero-logo-right img {
        width: 86px !important;
    }

    .page-home .homepage-media-carousel {
        padding-left: 52px !important;
        padding-right: 52px !important;
    }

    .page-home .homepage-media-carousel::before,
    .page-home .homepage-media-carousel::after {
        width: 52px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        flex-basis: clamp(290px, 48vw, 520px) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform: scale(1.08) !important;
    }

    .page-home .homepage-media-carousel .media-slide:hover,
    .page-home .homepage-media-carousel .media-slide:focus-visible {
        transform: scale(1.095) !important;
    }
}

@media (max-width: 800px) {
    .hero-bar {
        grid-template-columns: 62px minmax(0, 1fr) 62px !important;
        column-gap: 8px !important;
    }

    .hero-logo img,
    .hero-logo-right img {
        width: 56px !important;
    }

    .hero-title img {
        width: 100% !important;
    }

    .page-home .homepage-media-carousel {
        padding-left: 32px !important;
        padding-right: 32px !important;
    }

    .page-home .homepage-media-carousel::before,
    .page-home .homepage-media-carousel::after {
        width: 32px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        flex-basis: 82vw !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform: scale(1.02) !important;
    }

    .page-home .homepage-media-carousel .media-slide:hover,
    .page-home .homepage-media-carousel .media-slide:focus-visible {
        transform: scale(1.03) !important;
    }
}


/* =========================
   HOMEPAGE CAROUSEL FINAL POLISH - V29
   More depth: larger selected card, darker inactive cards,
   wider spacing, stronger selected border, and larger active dot.
========================= */

.page-home .homepage-media-carousel {
    padding-left: 84px !important;
    padding-right: 84px !important;
}

.page-home .homepage-media-carousel::before,
.page-home .homepage-media-carousel::after {
    width: 84px !important;
}

.page-home .homepage-media-carousel .carousel-track {
    gap: 46px !important;
    padding-top: 32px !important;
    padding-bottom: 34px !important;
}

.page-home .homepage-media-carousel .media-slide {
    opacity: 0.42 !important;
    transform: scale(0.86) !important;
    filter: brightness(0.58) saturate(0.82) !important;
}

.page-home .homepage-media-carousel .media-slide.is-neighbor {
    opacity: 0.72 !important;
    transform: scale(0.91) !important;
    filter: brightness(0.72) saturate(0.96) !important;
}

.page-home .homepage-media-carousel .media-slide.is-active {
    transform: translateY(-8px) scale(1.18) !important;
    opacity: 1 !important;
    filter: brightness(1.09) saturate(1.16) !important;
    border-color: rgba(255, 230, 90, 1) !important;
    animation: activePlaylistBreathV29 5.2s ease-in-out infinite !important;
    box-shadow:
        0 0 0 3px rgba(255, 215, 0, 1),
        0 0 42px rgba(255, 215, 0, 0.78),
        0 0 94px rgba(255, 176, 0, 0.42),
        0 34px 62px rgba(0, 0, 0, 0.64) !important;
}

@keyframes activePlaylistBreathV29 {
    0%, 100% {
        box-shadow:
            0 0 0 3px rgba(255, 215, 0, 0.92),
            0 0 32px rgba(255, 215, 0, 0.58),
            0 0 72px rgba(255, 176, 0, 0.30),
            0 32px 58px rgba(0, 0, 0, 0.60);
        filter: brightness(1.05) saturate(1.10);
    }
    50% {
        box-shadow:
            0 0 0 3px rgba(255, 235, 120, 1),
            0 0 52px rgba(255, 215, 0, 0.88),
            0 0 112px rgba(255, 176, 0, 0.50),
            0 36px 68px rgba(0, 0, 0, 0.66);
        filter: brightness(1.13) saturate(1.20);
    }
}

.page-home .homepage-media-carousel .media-slide:hover,
.page-home .homepage-media-carousel .media-slide:focus-visible {
    transform: translateY(-8px) scale(1.19) !important;
    animation-play-state: paused !important;
    filter: brightness(1.16) saturate(1.22) !important;
    border-color: rgba(255, 235, 120, 1) !important;
    box-shadow:
        0 0 0 3px rgba(255, 235, 120, 1),
        0 0 56px rgba(255, 215, 0, 0.92),
        0 0 118px rgba(255, 176, 0, 0.54),
        0 36px 70px rgba(0, 0, 0, 0.68) !important;
}

.page-home .homepage-media-carousel .carousel-dot.active {
    width: 15px !important;
    height: 15px !important;
    transform: translateY(1px) scale(1.18) !important;
    box-shadow:
        0 0 13px var(--page-glow-1),
        0 0 26px var(--page-glow-2) !important;
}

@media (max-width: 1000px) {
    .page-home .homepage-media-carousel {
        padding-left: 58px !important;
        padding-right: 58px !important;
    }

    .page-home .homepage-media-carousel::before,
    .page-home .homepage-media-carousel::after {
        width: 58px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 34px !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform: translateY(-6px) scale(1.10) !important;
    }

    .page-home .homepage-media-carousel .media-slide:hover,
    .page-home .homepage-media-carousel .media-slide:focus-visible {
        transform: translateY(-6px) scale(1.115) !important;
    }
}

@media (max-width: 800px) {
    .page-home .homepage-media-carousel {
        padding-left: 34px !important;
        padding-right: 34px !important;
    }

    .page-home .homepage-media-carousel::before,
    .page-home .homepage-media-carousel::after {
        width: 34px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        gap: 20px !important;
        padding-top: 18px !important;
        padding-bottom: 24px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        flex-basis: 84vw !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform: translateY(-4px) scale(1.04) !important;
    }

    .page-home .homepage-media-carousel .media-slide:hover,
    .page-home .homepage-media-carousel .media-slide:focus-visible {
        transform: translateY(-4px) scale(1.05) !important;
    }
}

/* =========================
   HOMEPAGE CAROUSEL CENTERING + VISIBILITY POLISH - V30
   Keeps the active card visually centered, brightens side cards, and smooths the active glow.
========================= */

.page-home .homepage-media-carousel .media-slide {
    opacity: 0.52 !important;
    filter: brightness(0.66) saturate(0.90) !important;
}

.page-home .homepage-media-carousel .media-slide.is-neighbor {
    opacity: 0.84 !important;
    filter: brightness(0.82) saturate(1.02) !important;
}

.page-home .homepage-media-carousel .media-slide.is-active {
    animation: activePlaylistBreathV30 3s ease-in-out infinite !important;
    transform: translateY(-8px) scale(1.18) !important;
}

@keyframes activePlaylistBreathV30 {
    0%, 100% {
        box-shadow:
            0 0 0 3px rgba(255, 215, 0, 0.92),
            0 0 34px rgba(255, 215, 0, 0.58),
            0 0 76px rgba(255, 176, 0, 0.32),
            0 32px 58px rgba(0, 0, 0, 0.60);
        filter: brightness(1.06) saturate(1.12);
    }

    50% {
        box-shadow:
            0 0 0 3px rgba(255, 235, 120, 1),
            0 0 54px rgba(255, 215, 0, 0.86),
            0 0 116px rgba(255, 176, 0, 0.50),
            0 36px 68px rgba(0, 0, 0, 0.66);
        filter: brightness(1.13) saturate(1.20);
    }
}

.page-home .homepage-media-carousel .media-slide:hover,
.page-home .homepage-media-carousel .media-slide:focus-visible {
    transform: translateY(-8px) scale(1.19) !important;
    filter: brightness(1.16) saturate(1.22) !important;
}

.page-home .homepage-media-carousel .carousel-track {
    gap: 50px !important;
}

@media (max-width: 1000px) {
    .page-home .homepage-media-carousel .media-slide.is-neighbor {
        opacity: 0.84 !important;
        filter: brightness(0.82) saturate(1.02) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform: translateY(-6px) scale(1.10) !important;
    }

    .page-home .homepage-media-carousel .media-slide:hover,
    .page-home .homepage-media-carousel .media-slide:focus-visible {
        transform: translateY(-6px) scale(1.115) !important;
    }
}

@media (max-width: 800px) {
    .page-home .homepage-media-carousel .media-slide {
        opacity: 0.82 !important;
        filter: brightness(0.84) saturate(1) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform: translateY(-4px) scale(1.04) !important;
    }

    .page-home .homepage-media-carousel .media-slide:hover,
    .page-home .homepage-media-carousel .media-slide:focus-visible {
        transform: translateY(-4px) scale(1.05) !important;
    }
}


/* =========================
   FOLLOW PAGE POLISH - V31
   Clean one-row social media cards, platform glows, feature strip,
   and compact responsive layout.
========================= */

.follow-hub {
    max-width: 1180px;
    margin: 0 auto 36px;
}

.follow-heading-card {
    width: min(92%, 980px);
    margin: 0 auto 28px;
    padding: 26px 28px 24px;
    text-align: center;
    border: 1px solid rgba(255, 77, 255, 0.55);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255, 77, 255, 0.10), rgba(0, 0, 0, 0.02)),
        rgba(12, 0, 24, 0.70);
    box-shadow:
        0 0 24px rgba(0, 0, 0, 0.45),
        0 0 28px rgba(255, 77, 255, 0.18);
}

.follow-heading-card h1 {
    margin-bottom: 8px;
    font-size: clamp(1.45rem, 3vw, 2.5rem);
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    text-shadow:
        0 0 10px var(--page-glow-1),
        0 0 24px var(--page-glow-2);
}

.follow-heading-card p {
    max-width: 760px;
    margin: 0 auto;
    color: var(--text-soft);
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
}

.follow-social-grid {
    width: min(96%, 1120px);
    margin: 0 auto 28px;
    display: grid;
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    gap: 16px;
    align-items: stretch;
}

.follow-card {
    position: relative;
    min-height: 185px;
    padding: 22px 14px 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.12), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(0, 0, 0, 0.20)),
        rgba(8, 0, 18, 0.76);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.42);
    transition:
        transform 0.24s ease,
        border-color 0.24s ease,
        box-shadow 0.24s ease,
        filter 0.24s ease;
}

.follow-card::before {
    content: "";
    position: absolute;
    inset: -1px;
    opacity: 0.24;
    background: radial-gradient(circle at 50% 20%, var(--platform-glow, var(--page-glow-1)), transparent 44%);
    pointer-events: none;
}

.follow-card:hover {
    transform: translateY(-4px) scale(1.025);
    border-color: var(--platform-glow, var(--page-glow-1));
    filter: brightness(1.08) saturate(1.12);
    box-shadow:
        0 0 18px rgba(0, 0, 0, 0.55),
        0 0 18px var(--platform-glow, var(--page-glow-1)),
        0 0 38px color-mix(in srgb, var(--platform-glow, var(--page-glow-1)) 58%, transparent);
}

.follow-icon-wrap {
    position: relative;
    z-index: 1;
    width: 84px;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.follow-icon-wrap img {
    width: 76px;
    height: 76px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 0 10px rgba(255,255,255,0.12));
    transition: transform 0.24s ease, filter 0.24s ease;
}

.follow-card:hover .follow-icon-wrap img {
    transform: scale(1.07);
    filter:
        drop-shadow(0 0 10px var(--platform-glow, var(--page-glow-1)))
        drop-shadow(0 0 22px color-mix(in srgb, var(--platform-glow, var(--page-glow-1)) 70%, transparent));
}

.follow-card-title,
.follow-card-subtitle {
    position: relative;
    z-index: 1;
    text-align: center;
}

.follow-card-title {
    color: #ffffff;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1rem;
    text-shadow: 0 0 10px var(--platform-glow, var(--page-glow-1));
}

.follow-card-subtitle {
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.25;
    max-width: 150px;
}

.follow-youtube { --platform-glow: #ff1f1f; }
.follow-instagram { --platform-glow: #ff4dff; }
.follow-facebook { --platform-glow: #4c8dff; }
.follow-tiktok { --platform-glow: #00f5ff; }
.follow-x { --platform-glow: #f5f5f5; }

.follow-feature-strip {
    width: min(92%, 980px);
    margin: 0 auto 24px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(255, 77, 255, 0.42);
    border-radius: 18px;
    background: rgba(8, 0, 18, 0.62);
    box-shadow: inset 0 0 26px rgba(255, 77, 255, 0.08);
}

.follow-feature {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
    text-align: center;
}

.follow-feature span {
    color: var(--page-glow-1);
    text-shadow: 0 0 10px var(--page-glow-1);
}

.follow-feature strong {
    color: #ffffff;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.follow-email-card {
    width: min(92%, 640px);
    margin: 0 auto;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    border: 1px solid rgba(255, 77, 255, 0.55);
    border-radius: 18px;
    background: rgba(8, 0, 18, 0.68);
    box-shadow: 0 0 20px rgba(255, 77, 255, 0.12);
    transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.follow-email-card:hover {
    transform: scale(1.015);
    border-color: var(--page-glow-1);
    box-shadow:
        0 0 18px var(--page-glow-1),
        0 0 34px rgba(255, 77, 255, 0.34);
}

.follow-email-icon {
    font-size: 2.4rem;
    line-height: 1;
    color: var(--page-glow-1);
    text-shadow: 0 0 12px var(--page-glow-1), 0 0 24px var(--page-glow-2);
}

.follow-email-card strong,
.follow-email-card small {
    display: block;
}

.follow-email-card strong {
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 2px;
}

.follow-email-card small {
    color: var(--text-muted);
    font-size: 0.82rem;
}

@media (max-width: 900px) {
    .follow-social-grid {
        grid-template-columns: repeat(3, 1fr);
        max-width: 720px;
    }

    .follow-feature-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .follow-feature:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .follow-heading-card {
        width: 94%;
        padding: 20px 16px 18px;
        border-radius: 18px;
    }

    .follow-social-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        width: 94%;
    }

    .follow-card {
        min-height: 150px;
        padding: 18px 10px 14px;
        border-radius: 18px;
    }

    .follow-icon-wrap {
        width: 64px;
        height: 64px;
    }

    .follow-icon-wrap img {
        width: 58px;
        height: 58px;
    }

    .follow-card-title {
        font-size: 0.86rem;
    }

    .follow-card-subtitle {
        font-size: 0.70rem;
    }

    .follow-feature-strip {
        grid-template-columns: 1fr;
        padding: 12px;
    }

    .follow-feature:last-child {
        grid-column: auto;
    }

    .follow-email-card {
        width: 94%;
        padding: 14px;
        align-items: flex-start;
    }

    .follow-email-icon {
        font-size: 2rem;
    }
}


/* =========================
   TEAM ROSTER SHOWCASE CAROUSEL - V32
   Vertical player-card carousel inspired by the homepage media showcase.
========================= */

.page-team main.team-roster-main {
    padding-top: 28px !important;
    padding-bottom: 44px !important;
    background:
        radial-gradient(circle at 50% 12%, rgba(255, 0, 255, 0.16), transparent 42%),
        radial-gradient(circle at 18% 40%, rgba(176, 0, 255, 0.15), transparent 34%),
        radial-gradient(circle at 82% 42%, rgba(255, 215, 0, 0.10), transparent 34%),
        linear-gradient(180deg, rgba(18, 0, 40, 0.80), rgba(5, 0, 15, 0.92));
}

.team-roster-section {
    margin-bottom: 0 !important;
}

.roster-title-block {
    width: min(92%, 1180px);
    margin: 0 auto 22px;
    text-align: center;
    padding: 10px 16px 14px;
    position: relative;
}

.roster-title-block::before,
.roster-title-block::after {
    content: "";
    position: absolute;
    top: 50%;
    width: min(22vw, 230px);
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--page-glow-1), var(--page-glow-2), transparent);
    box-shadow: 0 0 14px var(--page-glow-2);
}

.roster-title-block::before {
    left: 0;
}

.roster-title-block::after {
    right: 0;
}

.roster-title-block h1 {
    display: inline-block;
    position: relative;
    z-index: 2;
    margin: 0 auto 6px;
    padding: 10px 36px;
    font-size: clamp(2rem, 4vw, 4.8rem);
    line-height: 1;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 4px;
    background: rgba(5, 0, 15, 0.62);
    border: 1px solid rgba(255, 215, 0, 0.72);
    border-radius: 999px;
    box-shadow:
        inset 0 0 18px rgba(255, 215, 0, 0.20),
        0 0 22px rgba(255, 215, 0, 0.32),
        0 0 32px rgba(255, 0, 255, 0.36);
    text-shadow:
        0 0 10px #ffffff,
        0 0 18px var(--page-glow-2),
        0 0 34px var(--page-glow-1);
}

.roster-title-block p {
    color: #ffffff;
    font-size: clamp(0.86rem, 1.2vw, 1rem);
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 0 0 12px var(--page-glow-2);
}

.page-team .team-roster-carousel {
    width: min(100%, 1320px) !important;
    max-width: 1320px !important;
    min-height: clamp(430px, 42vw, 620px) !important;
    margin: 0 auto 28px !important;
    padding: 34px 48px 50px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 0, 255, 0.72) !important;
    border-radius: 28px !important;
    background:
        linear-gradient(180deg, rgba(255, 0, 255, 0.08), rgba(5, 0, 15, 0.64)),
        radial-gradient(circle at center, rgba(255, 215, 0, 0.11), transparent 52%),
        rgba(5, 0, 15, 0.82) !important;
    box-shadow:
        inset 0 0 28px rgba(255, 0, 255, 0.20),
        0 0 18px rgba(255, 0, 255, 0.30),
        0 0 32px rgba(0, 0, 0, 0.75) !important;
}

.page-team .team-roster-carousel::before,
.page-team .team-roster-carousel::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 13%;
    z-index: 4;
    pointer-events: none;
}

.page-team .team-roster-carousel::before {
    left: 0;
    background: linear-gradient(90deg, rgba(5, 0, 15, 0.96), transparent);
}

.page-team .team-roster-carousel::after {
    right: 0;
    background: linear-gradient(270deg, rgba(5, 0, 15, 0.96), transparent);
}

.page-team .team-roster-carousel .carousel-track {
    display: flex !important;
    align-items: center !important;
    gap: clamp(14px, 1.35vw, 24px) !important;
    width: max-content !important;
    padding: 16px 0 22px !important;
    transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1) !important;
    will-change: transform;
}

.page-team .team-roster-carousel .team-card-slide {
    flex: 0 0 clamp(130px, 13.4vw, 215px) !important;
    min-width: clamp(130px, 13.4vw, 215px) !important;
    max-width: clamp(130px, 13.4vw, 215px) !important;
    aspect-ratio: 2 / 3 !important;
    position: relative !important;
    display: block !important;
    border: 1px solid rgba(255, 0, 255, 0.62) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: rgba(5, 0, 15, 0.82) !important;
    opacity: 0.44 !important;
    filter: brightness(0.64) saturate(0.85) !important;
    transform: scale(0.82) !important;
    transform-origin: center center !important;
    transition:
        transform 0.55s ease,
        opacity 0.55s ease,
        filter 0.55s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease !important;
    box-shadow: 0 0 10px rgba(255, 0, 255, 0.18) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-neighbor {
    opacity: 0.86 !important;
    filter: brightness(0.88) saturate(1.05) !important;
    transform: scale(0.94) !important;
    border-color: rgba(255, 215, 0, 0.62) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    z-index: 3 !important;
    opacity: 1 !important;
    filter: brightness(1.08) saturate(1.22) !important;
    transform: translateY(-10px) scale(1.16) !important;
    border-color: #ff4dff !important;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.20),
        0 0 18px rgba(255, 215, 0, 0.72),
        0 0 34px rgba(255, 0, 255, 0.86),
        0 18px 44px rgba(0, 0, 0, 0.78) !important;
    animation: rosterActiveGlow 3.6s ease-in-out infinite;
}

@keyframes rosterActiveGlow {
    0%, 100% {
        box-shadow:
            0 0 0 2px rgba(255, 255, 255, 0.18),
            0 0 18px rgba(255, 215, 0, 0.64),
            0 0 34px rgba(255, 0, 255, 0.78),
            0 18px 44px rgba(0, 0, 0, 0.78);
    }
    50% {
        box-shadow:
            0 0 0 2px rgba(255, 255, 255, 0.28),
            0 0 28px rgba(255, 215, 0, 0.90),
            0 0 56px rgba(255, 0, 255, 1),
            0 22px 50px rgba(0, 0, 0, 0.84);
    }
}

.page-team .team-roster-carousel .team-card-slide:hover {
    filter: brightness(1.12) saturate(1.24) !important;
    border-color: #ffd700 !important;
    box-shadow:
        0 0 20px rgba(255, 215, 0, 0.88),
        0 0 38px rgba(255, 0, 255, 0.80) !important;
}

.page-team .team-roster-carousel .team-card-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.page-team .team-roster-carousel .carousel-button {
    z-index: 6 !important;
    width: 58px !important;
    height: 58px !important;
    border: none !important;
    background: rgba(5, 0, 15, 0.34) !important;
    color: #ffffff !important;
    font-size: 4.2rem !important;
    line-height: 1 !important;
    text-shadow:
        0 0 10px #ffffff,
        0 0 22px var(--page-glow-2),
        0 0 34px var(--page-glow-1) !important;
    box-shadow: none !important;
}

.page-team .team-roster-carousel .carousel-button:hover {
    transform: translateY(-50%) scale(1.12) !important;
    background: rgba(255, 0, 255, 0.12) !important;
}

.page-team .team-roster-carousel .carousel-button.prev {
    left: 12px !important;
}

.page-team .team-roster-carousel .carousel-button.next {
    right: 12px !important;
}

.page-team .team-roster-carousel .carousel-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 18px !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    padding: 0 !important;
    background: transparent !important;
    gap: 12px !important;
    z-index: 7 !important;
}

.page-team .team-roster-carousel .carousel-dot {
    width: 13px !important;
    height: 13px !important;
    border: 1px solid rgba(255, 255, 255, 0.38) !important;
    background: rgba(255, 255, 255, 0.34) !important;
    opacity: 0.8 !important;
}

.page-team .team-roster-carousel .carousel-dot.active {
    width: 18px !important;
    height: 18px !important;
    background: #ff4dff !important;
    border-color: #ffffff !important;
    opacity: 1 !important;
    box-shadow:
        0 0 12px #ffffff,
        0 0 22px #ff4dff !important;
}

.team-info-strip {
    width: min(92%, 1180px);
    margin: 20px auto 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 0, 255, 0.70);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255, 0, 255, 0.08), rgba(5, 0, 15, 0.74)),
        rgba(5, 0, 15, 0.86);
    box-shadow:
        inset 0 0 22px rgba(255, 0, 255, 0.20),
        0 0 22px rgba(255, 0, 255, 0.32);
}

.team-info-item {
    min-height: 118px;
    padding: 22px 14px;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    justify-content: center;
    column-gap: 12px;
    border-right: 1px solid rgba(255, 215, 0, 0.36);
    text-align: left;
}

.team-info-item:last-child {
    border-right: none;
}

.team-info-icon {
    grid-row: 1 / span 2;
    color: #ff4dff;
    font-size: clamp(1.9rem, 2.4vw, 2.65rem);
    text-shadow:
        0 0 12px #ff4dff,
        0 0 22px rgba(255, 255, 255, 0.5);
}

.team-info-item strong {
    color: #ff4dff;
    font-size: clamp(1.05rem, 1.5vw, 1.55rem);
    line-height: 1.05;
    text-transform: uppercase;
    text-shadow: 0 0 14px rgba(255, 0, 255, 0.75);
}

.team-info-item span:last-child {
    color: #ffffff;
    font-size: clamp(0.72rem, 0.9vw, 0.95rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

@media (max-width: 900px) {
    .roster-title-block::before,
    .roster-title-block::after {
        display: none;
    }

    .roster-title-block h1 {
        width: 100%;
        padding: 10px 16px;
        letter-spacing: 2px;
    }

    .page-team .team-roster-carousel {
        min-height: 455px !important;
        padding: 24px 34px 54px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: 44vw !important;
        min-width: 44vw !important;
        max-width: 44vw !important;
    }

    .team-info-strip {
        grid-template-columns: 1fr;
        width: min(94%, 520px);
    }

    .team-info-item {
        border-right: none;
        border-bottom: 1px solid rgba(255, 215, 0, 0.30);
        min-height: 92px;
    }

    .team-info-item:last-child {
        border-bottom: none;
    }
}

@media (max-width: 560px) {
    .page-team .team-roster-carousel {
        min-height: 420px !important;
        padding: 20px 24px 54px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: 62vw !important;
        min-width: 62vw !important;
        max-width: 62vw !important;
    }

    .page-team .team-roster-carousel .carousel-button {
        width: 42px !important;
        height: 42px !important;
        font-size: 3rem !important;
    }
}


/* =========================
   TEAM ROSTER POLISH + LIGHTBOX - V33
   Replaces text roster title with graphic, shows more vertical cards,
   and lets every player card open in a full-screen viewer.
========================= */

.roster-graphic-block {
    width: min(94%, 1200px) !important;
    margin: 0 auto 22px !important;
    padding: 8px 10px 12px !important;
}

.roster-graphic-block::before,
.roster-graphic-block::after {
    display: none !important;
}

.roster-title-graphic {
    width: min(100%, 1120px);
    height: auto;
    display: block;
    margin: 0 auto 8px;
    filter:
        drop-shadow(0 0 10px #ffffff)
        drop-shadow(0 0 22px var(--page-glow-2))
        drop-shadow(0 0 34px var(--page-glow-1));
}

.roster-graphic-block p {
    margin-top: 6px !important;
    color: #ffffff !important;
    font-size: clamp(0.74rem, 0.95vw, 0.92rem) !important;
    letter-spacing: 1.6px !important;
}

.page-team .team-roster-carousel {
    width: min(100%, 1380px) !important;
    max-width: 1380px !important;
    min-height: clamp(450px, 39vw, 640px) !important;
    padding: 40px 58px 62px !important;
}

.page-team .team-roster-carousel .carousel-track {
    gap: clamp(8px, 0.8vw, 16px) !important;
    padding: 18px 0 26px !important;
}

.page-team .team-roster-carousel .team-card-slide {
    flex: 0 0 clamp(96px, 9.1vw, 160px) !important;
    min-width: clamp(96px, 9.1vw, 160px) !important;
    max-width: clamp(96px, 9.1vw, 160px) !important;
    cursor: pointer !important;
    opacity: 0.50 !important;
    filter: brightness(0.70) saturate(0.95) !important;
    transform: scale(0.82) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-neighbor {
    opacity: 0.90 !important;
    filter: brightness(0.92) saturate(1.10) !important;
    transform: scale(0.98) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    transform: translateY(-12px) scale(1.26) !important;
    filter: brightness(1.10) saturate(1.26) !important;
}

.page-team .team-roster-carousel .team-card-slide:hover {
    transform: translateY(-8px) scale(1.04) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
    transform: translateY(-14px) scale(1.30) !important;
}

.page-team .team-roster-carousel .carousel-button.prev {
    left: 18px !important;
}

.page-team .team-roster-carousel .carousel-button.next {
    right: 18px !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 24px !important;
    gap: 10px !important;
}

.player-card-lightbox {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 34px 86px;
    background:
        radial-gradient(circle at center, rgba(255, 0, 255, 0.18), transparent 42%),
        rgba(0, 0, 0, 0.90);
    backdrop-filter: blur(8px);
}

.player-card-lightbox.is-open {
    display: flex;
    animation: playerLightboxFade 0.22s ease-out both;
}

@keyframes playerLightboxFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

.player-lightbox-stage {
    position: relative;
    max-width: min(92vw, 760px);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.player-lightbox-image {
    max-width: min(86vw, 720px);
    max-height: 84vh;
    width: auto;
    height: auto;
    display: block;
    border-radius: 24px;
    filter:
        drop-shadow(0 0 14px rgba(255,255,255,0.40))
        drop-shadow(0 0 34px rgba(255,215,0,0.80))
        drop-shadow(0 0 54px rgba(255,0,255,0.80));
    animation: playerCardPop 0.26s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes playerCardPop {
    from { opacity: 0; transform: scale(0.94); }
    to { opacity: 1; transform: scale(1); }
}

.player-lightbox-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border-radius: 999px;
    border: 1px solid rgba(255, 215, 0, 0.72);
    color: #ffffff;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: rgba(5, 0, 15, 0.70);
    box-shadow: 0 0 18px rgba(255, 0, 255, 0.35);
}

.player-lightbox-open:hover {
    color: #ffd700;
    box-shadow:
        0 0 14px rgba(255, 215, 0, 0.72),
        0 0 26px rgba(255, 0, 255, 0.55);
}

.player-lightbox-close,
.player-lightbox-nav {
    position: absolute;
    z-index: 5010;
    border: none;
    background: rgba(5, 0, 15, 0.42);
    color: #ffffff;
    cursor: pointer;
    text-shadow:
        0 0 10px #ffffff,
        0 0 22px var(--page-glow-2),
        0 0 34px var(--page-glow-1);
}

.player-lightbox-close {
    top: 18px;
    right: 24px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    font-size: 3rem;
    line-height: 1;
}

.player-lightbox-nav {
    top: 50%;
    transform: translateY(-50%);
    width: 72px;
    height: 92px;
    border-radius: 22px;
    font-size: 5rem;
    line-height: 0.9;
}

.player-lightbox-prev {
    left: 18px;
}

.player-lightbox-next {
    right: 18px;
}

.player-lightbox-close:hover,
.player-lightbox-nav:hover {
    background: rgba(255, 0, 255, 0.16);
    color: #ffd700;
    transform: scale(1.06);
}

.player-lightbox-nav:hover {
    transform: translateY(-50%) scale(1.08);
}

body.lightbox-open {
    overflow: hidden;
}

@media (max-width: 900px) {
    .page-team .team-roster-carousel {
        min-height: 500px !important;
        padding: 28px 38px 60px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: 32vw !important;
        min-width: 32vw !important;
        max-width: 32vw !important;
    }

    .roster-title-graphic {
        width: min(100%, 860px);
    }

    .player-card-lightbox {
        padding: 28px 54px;
    }

    .player-lightbox-nav {
        width: 48px;
        height: 76px;
        font-size: 4rem;
    }
}

@media (max-width: 560px) {
    .page-team .team-roster-carousel {
        min-height: 450px !important;
        padding: 22px 24px 58px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: 54vw !important;
        min-width: 54vw !important;
        max-width: 54vw !important;
    }

    .player-card-lightbox {
        padding: 20px 18px 60px;
    }

    .player-lightbox-image {
        max-width: 92vw;
        max-height: 78vh;
        border-radius: 16px;
    }

    .player-lightbox-close {
        top: 10px;
        right: 10px;
        width: 44px;
        height: 44px;
        font-size: 2.4rem;
    }

    .player-lightbox-nav {
        top: auto;
        bottom: 10px;
        transform: none;
        width: 56px;
        height: 50px;
        font-size: 3.2rem;
    }

    .player-lightbox-prev {
        left: 20px;
    }

    .player-lightbox-next {
        right: 20px;
    }

    .player-lightbox-nav:hover {
        transform: scale(1.08);
    }
}

/* =========================
   TEAM PAGE FINAL ROSTER CAROUSEL POLISH - V34
   Removes roster subtitle text, makes player cards larger/taller,
   and improves full-screen card preview.
========================= */

.roster-graphic-block {
    margin: 0 auto 18px !important;
    padding: 8px 10px 8px !important;
}

.roster-graphic-block p {
    display: none !important;
}

.roster-title-graphic {
    width: min(96%, 1120px) !important;
    margin: 0 auto !important;
}

.page-team .team-roster-carousel {
    width: min(100%, 1420px) !important;
    max-width: 1420px !important;
    min-height: clamp(560px, 58vw, 760px) !important;
    margin: 0 auto 30px !important;
    padding: 54px 64px 78px !important;
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 50% 38%, rgba(255, 0, 255, 0.18), transparent 46%),
        radial-gradient(circle at 18% 18%, rgba(255, 215, 0, 0.08), transparent 32%),
        radial-gradient(circle at 82% 80%, rgba(176, 0, 255, 0.14), transparent 36%),
        linear-gradient(180deg, rgba(18, 0, 40, 0.82), rgba(5, 0, 15, 0.88)),
        rgba(5, 0, 15, 0.92) !important;
    box-shadow:
        inset 0 0 34px rgba(255, 0, 255, 0.26),
        0 0 20px rgba(255, 0, 255, 0.42),
        0 0 42px rgba(0, 0, 0, 0.82) !important;
}

.page-team .team-roster-carousel .carousel-track {
    min-height: clamp(420px, 46vw, 610px) !important;
    align-items: center !important;
    gap: clamp(16px, 1.2vw, 24px) !important;
    padding: 24px 0 34px !important;
}

.page-team .team-roster-carousel .team-card-slide {
    flex: 0 0 clamp(150px, 14vw, 230px) !important;
    min-width: clamp(150px, 14vw, 230px) !important;
    max-width: clamp(150px, 14vw, 230px) !important;
    aspect-ratio: 4 / 5 !important;
    border-radius: 20px !important;
    opacity: 0.46 !important;
    filter: brightness(0.62) saturate(0.86) !important;
    transform: scale(0.82) !important;
    background: transparent !important;
    overflow: visible !important;
    border: 1px solid rgba(255, 0, 255, 0.42) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-neighbor {
    opacity: 0.86 !important;
    filter: brightness(0.90) saturate(1.08) !important;
    transform: scale(1.03) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    transform: translateY(-16px) scale(1.38) !important;
    filter: brightness(1.12) saturate(1.28) !important;
    border-color: #ff4dff !important;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.24),
        0 0 20px rgba(255, 215, 0, 0.82),
        0 0 42px rgba(255, 0, 255, 0.96),
        0 24px 54px rgba(0, 0, 0, 0.86) !important;
}

.page-team .team-roster-carousel .team-card-slide:hover {
    transform: translateY(-10px) scale(1.08) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
    transform: translateY(-18px) scale(1.42) !important;
}

.page-team .team-roster-carousel .team-card-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 18px !important;
    display: block !important;
}

.page-team .team-roster-carousel .carousel-button {
    width: 64px !important;
    height: 76px !important;
    font-size: 5rem !important;
    background: rgba(5, 0, 15, 0.24) !important;
}

.page-team .team-roster-carousel .carousel-button.prev {
    left: 16px !important;
}

.page-team .team-roster-carousel .carousel-button.next {
    right: 16px !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 30px !important;
}

.player-card-lightbox {
    padding: 26px 82px !important;
    background:
        radial-gradient(circle at center, rgba(255, 0, 255, 0.22), transparent 42%),
        rgba(0, 0, 0, 0.88) !important;
}

.player-lightbox-stage {
    max-width: min(96vw, 1120px) !important;
    max-height: 96vh !important;
}

.player-lightbox-image {
    max-width: min(92vw, 1000px) !important;
    max-height: 91vh !important;
    border-radius: 26px !important;
    filter:
        drop-shadow(0 0 16px rgba(255,255,255,0.45))
        drop-shadow(0 0 40px rgba(255,215,0,0.88))
        drop-shadow(0 0 68px rgba(255,0,255,0.92)) !important;
}

.player-lightbox-open {
    padding: 11px 22px !important;
    font-size: 0.88rem !important;
}

.player-lightbox-close {
    top: 18px !important;
    right: 22px !important;
    background: rgba(255, 0, 255, 0.18) !important;
    box-shadow: 0 0 20px rgba(255, 0, 255, 0.50) !important;
}

.player-lightbox-prev {
    left: clamp(18px, 3vw, 58px) !important;
}

.player-lightbox-next {
    right: clamp(18px, 3vw, 58px) !important;
}

@media (max-width: 900px) {
    .page-team .team-roster-carousel {
        min-height: 560px !important;
        padding: 44px 42px 76px !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        min-height: 420px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: clamp(150px, 28vw, 210px) !important;
        min-width: clamp(150px, 28vw, 210px) !important;
        max-width: clamp(150px, 28vw, 210px) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform: translateY(-14px) scale(1.28) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active:hover {
        transform: translateY(-16px) scale(1.32) !important;
    }

    .player-lightbox-image {
        max-width: 90vw !important;
        max-height: 88vh !important;
    }
}

@media (max-width: 560px) {
    .page-team .team-roster-carousel {
        min-height: 520px !important;
        padding: 36px 28px 72px !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        min-height: 380px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: 58vw !important;
        min-width: 58vw !important;
        max-width: 58vw !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform: translateY(-10px) scale(1.12) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active:hover {
        transform: translateY(-12px) scale(1.15) !important;
    }

    .player-card-lightbox {
        padding: 18px 12px 64px !important;
    }

    .player-lightbox-image {
        max-width: 96vw !important;
        max-height: 84vh !important;
    }
}


/* =========================
   TEAM PAGE ROSTER CAROUSEL SIZE FIX - V35
   Makes the portrait player cards fill the carousel more like the concept.
========================= */

.page-team .team-roster-carousel {
    min-height: clamp(460px, 48vw, 620px) !important;
    padding: 34px 62px 70px !important;
    margin: 0 auto 26px !important;
}

.page-team .team-roster-carousel .carousel-track {
    min-height: clamp(330px, 36vw, 480px) !important;
    padding: 14px 0 30px !important;
    gap: clamp(20px, 1.55vw, 34px) !important;
}

.page-team .team-roster-carousel .team-card-slide {
    flex: 0 0 clamp(185px, 18.5vw, 290px) !important;
    min-width: clamp(185px, 18.5vw, 290px) !important;
    max-width: clamp(185px, 18.5vw, 290px) !important;
    aspect-ratio: 3 / 4 !important;
    opacity: 0.42 !important;
    filter: brightness(0.58) saturate(0.86) !important;
    transform: scale(0.78) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-neighbor {
    opacity: 0.88 !important;
    filter: brightness(0.90) saturate(1.08) !important;
    transform: scale(1.00) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    transform: translateY(-18px) scale(1.26) !important;
    filter: brightness(1.12) saturate(1.30) !important;
    z-index: 8 !important;
}

.page-team .team-roster-carousel .team-card-slide:hover {
    transform: translateY(-8px) scale(1.06) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
    transform: translateY(-20px) scale(1.30) !important;
}

.page-team .team-roster-carousel .team-card-slide img {
    object-fit: contain !important;
}

.page-team .team-roster-carousel .carousel-button {
    top: 48% !important;
    width: 66px !important;
    height: 86px !important;
    font-size: 5.5rem !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 24px !important;
}

.player-lightbox-image {
    max-width: min(94vw, 1120px) !important;
    max-height: 92vh !important;
}

@media (max-width: 900px) {
    .page-team .team-roster-carousel {
        min-height: 500px !important;
        padding: 32px 42px 70px !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        min-height: 360px !important;
        gap: 22px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: clamp(170px, 34vw, 250px) !important;
        min-width: clamp(170px, 34vw, 250px) !important;
        max-width: clamp(170px, 34vw, 250px) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform: translateY(-16px) scale(1.22) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active:hover {
        transform: translateY(-18px) scale(1.25) !important;
    }
}

@media (max-width: 560px) {
    .page-team .team-roster-carousel {
        min-height: 470px !important;
        padding: 28px 26px 66px !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        min-height: 330px !important;
        gap: 18px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: 64vw !important;
        min-width: 64vw !important;
        max-width: 64vw !important;
    }
}

/* =========================
   TEAM PAGE PLAYER CARD CAROUSEL FIX - V36
   Prevents hover/active cards from being clipped and gives portrait cards more height.
========================= */

.page-team .team-roster-carousel {
    min-height: clamp(560px, 58vw, 760px) !important;
    padding: clamp(58px, 5vw, 82px) 70px 92px !important;
    overflow: hidden !important;
}

.page-team .team-roster-carousel .carousel-track {
    min-height: clamp(430px, 45vw, 610px) !important;
    padding: 36px 0 42px !important;
    align-items: center !important;
    gap: clamp(18px, 1.65vw, 34px) !important;
    overflow: visible !important;
}

.page-team .team-roster-carousel .team-card-slide {
    flex: 0 0 clamp(165px, 15.5vw, 245px) !important;
    min-width: clamp(165px, 15.5vw, 245px) !important;
    max-width: clamp(165px, 15.5vw, 245px) !important;
    aspect-ratio: 2 / 3 !important;
    overflow: visible !important;
    border-radius: 22px !important;
    transform: scale(0.78) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-neighbor {
    transform: scale(0.98) !important;
    opacity: 0.88 !important;
    filter: brightness(0.92) saturate(1.10) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    transform: scale(1.24) !important;
    opacity: 1 !important;
    filter: brightness(1.13) saturate(1.30) !important;
    z-index: 9 !important;
}

.page-team .team-roster-carousel .team-card-slide:hover {
    transform: scale(1.03) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
    transform: scale(1.28) !important;
}

.page-team .team-roster-carousel .team-card-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    overflow: visible !important;
    border-radius: 20px !important;
}

.page-team .team-roster-carousel .carousel-button {
    top: 50% !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 32px !important;
}

@media (max-width: 900px) {
    .page-team .team-roster-carousel {
        min-height: 600px !important;
        padding: 56px 42px 88px !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        min-height: 450px !important;
        padding: 32px 0 42px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: clamp(155px, 30vw, 230px) !important;
        min-width: clamp(155px, 30vw, 230px) !important;
        max-width: clamp(155px, 30vw, 230px) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform: scale(1.20) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active:hover {
        transform: scale(1.23) !important;
    }
}

@media (max-width: 560px) {
    .page-team .team-roster-carousel {
        min-height: 560px !important;
        padding: 44px 28px 82px !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        min-height: 410px !important;
        gap: 18px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: 62vw !important;
        min-width: 62vw !important;
        max-width: 62vw !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform: scale(1.08) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active:hover {
        transform: scale(1.10) !important;
    }
}

/* =========================
   TEAM PAGE PLAYER CARD CAROUSEL POLISH - V37
   Lowers the roster cards, gives the active card more breathing room,
   increases card size/spacing, and prevents hover clipping.
========================= */

.page-team .team-roster-carousel {
    min-height: clamp(555px, 56vw, 735px) !important;
    padding: clamp(82px, 7vw, 112px) 78px 84px !important;
    overflow: visible !important;
}

.page-team .team-roster-carousel .carousel-track {
    min-height: clamp(390px, 42vw, 560px) !important;
    padding: 22px 0 34px !important;
    align-items: center !important;
    gap: clamp(32px, 2.5vw, 54px) !important;
    overflow: visible !important;
    transform: translateY(24px) !important;
}

.page-team .team-roster-carousel .team-card-slide {
    flex: 0 0 clamp(190px, 17.25vw, 275px) !important;
    min-width: clamp(190px, 17.25vw, 275px) !important;
    max-width: clamp(190px, 17.25vw, 275px) !important;
    aspect-ratio: 3 / 4 !important;
    overflow: visible !important;
    border-radius: 22px !important;
    transform: translateY(18px) scale(0.82) !important;
    transform-origin: center center !important;
}

.page-team .team-roster-carousel .team-card-slide.is-neighbor {
    transform: translateY(18px) scale(1.02) !important;
    opacity: 0.90 !important;
    filter: brightness(0.94) saturate(1.15) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    transform: translateY(20px) scale(1.30) !important;
    opacity: 1 !important;
    filter: brightness(1.16) saturate(1.34) !important;
    z-index: 12 !important;
    box-shadow:
        0 0 22px rgba(255, 0, 255, 0.90),
        0 0 48px rgba(255, 0, 255, 0.65),
        0 0 78px rgba(255, 211, 56, 0.42) !important;
}

.page-team .team-roster-carousel .team-card-slide:hover {
    transform: translateY(18px) scale(1.06) !important;
    z-index: 10 !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
    transform: translateY(20px) scale(1.32) !important;
}

.page-team .team-roster-carousel .team-card-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 20px !important;
    display: block !important;
}

.page-team .team-roster-carousel .carousel-button {
    top: 54% !important;
}

.page-team .team-roster-carousel .carousel-button.prev {
    left: 34px !important;
}

.page-team .team-roster-carousel .carousel-button.next {
    right: 34px !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 28px !important;
}

@media (max-width: 900px) {
    .page-team .team-roster-carousel {
        min-height: 610px !important;
        padding: 82px 48px 86px !important;
        overflow: visible !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        min-height: 430px !important;
        padding: 16px 0 34px !important;
        gap: 34px !important;
        transform: translateY(26px) !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: clamp(180px, 31vw, 245px) !important;
        min-width: clamp(180px, 31vw, 245px) !important;
        max-width: clamp(180px, 31vw, 245px) !important;
        aspect-ratio: 3 / 4 !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform: translateY(20px) scale(1.24) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active:hover {
        transform: translateY(20px) scale(1.26) !important;
    }
}

@media (max-width: 560px) {
    .page-team .team-roster-carousel {
        min-height: 560px !important;
        padding: 72px 30px 82px !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        min-height: 390px !important;
        gap: 22px !important;
        transform: translateY(20px) !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: 64vw !important;
        min-width: 64vw !important;
        max-width: 64vw !important;
        aspect-ratio: 3 / 4 !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform: translateY(12px) scale(1.10) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active:hover {
        transform: translateY(12px) scale(1.12) !important;
    }
}


/* =========================
   TEAM PAGE ROSTER CAROUSEL FIX - V38
   Keeps roster cards inside the page, prevents top clipping, and lowers the row
   without using transform on the track so JavaScript centering stays stable.
========================= */

.page-team .team-roster-carousel {
    position: relative !important;
    width: min(92%, 960px) !important;
    margin: 22px auto 28px !important;
    min-height: clamp(430px, 43vw, 560px) !important;
    padding: clamp(48px, 5vw, 72px) 68px 74px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.page-team .team-roster-carousel .carousel-track {
    position: relative !important;
    top: clamp(28px, 3.6vw, 52px) !important;
    min-height: clamp(280px, 31vw, 405px) !important;
    padding: 0 !important;
    gap: clamp(36px, 3vw, 56px) !important;
    align-items: center !important;
    overflow: visible !important;
    will-change: transform !important;
}

.page-team .team-roster-carousel .team-card-slide {
    flex: 0 0 clamp(155px, 13vw, 220px) !important;
    min-width: clamp(155px, 13vw, 220px) !important;
    max-width: clamp(155px, 13vw, 220px) !important;
    aspect-ratio: 3 / 4 !important;
    transform: scale(0.70) !important;
    transform-origin: center center !important;
    overflow: visible !important;
    opacity: 0.42 !important;
    filter: brightness(0.62) saturate(0.95) !important;
    z-index: 1 !important;
}

.page-team .team-roster-carousel .team-card-slide.is-neighbor {
    transform: scale(0.96) !important;
    opacity: 0.88 !important;
    filter: brightness(0.96) saturate(1.12) !important;
    z-index: 5 !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    transform: scale(1.28) !important;
    opacity: 1 !important;
    filter: brightness(1.15) saturate(1.28) !important;
    z-index: 12 !important;
    box-shadow:
        0 0 22px rgba(255, 0, 255, 0.95),
        0 0 48px rgba(255, 0, 255, 0.72),
        0 0 76px rgba(255, 211, 56, 0.38) !important;
}

.page-team .team-roster-carousel .team-card-slide:hover {
    transform: scale(1.00) !important;
    opacity: 1 !important;
    filter: brightness(1.08) saturate(1.2) !important;
    z-index: 10 !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
    transform: scale(1.30) !important;
}

.page-team .team-roster-carousel .team-card-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 20px !important;
}

.page-team .team-roster-carousel .carousel-button {
    top: 57% !important;
    z-index: 20 !important;
}

.page-team .team-roster-carousel .carousel-button.prev {
    left: 28px !important;
}

.page-team .team-roster-carousel .carousel-button.next {
    right: 28px !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 26px !important;
    z-index: 21 !important;
}

@media (max-width: 900px) {
    .page-team .team-roster-carousel {
        width: min(94%, 760px) !important;
        min-height: 420px !important;
        padding: 48px 52px 72px !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        top: 34px !important;
        min-height: 285px !important;
        gap: 34px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: clamp(145px, 25vw, 190px) !important;
        min-width: clamp(145px, 25vw, 190px) !important;
        max-width: clamp(145px, 25vw, 190px) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform: scale(1.22) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active:hover {
        transform: scale(1.24) !important;
    }
}

@media (max-width: 560px) {
    .page-team .team-roster-carousel {
        width: 94% !important;
        min-height: 470px !important;
        padding: 54px 36px 78px !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        top: 34px !important;
        min-height: 330px !important;
        gap: 24px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: 62vw !important;
        min-width: 62vw !important;
        max-width: 62vw !important;
        transform: scale(0.72) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-neighbor {
        transform: scale(0.86) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform: scale(1.04) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active:hover {
        transform: scale(1.06) !important;
    }
}


/* =========================
   TEAM PAGE ROSTER CAROUSEL CONTAINMENT FIX - V39
   Keeps the player-card carousel centered inside the page, removes the heavy
   dark edge crop, and raises the row slightly so the cards sit naturally.
========================= */

.page-team .team-roster-carousel {
    width: min(94%, 980px) !important;
    min-height: clamp(450px, 45vw, 590px) !important;
    padding: clamp(42px, 4.3vw, 60px) 66px 78px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.page-team .team-roster-carousel::before,
.page-team .team-roster-carousel::after {
    opacity: 0.30 !important;
    width: 70px !important;
    pointer-events: none !important;
}

.page-team .team-roster-carousel .carousel-track {
    top: clamp(8px, 1.6vw, 22px) !important;
    min-height: clamp(330px, 34vw, 455px) !important;
    padding: 0 !important;
    gap: clamp(30px, 2.4vw, 48px) !important;
    align-items: center !important;
    overflow: visible !important;
    will-change: transform !important;
}

.page-team .team-roster-carousel .team-card-slide {
    flex: 0 0 clamp(170px, 14.2vw, 230px) !important;
    min-width: clamp(170px, 14.2vw, 230px) !important;
    max-width: clamp(170px, 14.2vw, 230px) !important;
    aspect-ratio: 3 / 4 !important;
    transform: scale(0.74) !important;
    transform-origin: center center !important;
    overflow: visible !important;
    opacity: 0.50 !important;
    filter: brightness(0.72) saturate(1.0) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-neighbor {
    transform: scale(0.98) !important;
    opacity: 0.88 !important;
    filter: brightness(0.96) saturate(1.12) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    transform: scale(1.20) !important;
    opacity: 1 !important;
    filter: brightness(1.15) saturate(1.28) !important;
    z-index: 12 !important;
    box-shadow:
        0 0 22px rgba(255, 0, 255, 0.95),
        0 0 48px rgba(255, 0, 255, 0.72),
        0 0 76px rgba(255, 211, 56, 0.38) !important;
}

.page-team .team-roster-carousel .team-card-slide:hover {
    transform: scale(1.02) !important;
    opacity: 1 !important;
    filter: brightness(1.08) saturate(1.2) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
    transform: scale(1.22) !important;
}

.page-team .team-roster-carousel .carousel-button {
    top: 52% !important;
    z-index: 25 !important;
}

.page-team .team-roster-carousel .carousel-button.prev {
    left: 24px !important;
}

.page-team .team-roster-carousel .carousel-button.next {
    right: 24px !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 24px !important;
    z-index: 25 !important;
}

@media (max-width: 900px) {
    .page-team .team-roster-carousel {
        width: min(94%, 760px) !important;
        min-height: 450px !important;
        padding: 44px 46px 76px !important;
    }

    .page-team .team-roster-carousel::before,
    .page-team .team-roster-carousel::after {
        width: 50px !important;
        opacity: 0.24 !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        top: 14px !important;
        min-height: 330px !important;
        gap: 28px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: clamp(150px, 27vw, 205px) !important;
        min-width: clamp(150px, 27vw, 205px) !important;
        max-width: clamp(150px, 27vw, 205px) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform: scale(1.16) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active:hover {
        transform: scale(1.18) !important;
    }
}

@media (max-width: 560px) {
    .page-team .team-roster-carousel {
        width: 94% !important;
        min-height: 500px !important;
        padding: 48px 34px 78px !important;
    }

    .page-team .team-roster-carousel .carousel-track {
        top: 18px !important;
        min-height: 360px !important;
        gap: 24px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        flex-basis: 62vw !important;
        min-width: 62vw !important;
        max-width: 62vw !important;
        transform: scale(0.72) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-neighbor {
        transform: scale(0.86) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform: scale(1.02) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active:hover {
        transform: scale(1.04) !important;
    }
}


/* =========================
   TEAM ROSTER CAROUSEL FINAL POLISH - V40
   Wider homepage-style carousel with absolute-positioned player cards.
   This prevents drift, shows more vertical cards, and keeps the active card centered.
========================= */

.page-team .team-roster-carousel {
    width: min(94%, 1320px) !important;
    max-width: 1320px !important;
    min-height: clamp(430px, 48vw, 560px) !important;
    height: clamp(430px, 48vw, 560px) !important;
    margin: 0 auto 28px !important;
    padding: 22px 66px 58px !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 50% 46%, rgba(255, 0, 255, 0.22), transparent 48%),
        radial-gradient(circle at 50% 72%, rgba(255, 215, 0, 0.08), transparent 55%),
        linear-gradient(180deg, rgba(32, 0, 52, 0.92), rgba(7, 0, 18, 0.96)) !important;
    box-shadow:
        inset 0 0 28px rgba(255, 0, 255, 0.22),
        0 0 20px rgba(255, 0, 255, 0.42),
        0 0 42px rgba(0, 0, 0, 0.78) !important;
}

.page-team .team-roster-carousel::before,
.page-team .team-roster-carousel::after {
    width: 8% !important;
    opacity: 0.42 !important;
}

.page-team .team-roster-carousel::before {
    background: linear-gradient(90deg, rgba(8, 0, 18, 0.85), transparent) !important;
}

.page-team .team-roster-carousel::after {
    background: linear-gradient(270deg, rgba(8, 0, 18, 0.85), transparent) !important;
}

.page-team .team-roster-carousel .carousel-track {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    gap: 0 !important;
    transform: none !important;
    transition: none !important;
}

.page-team .team-roster-carousel .team-card-slide {
    --roster-offset: 0;
    position: absolute !important;
    left: 50% !important;
    top: 47% !important;
    width: clamp(138px, 16vw, 215px) !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    aspect-ratio: 2 / 3 !important;
    border-radius: 16px !important;
    opacity: 0.28 !important;
    filter: brightness(0.45) saturate(0.78) !important;
    z-index: 1 !important;
    pointer-events: auto !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(118px, 15.2vw, 190px)))
        scale(0.70) !important;
    transition:
        transform 0.62s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.48s ease,
        filter 0.48s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease !important;
    overflow: visible !important;
    background: transparent !important;
    border: 1px solid rgba(255, 0, 255, 0.36) !important;
    box-shadow: 0 0 12px rgba(255, 0, 255, 0.18) !important;
}

.page-team .team-roster-carousel .team-card-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 15px !important;
    display: block !important;
}

.page-team .team-roster-carousel .team-card-slide.is-neighbor {
    opacity: 0.92 !important;
    filter: brightness(0.95) saturate(1.08) !important;
    z-index: 4 !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(118px, 15.2vw, 190px)))
        scale(0.98) !important;
    border-color: rgba(255, 215, 0, 0.72) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-distance-2 {
    opacity: 0.78 !important;
    filter: brightness(0.76) saturate(0.98) !important;
    z-index: 3 !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(118px, 15.2vw, 190px)))
        scale(0.86) !important;
    border-color: rgba(255, 0, 255, 0.46) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-distance-3 {
    opacity: 0.48 !important;
    filter: brightness(0.58) saturate(0.85) !important;
    z-index: 2 !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(118px, 15.2vw, 190px)))
        scale(0.72) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-distance-4,
.page-team .team-roster-carousel .team-card-slide.is-hidden-card {
    opacity: 0 !important;
    pointer-events: none !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    top: 45% !important;
    opacity: 1 !important;
    filter: brightness(1.10) saturate(1.26) !important;
    z-index: 8 !important;
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.34) !important;
    border-color: #ff4dff !important;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.22),
        0 0 20px rgba(255, 215, 0, 0.78),
        0 0 46px rgba(255, 0, 255, 0.92),
        0 18px 52px rgba(0, 0, 0, 0.86) !important;
}

.page-team .team-roster-carousel .team-card-slide:hover:not(.is-active) {
    opacity: 1 !important;
    filter: brightness(1.06) saturate(1.16) !important;
    border-color: #ffd700 !important;
    box-shadow:
        0 0 18px rgba(255, 215, 0, 0.72),
        0 0 34px rgba(255, 0, 255, 0.64) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.38) !important;
}

.page-team .team-roster-carousel .carousel-button {
    top: 50% !important;
    width: 54px !important;
    height: 72px !important;
    font-size: 5rem !important;
    background: transparent !important;
    z-index: 10 !important;
}

.page-team .team-roster-carousel .carousel-button.prev {
    left: 18px !important;
}

.page-team .team-roster-carousel .carousel-button.next {
    right: 18px !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 28px !important;
    gap: 10px !important;
    z-index: 12 !important;
}

.page-team .team-roster-carousel .carousel-dot {
    width: 11px !important;
    height: 11px !important;
}

.page-team .team-roster-carousel .carousel-dot.active {
    width: 16px !important;
    height: 16px !important;
    background: #ff4dff !important;
    box-shadow: 0 0 12px #fff, 0 0 24px #ff4dff !important;
}

@media (max-width: 900px) {
    .page-team .team-roster-carousel {
        width: 94% !important;
        height: clamp(380px, 78vw, 500px) !important;
        min-height: clamp(380px, 78vw, 500px) !important;
        padding: 20px 42px 56px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        width: clamp(112px, 24vw, 170px) !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--roster-offset) * clamp(94px, 22vw, 150px)))
            scale(0.68) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-neighbor {
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--roster-offset) * clamp(94px, 22vw, 150px)))
            scale(0.90) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-distance-2 {
        opacity: 0.44 !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--roster-offset) * clamp(94px, 22vw, 150px)))
            scale(0.72) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-distance-3 {
        opacity: 0 !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.18) !important;
    }

    .page-team .team-roster-carousel .carousel-button.prev { left: 8px !important; }
    .page-team .team-roster-carousel .carousel-button.next { right: 8px !important; }
}

/* =========================
   TEAM PAGE FINAL SIMPLIFY - V41
   Removes the stats strip visually, tightens carousel height,
   brings dots closer to cards, and makes arrows easier to use.
========================= */

.page-team .team-info-strip {
    display: none !important;
}

.page-team .team-roster-section {
    padding-bottom: 20px !important;
}

.page-team .team-roster-carousel {
    height: clamp(380px, 47vw, 500px) !important;
    min-height: clamp(380px, 47vw, 500px) !important;
    margin-bottom: 26px !important;
    padding-bottom: 44px !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 18px !important;
}

.page-team .team-roster-carousel .carousel-button {
    width: 62px !important;
    height: 82px !important;
    font-size: 5.7rem !important;
}

.page-team .team-roster-carousel .carousel-button.prev {
    left: 14px !important;
}

.page-team .team-roster-carousel .carousel-button.next {
    right: 14px !important;
}

.page-team footer {
    margin-top: 0 !important;
}

@media (max-width: 900px) {
    .page-team .team-roster-carousel {
        height: clamp(360px, 72vw, 470px) !important;
        min-height: clamp(360px, 72vw, 470px) !important;
        padding-bottom: 46px !important;
    }

    .page-team .team-roster-carousel .carousel-button {
        width: 48px !important;
        height: 70px !important;
        font-size: 4.8rem !important;
    }
}


/* =========================
   FINAL HOMEPAGE + TEAM POLISH - V42
   Team: balanced spacing, dots below cards, no overlap.
   Home: tiny active-card centering correction.
========================= */

:root {
    --home-carousel-center-correction: 5px;
}

.page-team .team-roster-section {
    padding-top: 30px !important;
    padding-bottom: 22px !important;
}

.page-team .roster-title-wrap,
.page-team .team-roster-title-wrap {
    margin-bottom: 34px !important;
}

.page-team .team-roster-carousel {
    width: 92% !important;
    max-width: 1040px !important;
    height: clamp(390px, 46vw, 485px) !important;
    min-height: clamp(390px, 46vw, 485px) !important;
    padding-top: 30px !important;
    padding-bottom: 72px !important;
    margin-top: 0 !important;
    margin-bottom: 34px !important;
    overflow: visible !important;
}

.page-team .team-roster-carousel .carousel-track {
    overflow: visible !important;
}

.page-team .team-roster-carousel .team-card-slide {
    top: 47% !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    top: 42.5% !important;
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.34) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.36) !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 30px !important;
    z-index: 14 !important;
}

.page-team .team-roster-carousel .carousel-button {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

@media (max-width: 900px) {
    .page-team .team-roster-section {
        padding-top: 22px !important;
    }

    .page-team .roster-title-wrap,
    .page-team .team-roster-title-wrap {
        margin-bottom: 24px !important;
    }

    .page-team .team-roster-carousel {
        width: 94% !important;
        height: clamp(360px, 72vw, 470px) !important;
        min-height: clamp(360px, 72vw, 470px) !important;
        padding-bottom: 64px !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        top: 43% !important;
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.18) !important;
    }

    .page-team .team-roster-carousel .carousel-dots {
        bottom: 26px !important;
    }
}


/* =========================
   FINAL HOMEPAGE + TEAM CAROUSEL ALIGNMENT - V43
   Team: restore even spacing, widen carousel, keep cards inside the border,
   separate dots from player cards. Home: remove tiny centering offset.
========================= */

:root {
    --home-carousel-center-correction: 0px;
}

/* Team page vertical rhythm: hero -> roster graphic -> carousel */
.page-team main.team-roster-main {
    padding-top: 22px !important;
    padding-bottom: 24px !important;
}

.page-team .team-roster-section {
    padding-top: 0 !important;
    padding-bottom: 18px !important;
}

.page-team .roster-title-block,
.page-team .roster-title-wrap,
.page-team .team-roster-title-wrap {
    margin-top: 0 !important;
    margin-bottom: 26px !important;
}

/* Wide, homepage-style team carousel. The side cards now live inside the frame. */
.page-team .team-roster-carousel {
    width: min(94%, 1280px) !important;
    max-width: 1280px !important;
    height: clamp(420px, 46vw, 490px) !important;
    min-height: clamp(420px, 46vw, 490px) !important;
    margin: 0 auto 28px !important;
    padding: 30px 74px 74px !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 50% 48%, rgba(255, 0, 255, 0.22), transparent 48%),
        radial-gradient(circle at 50% 78%, rgba(255, 215, 0, 0.08), transparent 56%),
        linear-gradient(180deg, rgba(36, 0, 54, 0.90), rgba(7, 0, 20, 0.96)) !important;
}

.page-team .team-roster-carousel::before,
.page-team .team-roster-carousel::after {
    width: 34px !important;
    opacity: 0.24 !important;
}

.page-team .team-roster-carousel .carousel-track {
    overflow: visible !important;
    height: 100% !important;
}

.page-team .team-roster-carousel .team-card-slide {
    top: 46% !important;
    width: clamp(132px, 13.6vw, 188px) !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(88px, 11.8vw, 148px)))
        scale(0.70) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-neighbor {
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(88px, 11.8vw, 148px)))
        scale(0.98) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-distance-2 {
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(88px, 11.8vw, 148px)))
        scale(0.86) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-distance-3 {
    opacity: 0.46 !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(88px, 11.8vw, 148px)))
        scale(0.70) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    top: 44% !important;
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.36) !important;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.22),
        0 0 22px rgba(255, 215, 0, 0.78),
        0 0 54px rgba(255, 0, 255, 0.94),
        0 20px 56px rgba(0, 0, 0, 0.88) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.38) !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 18px !important;
    gap: 9px !important;
    z-index: 14 !important;
}

.page-team .team-roster-carousel .carousel-button {
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 58px !important;
    height: 78px !important;
    font-size: 5.4rem !important;
}

.page-team .team-roster-carousel .carousel-button.prev {
    left: 22px !important;
}

.page-team .team-roster-carousel .carousel-button.next {
    right: 22px !important;
}

/* Homepage active card: trust exact JS centering, no manual nudge. */
.page-home .homepage-media-carousel .carousel-track {
    transform-origin: center center !important;
}

@media (max-width: 900px) {
    .page-team main.team-roster-main {
        padding-top: 18px !important;
    }

    .page-team .roster-title-block,
    .page-team .roster-title-wrap,
    .page-team .team-roster-title-wrap {
        margin-bottom: 22px !important;
    }

    .page-team .team-roster-carousel {
        width: 94% !important;
        height: clamp(360px, 70vw, 455px) !important;
        min-height: clamp(360px, 70vw, 455px) !important;
        padding: 26px 46px 62px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        width: clamp(108px, 24vw, 165px) !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--roster-offset) * clamp(76px, 20vw, 128px)))
            scale(0.66) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-neighbor {
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--roster-offset) * clamp(76px, 20vw, 128px)))
            scale(0.88) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-distance-2 {
        opacity: 0.42 !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--roster-offset) * clamp(76px, 20vw, 128px)))
            scale(0.70) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-distance-3 {
        opacity: 0 !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        top: 44% !important;
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.16) !important;
    }

    .page-team .team-roster-carousel .carousel-dots {
        bottom: 18px !important;
    }
}


/* =========================
   FINAL HOME + TEAM LOCKDOWN POLISH - V44
   Home: final tiny active-card centering nudge.
   Team: cleaner vertical rhythm, carousel fills width, dots below cards, cards stay inside frame.
========================= */

:root {
    --home-carousel-center-correction: -12px;
}

/* Homepage: keep the established design and only correct the visual center. */
.page-home .homepage-media-carousel .carousel-track {
    transform-origin: center center !important;
}

/* Team page spacing: restore tighter hero-to-roster gap and put the spacing below the roster graphic. */
.page-team main.team-roster-main {
    padding-top: 10px !important;
    padding-bottom: 22px !important;
}

.page-team .team-roster-section {
    padding-top: 0 !important;
    padding-bottom: 18px !important;
}

.page-team .roster-title-block,
.page-team .roster-title-wrap,
.page-team .team-roster-title-wrap {
    margin-top: 0 !important;
    margin-bottom: 30px !important;
}

/* Team carousel final proportions. */
.page-team .team-roster-carousel {
    width: calc(100% - 32px) !important;
    max-width: 1280px !important;
    height: clamp(400px, 45vw, 475px) !important;
    min-height: clamp(400px, 45vw, 475px) !important;
    margin: 0 auto 26px !important;
    padding: 24px 70px 70px !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 50% 46%, rgba(255, 0, 255, 0.20), transparent 48%),
        radial-gradient(circle at 50% 75%, rgba(255, 215, 0, 0.07), transparent 56%),
        linear-gradient(180deg, rgba(36, 0, 54, 0.88), rgba(7, 0, 20, 0.96)) !important;
}

.page-team .team-roster-carousel::before,
.page-team .team-roster-carousel::after {
    width: 28px !important;
    opacity: 0.18 !important;
}

.page-team .team-roster-carousel .carousel-track {
    height: 100% !important;
    overflow: visible !important;
}

/* Raise the entire player-card row so the dots sit clearly underneath the cards. */
.page-team .team-roster-carousel .team-card-slide {
    top: 43.5% !important;
    width: clamp(132px, 13.6vw, 188px) !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(88px, 11.8vw, 148px)))
        scale(0.70) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-neighbor {
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(88px, 11.8vw, 148px)))
        scale(0.98) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-distance-2 {
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(88px, 11.8vw, 148px)))
        scale(0.86) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-distance-3 {
    opacity: 0.46 !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--roster-offset) * clamp(88px, 11.8vw, 148px)))
        scale(0.70) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-distance-4,
.page-team .team-roster-carousel .team-card-slide.is-hidden-card {
    opacity: 0 !important;
    pointer-events: none !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
    top: 40.5% !important;
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.34) !important;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.22),
        0 0 20px rgba(255, 215, 0, 0.74),
        0 0 46px rgba(255, 0, 255, 0.86),
        0 18px 52px rgba(0, 0, 0, 0.86) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.36) !important;
}

.page-team .team-roster-carousel .carousel-dots {
    bottom: 12px !important;
    gap: 9px !important;
    z-index: 14 !important;
}

.page-team .team-roster-carousel .carousel-button {
    top: 49% !important;
    transform: translateY(-50%) !important;
    width: 58px !important;
    height: 78px !important;
    font-size: 5.4rem !important;
}

.page-team .team-roster-carousel .carousel-button.prev {
    left: 22px !important;
}

.page-team .team-roster-carousel .carousel-button.next {
    right: 22px !important;
}

@media (max-width: 900px) {
    :root {
        --home-carousel-center-correction: -8px;
    }

    .page-team main.team-roster-main {
        padding-top: 8px !important;
    }

    .page-team .roster-title-block,
    .page-team .roster-title-wrap,
    .page-team .team-roster-title-wrap {
        margin-bottom: 24px !important;
    }

    .page-team .team-roster-carousel {
        width: calc(100% - 28px) !important;
        height: clamp(360px, 68vw, 445px) !important;
        min-height: clamp(360px, 68vw, 445px) !important;
        padding: 22px 44px 58px !important;
    }

    .page-team .team-roster-carousel .team-card-slide {
        top: 44% !important;
        width: clamp(108px, 24vw, 165px) !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--roster-offset) * clamp(76px, 20vw, 128px)))
            scale(0.66) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-neighbor {
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--roster-offset) * clamp(76px, 20vw, 128px)))
            scale(0.88) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-distance-2 {
        opacity: 0.42 !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--roster-offset) * clamp(76px, 20vw, 128px)))
            scale(0.70) !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-distance-3 {
        opacity: 0 !important;
    }

    .page-team .team-roster-carousel .team-card-slide.is-active {
        top: 41.5% !important;
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.16) !important;
    }

    .page-team .team-roster-carousel .carousel-dots {
        bottom: 10px !important;
    }

    .page-team .team-roster-carousel .carousel-button.prev { left: 8px !important; }
    .page-team .team-roster-carousel .carousel-button.next { right: 8px !important; }
}


/* =========================
   HOMEPAGE CAROUSEL TRUE CENTER FIX - V45
   The homepage media carousel now uses the same stable absolute-positioning
   approach as the Team carousel so the active thumbnail always sits exactly
   in the center of the visible carousel frame.
========================= */

:root {
    --home-carousel-center-correction: 0px;
}

.page-home .homepage-media-carousel {
    width: min(94%, 1180px) !important;
    max-width: 1180px !important;
    height: clamp(330px, 39vw, 410px) !important;
    min-height: clamp(330px, 39vw, 410px) !important;
    margin: 0 auto 28px !important;
    padding: 34px 72px 56px !important;
    overflow: hidden !important;
    position: relative !important;
}

.page-home .homepage-media-carousel .carousel-track {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    gap: 0 !important;
    transform: none !important;
    transition: none !important;
    overflow: visible !important;
}

.page-home .homepage-media-carousel .media-slide {
    position: absolute !important;
    left: 50% !important;
    top: 44% !important;
    width: clamp(300px, 45vw, 520px) !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    aspect-ratio: 16 / 9 !important;
    opacity: 0.34 !important;
    filter: brightness(0.56) saturate(0.86) !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * clamp(245px, 39vw, 460px)))
        scale(0.72) !important;
    transition:
        transform 0.48s cubic-bezier(.22,.61,.36,1),
        opacity 0.48s ease,
        filter 0.48s ease,
        box-shadow 0.48s ease,
        border-color 0.48s ease !important;
    z-index: 1 !important;
}

.page-home .homepage-media-carousel .media-slide.is-neighbor {
    opacity: 0.82 !important;
    filter: brightness(0.82) saturate(1.02) !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * clamp(245px, 39vw, 460px)))
        scale(0.84) !important;
    z-index: 2 !important;
}

.page-home .homepage-media-carousel .media-slide.is-distance-2 {
    opacity: 0.22 !important;
    filter: brightness(0.46) saturate(0.78) !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * clamp(245px, 39vw, 460px)))
        scale(0.62) !important;
    z-index: 1 !important;
}

.page-home .homepage-media-carousel .media-slide.is-hidden-home {
    opacity: 0 !important;
    pointer-events: none !important;
}

.page-home .homepage-media-carousel .media-slide.is-active {
    left: 50% !important;
    top: 43% !important;
    opacity: 1 !important;
    filter: brightness(1.08) saturate(1.14) !important;
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.10) !important;
    z-index: 5 !important;
    animation: activePlaylistBreathV30 3s ease-in-out infinite !important;
}

.page-home .homepage-media-carousel .media-slide.is-active:hover,
.page-home .homepage-media-carousel .media-slide.is-active:focus-visible {
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.115) !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 10 !important;
}

.page-home .homepage-media-carousel .carousel-button {
    top: 47% !important;
    z-index: 12 !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 16px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 16px !important;
}

@media (max-width: 900px) {
    .page-home .homepage-media-carousel {
        width: 94% !important;
        height: clamp(300px, 62vw, 390px) !important;
        min-height: clamp(300px, 62vw, 390px) !important;
        padding: 30px 44px 50px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        width: clamp(250px, 72vw, 430px) !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--home-offset) * clamp(210px, 58vw, 360px)))
            scale(0.68) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-neighbor {
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--home-offset) * clamp(210px, 58vw, 360px)))
            scale(0.80) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-distance-2 {
        opacity: 0 !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.04) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active:hover,
    .page-home .homepage-media-carousel .media-slide.is-active:focus-visible {
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.055) !important;
    }

    .page-home .homepage-media-carousel .carousel-dots {
        bottom: 20px !important;
    }
}


/* =========================
   HOMEPAGE MEDIA CAROUSEL CENTER LOCK - V46
   The homepage card was visually sitting a little to the right of the frame.
   This final correction shifts the whole homepage media card set left while
   keeping the Team carousel untouched.
========================= */

:root {
    --home-carousel-center-correction: -38px;
}

.page-home .homepage-media-carousel .media-slide {
    transform:
        translate(-50%, -50%)
        translateX(calc((var(--home-offset) * clamp(245px, 39vw, 460px)) + var(--home-carousel-center-correction)))
        scale(0.72) !important;
}

.page-home .homepage-media-carousel .media-slide.is-neighbor {
    transform:
        translate(-50%, -50%)
        translateX(calc((var(--home-offset) * clamp(245px, 39vw, 460px)) + var(--home-carousel-center-correction)))
        scale(0.84) !important;
}

.page-home .homepage-media-carousel .media-slide.is-distance-2 {
    transform:
        translate(-50%, -50%)
        translateX(calc((var(--home-offset) * clamp(245px, 39vw, 460px)) + var(--home-carousel-center-correction)))
        scale(0.62) !important;
}

.page-home .homepage-media-carousel .media-slide.is-active {
    transform:
        translate(-50%, -50%)
        translateX(var(--home-carousel-center-correction))
        scale(1.10) !important;
}

.page-home .homepage-media-carousel .media-slide.is-active:hover,
.page-home .homepage-media-carousel .media-slide.is-active:focus-visible {
    transform:
        translate(-50%, -50%)
        translateX(var(--home-carousel-center-correction))
        scale(1.115) !important;
}

@media (max-width: 900px) {
    :root {
        --home-carousel-center-correction: -12px;
    }

    .page-home .homepage-media-carousel .media-slide {
        transform:
            translate(-50%, -50%)
            translateX(calc((var(--home-offset) * clamp(210px, 58vw, 360px)) + var(--home-carousel-center-correction)))
            scale(0.68) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-neighbor {
        transform:
            translate(-50%, -50%)
            translateX(calc((var(--home-offset) * clamp(210px, 58vw, 360px)) + var(--home-carousel-center-correction)))
            scale(0.80) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform:
            translate(-50%, -50%)
            translateX(var(--home-carousel-center-correction))
            scale(1.04) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active:hover,
    .page-home .homepage-media-carousel .media-slide.is-active:focus-visible {
        transform:
            translate(-50%, -50%)
            translateX(var(--home-carousel-center-correction))
            scale(1.055) !important;
    }
}


/* =========================
   HOMEPAGE MEDIA CAROUSEL TRUE CENTER - V47
   Removes the manual pixel nudge and centers every homepage slide from its
   own midpoint on the carousel frame midpoint. Side cards are spaced evenly
   from the active card so the active thumbnail stays visually centered.
========================= */

:root {
    --home-carousel-center-correction: 0px;
    --home-slide-gap: clamp(258px, 40.5vw, 474px);
}

.page-home .homepage-media-carousel .carousel-track {
    transform: none !important;
    position: relative !important;
    overflow: visible !important;
}

.page-home .homepage-media-carousel .media-slide {
    left: 50% !important;
    top: 44% !important;
    width: clamp(300px, 45vw, 520px) !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * var(--home-slide-gap)))
        scale(0.68) !important;
    opacity: 0.28 !important;
    filter: brightness(0.50) saturate(0.78) !important;
}

.page-home .homepage-media-carousel .media-slide.is-neighbor {
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * var(--home-slide-gap)))
        scale(0.80) !important;
    opacity: 0.74 !important;
    filter: brightness(0.74) saturate(0.96) !important;
}

.page-home .homepage-media-carousel .media-slide.is-distance-2 {
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * var(--home-slide-gap)))
        scale(0.58) !important;
    opacity: 0.16 !important;
    filter: brightness(0.38) saturate(0.72) !important;
}

.page-home .homepage-media-carousel .media-slide.is-active {
    left: 50% !important;
    top: 43% !important;
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.145) !important;
    opacity: 1 !important;
    filter: brightness(1.10) saturate(1.16) !important;
    z-index: 6 !important;
}

.page-home .homepage-media-carousel .media-slide.is-active:hover,
.page-home .homepage-media-carousel .media-slide.is-active:focus-visible {
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.16) !important;
}

@media (max-width: 900px) {
    :root {
        --home-slide-gap: clamp(218px, 59vw, 372px);
    }

    .page-home .homepage-media-carousel .media-slide {
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--home-offset) * var(--home-slide-gap)))
            scale(0.64) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-neighbor {
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--home-offset) * var(--home-slide-gap)))
            scale(0.76) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.08) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active:hover,
    .page-home .homepage-media-carousel .media-slide.is-active:focus-visible {
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.095) !important;
    }
}


/* =========================
   HOMEPAGE MEDIA CAROUSEL FINAL ALIGNMENT - V48
   Keeps the active card centered, gives it breathing room at the top,
   and avoids the visual left/right bouncing from manual nudges.
========================= */

.page-home .homepage-media-carousel {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    overflow: hidden !important;
}

.page-home .homepage-media-carousel .carousel-track {
    height: 245px !important;
    min-height: 245px !important;
    position: relative !important;
    overflow: visible !important;
    transform: none !important;
}

.page-home .homepage-media-carousel .media-slide {
    left: 50% !important;
    top: 50% !important;
    width: clamp(292px, 43.5vw, 500px) !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * var(--home-slide-gap)))
        scale(0.66) !important;
}

.page-home .homepage-media-carousel .media-slide.is-neighbor {
    top: 50% !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * var(--home-slide-gap)))
        scale(0.78) !important;
}

.page-home .homepage-media-carousel .media-slide.is-distance-2 {
    top: 50% !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * var(--home-slide-gap)))
        scale(0.56) !important;
}

.page-home .homepage-media-carousel .media-slide.is-active {
    left: 50% !important;
    top: 50% !important;
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.06) !important;
}

.page-home .homepage-media-carousel .media-slide.is-active:hover,
.page-home .homepage-media-carousel .media-slide.is-active:focus-visible {
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.075) !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    padding-top: 4px !important;
}

@media (max-width: 900px) {
    .page-home .homepage-media-carousel .carousel-track {
        height: 215px !important;
        min-height: 215px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        width: clamp(270px, 76vw, 430px) !important;
        top: 50% !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--home-offset) * var(--home-slide-gap)))
            scale(0.62) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-neighbor {
        top: 50% !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--home-offset) * var(--home-slide-gap)))
            scale(0.72) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        top: 50% !important;
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.02) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active:hover,
    .page-home .homepage-media-carousel .media-slide.is-active:focus-visible {
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.035) !important;
    }
}


/* =========================
   HOMEPAGE MEDIA CAROUSEL HEIGHT FIX - V49
   Gives the homepage playlist thumbnails enough vertical room so the active
   card and glow are not clipped while keeping true center positioning.
========================= */

.page-home .homepage-media-carousel {
    padding-top: 34px !important;
    padding-bottom: 24px !important;
    overflow: hidden !important;
}

.page-home .homepage-media-carousel .carousel-track {
    height: 330px !important;
    min-height: 330px !important;
    position: relative !important;
    overflow: visible !important;
    transform: none !important;
}

.page-home .homepage-media-carousel .media-slide {
    left: 50% !important;
    top: 50% !important;
    width: clamp(300px, 44vw, 515px) !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * var(--home-slide-gap)))
        scale(0.70) !important;
}

.page-home .homepage-media-carousel .media-slide.is-neighbor {
    top: 50% !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * var(--home-slide-gap)))
        scale(0.83) !important;
}

.page-home .homepage-media-carousel .media-slide.is-distance-2 {
    top: 50% !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--home-offset) * var(--home-slide-gap)))
        scale(0.59) !important;
}

.page-home .homepage-media-carousel .media-slide.is-active {
    left: 50% !important;
    top: 50% !important;
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.10) !important;
    z-index: 8 !important;
}

.page-home .homepage-media-carousel .media-slide.is-active:hover,
.page-home .homepage-media-carousel .media-slide.is-active:focus-visible {
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.115) !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    padding-top: 0 !important;
    margin-top: -6px !important;
}

@media (max-width: 900px) {
    .page-home .homepage-media-carousel {
        padding-top: 26px !important;
        padding-bottom: 20px !important;
    }

    .page-home .homepage-media-carousel .carousel-track {
        height: 280px !important;
        min-height: 280px !important;
    }

    .page-home .homepage-media-carousel .media-slide {
        width: clamp(270px, 76vw, 440px) !important;
        top: 50% !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--home-offset) * var(--home-slide-gap)))
            scale(0.64) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-neighbor {
        top: 50% !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--home-offset) * var(--home-slide-gap)))
            scale(0.76) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active {
        top: 50% !important;
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.05) !important;
    }

    .page-home .homepage-media-carousel .media-slide.is-active:hover,
    .page-home .homepage-media-carousel .media-slide.is-active:focus-visible {
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(1.065) !important;
    }
}


/* =========================
   HOMEPAGE MEDIA CAROUSEL FINAL POLISH - V50
   Raises the thumbnail row slightly, gives dots a touch more separation,
   and enlarges the carousel arrows without changing the locked layout.
========================= */

.page-home .homepage-media-carousel .media-slide,
.page-home .homepage-media-carousel .media-slide.is-neighbor,
.page-home .homepage-media-carousel .media-slide.is-distance-2,
.page-home .homepage-media-carousel .media-slide.is-active {
    top: 46% !important;
}

.page-home .homepage-media-carousel .carousel-dots {
    margin-top: -1px !important;
    padding-top: 0 !important;
}

.page-home .homepage-media-carousel .carousel-button {
    width: 46px !important;
    height: 46px !important;
    font-size: 2.15rem !important;
}

.page-home .homepage-media-carousel .carousel-button.prev {
    left: 24px !important;
}

.page-home .homepage-media-carousel .carousel-button.next {
    right: 24px !important;
}

@media (max-width: 900px) {
    .page-home .homepage-media-carousel .media-slide,
    .page-home .homepage-media-carousel .media-slide.is-neighbor,
    .page-home .homepage-media-carousel .media-slide.is-distance-2,
    .page-home .homepage-media-carousel .media-slide.is-active {
        top: 47% !important;
    }

    .page-home .homepage-media-carousel .carousel-button {
        width: 40px !important;
        height: 40px !important;
        font-size: 1.9rem !important;
    }

    .page-home .homepage-media-carousel .carousel-dots {
        margin-top: 0 !important;
    }
}

/* =========================
   SCHEDULE GRAPHICS UPDATE v51
========================= */
.schedule-page-section {
    padding-top: 30px;
}

.schedule-image-grid {
    max-width: 980px;
    align-items: stretch;
}

.schedule-image-card {
    padding: 18px;
    border: 2px solid var(--page-glow-1);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(0, 30, 10, 0.72), rgba(0, 0, 0, 0.86));
    box-shadow: 0 0 18px rgba(57, 255, 20, 0.24), inset 0 0 18px rgba(57, 255, 20, 0.08);
    overflow: hidden;
}

.schedule-image-card h3 {
    text-align: center;
    margin: 0 0 14px;
    color: var(--page-glow-1);
    text-shadow: 0 0 10px rgba(57, 255, 20, 0.6);
}

.schedule-image-card img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.55);
}

@media (max-width: 900px) {
    .schedule-image-grid {
        grid-template-columns: 1fr;
        max-width: 92%;
    }
}

/* =========================
   SCHEDULE PAGE IMAGE PANELS + LIGHTBOX v52
========================= */
.page-schedule .schedule-page-section {
    padding: 42px 0 54px !important;
}

.page-schedule .schedule-image-grid {
    width: min(94%, 1120px) !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 26px !important;
    align-items: stretch !important;
}

.page-schedule .schedule-image-card {
    padding: 18px 18px 20px !important;
    border: 2px solid var(--page-glow-1) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(57,255,20,.16), transparent 42%),
        linear-gradient(180deg, rgba(0, 35, 10, 0.76), rgba(0, 0, 0, 0.88)) !important;
    box-shadow:
        0 0 18px rgba(57, 255, 20, 0.28),
        inset 0 0 22px rgba(57, 255, 20, 0.10) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.page-schedule .schedule-image-card:hover {
    transform: translateY(-6px);
    border-color: #9bff8f !important;
    box-shadow:
        0 0 22px rgba(57, 255, 20, 0.58),
        0 0 42px rgba(57, 255, 20, 0.22),
        inset 0 0 26px rgba(57, 255, 20, 0.16) !important;
}

.page-schedule .schedule-image-card h3 {
    font-size: clamp(1.05rem, 1.7vw, 1.45rem) !important;
    text-align: center !important;
    margin: 0 0 14px !important;
    color: var(--page-glow-1) !important;
    text-transform: uppercase !important;
    letter-spacing: .8px !important;
    text-shadow:
        0 0 8px rgba(57, 255, 20, 0.92),
        0 0 18px rgba(57, 255, 20, 0.46) !important;
}

.page-schedule .schedule-lightbox-link {
    position: relative;
    display: block;
    cursor: pointer;
    text-decoration: none;
    border-radius: 12px;
    overflow: hidden;
}

.page-schedule .schedule-lightbox-link img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
    transform: scale(1);
    transition: transform .25s ease, filter .25s ease;
    box-shadow: 0 0 18px rgba(0, 0, 0, 0.62) !important;
}

.page-schedule .schedule-image-card:hover .schedule-lightbox-link img {
    transform: scale(1.025);
    filter: brightness(1.08) contrast(1.05);
}

.page-schedule .schedule-image-action {
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%);
    padding: 7px 14px;
    border: 1px solid rgba(57,255,20,.76);
    border-radius: 999px;
    color: #fff;
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .6px;
    white-space: nowrap;
    background: rgba(0, 0, 0, .72);
    box-shadow: 0 0 16px rgba(57,255,20,.34);
    opacity: 0;
    transition: opacity .22s ease, transform .22s ease;
}

.page-schedule .schedule-image-card:hover .schedule-image-action {
    opacity: 1;
    transform: translateX(-50%) translateY(-2px);
}

.schedule-image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 6000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 44px 6vw;
    background:
        radial-gradient(circle at center, rgba(57,255,20,.10), transparent 45%),
        rgba(0,0,0,.91);
    backdrop-filter: blur(7px);
}

.schedule-image-lightbox.is-open {
    display: flex;
    animation: scheduleLightboxFade .22s ease-out both;
}

@keyframes scheduleLightboxFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

.schedule-lightbox-stage {
    position: relative;
    width: min(94vw, 1180px);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.schedule-lightbox-title {
    margin: 0;
    color: var(--page-glow-1, #39ff14);
    font-size: clamp(1.2rem, 2.4vw, 2rem);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 0 0 12px rgba(57,255,20,.75);
}

.schedule-lightbox-image {
    display: block;
    max-width: 100%;
    max-height: 76vh;
    width: auto;
    height: auto;
    border-radius: 16px;
    border: 2px solid rgba(57,255,20,.75);
    box-shadow:
        0 0 24px rgba(57,255,20,.42),
        0 0 58px rgba(57,255,20,.18);
    animation: scheduleImagePop .24s cubic-bezier(.22,1,.36,1) both;
}

@keyframes scheduleImagePop {
    from { opacity: 0; transform: scale(.96); }
    to { opacity: 1; transform: scale(1); }
}

.schedule-lightbox-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border-radius: 999px;
    border: 1px solid rgba(57,255,20,.76);
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .7px;
    background: rgba(0, 18, 5, .72);
    box-shadow: 0 0 18px rgba(57,255,20,.30);
}

.schedule-lightbox-open:hover {
    color: var(--page-glow-1, #39ff14);
    box-shadow: 0 0 22px rgba(57,255,20,.54);
}

.schedule-lightbox-close {
    position: absolute;
    top: 18px;
    right: 24px;
    z-index: 6010;
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 3rem;
    line-height: 1;
    cursor: pointer;
    background: rgba(0, 18, 5, .54);
    text-shadow: 0 0 10px #fff, 0 0 24px rgba(57,255,20,.95);
}

.schedule-lightbox-close:hover {
    color: var(--page-glow-1, #39ff14);
    box-shadow: 0 0 18px rgba(57,255,20,.48);
}

@media (max-width: 900px) {
    .page-schedule .schedule-image-grid {
        width: 92% !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }

    .page-schedule .schedule-image-card {
        padding: 14px !important;
    }

    .page-schedule .schedule-image-action {
        opacity: 1;
        font-size: .62rem;
        bottom: 8px;
    }

    .schedule-image-lightbox {
        padding: 32px 4vw;
    }

    .schedule-lightbox-close {
        top: 10px;
        right: 12px;
        width: 44px;
        height: 44px;
        font-size: 2.4rem;
    }

    .schedule-lightbox-image {
        max-height: 74vh;
    }
}

/* =========================
   SCHEDULE PAGE FINAL IMAGE ENLARGE v54
========================= */
.page-schedule .schedule-page-section {
    padding: 42px 0 56px !important;
}

.page-schedule .schedule-image-grid {
    width: min(96%, 1260px) !important;
    max-width: 1260px !important;
    gap: 20px !important;
}

.page-schedule .schedule-image-card {
    min-height: 270px !important;
    padding: 16px 16px 18px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

.page-schedule .schedule-image-card h3 {
    margin-bottom: 12px !important;
}

.page-schedule .schedule-lightbox-link {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 210px !important;
}

.page-schedule .schedule-lightbox-link img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 230px !important;
    object-fit: contain !important;
}

.page-schedule .schedule-image-card:hover .schedule-lightbox-link img {
    transform: scale(1.035) !important;
}

@media (max-width: 900px) {
    .page-schedule .schedule-image-grid {
        width: 92% !important;
        max-width: 720px !important;
    }

    .page-schedule .schedule-image-card {
        min-height: auto !important;
    }

    .page-schedule .schedule-lightbox-link {
        min-height: auto !important;
    }

    .page-schedule .schedule-lightbox-link img {
        max-height: none !important;
    }
}


/* =========================
   SCHEDULE PAGE FINAL IMAGE ENLARGE v54
========================= */
.page-schedule .schedule-image-card {
    min-height: 305px !important;
    padding: 14px 14px 16px !important;
}

.page-schedule .schedule-lightbox-link {
    min-height: 248px !important;
}

.page-schedule .schedule-lightbox-link img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 270px !important;
    object-fit: contain !important;
}

.page-schedule .schedule-image-card h3 {
    margin-bottom: 10px !important;
}

.page-schedule .schedule-image-card:hover .schedule-lightbox-link img {
    transform: scale(1.045) !important;
}

@media (max-width: 900px) {
    .page-schedule .schedule-image-card {
        min-height: auto !important;
        padding: 14px !important;
    }
    .page-schedule .schedule-lightbox-link {
        min-height: auto !important;
    }
    .page-schedule .schedule-lightbox-link img {
        max-height: none !important;
    }
}


/* =========================
   V55 LIVE PAGE FINAL POLISH
   - removes intro text from layout
   - makes the live placeholder panel wide like the other locked pages
========================= */
.page-live main {
    padding-top: 44px;
}

.page-live .live-section {
    margin-bottom: 66px;
}

.page-live .live-card {
    width: min(90%, 980px);
    max-width: 980px;
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
    border: 1.5px solid var(--page-glow-1);
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 0, 0, 0.22), transparent 42%),
        linear-gradient(180deg, rgba(80, 0, 28, 0.86), rgba(28, 0, 0, 0.92));
    box-shadow:
        0 0 18px rgba(255, 0, 0, 0.45),
        0 0 34px rgba(255, 0, 0, 0.22),
        0 18px 35px rgba(0, 0, 0, 0.55) !important;
}

.page-live .live-frame {
    aspect-ratio: 16 / 6.2;
    min-height: 300px;
    background:
        radial-gradient(circle at center, rgba(255, 0, 0, 0.14), transparent 46%),
        linear-gradient(180deg, rgba(70, 0, 32, 0.82), rgba(45, 0, 20, 0.92));
    border-bottom: 1px solid rgba(255, 0, 0, 0.35);
}

.page-live .live-frame h2 {
    font-size: clamp(3rem, 7vw, 6.8rem);
    letter-spacing: 2px;
}

.page-live .live-content {
    padding: 30px 34px 36px;
    background: linear-gradient(180deg, rgba(70, 0, 0, 0.78), rgba(35, 0, 0, 0.92));
}

.page-live .live-content p {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 760px) {
    .page-live .live-card {
        width: 94% !important;
        max-width: 94% !important;
    }

    .page-live .live-frame {
        min-height: 220px;
        aspect-ratio: 16 / 8;
    }

    .page-live .live-content {
        padding: 24px 18px 30px;
    }
}


/* =========================
   v56 Follow page simplification
   ========================= */
.page-follow .follow-hub {
    max-width: 1180px;
    margin: 0 auto 44px;
    padding-top: clamp(28px, 4vw, 48px);
}

.page-follow .follow-heading-card,
.page-follow .follow-feature-strip {
    display: none !important;
}

.page-follow .follow-social-grid {
    width: min(94%, 1080px);
    margin: 0 auto clamp(28px, 4vw, 42px);
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: clamp(16px, 2vw, 24px);
}

.page-follow .follow-card {
    min-height: 215px;
    padding: 28px 16px 24px;
    border-radius: 24px;
    border-color: rgba(255, 77, 255, 0.22);
    box-shadow:
        0 0 22px rgba(0, 0, 0, 0.48),
        inset 0 0 22px rgba(255, 255, 255, 0.04);
}

.page-follow .follow-card:hover {
    transform: translateY(-6px) scale(1.035);
    box-shadow:
        0 0 20px rgba(0, 0, 0, 0.60),
        0 0 24px var(--platform-glow, var(--page-glow-1)),
        0 0 50px color-mix(in srgb, var(--platform-glow, var(--page-glow-1)) 62%, transparent);
}

.page-follow .follow-icon-wrap {
    width: 98px;
    height: 98px;
}

.page-follow .follow-icon-wrap img {
    width: 88px;
    height: 88px;
}

.page-follow .follow-card-title {
    font-size: 1.08rem;
}

.page-follow .follow-card-subtitle {
    font-size: 0.82rem;
    max-width: 170px;
}

.page-follow .follow-email-card {
    width: min(90%, 720px);
    margin: 0 auto;
    padding: 18px 24px;
}

@media (max-width: 900px) {
    .page-follow .follow-social-grid {
        grid-template-columns: repeat(3, 1fr);
        max-width: 760px;
    }

    .page-follow .follow-card {
        min-height: 190px;
    }
}

@media (max-width: 560px) {
    .page-follow .follow-hub {
        padding-top: 24px;
    }

    .page-follow .follow-social-grid {
        grid-template-columns: repeat(2, 1fr);
        width: 94%;
        gap: 12px;
    }

    .page-follow .follow-card {
        min-height: 160px;
        padding: 18px 10px 14px;
        border-radius: 18px;
    }

    .page-follow .follow-icon-wrap {
        width: 66px;
        height: 66px;
    }

    .page-follow .follow-icon-wrap img {
        width: 60px;
        height: 60px;
    }
}


/* =========================
   NEWS PAGE FINAL POLISH v57
========================= */

.page-news main {
    padding-top: 50px !important;
    padding-bottom: 72px !important;
}

.page-news #news.news-section {
    margin-bottom: 0 !important;
}

.page-news .news-grid {
    max-width: 1040px !important;
    width: 92% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.page-news .news-card {
    min-height: 300px !important;
    border-radius: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    overflow: hidden !important;
    text-decoration: none !important;
    background:
        radial-gradient(circle at 50% 18%, rgba(var(--page-rgb), 0.22), transparent 36%),
        linear-gradient(180deg, rgba(var(--page-rgb), 0.09), rgba(0, 0, 0, 0.08)),
        var(--page-panel) !important;
    border-color: rgba(var(--page-rgb), 0.95) !important;
    box-shadow:
        0 0 12px rgba(var(--page-rgb), 0.34),
        inset 0 0 22px rgba(var(--page-rgb), 0.08) !important;
}

.page-news .news-card:hover {
    transform: translateY(-8px) scale(1.025) !important;
    border-color: var(--page-glow-1) !important;
    box-shadow:
        0 0 16px rgba(var(--page-rgb), 0.72),
        0 0 34px rgba(var(--page-rgb), 0.34),
        inset 0 0 30px rgba(var(--page-rgb), 0.12) !important;
}

.page-news .news-card .card-icon {
    height: 142px !important;
    background: transparent !important;
    font-size: 4.2rem !important;
    padding: 24px 16px 10px !important;
    text-shadow:
        0 0 10px var(--page-glow-1),
        0 0 24px rgba(var(--page-rgb), 0.55) !important;
}

.page-news .news-card .card-content {
    padding: 18px 18px 30px !important;
}

.page-news .news-card .card-content h3 {
    font-size: clamp(1.15rem, 1.7vw, 1.55rem) !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 18px !important;
}

.page-news .news-card .card-content p {
    display: none !important;
}

.page-news .news-card .card-content span {
    margin-top: 0 !important;
    color: var(--white) !important;
    font-size: 0.98rem !important;
    text-transform: uppercase !important;
    text-shadow: 0 0 10px rgba(var(--page-rgb), 0.75) !important;
}

@media (max-width: 800px) {
    .page-news .news-grid {
        width: 92% !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .page-news .news-card {
        min-height: 230px !important;
    }
}

/* =========================
   MEDIA ARCHIVE REDESIGN - V58
   Three-section media archive: latest games, season archive, playlist collection.
========================= */
.page-media main.media-archive-main {
    padding: 30px 30px 48px !important;
}

.media-archive-section {
    margin: 0 auto 38px !important;
    width: 100% !important;
}

.media-section-heading {
    width: min(92%, 1050px);
    margin: 0 auto 16px;
    text-align: left;
    border-left: 4px solid #00aaff;
    padding: 4px 0 4px 16px;
}

.media-section-heading h1,
.media-section-heading h2 {
    margin: 0 0 5px;
    color: #19b8ff;
    font-size: clamp(1.35rem, 2.2vw, 2.35rem);
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-shadow: 0 0 10px rgba(0, 170, 255, 0.78), 0 0 22px rgba(0, 170, 255, 0.32) !important;
}

.media-section-heading p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(0.78rem, 1.1vw, 0.98rem);
    line-height: 1.45;
}

.page-media .media-games-carousel,
.page-media .media-season-carousel,
.page-media .media-playlist-carousel {
    width: min(94%, 1120px) !important;
    margin: 0 auto !important;
    border: 1px solid rgba(0, 170, 255, 0.72) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(0, 170, 255, 0.14), transparent 48%),
        linear-gradient(180deg, rgba(4, 12, 28, 0.96), rgba(2, 0, 18, 0.98)) !important;
    box-shadow:
        0 0 16px rgba(0, 170, 255, 0.22),
        inset 0 0 34px rgba(0, 170, 255, 0.08) !important;
    padding: 26px 52px 46px !important;
    overflow: hidden !important;
}

.page-media .media-games-carousel .carousel-track,
.page-media .media-season-carousel .carousel-track,
.page-media .media-playlist-carousel .carousel-track {
    gap: 22px !important;
    align-items: center !important;
    padding: 0 !important;
}

.page-media .media-games-carousel .media-game-slide,
.page-media .media-season-carousel .season-archive-slide,
.page-media .media-playlist-carousel .media-slide {
    flex: 0 0 calc((100% - 44px) / 3) !important;
    min-width: calc((100% - 44px) / 3) !important;
    max-width: calc((100% - 44px) / 3) !important;
    border: 1px solid rgba(0, 170, 255, 0.68) !important;
    border-radius: 13px !important;
    overflow: hidden !important;
    background: rgba(3, 8, 28, 0.92) !important;
    box-shadow:
        0 0 10px rgba(0, 170, 255, 0.22),
        0 10px 24px rgba(0, 0, 0, 0.40) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, opacity 0.25s ease !important;
}

.page-media .media-games-carousel .media-game-slide,
.page-media .media-season-carousel .season-archive-slide {
    aspect-ratio: 16 / 9 !important;
}

.page-media .media-playlist-carousel .media-slide {
    aspect-ratio: 16 / 9 !important;
}

.page-media .media-game-slide:hover,
.page-media .season-archive-slide:hover,
.page-media .media-playlist-carousel .media-slide:hover {
    transform: translateY(-4px) scale(1.015) !important;
    border-color: rgba(60, 205, 255, 0.96) !important;
    box-shadow:
        0 0 14px rgba(0, 170, 255, 0.50),
        0 0 26px rgba(0, 170, 255, 0.18),
        0 12px 26px rgba(0, 0, 0, 0.48) !important;
}

.page-media .media-game-slide img,
.page-media .season-archive-slide img,
.page-media .media-playlist-carousel .media-slide img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
}

.page-media .season-placeholder {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #19b8ff;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background:
        radial-gradient(circle at 50% 35%, rgba(0, 170, 255, 0.20), transparent 50%),
        linear-gradient(135deg, rgba(11, 18, 48, 0.98), rgba(4, 0, 18, 0.98)) !important;
}

.page-media .season-placeholder span {
    font-weight: 900;
    font-size: clamp(1.1rem, 2vw, 2rem);
    color: #ffffff;
    text-shadow: 0 0 10px rgba(0, 170, 255, 0.74);
}

.page-media .season-placeholder small {
    margin-top: 10px;
    font-weight: 800;
    color: #19b8ff;
    text-shadow: 0 0 8px rgba(0, 170, 255, 0.7);
}

.page-media .media-games-carousel .carousel-button,
.page-media .media-season-carousel .carousel-button,
.page-media .media-playlist-carousel .carousel-button {
    color: #19b8ff !important;
    border-color: rgba(0, 170, 255, 0.78) !important;
    background: rgba(0, 10, 30, 0.72) !important;
    box-shadow: 0 0 14px rgba(0, 170, 255, 0.32) !important;
}

.page-media .media-games-carousel .carousel-button:hover,
.page-media .media-season-carousel .carousel-button:hover,
.page-media .media-playlist-carousel .carousel-button:hover {
    background: rgba(0, 75, 130, 0.82) !important;
    box-shadow: 0 0 20px rgba(0, 170, 255, 0.52) !important;
}

.page-media .media-games-carousel .carousel-dots,
.page-media .media-season-carousel .carousel-dots,
.page-media .media-playlist-carousel .carousel-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 16px;
    justify-content: center;
}

.page-media .media-games-carousel .carousel-dot.active,
.page-media .media-season-carousel .carousel-dot.active,
.page-media .media-playlist-carousel .carousel-dot.active {
    background: #19b8ff !important;
    box-shadow: 0 0 10px rgba(0, 170, 255, 0.78) !important;
}

.season-archive-hero {
    width: 100%;
    overflow: hidden;
    border-bottom: 1px solid rgba(0, 170, 255, 0.45);
    box-shadow: 0 0 26px rgba(0, 170, 255, 0.14);
}

.season-archive-hero img {
    width: 100%;
    display: block;
    height: auto;
}

.page-season-archive .site-top + .season-archive-hero {
    margin-top: 0;
}

.page-season-archive .season-heading {
    text-align: center;
    border-left: 0;
    padding-left: 0;
}

.season-back-row {
    text-align: center;
    margin-top: 20px;
}

.season-back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 18px;
    border: 1px solid rgba(0, 170, 255, 0.72);
    border-radius: 999px;
    color: #19b8ff;
    text-decoration: none;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: rgba(0, 10, 30, 0.74);
    box-shadow: 0 0 14px rgba(0, 170, 255, 0.24);
}

.season-back-link:hover {
    color: #fff;
    box-shadow: 0 0 20px rgba(0, 170, 255, 0.52);
}

.game-link-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(1, 0, 10, 0.88);
    backdrop-filter: blur(8px);
}

.game-link-lightbox.is-open {
    display: flex;
}

.game-link-panel {
    width: min(92vw, 720px);
    border: 1px solid rgba(0, 170, 255, 0.86);
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 50% 0%, rgba(0, 170, 255, 0.18), transparent 48%),
        linear-gradient(180deg, rgba(5, 13, 35, 0.98), rgba(2, 0, 12, 0.98));
    box-shadow:
        0 0 20px rgba(0, 170, 255, 0.42),
        0 0 60px rgba(0, 0, 0, 0.85);
    position: relative;
}

.game-link-close {
    position: absolute;
    top: 10px;
    right: 14px;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(0, 170, 255, 0.55);
    border-radius: 999px;
    background: rgba(0, 10, 30, 0.78);
    color: #fff;
    font-size: 1.7rem;
    line-height: 1;
    cursor: pointer;
}

.game-link-title {
    margin: 0 0 8px;
    color: #19b8ff;
    font-size: clamp(1.6rem, 4vw, 3rem);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.game-link-opponent,
.game-link-result {
    margin: 4px 0;
    font-weight: 900;
    text-transform: uppercase;
}

.game-link-result {
    color: #ffd700;
}

.game-link-actions {
    display: grid;
    gap: 14px;
    margin: 24px auto 18px;
    width: min(100%, 520px);
}

.game-link-action {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    border-radius: 14px;
    text-decoration: none;
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.06);
}

.game-link-full { box-shadow: 0 0 16px rgba(255, 0, 170, 0.28); border-color: rgba(255, 0, 170, 0.7); }
.game-link-highlights { box-shadow: 0 0 16px rgba(255, 190, 0, 0.28); border-color: rgba(255, 190, 0, 0.7); }
.game-link-slideshow { box-shadow: 0 0 16px rgba(0, 170, 255, 0.28); border-color: rgba(0, 170, 255, 0.7); }

.game-link-note {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.78rem;
    margin: 0;
}

body.lightbox-open {
    overflow: hidden;
}

@media (min-width: 1100px) {
    .page-media .media-games-carousel .media-game-slide,
    .page-media .media-playlist-carousel .media-slide {
        flex-basis: calc((100% - 66px) / 4) !important;
        min-width: calc((100% - 66px) / 4) !important;
        max-width: calc((100% - 66px) / 4) !important;
    }

    .page-media .media-season-carousel .season-archive-slide {
        flex-basis: calc((100% - 44px) / 3) !important;
        min-width: calc((100% - 44px) / 3) !important;
        max-width: calc((100% - 44px) / 3) !important;
    }
}

@media (max-width: 760px) {
    .page-media main.media-archive-main {
        padding: 22px 0 38px !important;
    }

    .media-section-heading {
        width: 88%;
        text-align: center;
        border-left: 0;
        padding-left: 0;
    }

    .page-media .media-games-carousel,
    .page-media .media-season-carousel,
    .page-media .media-playlist-carousel {
        width: 92% !important;
        padding: 20px 36px 42px !important;
        border-radius: 16px !important;
    }

    .page-media .media-games-carousel .media-game-slide,
    .page-media .media-season-carousel .season-archive-slide,
    .page-media .media-playlist-carousel .media-slide {
        flex-basis: 82vw !important;
        min-width: 82vw !important;
        max-width: 82vw !important;
    }

    .page-media .media-games-carousel .carousel-button.prev,
    .page-media .media-season-carousel .carousel-button.prev,
    .page-media .media-playlist-carousel .carousel-button.prev {
        left: 8px !important;
    }

    .page-media .media-games-carousel .carousel-button.next,
    .page-media .media-season-carousel .carousel-button.next,
    .page-media .media-playlist-carousel .carousel-button.next {
        right: 8px !important;
    }
}


/* =========================
   MEDIA PAGE CAROUSEL SCALE FIX - V59
   Makes the three Media page carousels match the larger homepage carousel feel.
========================= */
.page-media main.media-archive-main {
    padding: clamp(26px, 3.5vw, 46px) 0 54px !important;
}

.page-media .media-archive-section {
    margin: 0 auto clamp(32px, 4vw, 52px) !important;
    width: 100% !important;
}

.page-media .media-section-heading {
    width: min(94%, 1180px) !important;
    margin: 0 auto 14px !important;
}

.page-media .media-games-carousel,
.page-media .media-season-carousel,
.page-media .media-playlist-carousel {
    width: min(96%, 1240px) !important;
    min-height: clamp(265px, 23vw, 355px) !important;
    padding: clamp(34px, 3.8vw, 52px) clamp(58px, 5.2vw, 82px) 52px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

.page-media .media-games-carousel .carousel-track,
.page-media .media-season-carousel .carousel-track,
.page-media .media-playlist-carousel .carousel-track {
    gap: clamp(22px, 2vw, 34px) !important;
    align-items: center !important;
}

.page-media .media-games-carousel .media-game-slide,
.page-media .media-season-carousel .season-archive-slide,
.page-media .media-playlist-carousel .media-slide {
    flex: 0 0 clamp(255px, 29vw, 392px) !important;
    min-width: clamp(255px, 29vw, 392px) !important;
    max-width: clamp(255px, 29vw, 392px) !important;
    aspect-ratio: 16 / 9 !important;
}

.page-media .media-games-carousel .media-game-slide.is-active,
.page-media .media-season-carousel .season-archive-slide.is-active,
.page-media .media-playlist-carousel .media-slide.is-active {
    transform: scale(1.08) !important;
    z-index: 5 !important;
    border-color: rgba(75, 215, 255, 1) !important;
    box-shadow:
        0 0 18px rgba(0, 170, 255, 0.72),
        0 0 42px rgba(0, 170, 255, 0.35),
        0 16px 34px rgba(0, 0, 0, 0.55) !important;
}

.page-media .media-games-carousel .media-game-slide.is-neighbor,
.page-media .media-season-carousel .season-archive-slide.is-neighbor,
.page-media .media-playlist-carousel .media-slide.is-neighbor {
    opacity: 0.74 !important;
    filter: brightness(0.82) saturate(1.1) !important;
}

.page-media .media-games-carousel .carousel-button,
.page-media .media-season-carousel .carousel-button,
.page-media .media-playlist-carousel .carousel-button {
    top: 50% !important;
    width: 44px !important;
    height: 44px !important;
    font-size: 2.1rem !important;
}

.page-media .media-games-carousel .carousel-button.prev,
.page-media .media-season-carousel .carousel-button.prev,
.page-media .media-playlist-carousel .carousel-button.prev {
    left: 18px !important;
}

.page-media .media-games-carousel .carousel-button.next,
.page-media .media-season-carousel .carousel-button.next,
.page-media .media-playlist-carousel .carousel-button.next {
    right: 18px !important;
}

.page-media .media-games-carousel .carousel-dots,
.page-media .media-season-carousel .carousel-dots,
.page-media .media-playlist-carousel .carousel-dots {
    bottom: 20px !important;
}

@media (min-width: 1100px) {
    .page-media .media-games-carousel .media-game-slide,
    .page-media .media-playlist-carousel .media-slide {
        flex-basis: clamp(300px, 31vw, 430px) !important;
        min-width: clamp(300px, 31vw, 430px) !important;
        max-width: clamp(300px, 31vw, 430px) !important;
    }

    .page-media .media-season-carousel .season-archive-slide {
        flex-basis: clamp(300px, 31vw, 430px) !important;
        min-width: clamp(300px, 31vw, 430px) !important;
        max-width: clamp(300px, 31vw, 430px) !important;
    }
}

@media (max-width: 760px) {
    .page-media .media-games-carousel,
    .page-media .media-season-carousel,
    .page-media .media-playlist-carousel {
        width: 94% !important;
        min-height: 250px !important;
        padding: 30px 42px 50px !important;
    }

    .page-media .media-games-carousel .media-game-slide,
    .page-media .media-season-carousel .season-archive-slide,
    .page-media .media-playlist-carousel .media-slide {
        flex-basis: 78vw !important;
        min-width: 78vw !important;
        max-width: 78vw !important;
    }
}

/* =========================
   MEDIA PAGE CAROUSEL CENTER + STAGGER FIX - V60
   Makes all three Media page carousels use the same premium centered
   showcase behavior as the homepage carousel, with larger cards and
   staggered rotation timing handled in script.js.
========================= */
.page-media main.media-archive-main {
    padding: clamp(24px, 3vw, 42px) 0 58px !important;
}

.page-media .media-archive-section {
    margin: 0 auto clamp(34px, 4.2vw, 54px) !important;
}

.page-media .media-section-heading {
    width: calc(100% - 52px) !important;
    max-width: 1220px !important;
    margin: 0 auto 12px !important;
}

.page-media .media-games-carousel,
.page-media .media-season-carousel,
.page-media .media-playlist-carousel {
    width: calc(100% - 36px) !important;
    max-width: 1220px !important;
    height: clamp(320px, 29vw, 425px) !important;
    min-height: clamp(320px, 29vw, 425px) !important;
    margin: 0 auto !important;
    padding: 28px 56px 56px !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    border: 1px solid rgba(0, 185, 255, 0.92) !important;
    background:
        radial-gradient(circle at 50% 8%, rgba(0, 185, 255, 0.18), transparent 45%),
        linear-gradient(180deg, rgba(2, 15, 38, 0.97), rgba(3, 0, 19, 0.985)) !important;
    box-shadow:
        0 0 18px rgba(0, 185, 255, 0.36),
        inset 0 0 42px rgba(0, 185, 255, 0.10),
        0 16px 32px rgba(0, 0, 0, 0.48) !important;
}

.page-media .media-games-carousel .carousel-track,
.page-media .media-season-carousel .carousel-track,
.page-media .media-playlist-carousel .carousel-track {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    transform: none !important;
    transition: none !important;
    overflow: visible !important;
}

.page-media .media-games-carousel .media-game-slide,
.page-media .media-season-carousel .season-archive-slide,
.page-media .media-playlist-carousel .media-slide {
    position: absolute !important;
    left: 50% !important;
    top: 46% !important;
    width: clamp(335px, 57vw, 640px) !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 15px !important;
    border: 1px solid rgba(0, 185, 255, 0.72) !important;
    overflow: hidden !important;
    opacity: 0.28 !important;
    filter: brightness(0.50) saturate(0.82) !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--media-offset) * clamp(245px, 42vw, 510px)))
        scale(0.62) !important;
    transition:
        transform 0.5s cubic-bezier(.22,.61,.36,1),
        opacity 0.5s ease,
        filter 0.5s ease,
        box-shadow 0.5s ease,
        border-color 0.5s ease !important;
    z-index: 1 !important;
    box-shadow:
        0 0 10px rgba(0, 185, 255, 0.20),
        0 12px 28px rgba(0, 0, 0, 0.50) !important;
}

.page-media .media-games-carousel .media-game-slide.is-neighbor,
.page-media .media-season-carousel .season-archive-slide.is-neighbor,
.page-media .media-playlist-carousel .media-slide.is-neighbor {
    opacity: 0.80 !important;
    filter: brightness(0.80) saturate(1.05) !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--media-offset) * clamp(245px, 42vw, 510px)))
        scale(0.76) !important;
    z-index: 3 !important;
}

.page-media .media-games-carousel .media-game-slide.is-distance-2,
.page-media .media-season-carousel .season-archive-slide.is-distance-2,
.page-media .media-playlist-carousel .media-slide.is-distance-2 {
    opacity: 0.20 !important;
    filter: brightness(0.42) saturate(0.76) !important;
    transform:
        translate(-50%, -50%)
        translateX(calc(var(--media-offset) * clamp(245px, 42vw, 510px)))
        scale(0.52) !important;
    z-index: 1 !important;
}

.page-media .media-games-carousel .media-game-slide.is-active,
.page-media .media-season-carousel .season-archive-slide.is-active,
.page-media .media-playlist-carousel .media-slide.is-active {
    left: 50% !important;
    top: 46% !important;
    opacity: 1 !important;
    filter: brightness(1.08) saturate(1.16) !important;
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.02) !important;
    z-index: 8 !important;
    border-color: rgba(70, 220, 255, 1) !important;
    box-shadow:
        0 0 18px rgba(0, 185, 255, 0.78),
        0 0 44px rgba(0, 185, 255, 0.36),
        0 18px 38px rgba(0, 0, 0, 0.62) !important;
}

.page-media .media-games-carousel .media-game-slide.is-active:hover,
.page-media .media-games-carousel .media-game-slide.is-active:focus-visible,
.page-media .media-season-carousel .season-archive-slide.is-active:hover,
.page-media .media-season-carousel .season-archive-slide.is-active:focus-visible,
.page-media .media-playlist-carousel .media-slide.is-active:hover,
.page-media .media-playlist-carousel .media-slide.is-active:focus-visible {
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.045) !important;
}

.page-media .media-games-carousel .media-game-slide.is-hidden-media,
.page-media .media-season-carousel .season-archive-slide.is-hidden-media,
.page-media .media-playlist-carousel .media-slide.is-hidden-media {
    opacity: 0 !important;
    pointer-events: none !important;
}

.page-media .media-games-carousel .carousel-button,
.page-media .media-season-carousel .carousel-button,
.page-media .media-playlist-carousel .carousel-button {
    top: 47% !important;
    z-index: 12 !important;
    width: 46px !important;
    height: 46px !important;
    font-size: 2.2rem !important;
}

.page-media .media-games-carousel .carousel-button.prev,
.page-media .media-season-carousel .carousel-button.prev,
.page-media .media-playlist-carousel .carousel-button.prev {
    left: 18px !important;
}

.page-media .media-games-carousel .carousel-button.next,
.page-media .media-season-carousel .carousel-button.next,
.page-media .media-playlist-carousel .carousel-button.next {
    right: 18px !important;
}

.page-media .media-games-carousel .carousel-dots,
.page-media .media-season-carousel .carousel-dots,
.page-media .media-playlist-carousel .carousel-dots {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    z-index: 13 !important;
}

@media (max-width: 760px) {
    .page-media .media-section-heading {
        width: 90% !important;
    }

    .page-media .media-games-carousel,
    .page-media .media-season-carousel,
    .page-media .media-playlist-carousel {
        width: 94% !important;
        height: clamp(260px, 58vw, 340px) !important;
        min-height: clamp(260px, 58vw, 340px) !important;
        padding: 26px 38px 52px !important;
    }

    .page-media .media-games-carousel .media-game-slide,
    .page-media .media-season-carousel .season-archive-slide,
    .page-media .media-playlist-carousel .media-slide {
        width: clamp(270px, 78vw, 440px) !important;
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--media-offset) * clamp(210px, 64vw, 365px)))
            scale(0.58) !important;
    }

    .page-media .media-games-carousel .media-game-slide.is-neighbor,
    .page-media .media-season-carousel .season-archive-slide.is-neighbor,
    .page-media .media-playlist-carousel .media-slide.is-neighbor {
        transform:
            translate(-50%, -50%)
            translateX(calc(var(--media-offset) * clamp(210px, 64vw, 365px)))
            scale(0.70) !important;
    }

    .page-media .media-games-carousel .media-game-slide.is-active,
    .page-media .media-season-carousel .season-archive-slide.is-active,
    .page-media .media-playlist-carousel .media-slide.is-active {
        transform:
            translate(-50%, -50%)
            translateX(0)
            scale(0.98) !important;
    }
}

/* =========================
   MEDIA PAGE CAROUSEL HEIGHT + BREATHING ROOM FIX - V61
   Gives the three Media page carousels the same vertical breathing room as the locked homepage carousel.
   The active center cards no longer touch the top border and the dots stay clear below the cards.
========================= */
.page-media .media-games-carousel,
.page-media .media-season-carousel,
.page-media .media-playlist-carousel {
    height: clamp(390px, 34vw, 505px) !important;
    min-height: clamp(390px, 34vw, 505px) !important;
    padding: 44px 58px 74px !important;
}

.page-media .media-games-carousel .media-game-slide,
.page-media .media-season-carousel .season-archive-slide,
.page-media .media-playlist-carousel .media-slide {
    top: 47.5% !important;
}

.page-media .media-games-carousel .media-game-slide.is-active,
.page-media .media-season-carousel .season-archive-slide.is-active,
.page-media .media-playlist-carousel .media-slide.is-active {
    top: 47.5% !important;
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.0) !important;
}

.page-media .media-games-carousel .media-game-slide.is-active:hover,
.page-media .media-games-carousel .media-game-slide.is-active:focus-visible,
.page-media .media-season-carousel .season-archive-slide.is-active:hover,
.page-media .media-season-carousel .season-archive-slide.is-active:focus-visible,
.page-media .media-playlist-carousel .media-slide.is-active:hover,
.page-media .media-playlist-carousel .media-slide.is-active:focus-visible {
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.025) !important;
}

.page-media .media-games-carousel .carousel-button,
.page-media .media-season-carousel .carousel-button,
.page-media .media-playlist-carousel .carousel-button {
    top: 48% !important;
}

.page-media .media-games-carousel .carousel-dots,
.page-media .media-season-carousel .carousel-dots,
.page-media .media-playlist-carousel .carousel-dots {
    bottom: 28px !important;
}

@media (max-width: 760px) {
    .page-media .media-games-carousel,
    .page-media .media-season-carousel,
    .page-media .media-playlist-carousel {
        height: clamp(330px, 72vw, 430px) !important;
        min-height: clamp(330px, 72vw, 430px) !important;
        padding: 40px 38px 68px !important;
    }

    .page-media .media-games-carousel .media-game-slide,
    .page-media .media-season-carousel .season-archive-slide,
    .page-media .media-playlist-carousel .media-slide,
    .page-media .media-games-carousel .media-game-slide.is-active,
    .page-media .media-season-carousel .season-archive-slide.is-active,
    .page-media .media-playlist-carousel .media-slide.is-active {
        top: 47% !important;
    }

    .page-media .media-games-carousel .carousel-dots,
    .page-media .media-season-carousel .carousel-dots,
    .page-media .media-playlist-carousel .carousel-dots {
        bottom: 24px !important;
    }
}


/* =========================
   MEDIA PAGE CAROUSEL FULL-CARD FIX - V63
   Shows full 3:2 game cards and 16:9 season/playlist cards without cropping.
   Adds extra safe height so active cards and glows clear the carousel borders.
========================= */
.page-media .media-games-carousel,
.page-media .media-season-carousel,
.page-media .media-playlist-carousel {
    height: clamp(500px, 43vw, 640px) !important;
    min-height: clamp(500px, 43vw, 640px) !important;
    padding: 58px 62px 88px !important;
    overflow: hidden !important;
}

/* Latest Games cards are 3:2 graphics, not 16:9 thumbnails. */
.page-media .media-games-carousel .media-game-slide {
    width: clamp(420px, 50vw, 700px) !important;
    aspect-ratio: 3 / 2 !important;
    top: 48% !important;
}

/* Season archive and playlist cards stay wide 16:9. */
.page-media .media-season-carousel .season-archive-slide,
.page-media .media-playlist-carousel .media-slide {
    width: clamp(420px, 50vw, 700px) !important;
    aspect-ratio: 16 / 9 !important;
    top: 48% !important;
}

/* Never crop the artwork on Media page carousel cards. */
.page-media .media-games-carousel .media-game-slide img,
.page-media .media-season-carousel .season-archive-slide img,
.page-media .media-playlist-carousel .media-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: rgba(5, 0, 15, 0.96) !important;
}

.page-media .media-games-carousel .media-game-slide.is-active,
.page-media .media-season-carousel .season-archive-slide.is-active,
.page-media .media-playlist-carousel .media-slide.is-active {
    top: 48% !important;
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(0.98) !important;
}

.page-media .media-games-carousel .media-game-slide.is-active:hover,
.page-media .media-games-carousel .media-game-slide.is-active:focus-visible,
.page-media .media-season-carousel .season-archive-slide.is-active:hover,
.page-media .media-season-carousel .season-archive-slide.is-active:focus-visible,
.page-media .media-playlist-carousel .media-slide.is-active:hover,
.page-media .media-playlist-carousel .media-slide.is-active:focus-visible {
    transform:
        translate(-50%, -50%)
        translateX(0)
        scale(1.0) !important;
}

.page-media .media-games-carousel .carousel-dots,
.page-media .media-season-carousel .carousel-dots,
.page-media .media-playlist-carousel .carousel-dots {
    bottom: 34px !important;
}

.page-media .media-games-carousel .carousel-button,
.page-media .media-season-carousel .carousel-button,
.page-media .media-playlist-carousel .carousel-button {
    top: 48% !important;
}

@media (max-width: 900px) {
    .page-media .media-games-carousel,
    .page-media .media-season-carousel,
    .page-media .media-playlist-carousel {
        height: clamp(390px, 76vw, 560px) !important;
        min-height: clamp(390px, 76vw, 560px) !important;
        padding: 48px 44px 78px !important;
    }

    .page-media .media-games-carousel .media-game-slide,
    .page-media .media-season-carousel .season-archive-slide,
    .page-media .media-playlist-carousel .media-slide {
        width: clamp(300px, 82vw, 620px) !important;
    }
}

@media (max-width: 560px) {
    .page-media .media-games-carousel,
    .page-media .media-season-carousel,
    .page-media .media-playlist-carousel {
        height: clamp(330px, 96vw, 460px) !important;
        min-height: clamp(330px, 96vw, 460px) !important;
        padding: 38px 28px 66px !important;
    }

    .page-media .media-games-carousel .media-game-slide,
    .page-media .media-season-carousel .season-archive-slide,
    .page-media .media-playlist-carousel .media-slide {
        width: clamp(270px, 88vw, 430px) !important;
    }

    .page-media .media-games-carousel .carousel-dots,
    .page-media .media-season-carousel .carousel-dots,
    .page-media .media-playlist-carousel .carousel-dots {
        bottom: 24px !important;
    }
}


/* =========================
   MEDIA SECTION TITLE GRAPHICS - V67
========================= */
.page-media .media-section-heading {
    border-left: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    width: calc(100% - 36px) !important;
    max-width: 1220px !important;
    margin: 0 auto 18px !important;
}

.page-media .media-section-title-graphic {
    display: block;
    width: min(100%, 1180px);
    height: auto;
    margin: 0 auto 8px;
    object-fit: contain;
    filter: drop-shadow(0 0 12px rgba(0, 170, 255, 0.48));
}

.page-media .media-section-heading p {
    width: min(94%, 1050px);
    margin: 0 auto !important;
    text-align: center !important;
}

@media (max-width: 760px) {
    .page-media .media-section-heading {
        width: calc(100% - 20px) !important;
        margin-bottom: 14px !important;
    }

    .page-media .media-section-title-graphic {
        width: 100%;
        margin-bottom: 6px;
    }

    .page-media .media-section-heading p {
        width: 92%;
        font-size: 0.86rem !important;
    }
}


/* ============================================================
   V68 — CONSISTENT CAROUSEL DESCRIPTION TEXT
   ============================================================ */
.carousel-section-description {
    width: min(92%, 980px);
    margin: 8px auto 0;
    color: rgba(255, 255, 255, 0.94);
    font-size: clamp(0.76rem, 1.05vw, 0.96rem);
    line-height: 1.45;
    font-weight: 400;
    letter-spacing: 0.01em;
    text-align: center;
}

.page-home .homepage-bestof-title-wrap {
    padding-bottom: 14px !important;
}

.page-home .homepage-carousel-description {
    text-shadow: 0 0 9px rgba(255, 204, 0, 0.52);
}

.page-team .roster-title-block {
    margin-bottom: 12px !important;
    padding-bottom: 8px !important;
}

.page-team .roster-carousel-description {
    text-transform: none;
    letter-spacing: 0.01em;
    text-shadow: 0 0 10px rgba(255, 0, 255, 0.58);
}

@media (max-width: 760px) {
    .carousel-section-description {
        width: min(92%, 650px);
        margin-top: 7px;
        padding: 0 8px;
        font-size: clamp(0.72rem, 2.8vw, 0.88rem);
        line-height: 1.42;
    }

    .page-home .homepage-bestof-title-wrap {
        padding-bottom: 12px !important;
    }

    .page-team .roster-title-block {
        margin-bottom: 10px !important;
        padding-bottom: 6px !important;
    }
}


/* ============================================================
   V69 — CONSISTENT WHITE SECTION DESCRIPTIONS + COMING SOON LINKS
   ============================================================ */
.homepage-bestof-title-wrap,
.page-team .roster-title-block {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.carousel-section-description,
.page-section-description {
    display: block !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    width: min(92%, 980px) !important;
    max-width: 980px !important;
    margin: 8px auto 14px !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    color: rgba(255,255,255,.96) !important;
    font-size: clamp(.76rem, 1.05vw, .96rem) !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    text-transform: none !important;
    white-space: normal !important;
}

.page-home .homepage-carousel-description {
    text-shadow: 0 0 9px rgba(255,204,0,.52) !important;
}
.page-team .roster-carousel-description {
    text-shadow: 0 0 10px rgba(255,0,255,.58) !important;
}
.schedule-page-description { text-shadow: 0 0 9px rgba(60,255,60,.52) !important; }
.news-page-description { text-shadow: 0 0 9px rgba(255,95,15,.52) !important; }
.live-page-description { text-shadow: 0 0 9px rgba(255,35,35,.52) !important; }
.follow-page-description { text-shadow: 0 0 9px rgba(255,55,220,.52) !important; }

.page-section-description {
    margin-top: 18px !important;
    margin-bottom: 4px !important;
}

.game-link-action.is-disabled {
    opacity: .58 !important;
    filter: grayscale(.55) !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

@media (max-width: 760px) {
    .carousel-section-description,
    .page-section-description {
        width: min(94%, 650px) !important;
        margin-top: 7px !important;
        margin-bottom: 12px !important;
        padding: 0 10px !important;
        font-size: clamp(.72rem, 2.8vw, .88rem) !important;
        line-height: 1.42 !important;
    }
    .page-section-description {
        margin-top: 14px !important;
        margin-bottom: 2px !important;
    }
}


/* v70: social profile links added across follow page and all footers. */


/* v70: official social profile links added to the Follow page and every site footer. */


/* ============================================================
   V71 — TEAM ROSTER DESCRIPTION PLACEMENT FIX
   Keeps the help text outside the title graphic wrapper so it
   cannot be clipped or hidden by older roster-title rules.
   ============================================================ */
.page-team .team-roster-description {
    display: block !important;
    position: relative !important;
    z-index: 5 !important;
    width: min(92%, 980px) !important;
    max-width: 980px !important;
    margin: -10px auto 20px !important;
    padding: 0 14px !important;
    color: #ffffff !important;
    text-align: center !important;
    font-size: clamp(0.76rem, 1.05vw, 0.96rem) !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    opacity: 0.96 !important;
    visibility: visible !important;
    overflow: visible !important;
    text-shadow: 0 0 10px rgba(255, 0, 255, 0.62) !important;
}

@media (max-width: 760px) {
    .page-team .team-roster-description {
        width: 90% !important;
        margin: -5px auto 16px !important;
        padding: 0 8px !important;
        font-size: 0.78rem !important;
        line-height: 1.42 !important;
    }
}

/* ============================================================
   V72 — UNIVERSAL SECTION SPACING
   Team page is the master rhythm for titles, descriptions,
   carousels, and primary content panels across the site.
   ============================================================ */

:root {
  --section-title-width: min(88%, 900px);
  --section-description-width: min(88%, 900px);
  --section-title-to-description: 8px;
  --section-description-to-content: 18px;
  --section-content-to-next: 34px;
  --page-content-top-gap: 18px;
}

/* Shared white explanatory copy */
.carousel-section-description,
.page-section-description,
.media-section-heading p {
  display: block;
  width: var(--section-description-width);
  max-width: 900px;
  margin: var(--section-title-to-description) auto var(--section-description-to-content) !important;
  padding: 0 !important;
  color: #fff !important;
  text-align: center !important;
  font-size: clamp(11px, 0.85vw, 14px) !important;
  line-height: 1.45 !important;
  opacity: 0.92;
  text-shadow: 0 0 7px rgba(255, 255, 255, 0.25);
  box-sizing: border-box;
}

/* Homepage: title, description, carousel */
.page-home .homepage-bestof-title-wrap {
  width: 100%;
  margin: var(--page-content-top-gap) auto 0 !important;
  padding: 0 !important;
  text-align: center;
}

.page-home .homepage-bestof-title {
  display: block;
  width: var(--section-title-width) !important;
  max-width: 900px !important;
  height: auto;
  margin: 0 auto !important;
}

.page-home .homepage-carousel-description {
  margin-top: var(--section-title-to-description) !important;
  margin-bottom: var(--section-description-to-content) !important;
}

.page-home .homepage-media-carousel {
  margin-top: 0 !important;
  margin-bottom: var(--section-content-to-next) !important;
}

/* Team: locked as the visual reference */
.page-team .roster-title-block,
.page-team .roster-graphic-block {
  width: 100%;
  margin: var(--page-content-top-gap) auto 0 !important;
  padding: 0 !important;
  text-align: center;
}

.page-team .roster-title-graphic {
  display: block;
  width: var(--section-title-width) !important;
  max-width: 900px !important;
  height: auto;
  margin: 0 auto !important;
}

.page-team .team-roster-description,
.page-team .roster-carousel-description {
  margin-top: var(--section-title-to-description) !important;
  margin-bottom: var(--section-description-to-content) !important;
}

.page-team .team-roster-carousel {
  margin-top: 0 !important;
  margin-bottom: var(--section-content-to-next) !important;
}

/* Media: same spacing for all three title/description/carousel groups */
.page-media .media-archive-main {
  padding-top: var(--page-content-top-gap) !important;
}

.page-media .media-archive-section {
  margin: 0 auto var(--section-content-to-next) !important;
  padding: 0 !important;
}

.page-media .media-archive-section + .media-archive-section {
  margin-top: 0 !important;
}

.page-media .media-section-heading {
  width: 100%;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center;
}

.page-media .media-section-title-graphic {
  display: block;
  width: var(--section-title-width) !important;
  max-width: 900px !important;
  height: auto;
  margin: 0 auto !important;
}

.page-media .media-section-heading p {
  margin-top: var(--section-title-to-description) !important;
  margin-bottom: var(--section-description-to-content) !important;
}

.page-media .media-archive-section > .carousel {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Standard pages: hero, description, primary content block */
.page-schedule .page-section-description,
.page-news .page-section-description,
.page-live .page-section-description,
.page-follow .page-section-description {
  margin-top: 0 !important;
  margin-bottom: var(--section-description-to-content) !important;
  padding-top: var(--page-content-top-gap) !important;
}

.page-schedule main,
.page-news main,
.page-live main,
.page-follow main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.page-schedule .schedule-page-section,
.page-news .news-section,
.page-live .live-section,
.page-follow .follow-hub {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: var(--section-content-to-next) !important;
}

/* Prevent older page-specific rules from pushing content apart */
.page-home main,
.page-team main,
.page-media main {
  padding-top: 0;
}

@media (max-width: 700px) {
  :root {
    --section-title-width: 90%;
    --section-description-width: 88%;
    --section-title-to-description: 6px;
    --section-description-to-content: 14px;
    --section-content-to-next: 26px;
    --page-content-top-gap: 12px;
  }

  .carousel-section-description,
  .page-section-description,
  .media-section-heading p {
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
}


/* ============================================================
   V73 — ABOUT PAGE, 404 PAGE, AND FOOTER ABOUT LINK
   ============================================================ */
.footer-links {
  margin: 2px 0 0;
  text-align: center;
  font-size: 0.72rem;
  line-height: 1.2;
}
.footer-links a {
  color: rgba(255,255,255,0.78);
  text-decoration: none;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.footer-links a:hover,
.footer-links a:focus-visible {
  color: #fff;
  text-shadow: 0 0 8px currentColor;
}

.page-about,
.page-404 {
  --page-accent: #9b4dff;
  --page-accent-rgb: 155, 77, 255;
}
.page-404 {
  --page-accent: #00a8ff;
  --page-accent-rgb: 0, 168, 255;
}

.about-main,
.not-found-main {
  position: relative;
  min-height: 620px;
  padding: clamp(30px, 5vw, 64px) clamp(18px, 5vw, 70px);
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 12%, rgba(var(--page-accent-rgb), .25), transparent 36%),
    linear-gradient(180deg, #060311 0%, #09041a 50%, #020108 100%);
}
.about-main::before,
.not-found-main::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image:
    radial-gradient(circle at 8% 18%, #fff 0 1px, transparent 1.6px),
    radial-gradient(circle at 78% 12%, #fff 0 1px, transparent 1.6px),
    radial-gradient(circle at 26% 72%, #fff 0 1px, transparent 1.6px),
    radial-gradient(circle at 88% 78%, #fff 0 1px, transparent 1.6px);
  background-size: 160px 150px, 220px 180px, 190px 210px, 250px 230px;
}
.about-main > *,
.not-found-main > * { position: relative; z-index: 1; }

.about-hero {
  width: min(100%, 980px);
  margin: 0 auto 28px;
  padding: clamp(28px, 5vw, 52px);
  text-align: center;
  border: 1px solid rgba(var(--page-accent-rgb), .9);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(17,8,36,.92), rgba(3,3,12,.94));
  box-shadow: 0 0 28px rgba(var(--page-accent-rgb), .28), inset 0 0 28px rgba(var(--page-accent-rgb), .08);
}
.about-logo,
.not-found-logo {
  width: clamp(82px, 11vw, 132px);
  height: auto;
  filter: drop-shadow(0 0 16px rgba(var(--page-accent-rgb), .95));
}
.about-kicker {
  margin: 18px 0 7px;
  color: var(--page-accent);
  font-weight: 800;
  letter-spacing: .12em;
  font-size: clamp(.74rem, 1.4vw, .98rem);
}
.about-hero h1,
.not-found-card h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 5vw, 4.4rem);
  line-height: 1;
  text-transform: uppercase;
  text-shadow: 0 0 14px rgba(var(--page-accent-rgb), .88);
}
.about-lead {
  width: min(100%, 760px);
  margin: 18px auto 0;
  color: rgba(255,255,255,.9);
  font-size: clamp(1rem, 1.8vw, 1.24rem);
  line-height: 1.65;
}
.about-grid {
  width: min(100%, 1100px);
  margin: 0 auto 28px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.about-card,
.about-cta,
.not-found-card {
  border: 1px solid rgba(var(--page-accent-rgb), .72);
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(18,8,38,.94), rgba(3,3,12,.96));
  box-shadow: 0 0 20px rgba(var(--page-accent-rgb), .18);
}
.about-card { padding: 26px; }
.about-card h2,
.about-cta h2 {
  margin: 0 0 10px;
  color: var(--page-accent);
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  text-transform: uppercase;
  text-shadow: 0 0 9px rgba(var(--page-accent-rgb), .72);
}
.about-card p,
.about-cta p,
.not-found-card p {
  margin: 0;
  color: rgba(255,255,255,.84);
  line-height: 1.65;
}
.about-cta {
  width: min(100%, 900px);
  margin: 0 auto;
  padding: 28px;
  text-align: center;
}
.about-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 22px;
}
.site-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  padding: 12px 20px;
  border: 1px solid var(--page-accent);
  border-radius: 999px;
  color: #fff;
  background: rgba(var(--page-accent-rgb), .18);
  text-decoration: none;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  box-shadow: 0 0 14px rgba(var(--page-accent-rgb), .32);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.site-button:hover,
.site-button:focus-visible {
  transform: translateY(-2px);
  background: rgba(var(--page-accent-rgb), .33);
  box-shadow: 0 0 23px rgba(var(--page-accent-rgb), .52);
}
.site-button-secondary { background: rgba(255,255,255,.05); }

.not-found-main {
  display: grid;
  place-items: center;
}
.not-found-card {
  width: min(100%, 760px);
  padding: clamp(34px, 7vw, 72px) clamp(22px, 6vw, 60px);
  text-align: center;
}
.not-found-code {
  margin: 18px 0 0 !important;
  color: var(--page-accent) !important;
  font-size: clamp(4.8rem, 15vw, 10rem);
  line-height: .82 !important;
  font-weight: 900;
  letter-spacing: -.05em;
  text-shadow: 0 0 25px rgba(var(--page-accent-rgb), .8);
}
.not-found-card h1 { margin-top: 18px; }
.not-found-card > p:not(.not-found-code) {
  width: min(100%, 580px);
  margin: 18px auto 0;
  font-size: clamp(1rem, 2vw, 1.18rem);
}

@media (max-width: 760px) {
  .about-main,
  .not-found-main { min-height: 520px; padding: 22px 14px 30px; }
  .about-grid { grid-template-columns: 1fr; }
  .about-hero { padding: 28px 18px; }
  .about-card { padding: 22px 20px; }
  .about-cta { padding: 24px 18px; }
  .site-button { width: 100%; }
  .footer-links { font-size: .66rem; }
}


/* ============================================================
   V74 — FINAL NAV LOGO ALIGNMENT + UNIFIED CAROUSEL SHELLS
   ============================================================ */

/* Center the two header logos vertically and give them more presence. */
.hero-bar {
  grid-template-columns: 122px minmax(0, 1fr) 122px !important;
  align-items: center !important;
  padding-top: 10px !important;
  padding-bottom: 6px !important;
}

.hero-logo,
.hero-logo-right {
  min-height: 104px !important;
  align-items: center !important;
}

.hero-logo img,
.hero-logo-right img {
  width: 100px !important;
  height: 100px !important;
  object-fit: contain !important;
  transform: translateY(5px);
}

.hero-logo:hover img,
.hero-logo-right:hover img {
  transform: translateY(5px) scale(1.08) !important;
}

/* Use the Media page carousel shell as the master size everywhere. */
.page-home .homepage-media-carousel,
.page-team .team-roster-carousel,
.page-media .media-games-carousel,
.page-media .media-season-carousel,
.page-media .media-playlist-carousel {
  width: calc(100% - 36px) !important;
  max-width: 1220px !important;
  height: clamp(500px, 43vw, 640px) !important;
  min-height: clamp(500px, 43vw, 640px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 58px 62px 88px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Keep each page's card artwork proportional inside the shared shell. */
.page-home .homepage-media-carousel .media-slide {
  width: clamp(420px, 50vw, 700px) !important;
  min-width: 0 !important;
  max-width: 700px !important;
  aspect-ratio: 16 / 9 !important;
}

.page-team .team-roster-carousel .team-slide,
.page-team .team-roster-carousel .team-card-slide {
  height: clamp(330px, 34vw, 470px) !important;
  width: auto !important;
  aspect-ratio: 2 / 3 !important;
}

.page-home .homepage-media-carousel .carousel-dots,
.page-team .team-roster-carousel .carousel-dots,
.page-media .media-games-carousel .carousel-dots,
.page-media .media-season-carousel .carousel-dots,
.page-media .media-playlist-carousel .carousel-dots {
  bottom: 34px !important;
}

.page-home .homepage-media-carousel .carousel-button,
.page-team .team-roster-carousel .carousel-button,
.page-media .media-games-carousel .carousel-button,
.page-media .media-season-carousel .carousel-button,
.page-media .media-playlist-carousel .carousel-button {
  top: 48% !important;
}

@media (max-width: 760px) {
  .hero-bar {
    grid-template-columns: 82px minmax(0, 1fr) 82px !important;
    column-gap: 8px !important;
    padding: 7px 10px 4px !important;
  }

  .hero-logo,
  .hero-logo-right {
    min-height: 76px !important;
  }

  .hero-logo img,
  .hero-logo-right img {
    width: 74px !important;
    height: 74px !important;
    transform: translateY(4px);
  }

  .hero-logo:hover img,
  .hero-logo-right:hover img {
    transform: translateY(4px) scale(1.06) !important;
  }

  .page-home .homepage-media-carousel,
  .page-team .team-roster-carousel,
  .page-media .media-games-carousel,
  .page-media .media-season-carousel,
  .page-media .media-playlist-carousel {
    width: calc(100% - 20px) !important;
    height: clamp(330px, 96vw, 460px) !important;
    min-height: clamp(330px, 96vw, 460px) !important;
    padding: 38px 28px 66px !important;
  }

  .page-home .homepage-media-carousel .media-slide {
    width: clamp(270px, 88vw, 430px) !important;
  }

  .page-team .team-roster-carousel .team-slide,
  .page-team .team-roster-carousel .team-card-slide {
    height: clamp(250px, 68vw, 360px) !important;
  }

  .page-home .homepage-media-carousel .carousel-dots,
  .page-team .team-roster-carousel .carousel-dots,
  .page-media .media-games-carousel .carousel-dots,
  .page-media .media-season-carousel .carousel-dots,
  .page-media .media-playlist-carousel .carousel-dots {
    bottom: 24px !important;
  }
}

/* ============================================================
   V75 — HOMEPAGE + TEAM CAROUSEL TOP-CLEARANCE FIX
   Keeps the unified carousel shells from V74, but lowers the
   artwork rows so enlarged active cards no longer touch or clip
   against the top edge of the carousel frame.
   ============================================================ */

/* Homepage: center the 16:9 card vertically in the taller shell. */
.page-home .homepage-media-carousel .media-slide,
.page-home .homepage-media-carousel .media-slide.is-neighbor,
.page-home .homepage-media-carousel .media-slide.is-distance-2,
.page-home .homepage-media-carousel .media-slide.is-active {
  top: 52% !important;
}

/* Team: lower the complete player-card fan, including the active card. */
.page-team .team-roster-carousel .team-card-slide,
.page-team .team-roster-carousel .team-card-slide.is-neighbor,
.page-team .team-roster-carousel .team-card-slide.is-distance-2,
.page-team .team-roster-carousel .team-card-slide.is-distance-3 {
  top: 48% !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
  top: 47% !important;
}

/* Preserve clear separation between cards and carousel dots. */
.page-home .homepage-media-carousel .carousel-dots,
.page-team .team-roster-carousel .carousel-dots {
  bottom: 26px !important;
}

@media (max-width: 900px) {
  .page-home .homepage-media-carousel .media-slide,
  .page-home .homepage-media-carousel .media-slide.is-neighbor,
  .page-home .homepage-media-carousel .media-slide.is-distance-2,
  .page-home .homepage-media-carousel .media-slide.is-active {
    top: 52% !important;
  }

  .page-team .team-roster-carousel .team-card-slide,
  .page-team .team-roster-carousel .team-card-slide.is-neighbor,
  .page-team .team-roster-carousel .team-card-slide.is-distance-2,
  .page-team .team-roster-carousel .team-card-slide.is-distance-3 {
    top: 48% !important;
  }

  .page-team .team-roster-carousel .team-card-slide.is-active {
    top: 47% !important;
  }

  .page-home .homepage-media-carousel .carousel-dots,
  .page-team .team-roster-carousel .carousel-dots {
    bottom: 20px !important;
  }
}


/* ============================================================
   V76 — GOLD 404, PLATINUM ABOUT, INLINE FOOTER ABOUT LINK
   ============================================================ */

/* The About page uses a neutral silver/platinum identity that is
   separate from all seven main page color themes. */
.page-about {
  --page-accent: #e7edf5 !important;
  --page-accent-rgb: 231, 237, 245 !important;
}

.page-about .site-top {
  border-bottom-color: rgba(231, 237, 245, .78) !important;
  box-shadow: 0 5px 18px rgba(190, 210, 235, .16) !important;
}

.page-about .about-main {
  background:
    radial-gradient(circle at 50% 10%, rgba(210, 225, 244, .24), transparent 37%),
    radial-gradient(circle at 16% 68%, rgba(120, 160, 205, .12), transparent 34%),
    linear-gradient(180deg, #080b12 0%, #101722 52%, #03050a 100%) !important;
}

.page-about .about-hero,
.page-about .about-card,
.page-about .about-cta {
  background: linear-gradient(145deg, rgba(24, 31, 42, .95), rgba(5, 8, 13, .97)) !important;
  border-color: rgba(220, 232, 246, .72) !important;
  box-shadow: 0 0 24px rgba(196, 218, 244, .2), inset 0 0 24px rgba(255,255,255,.035) !important;
}

.page-about .about-kicker,
.page-about .about-card h2,
.page-about .about-cta h2 {
  color: #eef4fb !important;
  text-shadow: 0 0 10px rgba(205, 226, 250, .72) !important;
}

.page-about .about-hero h1 {
  background: linear-gradient(180deg, #ffffff 0%, #d9e4f0 45%, #8fa7c1 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  text-shadow: 0 0 18px rgba(211, 230, 250, .34) !important;
}

.page-about .site-button {
  border-color: #dce8f5 !important;
  background: rgba(210, 226, 244, .12) !important;
  box-shadow: 0 0 16px rgba(205, 225, 248, .25) !important;
}

.page-about .site-button:hover,
.page-about .site-button:focus-visible {
  background: rgba(220, 235, 250, .24) !important;
  box-shadow: 0 0 25px rgba(215, 235, 255, .45) !important;
}

/* The 404 page inherits the Homepage's gold identity. */
.page-404 {
  --page-accent: #f5c400 !important;
  --page-accent-rgb: 245, 196, 0 !important;
}

.page-404 .site-top {
  border-bottom-color: rgba(245, 196, 0, .82) !important;
  box-shadow: 0 5px 18px rgba(245, 196, 0, .18) !important;
}

.page-404 .not-found-main {
  background:
    radial-gradient(circle at 50% 12%, rgba(245, 196, 0, .24), transparent 37%),
    radial-gradient(circle at 18% 74%, rgba(255, 156, 0, .1), transparent 34%),
    linear-gradient(180deg, #0d0800 0%, #140c00 50%, #030200 100%) !important;
}

.page-404 .not-found-card {
  border-color: rgba(245, 196, 0, .82) !important;
  background: linear-gradient(145deg, rgba(27, 18, 2, .95), rgba(5, 3, 0, .97)) !important;
  box-shadow: 0 0 30px rgba(245, 196, 0, .28), inset 0 0 28px rgba(245, 196, 0, .06) !important;
}

.page-404 .not-found-code {
  background: linear-gradient(180deg, #fff4a8 0%, #ffd52e 43%, #b87900 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  text-shadow: 0 0 25px rgba(245, 196, 0, .5) !important;
}

.page-404 .not-found-card h1 {
  color: #fff7ca !important;
  text-shadow: 0 0 14px rgba(245, 196, 0, .88) !important;
}

.page-404 .site-button {
  border-color: #f5c400 !important;
  background: rgba(245, 196, 0, .12) !important;
  box-shadow: 0 0 16px rgba(245, 196, 0, .28) !important;
}

.page-404 .site-button:hover,
.page-404 .site-button:focus-visible {
  background: rgba(245, 196, 0, .25) !important;
  box-shadow: 0 0 25px rgba(245, 196, 0, .5) !important;
}

/* Keep copyright and About on one clean footer line. */
.footer-small {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .4rem;
}

.footer-divider {
  color: rgba(255,255,255,.52);
}

.footer-about-link {
  color: rgba(255,255,255,.82);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .88em;
  transition: color .2s ease, text-shadow .2s ease;
}

.footer-about-link:hover,
.footer-about-link:focus-visible {
  color: #fff;
  text-shadow: 0 0 8px currentColor;
}

/* Remove any spacing left by legacy standalone footer-link rules. */
.footer-links { display: none !important; }


/* ============================================================
   V77 — ABOUT HERO + PLATINUM THEME + FINAL CAROUSEL SAFE ZONES
   ============================================================ */

/* About page: use the dedicated silver/platinum navigation graphic and hero. */
.page-about {
  --page-accent: #eef3f8 !important;
  --page-accent-rgb: 238, 243, 248 !important;
  color: #f7f9fc;
}

.page-about .hero-title img {
  filter: drop-shadow(0 0 10px rgba(255,255,255,.58)) drop-shadow(0 0 22px rgba(185,205,226,.42));
}

.page-about .site-top,
.page-about footer {
  border-color: rgba(232, 239, 247, .82) !important;
  box-shadow: 0 0 22px rgba(210, 225, 242, .18) !important;
}

.page-about .about-main {
  padding-top: 0 !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(235, 242, 250, .16), transparent 38%),
    linear-gradient(180deg, #0b0f16 0%, #111822 52%, #040608 100%) !important;
}

.special-page-hero {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background: #030509;
}

.special-page-hero img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page-about .about-page-hero {
  border-bottom: 1px solid rgba(235, 242, 250, .75);
  box-shadow: 0 12px 30px rgba(205, 220, 239, .15);
}

.special-page-description {
  width: min(90%, 960px);
  margin: 10px auto 20px;
  color: #f3f6fa;
  text-align: center;
  font-size: clamp(.82rem, 1.25vw, 1rem);
  line-height: 1.5;
  text-shadow: 0 0 10px rgba(230, 239, 248, .38);
}

.page-about .about-grid,
.page-about .about-cta {
  width: min(92%, 1080px) !important;
}

.page-about .about-card,
.page-about .about-cta {
  border-color: rgba(231, 238, 247, .78) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 0 24px rgba(205, 220, 239, .20),
    inset 0 0 24px rgba(255,255,255,.035) !important;
}

.page-about .about-card h2,
.page-about .about-cta h2,
.page-about .about-card p,
.page-about .about-cta p {
  color: #f3f6fa !important;
}

.page-about .site-button {
  color: #fff !important;
  border-color: #eef3f8 !important;
  background: linear-gradient(180deg, rgba(245,248,252,.16), rgba(151,169,190,.08)) !important;
  box-shadow: 0 0 18px rgba(220, 233, 247, .28) !important;
}

.page-about .site-button:hover,
.page-about .site-button:focus-visible {
  background: linear-gradient(180deg, rgba(255,255,255,.28), rgba(173,192,214,.16)) !important;
  box-shadow: 0 0 30px rgba(230, 241, 252, .48) !important;
}

/* 404 page: use the dedicated gold navigation title and retain a compact recovery card. */
.page-404 .hero-title img {
  filter: drop-shadow(0 0 10px rgba(255,213,46,.7)) drop-shadow(0 0 24px rgba(245,196,0,.42));
}

/* Homepage carousel: reserve a true artwork zone above the dots and fully fill the image frame. */
.page-home .homepage-media-carousel {
  height: clamp(500px, 43vw, 640px) !important;
  min-height: clamp(500px, 43vw, 640px) !important;
  padding: 44px 62px 92px !important;
}

.page-home .homepage-media-carousel .carousel-track {
  position: absolute !important;
  inset: 36px 0 82px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.page-home .homepage-media-carousel .media-slide,
.page-home .homepage-media-carousel .media-slide.is-neighbor,
.page-home .homepage-media-carousel .media-slide.is-distance-2,
.page-home .homepage-media-carousel .media-slide.is-active {
  top: 50% !important;
  width: clamp(390px, 47vw, 650px) !important;
  max-width: 650px !important;
}

.page-home .homepage-media-carousel .media-slide.is-active {
  transform: translate(-50%, -50%) translateX(0) scale(.98) !important;
}

.page-home .homepage-media-carousel .media-slide.is-active:hover,
.page-home .homepage-media-carousel .media-slide.is-active:focus-visible {
  transform: translate(-50%, -50%) translateX(0) scale(1.01) !important;
}

.page-home .homepage-media-carousel .media-slide img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  opacity: 1 !important;
}

.page-home .homepage-media-carousel .media-slide::before,
.page-home .homepage-media-carousel .media-slide::after {
  z-index: 1 !important;
  pointer-events: none !important;
}

.page-home .homepage-media-carousel .carousel-dots {
  bottom: 26px !important;
}

/* Team carousel: reduce and lower the active card so the full card remains inside the shell. */
.page-team .team-roster-carousel {
  padding: 48px 62px 92px !important;
}

.page-team .team-roster-carousel .carousel-track {
  position: absolute !important;
  inset: 34px 0 82px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}

.page-team .team-roster-carousel .team-card-slide,
.page-team .team-roster-carousel .team-card-slide.is-neighbor,
.page-team .team-roster-carousel .team-card-slide.is-distance-2,
.page-team .team-roster-carousel .team-card-slide.is-distance-3 {
  top: 52% !important;
  height: clamp(300px, 31vw, 430px) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active {
  top: 52% !important;
  transform: translate(-50%, -50%) translateX(0) scale(1.10) !important;
}

.page-team .team-roster-carousel .team-card-slide.is-active:hover {
  transform: translate(-50%, -50%) translateX(0) scale(1.12) !important;
}

.page-team .team-roster-carousel .carousel-dots {
  bottom: 24px !important;
}

@media (max-width: 900px) {
  .page-home .homepage-media-carousel,
  .page-team .team-roster-carousel {
    padding: 34px 30px 72px !important;
  }

  .page-home .homepage-media-carousel .carousel-track,
  .page-team .team-roster-carousel .carousel-track {
    inset: 26px 0 64px !important;
  }

  .page-home .homepage-media-carousel .media-slide,
  .page-home .homepage-media-carousel .media-slide.is-neighbor,
  .page-home .homepage-media-carousel .media-slide.is-distance-2,
  .page-home .homepage-media-carousel .media-slide.is-active {
    width: clamp(270px, 78vw, 470px) !important;
    top: 50% !important;
  }

  .page-home .homepage-media-carousel .media-slide.is-active {
    transform: translate(-50%, -50%) translateX(0) scale(.96) !important;
  }

  .page-team .team-roster-carousel .team-card-slide,
  .page-team .team-roster-carousel .team-card-slide.is-neighbor,
  .page-team .team-roster-carousel .team-card-slide.is-distance-2,
  .page-team .team-roster-carousel .team-card-slide.is-distance-3 {
    top: 52% !important;
    height: clamp(240px, 62vw, 340px) !important;
  }

  .page-team .team-roster-carousel .team-card-slide.is-active {
    top: 52% !important;
    transform: translate(-50%, -50%) translateX(0) scale(1.04) !important;
  }

  .page-home .homepage-media-carousel .carousel-dots,
  .page-team .team-roster-carousel .carousel-dots {
    bottom: 18px !important;
  }

  .special-page-description {
    margin: 8px auto 16px;
    font-size: .8rem;
  }
}

/* ============================================================
   V78 — FULL-BLEED SPECIAL HEROES + COLOR-CODED LOGO GLOWS
   ============================================================ */

/* About page: true edge-to-edge hero inside the site shell. */
.page-about .about-main {
  padding: 0 0 clamp(28px, 4vw, 46px) !important;
}

.page-about .about-page-hero {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.page-about .about-page-hero img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Silver/platinum glow for every Allstar Galaxy logo on About. */
.page-about .hero-logo img,
.page-about .hero-logo-right img,
.page-about .footer-logo img,
.page-about .about-logo,
.page-about .not-found-logo {
  filter:
    drop-shadow(0 0 8px rgba(255,255,255,.92))
    drop-shadow(0 0 18px rgba(205,220,238,.78))
    drop-shadow(0 0 30px rgba(155,182,214,.45)) !important;
}

/* 404: add a full-width gold hero and keep the recovery card compact below it. */
.page-404 .not-found-main {
  display: block !important;
  padding: 0 0 clamp(30px, 5vw, 56px) !important;
}

.page-404 .not-found-page-hero {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 clamp(22px, 3vw, 36px) !important;
  border-bottom: 1px solid rgba(245,196,0,.82);
  box-shadow: 0 12px 30px rgba(245,196,0,.18);
}

.page-404 .not-found-page-hero img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
}

.page-404 .not-found-card {
  width: min(90%, 760px) !important;
  margin: 0 auto !important;
  padding: clamp(30px, 5vw, 54px) clamp(20px, 5vw, 48px) !important;
}

/* Gold glow for all header/footer/card logos on the 404 page. */
.page-404 .hero-logo img,
.page-404 .hero-logo-right img,
.page-404 .footer-logo img,
.page-404 .not-found-logo {
  filter:
    drop-shadow(0 0 8px rgba(255,238,135,.95))
    drop-shadow(0 0 18px rgba(255,196,0,.88))
    drop-shadow(0 0 30px rgba(255,132,0,.48)) !important;
}

@media (max-width: 760px) {
  .page-about .about-page-hero img,
  .page-404 .not-found-page-hero img {
    min-height: 220px;
    object-fit: cover !important;
  }

  .page-404 .not-found-card {
    width: min(92%, 680px) !important;
  }
}
/* ============================================================
   V81 DATA-DRIVEN GENERATED CONTENT
   Edit data/master-content.json to update the website.
   ============================================================ */
.generated-media-art{position:relative;width:100%;aspect-ratio:16/10;background-size:cover;background-position:center;border:2px solid var(--card-accent);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(16px,2.2vw,34px);box-shadow:0 0 18px color-mix(in srgb,var(--card-accent) 70%,transparent),inset 0 0 45px #000;isolation:isolate;text-align:left}.generated-media-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.02) 45%,rgba(0,0,0,.35));z-index:-1}.generated-card-eyebrow{font-weight:900;letter-spacing:.12em;color:var(--card-accent);font-size:clamp(.72rem,1.2vw,1rem);text-transform:uppercase;text-shadow:0 0 10px var(--card-accent)}.generated-card-title{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(1.45rem,3.5vw,3.2rem);line-height:.95;text-transform:uppercase;color:#fff;text-shadow:0 4px 8px #000,0 0 13px var(--card-accent);max-width:92%;margin:.35rem 0}.generated-card-subtitle{font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:clamp(.7rem,1.3vw,1.05rem)}.generated-card-rule{height:3px;width:58%;background:var(--card-accent);margin:.8rem 0;box-shadow:0 0 10px var(--card-accent)}.generated-card-cta{align-self:flex-start;border:1px solid var(--card-accent);border-radius:999px;padding:.45rem .9rem;color:#fff;background:rgba(0,0,0,.64);font-weight:800;font-size:clamp(.65rem,1vw,.9rem);letter-spacing:.08em}.generated-game-number{position:absolute;right:4%;top:6%;border:1px solid var(--card-accent);border-radius:10px;background:rgba(0,0,0,.72);padding:.35rem .75rem;color:#fff;font-weight:900}.generated-versus{display:flex;flex-direction:column;gap:.15rem;margin:.5rem 0;text-transform:uppercase}.generated-versus strong{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(1.2rem,2.7vw,2.5rem);line-height:1;color:#fff;text-shadow:0 3px 7px #000}.generated-versus span{color:var(--card-accent);font-weight:900;font-size:1.1rem}.generated-result{color:var(--card-accent);font-weight:900;text-transform:uppercase;margin-bottom:.6rem}.generated-disabled{pointer-events:none;opacity:.7}.generated-player-card{display:block;text-decoration:none}.generated-player-frame{position:relative;width:100%;aspect-ratio:2/3;border:2px solid var(--card-accent);border-radius:22px;overflow:hidden;background:radial-gradient(circle at 50% 30%,#35105a,#05000b 65%);box-shadow:0 0 20px var(--card-accent);isolation:isolate}.generated-player-frame:before{content:"";position:absolute;inset:0;background:url('../generated/media-card-background.png') center/cover;opacity:.58;z-index:-1}.generated-player-photo{width:100%;height:78%;object-fit:cover;object-position:center top;filter:drop-shadow(0 0 10px #000)}.generated-player-placeholder{height:76%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-weight:900;letter-spacing:.14em;text-align:center}.generated-player-placeholder img{width:46%;margin-bottom:1rem;filter:drop-shadow(0 0 14px var(--card-accent))}.generated-player-logo{position:absolute;right:5%;top:4%;width:24%;filter:drop-shadow(0 0 8px #000)}.generated-player-number{position:absolute;left:5%;top:6%;font-family:Impact,sans-serif;font-size:clamp(2rem,5vw,4rem);color:#f5c542;text-shadow:0 3px 7px #000}.generated-player-info{position:absolute;left:4%;right:4%;bottom:3%;padding:.8rem;background:rgba(0,0,0,.84);border:1px solid var(--card-accent);clip-path:polygon(6% 0,94% 0,100% 18%,100% 100%,0 100%,0 18%);text-align:center}.generated-player-info span{display:block;color:#fff;font-family:Impact,sans-serif;font-size:clamp(1.2rem,2.4vw,2rem);text-transform:uppercase}.generated-player-info strong{color:#f5c542;letter-spacing:.15em}.generated-news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;width:100%}.generated-news-card{display:flex;gap:18px;align-items:center;padding:24px;border:1px solid var(--card-accent);border-radius:18px;background:linear-gradient(135deg,rgba(0,0,0,.92),rgba(35,4,45,.88));box-shadow:0 0 18px color-mix(in srgb,var(--card-accent) 55%,transparent);text-decoration:none;color:#fff}.generated-news-card img{width:74px;height:74px;object-fit:contain}.generated-news-card small{color:var(--card-accent);font-weight:900;letter-spacing:.1em}.generated-news-card h3{margin:.2rem 0 .45rem}.generated-news-card p{margin:0;color:#ddd}.generated-schedule-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:24px;width:100%}.generated-schedule-grid section{border:1px solid #39ff14;border-radius:18px;background:rgba(0,0,0,.85);padding:22px;box-shadow:0 0 18px rgba(57,255,20,.35)}.generated-schedule-grid h2{color:#39ff14;text-transform:uppercase}.generated-match-card{border:1px solid rgba(57,255,20,.55);border-radius:14px;padding:18px;margin:12px 0;background:linear-gradient(90deg,rgba(57,255,20,.08),rgba(0,0,0,.35))}.generated-match-number{color:#39ff14;font-weight:900;letter-spacing:.12em}.generated-match-card h3 span{color:#39ff14}.generated-match-meta{display:flex;flex-wrap:wrap;gap:12px;color:#ddd}.generated-match-meta span{padding-right:12px;border-right:1px solid #555}.generated-match-result{display:inline-block;color:#39ff14;margin-top:12px}.generated-table-wrap{overflow-x:auto}.generated-table-wrap table{width:100%;border-collapse:collapse;color:#fff}.generated-table-wrap th,.generated-table-wrap td{padding:12px;border-bottom:1px solid #29472c;text-align:center}.generated-table-wrap th{color:#39ff14}.generated-live-card{text-align:center;width:min(900px,100%);margin:auto;padding:36px;border:2px solid #ff3030;border-radius:22px;background:rgba(0,0,0,.88);box-shadow:0 0 25px rgba(255,48,48,.5)}.generated-live-card img{width:130px}.generated-live-card>span{display:block;color:#ff3030;font-weight:900;letter-spacing:.18em}.generated-live-card a{display:inline-block;margin-top:15px;padding:12px 24px;border-radius:999px;background:#ff3030;color:#fff;text-decoration:none;font-weight:900}.generated-data-error{color:#ff5b5b;text-align:center;padding:30px}.generated-season-card,.generated-game-card,.generated-playlist-card{background:none!important}
@media(max-width:800px){.generated-schedule-grid{grid-template-columns:1fr}.generated-card-title{font-size:clamp(1.2rem,7vw,2rem)}.generated-media-art{aspect-ratio:4/3}.generated-card-subtitle{display:none}}
.generated-media-art,.generated-player-frame{height:100%;box-sizing:border-box}.generated-playlist-card,.generated-game-card,.generated-season-card{overflow:visible!important}.page-home .homepage-media-carousel .generated-media-art{position:absolute;inset:0;aspect-ratio:auto}.page-team .team-roster-carousel .generated-player-frame{height:100%;aspect-ratio:auto}.page-media .generated-media-art{position:absolute;inset:0;aspect-ratio:auto}


/* ============================================================
   V82 LAYOUT + ABOUT PLATINUM CORRECTIONS
   ============================================================ */
.page-news main {
  display: flex !important;
  justify-content: center !important;
}
.page-news #news.news-section {
  width: min(92%, 1040px) !important;
  margin: 0 auto !important;
}
.page-news .news-grid,
.page-news .generated-news-grid {
  width: 100% !important;
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.page-news .generated-news-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  justify-content: center !important;
}
.page-about .hero-title img {
  animation: aboutTitlePlatinumPulseV82 6.5s ease-in-out infinite !important;
  filter:
    grayscale(.18)
    brightness(1.18)
    drop-shadow(0 0 5px rgba(255,255,255,.96))
    drop-shadow(0 0 14px rgba(210,225,245,.82))
    drop-shadow(0 0 28px rgba(145,175,215,.52)) !important;
}
@keyframes aboutTitlePlatinumPulseV82 {
  0%,100% {
    filter: grayscale(.18) brightness(1.12)
      drop-shadow(0 0 5px rgba(255,255,255,.90))
      drop-shadow(0 0 12px rgba(205,220,240,.72))
      drop-shadow(0 0 24px rgba(140,170,205,.42));
  }
  50% {
    filter: grayscale(.28) brightness(1.25)
      drop-shadow(0 0 8px rgba(255,255,255,1))
      drop-shadow(0 0 20px rgba(225,238,255,.94))
      drop-shadow(0 0 36px rgba(160,195,235,.62));
  }
}
.page-about .hero-logo img,
.page-about .hero-logo-right img,
.page-about .footer-logo img {
  filter:
    grayscale(.10)
    brightness(1.12)
    drop-shadow(0 0 7px rgba(255,255,255,.95))
    drop-shadow(0 0 16px rgba(205,220,240,.84))
    drop-shadow(0 0 28px rgba(140,170,205,.52)) !important;
}

/* ============================================================
   V83 — PREMIUM GENERATED CARD TEMPLATES
   Matches the approved season, game, playlist and player concepts.
   ============================================================ */
.generated-wide-card,
.generated-playlist-art,
.generated-player-frame{font-family:Arial,Helvetica,sans-serif}
.generated-wide-card{position:absolute;inset:0;display:grid;grid-template-columns:61% 39%;overflow:hidden;border:2px solid var(--card-accent);border-radius:18px;background:#030303;box-shadow:0 0 20px color-mix(in srgb,var(--card-accent) 75%,transparent),inset 0 0 30px rgba(0,0,0,.9);color:#fff}
.generated-wide-card:after{content:"";position:absolute;inset:0;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);pointer-events:none}
.generated-wide-visual{position:relative;min-width:0;background-size:cover;background-position:center;overflow:hidden;border-right:2px solid var(--card-accent);text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4% 5%}
.generated-wide-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.88));pointer-events:none}
.generated-wide-visual>*{position:relative;z-index:1}
.generated-season-label{position:absolute;left:3%;top:4%;color:var(--card-accent);font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(.65rem,1.35vw,1.15rem);font-style:italic;text-transform:uppercase;text-shadow:0 2px 5px #000}
.generated-game-number{position:absolute;right:4%;top:4%;min-width:23%;padding:.4rem .7rem;border:1px solid var(--card-accent);border-radius:8px;background:rgba(0,0,0,.82);font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(.7rem,1.4vw,1.15rem);letter-spacing:.06em;color:#fff;box-shadow:0 0 12px color-mix(in srgb,var(--card-accent) 50%,transparent)}
.generated-matchup{width:78%;margin-top:5%;display:grid;gap:.25rem;text-transform:uppercase;text-align:center}
.generated-matchup strong{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(1.05rem,2.7vw,2.35rem);line-height:.95;letter-spacing:.02em;color:#fff;text-shadow:0 3px 8px #000,0 0 6px rgba(255,255,255,.25)}
.generated-matchup span{display:flex;align-items:center;gap:.5rem;justify-content:center;color:var(--card-accent);font-weight:1000;font-size:clamp(.8rem,1.5vw,1.25rem)}
.generated-matchup span:before,.generated-matchup span:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--card-accent))}.generated-matchup span:after{background:linear-gradient(90deg,var(--card-accent),transparent)}
.generated-score-strip{margin-top:4%;min-width:65%;padding:.45rem 1rem;border:1px solid var(--card-accent);border-radius:12px;background:rgba(0,0,0,.78);font-family:Impact,"Arial Narrow",sans-serif;color:var(--card-accent);font-size:clamp(.75rem,1.6vw,1.25rem);letter-spacing:.08em;text-transform:uppercase}
.generated-game-meta{position:absolute;left:3%;right:3%;bottom:3%;display:flex;justify-content:center;gap:0;padding:.42rem .6rem;border:1px solid var(--card-accent);border-radius:8px;background:rgba(0,0,0,.82);font-size:clamp(.46rem,.72vw,.72rem);font-weight:800;text-transform:uppercase}.generated-game-meta span{padding:0 .55rem;border-right:1px solid var(--card-accent)}.generated-game-meta span:last-child{border-right:0}
.generated-wide-actions{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:5%;background:radial-gradient(circle at 50% 25%,color-mix(in srgb,var(--card-accent) 12%,transparent),transparent 56%),#050505}
.generated-action-list{display:grid;gap:clamp(6px,1vw,12px)}
.generated-action-row{display:grid;grid-template-columns:clamp(28px,4.3vw,54px) 1fr clamp(20px,3vw,36px);align-items:center;gap:clamp(6px,1vw,12px);min-height:clamp(42px,6vw,70px);padding:clamp(6px,1vw,11px);border:1.5px solid var(--row-accent);border-radius:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--row-accent) 20%,#070007),#050505 48%);box-shadow:0 0 10px color-mix(in srgb,var(--row-accent) 45%,transparent),inset 0 0 16px rgba(0,0,0,.7)}
.generated-action-row.is-pending{opacity:.52;filter:saturate(.4)}
.generated-action-icon{display:grid;place-items:center;aspect-ratio:1;border-radius:9px;background:linear-gradient(145deg,color-mix(in srgb,var(--row-accent) 88%,white),color-mix(in srgb,var(--row-accent) 72%,black));font-size:clamp(.75rem,1.7vw,1.35rem);font-weight:900;color:#fff;text-shadow:0 2px 4px #000}
.generated-action-copy{min-width:0;text-align:left}.generated-action-copy strong{display:block;color:var(--row-accent);font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(.68rem,1.45vw,1.2rem);letter-spacing:.03em}.generated-action-copy small{display:block;color:#fff;font-size:clamp(.42rem,.72vw,.7rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.generated-action-arrow{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:var(--row-accent);color:#050505;font-size:clamp(1rem,2.3vw,2rem);font-weight:900}
.generated-updated{margin-top:4%;font-size:clamp(.42rem,.72vw,.65rem);letter-spacing:.12em;color:#ddd;text-align:center;text-transform:uppercase}
.generated-season-visual{justify-content:flex-end;padding-bottom:8%}.generated-season-main{font-family:Impact,"Arial Narrow",sans-serif;font-style:italic;font-size:clamp(2.1rem,6vw,5.2rem);line-height:.82;color:var(--card-accent);text-shadow:0 5px 6px #000,0 0 14px var(--card-accent);text-transform:uppercase}.generated-season-archive{margin-top:.6rem;color:#fff;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(.65rem,1.7vw,1.3rem);letter-spacing:.34em;text-transform:uppercase;text-shadow:0 3px 6px #000}
.generated-season-heading{margin-bottom:4%;padding-bottom:4%;border-bottom:1px solid var(--card-accent);text-align:left}.generated-season-heading strong{display:block;color:var(--card-accent);font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(.75rem,1.7vw,1.35rem);text-transform:uppercase}.generated-season-heading span{display:block;margin-top:.25rem;color:#fff;font-size:clamp(.48rem,.8vw,.72rem);text-transform:uppercase}
.generated-playlist-art{position:absolute;inset:0;overflow:hidden;border:2px solid var(--card-accent);border-radius:18px;background-size:cover;background-position:center;box-shadow:0 0 18px color-mix(in srgb,var(--card-accent) 70%,transparent),inset 0 0 28px #000;color:#fff}
.generated-playlist-art:after{content:"";position:absolute;inset:0;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.13);pointer-events:none}
.generated-playlist-content{position:absolute;z-index:2;left:5%;right:5%;bottom:17%;display:grid;grid-template-columns:auto 1fr;gap:4%;align-items:center;text-align:left}.generated-playlist-icon{display:grid;place-items:center;width:clamp(42px,8vw,82px);aspect-ratio:1;border:2px solid var(--card-accent);border-radius:50%;color:var(--card-accent);font-size:clamp(1.4rem,4vw,3rem);font-weight:900;text-shadow:0 0 12px var(--card-accent);box-shadow:0 0 14px color-mix(in srgb,var(--card-accent) 60%,transparent),inset 0 0 12px color-mix(in srgb,var(--card-accent) 35%,transparent)}
.generated-playlist-text .generated-card-title{margin:0;color:var(--card-accent);font-family:Impact,"Arial Narrow",sans-serif;font-style:italic;font-size:clamp(1.1rem,3.4vw,2.8rem);line-height:.9;text-transform:uppercase;text-shadow:0 3px 7px #000,0 0 12px var(--card-accent)}
.generated-playlist-text .generated-card-subtitle{margin:.25rem 0;color:#fff;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(.55rem,1.25vw,1rem);letter-spacing:.03em;text-transform:uppercase}.generated-playlist-text .generated-card-eyebrow{color:#fff;font-size:clamp(.42rem,.7vw,.68rem);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 4px #000}
.generated-playlist-art>.generated-card-cta{position:absolute;z-index:2;left:5%;right:5%;bottom:4%;display:flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--card-accent);border-radius:9px;padding:clamp(.35rem,.7vw,.55rem);background:rgba(0,0,0,.8);color:#fff;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(.48rem,1vw,.82rem);letter-spacing:.05em}.generated-playlist-art>.generated-card-cta span{color:var(--card-accent)}
.generated-player-frame{position:absolute;inset:0;overflow:hidden;border:2px solid var(--card-accent);border-radius:22px;background:#050007;box-shadow:0 0 20px var(--card-accent);isolation:isolate}.generated-player-frame:after{content:"";position:absolute;inset:0;border:3px solid transparent;border-image:linear-gradient(135deg,#ff4fb8,#f5c542,#a855f7,#ff4fb8) 1;pointer-events:none;z-index:9}.generated-player-cosmos{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2}.generated-player-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 44%,rgba(0,0,0,.08) 57%,rgba(0,0,0,.95) 71%);z-index:2;pointer-events:none}
.generated-player-photo{position:absolute;z-index:1;left:0;top:0;width:100%;height:74%;object-fit:cover;object-position:center top;filter:drop-shadow(0 0 10px #000)}.generated-player-placeholder{position:absolute;z-index:1;inset:0 0 28%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-weight:900;letter-spacing:.1em;text-align:center;text-shadow:0 2px 5px #000}.generated-player-placeholder img{width:46%;max-height:54%;object-fit:contain;margin-bottom:.65rem;filter:drop-shadow(0 0 12px var(--card-accent))}
.generated-player-logo{position:absolute;z-index:5;left:5%;top:4%;width:25%;filter:drop-shadow(0 0 8px #000)}.generated-player-number{position:absolute;z-index:5;right:6%;top:8%;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(2.2rem,5vw,4.3rem);line-height:.85;color:#f5c542;text-shadow:0 3px 7px #000,0 0 10px rgba(245,197,66,.5)}
.generated-player-info{position:absolute;z-index:5;left:5%;right:5%;bottom:3%;padding:5% 4% 3%;background:rgba(0,0,0,.86);border:1px solid var(--card-accent);clip-path:polygon(7% 0,93% 0,100% 13%,100% 100%,0 100%,0 13%);text-align:center}.generated-player-info small{display:block;color:#f5c542;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(.55rem,1.25vw,.9rem);letter-spacing:.18em;text-transform:uppercase}.generated-player-info span{display:block;color:#f1f1f1;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(1.25rem,3vw,2.35rem);line-height:.95;text-transform:uppercase;text-shadow:0 3px 6px #000}.generated-player-info strong{display:inline-block;margin-top:5%;padding:.25rem .8rem;border:1px solid #f5c542;border-radius:999px;color:#f5c542;font-size:clamp(.5rem,1vw,.78rem);letter-spacing:.13em;text-transform:uppercase}.generated-player-info em{display:block;margin-top:5%;color:#ff4fb8;font-style:normal;font-size:clamp(.42rem,.78vw,.64rem);letter-spacing:.16em}
/* Remove obsolete V81 layers that competed with the new templates. */
.generated-media-art{display:none!important}.generated-game-card,.generated-season-card,.generated-playlist-card,.generated-player-card{background:none!important}
@media(max-width:800px){.generated-wide-card{grid-template-columns:58% 42%}.generated-wide-actions{padding:3%}.generated-action-row{border-radius:8px}.generated-action-copy small{display:none}.generated-game-meta span:nth-child(2),.generated-game-meta span:nth-child(3){display:none}.generated-season-heading span{display:none}}

/* ============================================================
   V84 — CLEAN CINEMATIC GENERATED CARDS
   Simplified to match the approved visual samples.
   ============================================================ */
/* Playlist cards: one bold title, one icon and one action only. */
.generated-playlist-art{
  background-position:center 30%!important;
}
.generated-playlist-art:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 45%,rgba(0,0,0,.88) 73%,rgba(0,0,0,.98) 100%);
  z-index:1;
  pointer-events:none;
}
.generated-playlist-content{
  left:5%!important;
  right:5%!important;
  bottom:18%!important;
  grid-template-columns:clamp(48px,8vw,88px) minmax(0,1fr)!important;
  gap:4%!important;
  align-items:center!important;
}
.generated-playlist-text .generated-card-title{
  max-width:100%!important;
  font-size:clamp(1.55rem,4.5vw,4rem)!important;
  line-height:.88!important;
  letter-spacing:.01em!important;
}
.generated-playlist-art>.generated-card-cta{
  bottom:4%!important;
  min-height:clamp(32px,4.5vw,48px);
  font-size:clamp(.62rem,1.2vw,1rem)!important;
}
.generated-card-subtitle,.generated-card-eyebrow{display:none!important}

/* Game and season cards: remove secondary copy and use stronger proportions. */
.generated-wide-card{grid-template-columns:64% 36%!important}
.generated-wide-visual{padding:4% 5%!important}
.generated-game-layout .generated-wide-visual{justify-content:center!important}
.generated-matchup{width:88%!important;margin-top:3%!important}
.generated-matchup strong{font-size:clamp(1.25rem,3.3vw,3rem)!important}
.generated-score-strip{margin-top:4%!important;min-width:58%!important;font-size:clamp(.9rem,2vw,1.55rem)!important}
.generated-game-meta,.generated-updated{display:none!important}
.generated-wide-actions{padding:5%!important}
.generated-action-list{gap:clamp(10px,1.4vw,16px)!important}
.generated-action-row{
  min-height:clamp(52px,7.3vw,82px)!important;
  grid-template-columns:clamp(34px,4.8vw,58px) minmax(0,1fr) clamp(24px,3.5vw,40px)!important;
  padding:clamp(8px,1.2vw,14px)!important;
}
.generated-action-copy strong{font-size:clamp(.82rem,1.7vw,1.45rem)!important;white-space:normal!important}
.generated-action-copy small{display:none!important}
.generated-season-heading{margin-bottom:6%!important;padding-bottom:4%!important;text-align:center!important}
.generated-season-heading strong{font-size:clamp(.9rem,2vw,1.65rem)!important}
.generated-season-heading span{display:none!important}
.generated-season-main{font-size:clamp(2.5rem,7vw,6.2rem)!important}
.generated-season-archive{font-size:clamp(.8rem,1.9vw,1.5rem)!important}

/* Player cards: photo/logo, number, name and position only. */
.generated-player-placeholder span{font-size:clamp(.72rem,1.6vw,1.15rem);line-height:1.2}
.generated-player-info{padding:6% 4% 5%!important}
.generated-player-info small,.generated-player-info em{display:none!important}
.generated-player-info span{font-size:clamp(1.5rem,3.5vw,2.9rem)!important}
.generated-player-info strong{margin-top:6%!important;font-size:clamp(.58rem,1.15vw,.92rem)!important}

/* News uses the same balanced, full-width presentation as Schedule. */
.page-news main{display:block!important}
.page-news #news.news-section{
  width:min(94%,1400px)!important;
  max-width:none!important;
  margin:0 auto!important;
}
.page-news .news-grid,
.page-news .generated-news-grid{
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
}
.page-news .generated-news-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:20px!important;
}
.page-news .generated-news-card{
  width:100%!important;
  box-sizing:border-box!important;
  min-height:150px;
  padding:clamp(22px,3vw,38px)!important;
  border-radius:18px!important;
}
.page-news .generated-news-card img{
  width:clamp(72px,8vw,112px)!important;
  height:clamp(72px,8vw,112px)!important;
}
.page-news .generated-news-card h3{font-size:clamp(1.25rem,2.2vw,2rem)!important}
.page-news .generated-news-card p{font-size:clamp(.9rem,1.25vw,1.1rem)!important}

@media(max-width:800px){
  .generated-wide-card{grid-template-columns:60% 40%!important}
  .generated-playlist-content{grid-template-columns:42px minmax(0,1fr)!important}
  .generated-playlist-text .generated-card-title{font-size:clamp(1.15rem,6vw,2rem)!important}
  .page-news #news.news-section{width:92%!important}
  .page-news .generated-news-card{align-items:flex-start!important}
}

/* ============================================================
   V85 — FINAL CARD CLEANUP + MATCHED NEWS/SCHEDULE LAYOUT
   ============================================================ */
/* Latest games: keep the artwork clear and move all matchup copy into
   one compact line across the bottom of the image panel. */
.generated-game-layout .generated-wide-visual{
  justify-content:flex-end!important;
  padding:0!important;
  background-position:center!important;
}
.generated-game-bottom-line{
  width:100%;
  box-sizing:border-box;
  padding:clamp(10px,1.4vw,17px) clamp(12px,2vw,24px);
  background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(15,8,0,.88),rgba(0,0,0,.96));
  border-top:1px solid var(--card-accent);
  color:#fff;
  font-family:Impact,"Arial Narrow",sans-serif;
  font-size:clamp(.62rem,1.25vw,1.08rem);
  letter-spacing:.045em;
  line-height:1.05;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-shadow:0 2px 4px #000;
}
.generated-game-bottom-line span{color:var(--card-accent);padding:0 .35em}
.generated-game-layout .generated-season-label,
.generated-game-layout .generated-game-number,
.generated-game-layout .generated-matchup,
.generated-game-layout .generated-score-strip{display:none!important}

/* Season archive: season name appears once on the artwork; no repeated
   heading on the right and no redundant SEASON ARCHIVE tagline. */
.generated-season-layout .generated-wide-actions{justify-content:center!important}
.generated-season-heading,
.generated-season-archive{display:none!important}
.generated-season-visual{justify-content:flex-end!important;padding-bottom:7%!important}
.generated-season-main{margin:0 auto;text-align:center!important}

/* Placeholder player cards no longer repeat ROSTER SPOT. Real player
   positions still display when supplied in the data file. */
.generated-player-info strong:empty{display:none!important}

/* News and Schedule now use the same full-width, vertically stacked layout. */
.page-news #news.news-section,
.page-schedule .schedule-page-section{
  width:min(94%,1400px)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.page-news .generated-news-grid,
.page-schedule .generated-schedule-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  width:100%!important;
  max-width:none!important;
  gap:20px!important;
}
.page-news .generated-news-card,
.page-schedule .generated-schedule-grid>section{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:0!important;
}
.page-schedule .generated-schedule-grid>section{
  min-height:0!important;
  padding:clamp(22px,3vw,38px)!important;
}
.page-news .generated-news-card{
  min-height:150px!important;
}
@media(max-width:800px){
  .generated-game-bottom-line{font-size:clamp(.52rem,2.4vw,.78rem);padding:9px 10px}
  .page-news #news.news-section,
  .page-schedule .schedule-page-section{width:92%!important}
}

/* ============================================================
   V86 — PAGE-CODED CARDS + TWO-LINE GAME/SEASON FOOTERS
   ============================================================ */
/* Media page cards are always blue; homepage playlist cards are gold. */
.page-media .generated-wide-card,
.page-media .generated-playlist-art{
  --card-accent:#20bfff!important;
}
.page-media .generated-action-row{
  --row-accent:#20bfff!important;
  border-color:#20bfff!important;
  box-shadow:0 0 12px rgba(32,191,255,.45)!important;
}
.page-media .generated-action-icon,
.page-media .generated-action-arrow{
  background:#20bfff!important;
  color:#00131f!important;
}
.page-media .generated-action-copy strong,
.page-media .generated-card-title,
.page-media .generated-card-cta{
  color:#20bfff!important;
}
.page-home .generated-playlist-art{
  --card-accent:#f5c542!important;
}
.page-home .generated-card-title,
.page-home .generated-card-cta{
  color:#f5c542!important;
}

/* Latest game card: two tidy lines below the image. */
.generated-game-layout .generated-wide-visual{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:0!important;
  background-position:center!important;
}
.generated-game-footer{
  width:100%;
  box-sizing:border-box;
  background:linear-gradient(90deg,rgba(0,0,0,.98),rgba(0,18,28,.92),rgba(0,0,0,.98));
  border-top:1px solid var(--card-accent);
  padding:clamp(8px,1vw,12px) clamp(12px,1.6vw,20px);
  text-align:center;
  text-transform:uppercase;
  font-family:Impact,"Arial Narrow",sans-serif;
  text-shadow:0 2px 4px #000;
}
.generated-game-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.generated-game-line-top{
  color:var(--card-accent);
  font-size:clamp(.68rem,1.2vw,1.05rem);
  letter-spacing:.08em;
}
.generated-game-line-bottom{
  margin-top:4px;
  color:#fff;
  font-size:clamp(.62rem,1.08vw,.98rem);
  letter-spacing:.04em;
}
.generated-game-line span{color:var(--card-accent);padding:0 .35em}
.generated-game-bottom-line{display:none!important}

/* Season title now sits in a clean footer below the artwork. */
.generated-season-layout .generated-season-visual{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:0!important;
  background-position:center!important;
}
.generated-season-footer{
  width:100%;
  box-sizing:border-box;
  padding:clamp(10px,1.35vw,16px) clamp(12px,2vw,22px);
  background:linear-gradient(90deg,rgba(0,0,0,.98),rgba(0,18,28,.92),rgba(0,0,0,.98));
  border-top:1px solid var(--card-accent);
  color:#fff;
  font-family:Impact,"Arial Narrow",sans-serif;
  font-size:clamp(1rem,2.2vw,1.8rem);
  letter-spacing:.06em;
  text-align:center;
  text-transform:uppercase;
  text-shadow:0 2px 5px #000,0 0 10px var(--card-accent);
}
.generated-season-main{display:none!important}

/* News now matches Schedule: full-width stacked boxes. */
.page-news main{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}
.page-news #news.news-section{
  width:min(94%,1400px)!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.page-news #news .news-grid,
.page-news #news .generated-news-grid{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:20px!important;
}
.page-news #news .generated-news-card{
  width:100%!important;
  max-width:none!important;
  min-height:150px!important;
  margin:0!important;
  box-sizing:border-box!important;
}

@media(max-width:800px){
  .generated-game-line-top{font-size:clamp(.58rem,2.6vw,.78rem)}
  .generated-game-line-bottom{font-size:clamp(.52rem,2.2vw,.72rem)}
  .generated-season-footer{font-size:clamp(.85rem,4.3vw,1.25rem)}
  .page-news #news.news-section{width:92%!important}
}

/* ============================================================
   V87 — FINAL MEDIA FOOTERS + FULL-WIDTH NEWS
   ============================================================ */
/* Generated game and season cards use a wider cinematic proportion so the
   footer sits directly on the visible bottom edge instead of leaving a large
   empty black area beneath the content. */
.page-media .generated-game-card,
.page-media .generated-season-card{
  aspect-ratio:16 / 8.35!important;
}
.page-media .generated-wide-card{
  border-bottom:3px solid var(--card-accent)!important;
  box-shadow:
    0 0 20px color-mix(in srgb,var(--card-accent) 78%,transparent),
    inset 0 0 30px rgba(0,0,0,.9),
    inset 0 -2px 0 var(--card-accent)!important;
}
.page-media .generated-game-footer,
.page-media .generated-season-footer{
  flex:0 0 auto!important;
  border-bottom:1px solid color-mix(in srgb,var(--card-accent) 55%,transparent)!important;
}
.page-media .generated-game-footer{
  min-height:82px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:5px!important;
  padding:10px 18px!important;
}
.page-media .generated-game-line-top{
  font-size:clamp(.92rem,1.55vw,1.42rem)!important;
  line-height:1!important;
  letter-spacing:.075em!important;
}
.page-media .generated-game-line-bottom{
  margin-top:0!important;
  font-size:clamp(.74rem,1.18vw,1.05rem)!important;
  line-height:1.08!important;
  letter-spacing:.025em!important;
}
.page-media .generated-season-footer{
  min-height:84px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 18px!important;
  font-size:clamp(1.45rem,2.7vw,2.45rem)!important;
  line-height:1!important;
}

/* News now uses the exact same full-width stacked-panel footprint as the
   Schedule page. The intermediate 980px .grid wrapper was removed in V87. */
.page-news main{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.page-news #news.news-section{
  width:min(92%,1400px)!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
}
.page-news #news>.generated-news-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:20px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.page-news #news>.generated-news-grid>.generated-news-card{
  width:100%!important;
  max-width:none!important;
  min-height:155px!important;
  margin:0!important;
  padding:clamp(24px,3vw,38px)!important;
  box-sizing:border-box!important;
}

@media(max-width:800px){
  .page-media .generated-game-card,
  .page-media .generated-season-card{aspect-ratio:16 / 9.4!important}
  .page-media .generated-game-footer{min-height:64px!important;padding:8px 10px!important}
  .page-media .generated-game-line-top{font-size:clamp(.68rem,2.7vw,.9rem)!important}
  .page-media .generated-game-line-bottom{font-size:clamp(.58rem,2.15vw,.76rem)!important}
  .page-media .generated-season-footer{min-height:66px!important;font-size:clamp(1.05rem,5vw,1.5rem)!important}
  .page-news #news.news-section{width:92%!important}
}

/* ============================================================
   V88 — SKETCH-BASED GAME + SEASON CARD LAYOUT
   Larger uncropped image, compact vertical action tiles, full-width footer.
   ============================================================ */
.page-media .generated-game-card,
.page-media .generated-season-card{
  aspect-ratio:5 / 3!important;
}
.page-media .generated-wide-card{
  display:grid!important;
  grid-template-columns:75% 25%!important;
  grid-template-rows:83.333% 16.667%!important;
  grid-template-areas:
    "visual actions"
    "footer footer"!important;
  overflow:hidden!important;
  border:3px solid var(--card-accent)!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
}
.page-media .generated-wide-visual{
  grid-area:visual!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  border-right:2px solid var(--card-accent)!important;
  border-bottom:2px solid var(--card-accent)!important;
  background-color:#020208!important;
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  display:block!important;
}
.page-media .generated-wide-visual:after{display:none!important}
.page-media .generated-wide-actions{
  grid-area:actions!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  padding:4%!important;
  border-bottom:2px solid var(--card-accent)!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:space-between!important;
  background:radial-gradient(circle at 50% 25%,color-mix(in srgb,var(--card-accent) 13%,transparent),transparent 62%),#040507!important;
  box-sizing:border-box!important;
}
.page-media .generated-action-list{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  gap:4%!important;
}
.page-media .generated-action-row{
  position:relative!important;
  min-height:0!important;
  height:100%!important;
  padding:5% 6%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5%!important;
  text-align:center!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}
.page-media .generated-action-icon{
  width:clamp(38px,4.4vw,64px)!important;
  height:clamp(30px,3.8vw,54px)!important;
  min-width:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:9px!important;
  font-size:clamp(1rem,1.8vw,1.55rem)!important;
  line-height:1!important;
}
.page-media .generated-action-copy{
  width:100%!important;
  min-width:0!important;
  display:block!important;
  text-align:center!important;
}
.page-media .generated-action-copy strong{
  display:block!important;
  width:100%!important;
  font-family:Impact,"Arial Narrow",sans-serif!important;
  font-size:clamp(.9rem,1.55vw,1.45rem)!important;
  line-height:.98!important;
  letter-spacing:.01em!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  color:var(--card-accent)!important;
  text-shadow:0 0 10px color-mix(in srgb,var(--card-accent) 75%,transparent)!important;
}
.page-media .generated-action-arrow{
  position:absolute!important;
  right:6%!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:clamp(22px,2.6vw,34px)!important;
  height:clamp(22px,2.6vw,34px)!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  font-size:clamp(1rem,1.7vw,1.45rem)!important;
}
.page-media .generated-card-footer{
  grid-area:footer!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  padding:clamp(7px,1.1vw,14px) clamp(12px,2vw,24px)!important;
  margin:0!important;
  border:0!important;
  background:linear-gradient(90deg,#020204,rgba(0,18,28,.96),#020204)!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  overflow:hidden!important;
}
.page-media .generated-game-line-top{
  width:100%!important;
  font-size:clamp(1.08rem,2.15vw,2rem)!important;
  line-height:1!important;
  letter-spacing:.055em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.page-media .generated-game-line-bottom{
  width:100%!important;
  margin-top:clamp(3px,.45vw,7px)!important;
  font-size:clamp(.86rem,1.65vw,1.5rem)!important;
  line-height:1!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.page-media .generated-season-footer{
  font-family:Impact,"Arial Narrow",sans-serif!important;
  font-size:clamp(2rem,4.7vw,4.5rem)!important;
  line-height:.92!important;
  letter-spacing:.07em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:var(--card-accent)!important;
  text-shadow:0 0 14px color-mix(in srgb,var(--card-accent) 80%,transparent),0 3px 6px #000!important;
}

@media(max-width:800px){
  .page-media .generated-game-card,
  .page-media .generated-season-card{aspect-ratio:5 / 3.35!important}
  .page-media .generated-wide-card{
    grid-template-columns:72% 28%!important;
    grid-template-rows:82% 18%!important;
  }
  .page-media .generated-action-row{padding:4%!important}
  .page-media .generated-action-icon{width:30px!important;height:26px!important;font-size:.85rem!important}
  .page-media .generated-action-copy strong{font-size:clamp(.58rem,2vw,.78rem)!important}
  .page-media .generated-action-arrow{right:4%!important;width:20px!important;height:20px!important;font-size:.9rem!important}
  .page-media .generated-game-line-top{font-size:clamp(.68rem,2.7vw,.92rem)!important}
  .page-media .generated-game-line-bottom{font-size:clamp(.55rem,2.15vw,.76rem)!important}
  .page-media .generated-season-footer{font-size:clamp(1.25rem,5.4vw,2rem)!important}
}

/* ============================================================
   V89 — FINAL CARD REFINEMENTS
   Smaller non-clipping footer text, no action arrows, and poster-first
   playlist cards with the playlist name in a dedicated bottom strip.
   ============================================================ */

/* Game and season action tiles: the full tile is clickable, so arrows are
   intentionally removed. Center the icon and label to use the full panel. */
.page-media .generated-action-arrow{display:none!important}
.page-media .generated-action-row{
  padding:6% 4%!important;
  gap:7%!important;
}
.page-media .generated-action-copy strong{
  font-size:clamp(.78rem,1.28vw,1.18rem)!important;
  line-height:1!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Preserve the entire 3:2 master artwork in the visual region. */
.page-media .generated-wide-visual{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* Reduce game footer typography just enough that long opponents and results
   remain visible without clipping. */
.page-media .generated-game-line-top{
  font-size:clamp(.92rem,1.72vw,1.58rem)!important;
  letter-spacing:.045em!important;
}
.page-media .generated-game-line-bottom{
  font-size:clamp(.66rem,1.13vw,1.02rem)!important;
  letter-spacing:.012em!important;
  padding-inline:1%!important;
}

/* Slightly reduce the season title so every season name fits comfortably. */
.page-media .generated-season-footer{
  font-size:clamp(1.7rem,3.65vw,3.5rem)!important;
  letter-spacing:.055em!important;
  padding-inline:3%!important;
}

/* Playlist cards now match the same visual system: large unobstructed media
   image with one compact identity strip below it. */
.generated-playlist-art{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) clamp(64px,18%,96px)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  isolation:isolate!important;
}
.generated-playlist-art:before{
  content:""!important;
  position:absolute!important;
  inset:0 0 clamp(64px,18%,96px) 0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.06))!important;
  pointer-events:none!important;
  z-index:1!important;
}
.generated-playlist-content,
.generated-playlist-art>.generated-card-cta{
  display:none!important;
}
.generated-playlist-footer{
  position:relative!important;
  z-index:3!important;
  grid-row:2!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:clamp(10px,2vw,22px)!important;
  min-width:0!important;
  padding:clamp(10px,1.7vw,18px) clamp(14px,2.2vw,24px)!important;
  border-top:2px solid var(--card-accent)!important;
  background:linear-gradient(90deg,#020204,rgba(8,8,14,.97),#020204)!important;
  box-sizing:border-box!important;
}
.generated-playlist-footer-icon{
  display:grid!important;
  place-items:center!important;
  width:clamp(38px,5vw,62px)!important;
  aspect-ratio:1!important;
  border:2px solid var(--card-accent)!important;
  border-radius:10px!important;
  color:var(--card-accent)!important;
  font-size:clamp(1.05rem,2vw,1.7rem)!important;
  text-shadow:0 0 10px var(--card-accent)!important;
  box-shadow:0 0 12px color-mix(in srgb,var(--card-accent) 55%,transparent),inset 0 0 10px color-mix(in srgb,var(--card-accent) 22%,transparent)!important;
}
.generated-playlist-footer-title{
  min-width:0!important;
  color:var(--card-accent)!important;
  font-family:Impact,"Arial Narrow",sans-serif!important;
  font-size:clamp(1.1rem,2.7vw,2.35rem)!important;
  line-height:.95!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-shadow:0 3px 7px #000,0 0 12px color-mix(in srgb,var(--card-accent) 75%,transparent)!important;
}

@media(max-width:800px){
  .page-media .generated-action-copy strong{font-size:clamp(.52rem,1.85vw,.7rem)!important}
  .page-media .generated-game-line-top{font-size:clamp(.63rem,2.35vw,.82rem)!important}
  .page-media .generated-game-line-bottom{font-size:clamp(.47rem,1.8vw,.64rem)!important}
  .page-media .generated-season-footer{font-size:clamp(1.08rem,4.65vw,1.7rem)!important}
  .generated-playlist-art{grid-template-rows:minmax(0,1fr) 58px!important}
  .generated-playlist-art:before{inset:0 0 58px 0!important}
  .generated-playlist-footer{padding:8px 10px!important;gap:8px!important}
  .generated-playlist-footer-icon{width:34px!important;font-size:.95rem!important}
  .generated-playlist-footer-title{font-size:clamp(.85rem,4.2vw,1.35rem)!important}
}

/* ============================================================
   V90 — FINAL SIMPLIFIED CARD LAYOUT
   Divider-only action panel, structured game footer, uncropped playlist art,
   and restored breathing room beneath the News section.
   ============================================================ */

/* Action panel: remove individual button boxes and use only two separators. */
.page-media .generated-wide-actions{
  padding:0!important;
  background:linear-gradient(180deg,rgba(4,13,18,.98),rgba(1,5,8,.98))!important;
}
.page-media .generated-action-list{
  gap:0!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
}
.page-media .generated-action-row{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:clamp(8px,1.4vw,18px) clamp(6px,1vw,12px)!important;
  gap:clamp(6px,.9vw,12px)!important;
}
.page-media .generated-action-row + .generated-action-row{
  border-top:1px solid color-mix(in srgb,var(--card-accent) 72%,transparent)!important;
}
.page-media .generated-action-row:hover{
  background:color-mix(in srgb,var(--card-accent) 8%,transparent)!important;
}
.page-media .generated-action-icon{
  box-shadow:0 0 12px color-mix(in srgb,var(--card-accent) 65%,transparent)!important;
}
.page-media .generated-action-copy strong{
  font-size:clamp(.72rem,1.2vw,1.08rem)!important;
  line-height:1!important;
}

/* Game footer follows the final sketch: season/game block at left,
   matchup/result block across the remaining width. */
.page-media .generated-game-footer{
  display:grid!important;
  grid-template-columns:minmax(130px,28%) minmax(0,72%)!important;
  align-items:stretch!important;
  padding:0!important;
  text-align:left!important;
}
.page-media .generated-game-meta-block,
.page-media .generated-game-matchup-block{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.page-media .generated-game-meta-block{
  flex-direction:column!important;
  gap:2px!important;
  padding:clamp(7px,.9vw,11px) clamp(9px,1.1vw,14px)!important;
  border-right:1px solid color-mix(in srgb,var(--card-accent) 72%,transparent)!important;
  color:var(--card-accent)!important;
  font-family:Impact,"Arial Narrow",sans-serif!important;
  text-transform:uppercase!important;
  letter-spacing:.045em!important;
}
.page-media .generated-game-meta-block span{
  font-size:clamp(.68rem,1.12vw,1rem)!important;
  line-height:1!important;
}
.page-media .generated-game-meta-block strong{
  font-size:clamp(.9rem,1.45vw,1.3rem)!important;
  line-height:1!important;
}
.page-media .generated-game-matchup-block{
  flex-wrap:wrap!important;
  gap:clamp(5px,.65vw,10px)!important;
  padding:clamp(8px,1vw,12px) clamp(10px,1.5vw,18px)!important;
  color:#fff!important;
  font-family:Impact,"Arial Narrow",sans-serif!important;
  text-transform:uppercase!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.page-media .generated-game-matchup-block strong,
.page-media .generated-game-matchup-block span,
.page-media .generated-game-matchup-block em{
  font-size:clamp(.68rem,1.25vw,1.1rem)!important;
  line-height:1!important;
  font-style:normal!important;
  text-overflow:ellipsis!important;
  overflow:hidden!important;
}
.page-media .generated-game-matchup-block span:before{
  content:"•";
  color:var(--card-accent);
  margin-right:clamp(5px,.55vw,9px);
}
.page-media .generated-game-matchup-block em{
  color:var(--card-accent)!important;
}

/* Season title stays bold but leaves more air. */
.page-media .generated-season-footer{
  font-size:clamp(1.45rem,3vw,2.85rem)!important;
  padding:clamp(8px,1vw,12px) 4%!important;
}

/* Playlist cards: show the complete image and let titles wrap instead of clipping. */
.generated-playlist-art{
  background-size:contain!important;
  background-position:center top!important;
  background-color:#020204!important;
  grid-template-rows:minmax(0,1fr) clamp(74px,21%,108px)!important;
}
.generated-playlist-art:before{
  inset:0 0 clamp(74px,21%,108px) 0!important;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.03))!important;
}
.generated-playlist-footer{
  min-height:74px!important;
  padding:clamp(9px,1.35vw,15px) clamp(12px,1.8vw,20px)!important;
}
.generated-playlist-footer-title{
  font-size:clamp(.95rem,2.05vw,1.9rem)!important;
  line-height:1.02!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}

/* News page: preserve space between the final card and the footer. */
.page-news #news{
  padding-bottom:clamp(48px,6vw,84px)!important;
}

@media(max-width:800px){
  .page-media .generated-game-footer{
    grid-template-columns:34% 66%!important;
  }
  .page-media .generated-game-meta-block span{font-size:clamp(.48rem,1.7vw,.65rem)!important}
  .page-media .generated-game-meta-block strong{font-size:clamp(.6rem,2vw,.78rem)!important}
  .page-media .generated-game-matchup-block{gap:4px!important;padding:6px 7px!important}
  .page-media .generated-game-matchup-block strong,
  .page-media .generated-game-matchup-block span,
  .page-media .generated-game-matchup-block em{font-size:clamp(.45rem,1.65vw,.62rem)!important}
  .page-media .generated-season-footer{font-size:clamp(1rem,4.1vw,1.5rem)!important}
  .generated-playlist-art{grid-template-rows:minmax(0,1fr) 66px!important}
  .generated-playlist-art:before{inset:0 0 66px 0!important}
  .generated-playlist-footer-title{font-size:clamp(.78rem,3.8vw,1.18rem)!important}
}

/* ============================================================
   V91 — FINAL TYPOGRAPHY, PLAYLIST FIT & INTERACTION POLISH
   ============================================================ */

/* Game-card footer hierarchy: larger type, alternating colors. */
.page-media .generated-game-meta-block span{
  color:var(--card-accent)!important;
  font-size:clamp(.78rem,1.28vw,1.12rem)!important;
}
.page-media .generated-game-meta-block strong{
  color:#fff!important;
  font-size:clamp(1.02rem,1.62vw,1.48rem)!important;
  text-shadow:0 2px 5px #000,0 0 8px rgba(255,255,255,.28)!important;
}
.page-media .generated-game-matchup-block strong{
  color:var(--card-accent)!important;
  font-size:clamp(.8rem,1.36vw,1.18rem)!important;
}
.page-media .generated-game-matchup-block span{
  color:#fff!important;
  font-size:clamp(.78rem,1.3vw,1.14rem)!important;
}
.page-media .generated-game-matchup-block em{
  color:#ffd84a!important;
  font-size:clamp(.78rem,1.3vw,1.14rem)!important;
  text-shadow:0 0 9px rgba(255,216,74,.45)!important;
}

/* Season image should fill the complete visual panel like the game card. */
.page-media .generated-season-visual{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* Restore a lively hover/focus glow to the game/season popup links. */
.game-link-action{
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background .18s ease!important;
}
.game-link-action:not(.is-disabled):hover,
.game-link-action:not(.is-disabled):focus-visible{
  transform:translateY(-2px) scale(1.025)!important;
  filter:brightness(1.18)!important;
  background:rgba(255,255,255,.11)!important;
  outline:none!important;
}
.game-link-full:not(.is-disabled):hover,
.game-link-full:not(.is-disabled):focus-visible{
  box-shadow:0 0 12px rgba(255,0,170,.75),0 0 28px rgba(255,0,170,.55)!important;
}
.game-link-highlights:not(.is-disabled):hover,
.game-link-highlights:not(.is-disabled):focus-visible{
  box-shadow:0 0 12px rgba(255,190,0,.78),0 0 28px rgba(255,190,0,.55)!important;
}
.game-link-slideshow:not(.is-disabled):hover,
.game-link-slideshow:not(.is-disabled):focus-visible{
  box-shadow:0 0 12px rgba(0,190,255,.82),0 0 28px rgba(0,190,255,.58)!important;
}
.game-link-action.is-disabled{opacity:.48!important;filter:saturate(.45)!important}

/* Playlist cards now use a real image region so the artwork is never hidden
   behind the title strip. Long titles wrap cleanly to two centered lines. */
.generated-playlist-art{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) clamp(86px,23%,122px)!important;
  background:none!important;
  overflow:hidden!important;
}
.generated-playlist-art:before{display:none!important}
.generated-playlist-image{
  grid-row:1!important;
  min-width:0!important;
  min-height:0!important;
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#020204!important;
}
.generated-playlist-footer{
  grid-row:2!important;
  min-height:86px!important;
  padding:clamp(11px,1.55vw,18px) clamp(14px,2vw,24px)!important;
  grid-template-columns:clamp(42px,5vw,62px) minmax(0,1fr)!important;
  gap:clamp(10px,1.6vw,20px)!important;
}
.generated-playlist-footer-icon{
  width:clamp(42px,5vw,62px)!important;
  flex:0 0 auto!important;
}
.generated-playlist-footer-title{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  height:100%!important;
  max-height:2.08em!important;
  font-size:clamp(1.02rem,2.1vw,1.95rem)!important;
  line-height:1.02!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-overflow:clip!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
.generated-playlist-art.is-long-title .generated-playlist-footer-title{
  font-size:clamp(.94rem,1.82vw,1.66rem)!important;
}
.generated-playlist-art.is-very-long-title .generated-playlist-footer-title{
  font-size:clamp(.84rem,1.58vw,1.45rem)!important;
  letter-spacing:.012em!important;
}

/* Keep the News page visually separated from the footer. */
.page-news #news.news-section{
  margin-bottom:clamp(46px,5vw,72px)!important;
}
.page-news main{
  padding-bottom:clamp(24px,3vw,40px)!important;
}

@media(max-width:800px){
  .page-media .generated-game-meta-block span{font-size:clamp(.52rem,1.9vw,.7rem)!important}
  .page-media .generated-game-meta-block strong{font-size:clamp(.66rem,2.2vw,.86rem)!important}
  .page-media .generated-game-matchup-block strong,
  .page-media .generated-game-matchup-block span,
  .page-media .generated-game-matchup-block em{font-size:clamp(.49rem,1.78vw,.66rem)!important}
  .generated-playlist-art{grid-template-rows:minmax(0,1fr) 76px!important}
  .generated-playlist-footer{min-height:76px!important;padding:8px 10px!important;gap:8px!important;grid-template-columns:36px minmax(0,1fr)!important}
  .generated-playlist-footer-icon{width:36px!important;font-size:1rem!important}
  .generated-playlist-footer-title{font-size:clamp(.8rem,3.8vw,1.18rem)!important}
  .generated-playlist-art.is-long-title .generated-playlist-footer-title{font-size:clamp(.72rem,3.35vw,1.05rem)!important}
  .generated-playlist-art.is-very-long-title .generated-playlist-footer-title{font-size:clamp(.66rem,3vw,.94rem)!important}
}

/* ============================================================
   V92 — FINAL IMAGE FILL, PLAYLIST CENTERING & TEXT LEGIBILITY
   ============================================================ */

/* Fill the complete artwork region on generated game and season cards. */
.page-media .generated-game-layout .generated-wide-visual,
.page-media .generated-season-layout .generated-wide-visual{
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* Improve footer readability without forcing long matchups to clip. */
.page-media .generated-game-meta-block,
.page-media .generated-game-matchup-block{
  letter-spacing:.075em!important;
  word-spacing:.12em!important;
}
.page-media .generated-game-meta-block span{
  letter-spacing:.09em!important;
}
.page-media .generated-game-meta-block strong{
  letter-spacing:.08em!important;
}
.page-media .generated-game-matchup-block strong,
.page-media .generated-game-matchup-block span,
.page-media .generated-game-matchup-block em{
  letter-spacing:.055em!important;
}

/* Playlist artwork fills the image window; the title is centered perfectly
   within the space remaining to the right of the icon. */
.generated-playlist-image{
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.generated-playlist-footer{
  align-items:stretch!important;
}
.generated-playlist-footer-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  width:100%!important;
  padding:0 clamp(6px,.8vw,12px)!important;
  margin:0!important;
  letter-spacing:.035em!important;
}
.generated-playlist-footer-icon{
  align-self:center!important;
  justify-self:center!important;
}

@media(max-width:800px){
  .page-media .generated-game-meta-block,
  .page-media .generated-game-matchup-block{
    letter-spacing:.045em!important;
    word-spacing:.06em!important;
  }
  .page-media .generated-game-matchup-block strong,
  .page-media .generated-game-matchup-block span,
  .page-media .generated-game-matchup-block em{
    letter-spacing:.035em!important;
  }
  .generated-playlist-footer-title{
    letter-spacing:.02em!important;
    padding:0 4px!important;
  }
}

/* ============================================================
   V93 — PLAYLIST ART PRESERVATION & FINAL FOOTER ALIGNMENT
   ============================================================ */

/* Show the complete playlist artwork without cropping any of the source image. */
.generated-playlist-image{
  background-size:contain!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#020204!important;
}

/* Three-column footer: icon, truly centered title, matching spacer.
   The equal outer columns keep the playlist name centered across the card. */
.generated-playlist-footer{
  display:grid!important;
  grid-template-columns:clamp(48px,5.5vw,68px) minmax(0,1fr) clamp(48px,5.5vw,68px)!important;
  align-items:center!important;
  justify-items:center!important;
  column-gap:clamp(8px,1.2vw,16px)!important;
}
.generated-playlist-footer::after{
  content:"";
  display:block;
  width:100%;
  height:1px;
}
.generated-playlist-footer-icon{
  grid-column:1!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
}
.generated-playlist-footer-title{
  grid-column:2!important;
  align-self:center!important;
  justify-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0 4px!important;
}

/* Use the available footer height more confidently on game cards. */
.page-media .generated-game-meta-block span{
  font-size:clamp(.76rem,1.58vw,1.18rem)!important;
}
.page-media .generated-game-meta-block strong{
  font-size:clamp(.92rem,1.82vw,1.34rem)!important;
}
.page-media .generated-game-matchup-block strong,
.page-media .generated-game-matchup-block span,
.page-media .generated-game-matchup-block em{
  font-size:clamp(.72rem,1.38vw,1.02rem)!important;
}

@media(max-width:800px){
  .generated-playlist-footer{
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    column-gap:7px!important;
  }
  .generated-playlist-footer-icon{width:36px!important}
  .page-media .generated-game-meta-block span{font-size:clamp(.58rem,2vw,.75rem)!important}
  .page-media .generated-game-meta-block strong{font-size:clamp(.7rem,2.35vw,.92rem)!important}
  .page-media .generated-game-matchup-block strong,
  .page-media .generated-game-matchup-block span,
  .page-media .generated-game-matchup-block em{font-size:clamp(.54rem,1.92vw,.72rem)!important}
}

/* ============================================================
   V94 — PLAYLIST FILL/ALIGNMENT & GAME FOOTER SCALE
   ============================================================ */

/* Fill the playlist image window completely without leaving black bars.
   The reusable artwork is intentionally stretched to the card viewport so
   the full composition remains visible edge-to-edge. */
.generated-playlist-image{
  background-size:100% 100%!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#020204!important;
}

/* Keep the icon and playlist name as one balanced footer group:
   a centered icon column followed immediately by a centered title area. */
.generated-playlist-footer{
  display:grid!important;
  grid-template-columns:clamp(62px,6.8vw,86px) minmax(0,1fr)!important;
  align-items:center!important;
  justify-items:stretch!important;
  column-gap:clamp(10px,1.4vw,18px)!important;
  padding-left:clamp(14px,1.8vw,24px)!important;
  padding-right:clamp(18px,2.2vw,30px)!important;
}
.generated-playlist-footer::after{display:none!important;content:none!important}
.generated-playlist-footer-icon{
  grid-column:1!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
}
.generated-playlist-footer-title{
  grid-column:2!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  line-height:1.02!important;
}

/* Use the remaining room in the game footer more confidently. */
.page-media .generated-game-meta-block span{
  font-size:clamp(.82rem,1.72vw,1.28rem)!important;
  line-height:1.02!important;
}
.page-media .generated-game-meta-block strong{
  font-size:clamp(1rem,1.98vw,1.46rem)!important;
  line-height:1!important;
}
.page-media .generated-game-matchup-block strong,
.page-media .generated-game-matchup-block span,
.page-media .generated-game-matchup-block em{
  font-size:clamp(.77rem,1.5vw,1.1rem)!important;
  line-height:1.08!important;
}

@media(max-width:800px){
  .generated-playlist-footer{
    grid-template-columns:40px minmax(0,1fr)!important;
    column-gap:8px!important;
    padding-left:9px!important;
    padding-right:11px!important;
  }
  .generated-playlist-footer-icon{width:36px!important}
  .page-media .generated-game-meta-block span{font-size:clamp(.61rem,2.15vw,.79rem)!important}
  .page-media .generated-game-meta-block strong{font-size:clamp(.75rem,2.55vw,.98rem)!important}
  .page-media .generated-game-matchup-block strong,
  .page-media .generated-game-matchup-block span,
  .page-media .generated-game-matchup-block em{font-size:clamp(.57rem,2.05vw,.76rem)!important}
}

/* ============================================================
   V95 — FINAL PLAYLIST FOOTER ALIGNMENT & GAME CARD SCALE
   ============================================================ */

/* Keep the complete game artwork visible while still filling its panel.
   The reusable artwork is intentionally sized to the exact viewport so
   neither side of the source composition is clipped. */
.page-media .generated-game-layout .generated-wide-visual,
.page-media .generated-season-layout .generated-wide-visual{
  background-size:100% 100%!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* Use the remaining game-footer room more confidently. */
.page-media .generated-game-meta-block span{
  font-size:clamp(.9rem,1.86vw,1.38rem)!important;
}
.page-media .generated-game-meta-block strong{
  font-size:clamp(1.1rem,2.16vw,1.58rem)!important;
}
.page-media .generated-game-matchup-block strong,
.page-media .generated-game-matchup-block span{
  font-size:clamp(.84rem,1.64vw,1.2rem)!important;
}
.page-media .generated-game-matchup-block em{
  font-size:clamp(.88rem,1.72vw,1.26rem)!important;
}

/* Playlist footer: a truly centered icon cell followed immediately by a
   larger, left-aligned title.  The slight visual lift compensates for the
   icon's glow and makes it appear centered inside the strip. */
.generated-playlist-footer{
  grid-template-columns:clamp(68px,7.2vw,92px) minmax(0,1fr)!important;
  column-gap:clamp(10px,1.15vw,16px)!important;
  padding:8px clamp(18px,2vw,28px) 8px clamp(18px,2vw,26px)!important;
  align-items:center!important;
}
.generated-playlist-footer-icon{
  align-self:center!important;
  justify-self:center!important;
  transform:translateY(-5px)!important;
  margin:0!important;
}
.generated-playlist-footer-title{
  align-self:center!important;
  justify-self:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
  font-size:clamp(1.28rem,2.35vw,2rem)!important;
  line-height:1.02!important;
  letter-spacing:.045em!important;
  padding:0!important;
}
.generated-playlist-art.is-long-title .generated-playlist-footer-title{
  font-size:clamp(1.08rem,2.05vw,1.72rem)!important;
}
.generated-playlist-art.is-very-long-title .generated-playlist-footer-title{
  font-size:clamp(.96rem,1.82vw,1.52rem)!important;
}

@media(max-width:800px){
  .page-media .generated-game-meta-block span{font-size:clamp(.65rem,2.28vw,.84rem)!important}
  .page-media .generated-game-meta-block strong{font-size:clamp(.8rem,2.72vw,1.04rem)!important}
  .page-media .generated-game-matchup-block strong,
  .page-media .generated-game-matchup-block span{font-size:clamp(.6rem,2.16vw,.8rem)!important}
  .page-media .generated-game-matchup-block em{font-size:clamp(.63rem,2.22vw,.83rem)!important}
  .generated-playlist-footer{
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:8px!important;
    padding:7px 11px 7px 9px!important;
  }
  .generated-playlist-footer-icon{
    width:36px!important;
    transform:translateY(-3px)!important;
  }
  .generated-playlist-footer-title{
    font-size:clamp(.9rem,4.2vw,1.28rem)!important;
  }
  .generated-playlist-art.is-long-title .generated-playlist-footer-title{
    font-size:clamp(.78rem,3.75vw,1.12rem)!important;
  }
  .generated-playlist-art.is-very-long-title .generated-playlist-footer-title{
    font-size:clamp(.7rem,3.35vw,1rem)!important;
  }
}

/* ============================================================
   V96 — FINAL PLAYLIST ICON/TITLE SIMPLIFICATION & GAME SCALE
   ============================================================ */

/* Game footer: enlarge the matchup/result block to better use the
   available right-hand space while retaining responsive clamps. */
.page-media .generated-game-matchup-block{
  gap:clamp(8px,1vw,15px)!important;
  padding-inline:clamp(12px,1.5vw,22px)!important;
}
.page-media .generated-game-matchup-block strong,
.page-media .generated-game-matchup-block span{
  font-size:clamp(.94rem,1.83vw,1.34rem)!important;
  letter-spacing:.055em!important;
  word-spacing:.12em!important;
}
.page-media .generated-game-matchup-block em{
  font-size:clamp(1rem,1.95vw,1.44rem)!important;
  letter-spacing:.045em!important;
}

/* Playlist footer: remove the icon's surrounding box and treat icon +
   title as one left-aligned visual group.  The icon is optically centered
   in the footer and the title scales up to use the available space. */
.generated-playlist-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:clamp(12px,1.35vw,20px)!important;
  padding:8px clamp(18px,2.2vw,32px)!important;
}
.generated-playlist-footer-icon{
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  aspect-ratio:auto!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(2px)!important;
  font-size:clamp(1.75rem,3.1vw,2.65rem)!important;
  line-height:1!important;
  min-width:clamp(34px,3.7vw,50px)!important;
}
.generated-playlist-footer-title{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  align-self:stretch!important;
  text-align:left!important;
  margin:0!important;
  padding:0!important;
  font-size:clamp(1.48rem,2.65vw,2.24rem)!important;
  line-height:1.02!important;
  letter-spacing:.045em!important;
}
.generated-playlist-art.is-long-title .generated-playlist-footer-title{
  font-size:clamp(1.2rem,2.28vw,1.92rem)!important;
}
.generated-playlist-art.is-very-long-title .generated-playlist-footer-title{
  font-size:clamp(1.05rem,2.02vw,1.7rem)!important;
}

@media(max-width:800px){
  .page-media .generated-game-matchup-block{
    gap:5px!important;
    padding-inline:8px!important;
  }
  .page-media .generated-game-matchup-block strong,
  .page-media .generated-game-matchup-block span{
    font-size:clamp(.64rem,2.35vw,.86rem)!important;
  }
  .page-media .generated-game-matchup-block em{
    font-size:clamp(.68rem,2.48vw,.9rem)!important;
  }
  .generated-playlist-footer{
    gap:8px!important;
    padding:7px 11px!important;
  }
  .generated-playlist-footer-icon{
    min-width:28px!important;
    font-size:clamp(1.15rem,5.2vw,1.55rem)!important;
    transform:translateY(1px)!important;
  }
  .generated-playlist-footer-title{
    font-size:clamp(.98rem,4.5vw,1.38rem)!important;
  }
  .generated-playlist-art.is-long-title .generated-playlist-footer-title{
    font-size:clamp(.84rem,4vw,1.18rem)!important;
  }
  .generated-playlist-art.is-very-long-title .generated-playlist-footer-title{
    font-size:clamp(.74rem,3.55vw,1.05rem)!important;
  }
}


/* =========================
   V97 PNG-ONLY + PLAYER PHOTO LAYER FIX
========================= */
.generated-player-frame{background:#050007!important}
.generated-player-cosmos{z-index:0!important;opacity:.28!important}
.generated-player-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;z-index:1!important;filter:none!important}
.generated-player-placeholder{z-index:1!important}
.generated-player-frame:before{z-index:2!important;background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.02) 48%,rgba(0,0,0,.40) 66%,rgba(0,0,0,.94) 82%)!important}
.generated-player-number,.generated-player-info{z-index:5!important}
.generated-player-logo{display:none!important}


/* ============================================================
   V99 — THREE-ZONE GAME FOOTER + PLAYLIST ALIGNMENT POLISH
   ============================================================ */

/* Game card footer follows the final sketch: season/game at left,
   matchup in the wide center zone, and result in its own right zone.
   This prevents long opponent names from pushing the score onto a new line. */
.page-media .generated-game-footer{
  display:grid!important;
  grid-template-columns:minmax(145px,24%) minmax(0,1fr) minmax(92px,16%)!important;
  grid-template-rows:1fr!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  gap:0!important;
  padding:0!important;
  text-align:center!important;
}
.page-media .generated-game-meta-block,
.page-media .generated-game-matchup-block,
.page-media .generated-game-result-block{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  padding:clamp(8px,1.1vw,14px) clamp(8px,1.2vw,16px)!important;
  overflow:hidden!important;
}
.page-media .generated-game-meta-block{
  flex-direction:column!important;
  border-right:1px solid var(--card-accent)!important;
}
.page-media .generated-game-meta-block span,
.page-media .generated-game-meta-block strong{
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.page-media .generated-game-meta-block span{
  color:var(--card-accent)!important;
  font-size:clamp(.78rem,1.48vw,1.12rem)!important;
  line-height:1!important;
  letter-spacing:.075em!important;
}
.page-media .generated-game-meta-block strong{
  margin-top:4px!important;
  color:#fff!important;
  font-size:clamp(1rem,1.9vw,1.42rem)!important;
  line-height:1!important;
  letter-spacing:.055em!important;
}
.page-media .generated-game-matchup-block{
  flex-direction:row!important;
  gap:clamp(7px,.8vw,12px)!important;
  border-right:1px solid var(--card-accent)!important;
  white-space:nowrap!important;
}
.page-media .generated-game-matchup-block strong,
.page-media .generated-game-matchup-block span{
  display:block!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:clamp(.82rem,1.55vw,1.18rem)!important;
  line-height:1!important;
  letter-spacing:.045em!important;
  word-spacing:.08em!important;
}
.page-media .generated-game-matchup-block strong{
  flex:0 1 auto!important;
  color:var(--card-accent)!important;
}
.page-media .generated-game-matchup-block span{
  flex:1 1 auto!important;
  color:#fff!important;
}
.page-media .generated-game-result-block{
  font-family:Impact,"Arial Narrow",sans-serif!important;
  white-space:nowrap!important;
}
.page-media .generated-game-result-block em{
  display:block!important;
  width:100%!important;
  color:#f5c542!important;
  font-style:normal!important;
  font-size:clamp(1rem,1.95vw,1.48rem)!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-shadow:0 0 10px rgba(245,197,66,.6),0 2px 4px #000!important;
}

/* Playlist footer: move the icon/title group farther left, lift the icon
   slightly, and enlarge the title while preserving long-title fallbacks. */
.generated-playlist-footer{
  gap:clamp(9px,1vw,14px)!important;
  padding:7px clamp(12px,1.4vw,20px)!important;
}
.generated-playlist-footer-icon{
  min-width:clamp(30px,3.2vw,44px)!important;
  transform:translateY(-2px)!important;
  font-size:clamp(1.85rem,3.3vw,2.8rem)!important;
}
.generated-playlist-footer-title{
  font-size:clamp(1.62rem,2.9vw,2.45rem)!important;
  letter-spacing:.035em!important;
  line-height:1!important;
}
.generated-playlist-art.is-long-title .generated-playlist-footer-title{
  font-size:clamp(1.3rem,2.48vw,2.08rem)!important;
}
.generated-playlist-art.is-very-long-title .generated-playlist-footer-title{
  font-size:clamp(1.12rem,2.18vw,1.82rem)!important;
}

@media(max-width:800px){
  .page-media .generated-game-footer{
    grid-template-columns:minmax(88px,27%) minmax(0,1fr) minmax(64px,18%)!important;
  }
  .page-media .generated-game-meta-block,
  .page-media .generated-game-matchup-block,
  .page-media .generated-game-result-block{
    padding:7px 6px!important;
  }
  .page-media .generated-game-meta-block span{font-size:clamp(.54rem,1.95vw,.7rem)!important}
  .page-media .generated-game-meta-block strong{font-size:clamp(.67rem,2.35vw,.88rem)!important}
  .page-media .generated-game-matchup-block{gap:4px!important}
  .page-media .generated-game-matchup-block strong,
  .page-media .generated-game-matchup-block span{font-size:clamp(.52rem,1.9vw,.7rem)!important}
  .page-media .generated-game-result-block em{font-size:clamp(.65rem,2.35vw,.9rem)!important}
  .generated-playlist-footer{gap:7px!important;padding:6px 9px!important}
  .generated-playlist-footer-icon{
    min-width:26px!important;
    transform:translateY(-1px)!important;
    font-size:clamp(1.2rem,5.4vw,1.62rem)!important;
  }
  .generated-playlist-footer-title{font-size:clamp(1.04rem,4.7vw,1.46rem)!important}
  .generated-playlist-art.is-long-title .generated-playlist-footer-title{font-size:clamp(.88rem,4.15vw,1.24rem)!important}
  .generated-playlist-art.is-very-long-title .generated-playlist-footer-title{font-size:clamp(.76rem,3.65vw,1.08rem)!important}
}

/* ============================================================
   V99 — FINAL TWO-LINE GAME SCOREBOARD FOOTER
   ============================================================ */
/* Permanent scalable layout:
   LEFT   = season / game number
   CENTER = Allstar Galaxy / opponent
   RIGHT  = result word / numeric score
   Every zone uses two lines, so long opponent names and large scores fit. */
.page-media .generated-game-footer{
  grid-template-columns:minmax(138px,23%) minmax(0,1fr) minmax(105px,17%)!important;
  min-height:76px!important;
}
.page-media .generated-game-meta-block,
.page-media .generated-game-matchup-block,
.page-media .generated-game-result-block{
  min-height:76px!important;
  padding:8px 12px!important;
}
.page-media .generated-game-meta-block{
  justify-content:center!important;
  gap:5px!important;
}
.page-media .generated-game-meta-block span,
.page-media .generated-game-meta-block strong{
  margin:0!important;
  line-height:1!important;
}
.page-media .generated-game-matchup-block{
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:7px!important;
  padding-left:clamp(18px,2vw,28px)!important;
  padding-right:clamp(12px,1.5vw,20px)!important;
  text-align:left!important;
}
.page-media .generated-game-matchup-block strong,
.page-media .generated-game-matchup-block span{
  width:100%!important;
  flex:none!important;
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.page-media .generated-game-matchup-block strong{
  color:var(--card-accent)!important;
  font-size:clamp(.92rem,1.72vw,1.28rem)!important;
  letter-spacing:.055em!important;
}
.page-media .generated-game-matchup-block span{
  color:#fff!important;
  font-size:clamp(.85rem,1.58vw,1.17rem)!important;
  letter-spacing:.045em!important;
}
.page-media .generated-game-result-block{
  flex-direction:column!important;
  justify-content:center!important;
  gap:6px!important;
  text-align:center!important;
}
.page-media .generated-game-result-block strong,
.page-media .generated-game-result-block em{
  display:block!important;
  width:100%!important;
  margin:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-family:Impact,"Arial Narrow",sans-serif!important;
  font-style:normal!important;
}
.page-media .generated-game-result-block strong{
  color:#fff!important;
  font-size:clamp(.82rem,1.45vw,1.08rem)!important;
  letter-spacing:.09em!important;
  text-shadow:0 2px 4px #000!important;
}
.page-media .generated-game-result-block em{
  color:#f5c542!important;
  font-size:clamp(1.15rem,2.08vw,1.58rem)!important;
  letter-spacing:.055em!important;
  text-shadow:0 0 10px rgba(245,197,66,.62),0 2px 4px #000!important;
}

@media(max-width:800px){
  .page-media .generated-game-footer{
    grid-template-columns:minmax(82px,27%) minmax(0,1fr) minmax(66px,19%)!important;
    min-height:62px!important;
  }
  .page-media .generated-game-meta-block,
  .page-media .generated-game-matchup-block,
  .page-media .generated-game-result-block{
    min-height:62px!important;
    padding:6px 6px!important;
  }
  .page-media .generated-game-matchup-block{
    gap:4px!important;
    padding-left:8px!important;
    align-items:flex-start!important;
  }
  .page-media .generated-game-matchup-block strong{font-size:clamp(.55rem,2vw,.73rem)!important}
  .page-media .generated-game-matchup-block span{font-size:clamp(.5rem,1.85vw,.68rem)!important}
  .page-media .generated-game-result-block{gap:4px!important}
  .page-media .generated-game-result-block strong{font-size:clamp(.5rem,1.8vw,.66rem)!important}
  .page-media .generated-game-result-block em{font-size:clamp(.72rem,2.55vw,.96rem)!important}
}

/* ============================================================
   V100 — FINAL CENTERED GAME MATCHUP FOOTER
   ============================================================ */
/* Center the two team-name lines as one unit, remove the old blue
   separator dot, and use the available center panel more confidently. */
.page-media .generated-game-matchup-block{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding-left:clamp(12px,1.6vw,22px)!important;
  padding-right:clamp(12px,1.6vw,22px)!important;
  gap:6px!important;
}
.page-media .generated-game-matchup-block strong,
.page-media .generated-game-matchup-block span{
  width:100%!important;
  max-width:100%!important;
  text-align:center!important;
  margin:0 auto!important;
}
.page-media .generated-game-matchup-block strong{
  font-size:clamp(1.02rem,1.9vw,1.42rem)!important;
  letter-spacing:.055em!important;
}
.page-media .generated-game-matchup-block span{
  font-size:clamp(.96rem,1.82vw,1.34rem)!important;
  letter-spacing:.05em!important;
}
.page-media .generated-game-matchup-block span:before,
.page-media .generated-game-matchup-block span::before{
  display:none!important;
  content:none!important;
}

@media(max-width:800px){
  .page-media .generated-game-matchup-block{
    align-items:center!important;
    text-align:center!important;
    padding-left:6px!important;
    padding-right:6px!important;
    gap:3px!important;
  }
  .page-media .generated-game-matchup-block strong{
    font-size:clamp(.59rem,2.16vw,.78rem)!important;
  }
  .page-media .generated-game-matchup-block span{
    font-size:clamp(.55rem,2.04vw,.73rem)!important;
  }
}

/* ============================================================
   V101 — MOBILE RESPONSIVE PASS
   Phone-only refinements. Desktop layout remains unchanged.
   ============================================================ */
@media (max-width: 760px) {
  html { overflow-x: hidden; }
  body { overflow-x: hidden; }
  .site-shell { width: 100%; max-width: 100%; overflow: hidden; }

  /* Compact mobile header while retaining all seven navigation links. */
  .site-top { position: relative; }
  .hero-bar {
    min-height: 112px !important;
    height: 112px !important;
    padding: 10px 12px 6px !important;
    display: grid !important;
    grid-template-columns: 66px minmax(0, 1fr) 66px !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .hero-logo,
  .hero-logo-right {
    width: 66px !important;
    height: 66px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .hero-logo img,
  .hero-logo-right img {
    width: 62px !important;
    height: 62px !important;
    object-fit: contain !important;
  }
  .hero-title { min-width: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  .hero-title img {
    width: 100% !important;
    max-width: 235px !important;
    max-height: 44px !important;
    object-fit: contain !important;
  }
  .site-top nav {
    min-height: 50px !important;
    height: 50px !important;
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 0 4px !important;
    overflow: visible !important;
  }
  .site-top nav a {
    min-width: 0 !important;
    padding: 9px 1px !important;
    font-size: clamp(.63rem, 2.55vw, .76rem) !important;
    letter-spacing: .015em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  /* Mobile hero: show a useful centered slice without dominating the page. */
  .hero-image {
    height: 150px !important;
    min-height: 150px !important;
    background-size: cover !important;
    background-position: center center !important;
  }
  .page-about .about-page-hero,
  .page-404 .not-found-page-hero { height: auto !important; min-height: 0 !important; }
  .page-about .about-page-hero img,
  .page-404 .not-found-page-hero img { width: 100% !important; height: auto !important; object-fit: contain !important; }

  .page-section-description,
  .carousel-section-description,
  .media-section-heading p,
  .schedule-page-description,
  .news-page-description,
  .live-page-description,
  .follow-page-description {
    width: 92% !important;
    margin: 12px auto 18px !important;
    padding: 0 !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
    text-align: center !important;
  }

  /* Section-title graphics remain readable but do not exceed the phone width. */
  .media-section-title-graphic,
  .section-title-graphic,
  .roster-title-graphic {
    width: 86% !important;
    max-width: 620px !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  main,
  .media-archive-main { width: 100% !important; max-width: 100% !important; }
  .media-archive-section { margin-bottom: 34px !important; }

  /* Carousel shells: eliminate desktop-sized empty zones on phones. */
  .page-home .homepage-media-carousel,
  .page-team .team-roster-carousel,
  .page-media .media-games-carousel,
  .page-media .media-season-carousel,
  .page-media .media-playlist-carousel {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    border-radius: 22px !important;
  }
  .page-home .homepage-media-carousel { height: 500px !important; }
  .page-team .team-roster-carousel { height: 590px !important; }
  .page-media .media-games-carousel { height: 600px !important; }
  .page-media .media-season-carousel { height: 520px !important; }
  .page-media .media-playlist-carousel { height: 500px !important; }

  .page-home .homepage-media-carousel .carousel-track,
  .page-team .team-roster-carousel .carousel-track,
  .page-media .media-games-carousel .carousel-track,
  .page-media .media-season-carousel .carousel-track,
  .page-media .media-playlist-carousel .carousel-track {
    top: 24px !important;
    bottom: 72px !important;
    height: auto !important;
  }

  /* One clear active card; neighbors stay subtle and do not crowd the phone. */
  .page-home .homepage-media-carousel .media-slide.is-active,
  .page-media .media-playlist-carousel .generated-playlist-card.is-active {
    width: min(88vw, 430px) !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    transform: translate(-50%, -50%) scale(1) !important;
  }
  .page-home .homepage-media-carousel .media-slide.is-neighbor,
  .page-media .media-playlist-carousel .generated-playlist-card.is-neighbor {
    opacity: .28 !important;
    transform: translate(-50%, -50%) scale(.82) !important;
  }

  /* Playlist cards: correct aspect ratio, complete image, compact readable footer. */
  .generated-playlist-art {
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
    min-height: 0 !important;
    background-size: cover !important;
    background-position: center !important;
  }
  .generated-playlist-footer,
  .generated-card-footer {
    min-height: 76px !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
  }
  .generated-playlist-icon { flex: 0 0 44px !important; width: 44px !important; height: 44px !important; }
  .generated-playlist-text .generated-card-title,
  .page-home .generated-card-title,
  .page-media .generated-card-title {
    font-size: clamp(1.05rem, 5.5vw, 1.55rem) !important;
    line-height: 1 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Game and season cards: mobile-first stacked card.
     Image on top, three links in a horizontal strip, information below. */
  .page-media .generated-game-card.is-active,
  .page-media .generated-season-card.is-active {
    width: min(90vw, 520px) !important;
    height: auto !important;
    max-height: none !important;
    transform: translate(-50%, -50%) scale(1) !important;
  }
  .page-media .generated-game-card.is-neighbor,
  .page-media .generated-season-card.is-neighbor {
    opacity: .22 !important;
    transform: translate(-50%, -50%) scale(.82) !important;
  }
  .generated-wide-card {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    overflow: hidden !important;
  }
  .generated-wide-visual {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    background-size: cover !important;
    background-position: center !important;
  }
  .generated-wide-actions {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 94px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    border-left: 0 !important;
    border-top: 1px solid var(--card-accent) !important;
  }
  .generated-action-row {
    min-width: 0 !important;
    height: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-right: 1px solid color-mix(in srgb, var(--card-accent) 75%, transparent) !important;
    padding: 8px 3px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
  }
  .generated-action-row:last-child { border-right: 0 !important; }
  .generated-action-icon { width: 42px !important; height: 42px !important; flex: 0 0 42px !important; }
  .generated-action-copy { width: 100% !important; text-align: center !important; min-width: 0 !important; }
  .generated-action-copy strong {
    display: block !important;
    font-size: clamp(.66rem, 3.1vw, .88rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  .generated-action-copy small { display: none !important; }

  .generated-game-footer,
  .generated-season-footer,
  .generated-card-footer {
    grid-column: 1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .generated-game-footer {
    min-height: 94px !important;
    display: grid !important;
    grid-template-columns: 27% minmax(0, 1fr) 22% !important;
  }
  .generated-game-footer > * { min-width: 0 !important; padding: 8px 5px !important; }
  .generated-game-season,
  .generated-game-matchup,
  .generated-game-result { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; }
  .generated-game-season span,
  .generated-game-matchup span,
  .generated-game-result span {
    font-size: clamp(.62rem, 2.75vw, .8rem) !important;
    line-height: 1.02 !important;
    letter-spacing: .025em !important;
  }
  .generated-game-season strong,
  .generated-game-matchup strong,
  .generated-game-result strong {
    font-size: clamp(.72rem, 3.35vw, .96rem) !important;
    line-height: 1.02 !important;
    letter-spacing: .025em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .generated-season-footer { min-height: 66px !important; }
  .generated-season-footer .generated-season-title,
  .generated-season-heading strong {
    font-size: clamp(1.2rem, 6vw, 1.8rem) !important;
  }

  /* Arrows stay near the outer shell rather than covering the card text. */
  .carousel-button {
    width: 48px !important;
    height: 48px !important;
    font-size: 2.15rem !important;
    z-index: 30 !important;
  }
  .carousel-button.prev { left: 6px !important; }
  .carousel-button.next { right: 6px !important; }
  .carousel-dots { bottom: 22px !important; gap: 8px !important; max-width: 88% !important; overflow: hidden !important; }
  .carousel-dot { width: 10px !important; height: 10px !important; flex: 0 0 10px !important; }

  /* Team carousel stays cinematic, but fits safely inside the viewport. */
  .page-team .team-roster-carousel .team-card-slide.is-active {
    width: min(70vw, 300px) !important;
    height: min(116vw, 465px) !important;
    transform: translate(-50%, -50%) scale(1) !important;
  }
  .page-team .team-roster-carousel .team-card-slide.is-neighbor { opacity: .42 !important; }
  .page-team .team-roster-carousel .carousel-button.prev { left: 8px !important; }
  .page-team .team-roster-carousel .carousel-button.next { right: 8px !important; }

  /* Schedule: prevent clipping and allow the standings table to scroll. */
  .page-schedule .schedule-page-section,
  .page-schedule .generated-schedule-grid {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
  .page-schedule .generated-schedule-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; }
  .page-schedule .generated-schedule-grid > section { min-width: 0 !important; width: 100% !important; padding: 18px 14px !important; box-sizing: border-box !important; overflow: hidden !important; }
  .page-schedule .generated-schedule-grid h2 { font-size: clamp(1.45rem, 7vw, 2rem) !important; }
  .page-schedule .generated-match-card { min-width: 0 !important; padding: 16px 12px !important; }
  .page-schedule .generated-match-card h3,
  .page-schedule .generated-match-card p { overflow-wrap: anywhere !important; word-break: normal !important; }
  .page-schedule .generated-table-wrap { width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .page-schedule .generated-table-wrap table { min-width: 620px !important; }

  /* News and live: retain successful stacked layouts with safer spacing. */
  .page-news #news.news-section,
  .page-live .live-section { width: calc(100% - 24px) !important; margin-left: auto !important; margin-right: auto !important; }
  .page-news .generated-news-card { padding: 20px 16px !important; gap: 14px !important; align-items: center !important; }
  .page-news .generated-news-card img { width: 82px !important; height: 82px !important; flex: 0 0 82px !important; }
  .page-news .generated-news-card h3 { font-size: clamp(1.35rem, 6vw, 1.75rem) !important; }
  .page-news .generated-news-card p { font-size: .98rem !important; line-height: 1.45 !important; }
  .generated-live-card { width: 100% !important; padding: 30px 18px !important; box-sizing: border-box !important; }
  .generated-live-card img { width: 112px !important; }

  /* Follow: balanced two-column grid; center the final X card. */
  .follow-hub { width: calc(100% - 24px) !important; margin-left: auto !important; margin-right: auto !important; }
  .follow-social-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
  .follow-card { min-width: 0 !important; padding: 22px 10px !important; }
  .follow-card:last-child { grid-column: 1 / -1 !important; width: calc(50% - 7px) !important; justify-self: center !important; }
  .follow-icon-wrap img { width: 76px !important; height: 76px !important; object-fit: contain !important; }
  .follow-card-title { font-size: 1.2rem !important; }
  .follow-card-subtitle { font-size: .88rem !important; line-height: 1.25 !important; }
  .follow-email-card { width: 100% !important; box-sizing: border-box !important; padding: 18px 14px !important; }

  /* Footer: compact, clear, and safe above iPhone browser controls. */
  footer { padding: 14px 8px calc(18px + env(safe-area-inset-bottom)) !important; }
  .footer-social-row { gap: 7px !important; }
  .footer-logo img { width: 25px !important; height: 25px !important; }
  .footer-social { gap: 7px !important; }
  .footer-social a img { width: 27px !important; height: 27px !important; }
  .footer-email { width: 27px !important; height: 27px !important; font-size: 1rem !important; }
  .footer-small { margin-top: 8px !important; font-size: .85rem !important; }

  /* About and 404 cards use the phone width without horizontal clipping. */
  .page-about main,
  .page-404 main { width: 100% !important; }
  .about-grid,
  .about-archive-panel,
  .not-found-card { width: calc(100% - 24px) !important; max-width: none !important; box-sizing: border-box !important; margin-left: auto !important; margin-right: auto !important; }
}

/* Extra-small phones */
@media (max-width: 390px) {
  .hero-bar { grid-template-columns: 58px minmax(0, 1fr) 58px !important; }
  .hero-logo,
  .hero-logo-right { width: 58px !important; height: 58px !important; }
  .hero-logo img,
  .hero-logo-right img { width: 55px !important; height: 55px !important; }
  .hero-title img { max-width: 205px !important; }
  .site-top nav a { font-size: .61rem !important; }
  .page-media .media-games-carousel { height: 575px !important; }
  .page-team .team-roster-carousel { height: 560px !important; }
  .generated-game-footer { grid-template-columns: 28% minmax(0, 1fr) 22% !important; }
}

/* ============================================================
   V102 — MOBILE CAROUSEL + HERO CORRECTION PASS
   Phone-only overrides. Desktop rules remain unchanged.
   ============================================================ */
@media (max-width: 760px) {
  /* Restore each complete 16:9 hero graphic instead of cropping it. */
  .hero-image {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  /* Use the compact Team-carousel rhythm across all carousel sections. */
  .page-home .homepage-media-carousel,
  .page-media .media-games-carousel,
  .page-media .media-season-carousel,
  .page-media .media-playlist-carousel {
    width: calc(100% - 24px) !important;
    min-height: 0 !important;
    height: 430px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .page-media .media-season-carousel { height: 420px !important; }
  .page-media .media-playlist-carousel { height: 410px !important; }

  .page-home .homepage-media-carousel .carousel-track,
  .page-media .media-games-carousel .carousel-track,
  .page-media .media-season-carousel .carousel-track,
  .page-media .media-playlist-carousel .carousel-track {
    top: 18px !important;
    bottom: 58px !important;
    height: auto !important;
  }

  /* Keep the selected card large and centered, matching the Team carousel. */
  .page-home .homepage-media-carousel .media-slide.is-active,
  .page-media .media-playlist-carousel .generated-playlist-card.is-active,
  .page-media .media-games-carousel .generated-game-card.is-active,
  .page-media .media-season-carousel .generated-season-card.is-active {
    left: 50% !important;
    top: 50% !important;
    width: calc(100% - 38px) !important;
    max-width: 440px !important;
    height: auto !important;
    max-height: none !important;
    transform: translate(-50%, -50%) scale(1) !important;
  }
  .page-home .homepage-media-carousel .media-slide.is-neighbor,
  .page-media .media-playlist-carousel .generated-playlist-card.is-neighbor,
  .page-media .media-games-carousel .generated-game-card.is-neighbor,
  .page-media .media-season-carousel .generated-season-card.is-neighbor {
    opacity: .25 !important;
    transform: translate(-50%, -50%) scale(.78) !important;
  }

  /* Playlist cards: full image, compact footer, icon and title centered together. */
  .generated-playlist-art {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    display: grid !important;
    grid-template-rows: auto 72px !important;
    overflow: hidden !important;
  }
  .generated-playlist-image {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
  .generated-playlist-footer {
    min-height: 72px !important;
    height: 72px !important;
    padding: 8px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    overflow: hidden !important;
  }
  .generated-playlist-footer-icon {
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    line-height: 1 !important;
  }
  .generated-playlist-footer-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: clamp(1rem, 5vw, 1.38rem) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Game and season cards keep the desktop visual structure, scaled cleanly. */
  .generated-wide-card {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 74%) minmax(0, 26%) !important;
    grid-template-rows: auto 72px !important;
    overflow: hidden !important;
  }
  .generated-wide-visual {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
  .generated-wide-actions {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    border-left: 1px solid var(--card-accent) !important;
    border-top: 0 !important;
    display: block !important;
  }
  .generated-action-list {
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  }
  .generated-action-row {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 4px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--card-accent) 65%, transparent) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    overflow: hidden !important;
  }
  .generated-action-row:last-child { border-bottom: 0 !important; }
  .generated-action-icon {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    font-size: .95rem !important;
  }
  .generated-action-copy strong {
    font-size: clamp(.52rem, 2.45vw, .72rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .generated-game-footer,
  .generated-season-footer,
  .generated-card-footer {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    box-sizing: border-box !important;
  }
  .generated-game-footer {
    display: grid !important;
    grid-template-columns: 25% minmax(0, 1fr) 21% !important;
  }
  .generated-game-footer > div {
    min-width: 0 !important;
    padding: 6px 5px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    overflow: hidden !important;
  }
  .generated-game-meta-block span,
  .generated-game-matchup-block strong,
  .generated-game-result-block strong {
    font-size: clamp(.62rem, 2.85vw, .82rem) !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
  }
  .generated-game-meta-block strong,
  .generated-game-matchup-block span,
  .generated-game-result-block em {
    font-size: clamp(.68rem, 3.15vw, .9rem) !important;
    line-height: 1.02 !important;
    letter-spacing: .035em !important;
  }
  .generated-game-matchup-block strong,
  .generated-game-matchup-block span {
    width: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .generated-season-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 12px !important;
    font-size: clamp(1.15rem, 6vw, 1.65rem) !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Buttons and dots stay close to the card rather than floating in empty space. */
  .page-home .homepage-media-carousel .carousel-button,
  .page-media .media-games-carousel .carousel-button,
  .page-media .media-season-carousel .carousel-button,
  .page-media .media-playlist-carousel .carousel-button {
    top: 50% !important;
    width: 48px !important;
    height: 48px !important;
    transform: translateY(-50%) !important;
  }
  .page-home .homepage-media-carousel .carousel-button.prev,
  .page-media .media-games-carousel .carousel-button.prev,
  .page-media .media-season-carousel .carousel-button.prev,
  .page-media .media-playlist-carousel .carousel-button.prev { left: 8px !important; }
  .page-home .homepage-media-carousel .carousel-button.next,
  .page-media .media-games-carousel .carousel-button.next,
  .page-media .media-season-carousel .carousel-button.next,
  .page-media .media-playlist-carousel .carousel-button.next { right: 8px !important; }
  .page-home .homepage-media-carousel .carousel-dots,
  .page-media .media-games-carousel .carousel-dots,
  .page-media .media-season-carousel .carousel-dots,
  .page-media .media-playlist-carousel .carousel-dots {
    bottom: 16px !important;
    gap: 7px !important;
  }

  /* Schedule: keep every standings column available through horizontal scrolling. */
  .page-schedule .generated-schedule-grid > section {
    overflow: visible !important;
  }
  .page-schedule .generated-table-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .page-schedule .generated-table-wrap table {
    width: 620px !important;
    min-width: 620px !important;
  }

  /* Keep content and footer clear of Safari's floating toolbar. */
  footer {
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 390px) {
  .page-home .homepage-media-carousel,
  .page-media .media-games-carousel,
  .page-media .media-season-carousel,
  .page-media .media-playlist-carousel {
    height: 405px !important;
  }
  .page-media .media-season-carousel { height: 395px !important; }
  .page-media .media-playlist-carousel { height: 385px !important; }
  .generated-wide-card { grid-template-rows: auto 68px !important; }
  .generated-game-footer,
  .generated-season-footer,
  .generated-card-footer { height: 68px !important; min-height: 68px !important; }
}

/* ============================================================
   V103 — FINAL MOBILE CAROUSEL GEOMETRY FIX
   Rebuilds phone carousel positioning without changing desktop.
   ============================================================ */
@media (max-width: 760px) {
  /* Every non-roster showcase gets one compact, card-sized stage. */
  .page-home .homepage-media-carousel,
  .page-media .media-games-carousel,
  .page-media .media-season-carousel,
  .page-media .media-playlist-carousel {
    position: relative !important;
    width: calc(100% - 24px) !important;
    height: 500px !important;
    min-height: 500px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .page-home .homepage-media-carousel .carousel-track,
  .page-media .media-games-carousel .carousel-track,
  .page-media .media-season-carousel .carousel-track,
  .page-media .media-playlist-carousel .carousel-track {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    overflow: visible !important;
  }

  /* Normalize all slide boxes first. */
  .page-home .homepage-media-carousel .media-slide,
  .page-media .media-games-carousel .media-slide,
  .page-media .media-season-carousel .media-slide,
  .page-media .media-playlist-carousel .media-slide {
    position: absolute !important;
    left: 50% !important;
    top: 42% !important;
    width: min(86vw, 610px) !important;
    max-width: calc(100% - 42px) !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .42s ease, opacity .42s ease !important;
  }

  /* Homepage offsets. */
  .page-home .homepage-media-carousel .media-slide {
    transform: translate(calc(-50% + (var(--home-offset, 0) * 72vw)), -50%) scale(.76) !important;
  }
  .page-home .homepage-media-carousel .media-slide.is-active {
    transform: translate(-50%, -50%) scale(1) !important;
  }
  .page-home .homepage-media-carousel .media-slide.is-neighbor {
    transform: translate(calc(-50% + (var(--home-offset, 0) * 72vw)), -50%) scale(.76) !important;
  }

  /* Media-page offsets. */
  .page-media .media-games-carousel .media-slide,
  .page-media .media-season-carousel .media-slide,
  .page-media .media-playlist-carousel .media-slide {
    transform: translate(calc(-50% + (var(--media-offset, 0) * 72vw)), -50%) scale(.76) !important;
  }
  .page-media .media-games-carousel .media-slide.is-active,
  .page-media .media-season-carousel .media-slide.is-active,
  .page-media .media-playlist-carousel .media-slide.is-active {
    transform: translate(-50%, -50%) scale(1) !important;
  }
  .page-media .media-games-carousel .media-slide.is-neighbor,
  .page-media .media-season-carousel .media-slide.is-neighbor,
  .page-media .media-playlist-carousel .media-slide.is-neighbor {
    transform: translate(calc(-50% + (var(--media-offset, 0) * 72vw)), -50%) scale(.76) !important;
  }

  .page-home .homepage-media-carousel .media-slide.is-active,
  .page-home .homepage-media-carousel .media-slide.is-neighbor,
  .page-media .media-games-carousel .media-slide.is-active,
  .page-media .media-games-carousel .media-slide.is-neighbor,
  .page-media .media-season-carousel .media-slide.is-active,
  .page-media .media-season-carousel .media-slide.is-neighbor,
  .page-media .media-playlist-carousel .media-slide.is-active,
  .page-media .media-playlist-carousel .media-slide.is-neighbor {
    opacity: 1 !important;
    visibility: visible !important;
  }
  .page-home .homepage-media-carousel .media-slide.is-active,
  .page-media .media-games-carousel .media-slide.is-active,
  .page-media .media-season-carousel .media-slide.is-active,
  .page-media .media-playlist-carousel .media-slide.is-active {
    z-index: 8 !important;
    pointer-events: auto !important;
  }
  .page-home .homepage-media-carousel .media-slide.is-neighbor,
  .page-media .media-games-carousel .media-slide.is-neighbor,
  .page-media .media-season-carousel .media-slide.is-neighbor,
  .page-media .media-playlist-carousel .media-slide.is-neighbor {
    z-index: 2 !important;
    opacity: .22 !important;
  }

  /* Keep the complete card inside the stage. */
  .generated-wide-card,
  .generated-playlist-art {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }
  .generated-playlist-image,
  .generated-wide-visual {
    background-size: cover !important;
    background-position: center !important;
  }

  /* Arrows sit beside the active card, dots directly below it. */
  .page-home .homepage-media-carousel .carousel-button,
  .page-media .media-games-carousel .carousel-button,
  .page-media .media-season-carousel .carousel-button,
  .page-media .media-playlist-carousel .carousel-button {
    top: 42% !important;
    width: 52px !important;
    height: 52px !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
  }
  .page-home .homepage-media-carousel .carousel-button.prev,
  .page-media .media-games-carousel .carousel-button.prev,
  .page-media .media-season-carousel .carousel-button.prev,
  .page-media .media-playlist-carousel .carousel-button.prev { left: 7px !important; }
  .page-home .homepage-media-carousel .carousel-button.next,
  .page-media .media-games-carousel .carousel-button.next,
  .page-media .media-season-carousel .carousel-button.next,
  .page-media .media-playlist-carousel .carousel-button.next { right: 7px !important; }

  .page-home .homepage-media-carousel .carousel-dots,
  .page-media .media-games-carousel .carousel-dots,
  .page-media .media-season-carousel .carousel-dots,
  .page-media .media-playlist-carousel .carousel-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 24px !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    max-width: calc(100% - 54px) !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    z-index: 22 !important;
  }
  .page-home .homepage-media-carousel .carousel-dots::-webkit-scrollbar,
  .page-media .media-games-carousel .carousel-dots::-webkit-scrollbar,
  .page-media .media-season-carousel .carousel-dots::-webkit-scrollbar,
  .page-media .media-playlist-carousel .carousel-dots::-webkit-scrollbar { display: none !important; }

  /* Compact footer typography so no card is clipped. */
  .generated-game-footer { height: 74px !important; min-height: 74px !important; }
  .generated-season-footer { height: 64px !important; min-height: 64px !important; }
  .generated-playlist-footer { height: 70px !important; min-height: 70px !important; }
  .generated-game-meta-block span,
  .generated-game-matchup-block strong,
  .generated-game-result-block strong { font-size: clamp(.64rem, 2.9vw, .84rem) !important; }
  .generated-game-meta-block strong,
  .generated-game-matchup-block span,
  .generated-game-result-block em { font-size: clamp(.72rem, 3.25vw, .94rem) !important; }
}

@media (max-width: 390px) {
  .page-home .homepage-media-carousel,
  .page-media .media-games-carousel,
  .page-media .media-season-carousel,
  .page-media .media-playlist-carousel {
    height: 470px !important;
    min-height: 470px !important;
  }
  .page-home .homepage-media-carousel .media-slide,
  .page-media .media-games-carousel .media-slide,
  .page-media .media-season-carousel .media-slide,
  .page-media .media-playlist-carousel .media-slide {
    width: min(88vw, 560px) !important;
    max-width: calc(100% - 30px) !important;
  }
}



/* =====================================================
   V104 MOBILE CAROUSEL REBUILD
   Mobile only - desktop untouched
===================================================== */
@media screen and (max-width: 800px){

  .carousel-container,
  .media-carousel,
  .playlist-carousel,
  .games-carousel,
  .season-carousel{
      min-height:auto !important;
      height:auto !important;
      padding-bottom:20px !important;
  }

  .carousel-track,
  .carousel-wrapper{
      min-height:auto !important;
      height:auto !important;
      align-items:center !important;
  }

  .media-slide,
  .playlist-card,
  .season-card,
  .game-card{
      width:92% !important;
      max-width:92% !important;
      margin:0 auto !important;
      transform:none !important;
  }

  .media-slide{
      aspect-ratio:1.25/1 !important;
  }

  .playlist-card .card-image,
  .game-card .card-image,
  .season-card .card-image{
      object-fit:contain !important;
      object-position:center center !important;
  }

  .playlist-card .card-footer,
  .playlist-card .card-content{
      min-height:72px !important;
      height:72px !important;
      padding:12px 16px !important;
      display:flex !important;
      align-items:center !important;
      justify-content:flex-start !important;
      gap:14px !important;
  }

  .carousel-button,
  .carousel-arrow{
      top:50% !important;
      transform:translateY(-50%) !important;
  }

  .carousel-dots,
  .slick-dots{
      margin-top:14px !important;
      position:relative !important;
      bottom:auto !important;
  }

  .carousel-spacer,
  .empty-carousel-space{
      display:none !important;
      height:0 !important;
  }
}

/* ============================================================
   V105 — HOMEPAGE BEST-OF MOBILE CAROUSEL PROPORTION FIX
   Mobile only. Desktop layout remains unchanged.
   ============================================================ */
@media (max-width: 760px) {
  .page-home .homepage-media-carousel {
    position: relative !important;
    width: calc(100% - 24px) !important;
    height: 365px !important;
    min-height: 365px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .page-home .homepage-media-carousel .carousel-track {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    transform: none !important;
    overflow: visible !important;
  }

  .page-home .homepage-media-carousel .media-slide {
    position: absolute !important;
    left: 50% !important;
    top: 45% !important;
    width: calc(100% - 38px) !important;
    max-width: 440px !important;
    height: auto !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    transform: translate(calc(-50% + (var(--home-offset, 0) * 72vw)), -50%) scale(.76) !important;
  }

  .page-home .homepage-media-carousel .media-slide.is-active {
    transform: translate(-50%, -50%) scale(1) !important;
  }

  .page-home .homepage-media-carousel .media-slide.is-neighbor {
    transform: translate(calc(-50% + (var(--home-offset, 0) * 72vw)), -50%) scale(.76) !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-art {
    width: 100% !important;
    height: auto !important;
    display: grid !important;
    grid-template-rows: auto 62px !important;
    overflow: hidden !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer {
    height: 62px !important;
    min-height: 62px !important;
    padding: 7px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    overflow: hidden !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer-icon {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: clamp(.98rem, 5vw, 1.32rem) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .page-home .homepage-media-carousel .carousel-button {
    top: 45% !important;
    width: 48px !important;
    height: 48px !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
  }

  .page-home .homepage-media-carousel .carousel-button.prev {
    left: 5px !important;
  }

  .page-home .homepage-media-carousel .carousel-button.next {
    right: 5px !important;
  }

  .page-home .homepage-media-carousel .carousel-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 12px !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    max-width: calc(100% - 42px) !important;
  }
}

@media (max-width: 390px) {
  .page-home .homepage-media-carousel {
    height: 350px !important;
    min-height: 350px !important;
  }
  .page-home .homepage-media-carousel .media-slide {
    width: calc(100% - 30px) !important;
    top: 44% !important;
  }
  .page-home .homepage-media-carousel .carousel-button {
    top: 44% !important;
    width: 46px !important;
    height: 46px !important;
  }
}


/* ============================================================
   V106 — MOBILE HEADER + MEDIA CAROUSEL FINAL GEOMETRY
   Phone-only. Desktop layout and automated content are untouched.
   ============================================================ */
@media (max-width: 760px) {

  /* Compact the navigation banner and keep the center title readable. */
  .hero-bar {
    height: 96px !important;
    min-height: 96px !important;
    grid-template-columns: 62px minmax(0, 1fr) 62px !important;
    column-gap: 7px !important;
    padding: 8px 10px 4px !important;
  }

  .hero-logo,
  .hero-logo-right {
    width: 62px !important;
    height: 62px !important;
    min-height: 62px !important;
  }

  .hero-logo img,
  .hero-logo-right img {
    width: 59px !important;
    height: 59px !important;
    transform: none !important;
  }

  .hero-title {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .hero-title img {
    display: block !important;
    width: min(100%, 225px) !important;
    max-width: 225px !important;
    max-height: 38px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  .site-top nav {
    height: 46px !important;
    min-height: 46px !important;
  }

  /* Shared Media-page carousel stage. */
  .page-media .media-games-carousel,
  .page-media .media-season-carousel,
  .page-media .media-playlist-carousel {
    position: relative !important;
    width: calc(100% - 24px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .page-media .media-games-carousel {
    height: 410px !important;
    min-height: 410px !important;
  }

  .page-media .media-season-carousel {
    height: 372px !important;
    min-height: 372px !important;
  }

  .page-media .media-playlist-carousel {
    height: 354px !important;
    min-height: 354px !important;
  }

  .page-media .media-games-carousel .carousel-track,
  .page-media .media-season-carousel .carousel-track,
  .page-media .media-playlist-carousel .carousel-track {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow: visible !important;
  }

  /* The active card should fill the useful area, like the Team carousel. */
  .page-media .media-games-carousel .media-slide,
  .page-media .media-season-carousel .media-slide,
  .page-media .media-playlist-carousel .media-slide {
    position: absolute !important;
    left: 50% !important;
    width: calc(100% - 38px) !important;
    max-width: 600px !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .page-media .media-games-carousel .media-slide {
    top: 46% !important;
  }

  .page-media .media-season-carousel .media-slide {
    top: 45% !important;
  }

  .page-media .media-playlist-carousel .media-slide {
    top: 45% !important;
  }

  .page-media .media-games-carousel .media-slide,
  .page-media .media-season-carousel .media-slide,
  .page-media .media-playlist-carousel .media-slide {
    transform: translate(calc(-50% + (var(--media-offset, 0) * 76vw)), -50%) scale(.76) !important;
  }

  .page-media .media-games-carousel .media-slide.is-active,
  .page-media .media-season-carousel .media-slide.is-active,
  .page-media .media-playlist-carousel .media-slide.is-active {
    transform: translate(-50%, -50%) scale(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 8 !important;
  }

  .page-media .media-games-carousel .media-slide.is-neighbor,
  .page-media .media-season-carousel .media-slide.is-neighbor,
  .page-media .media-playlist-carousel .media-slide.is-neighbor {
    opacity: .18 !important;
    visibility: visible !important;
    z-index: 2 !important;
  }

  /* Preserve each complete card without clipping its footer. */
  .page-media .generated-wide-card,
  .page-media .generated-playlist-art {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .page-media .media-games-carousel .generated-wide-card {
    aspect-ratio: 1.52 / 1 !important;
  }

  .page-media .media-season-carousel .generated-wide-card {
    aspect-ratio: 1.72 / 1 !important;
  }

  .page-media .media-playlist-carousel .generated-playlist-art {
    aspect-ratio: 1.58 / 1 !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) 72px !important;
  }

  .page-media .generated-wide-visual,
  .page-media .generated-playlist-image {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  /* Playlist footer: one compact centered row. */
  .page-media .media-playlist-carousel .generated-playlist-footer {
    height: 72px !important;
    min-height: 72px !important;
    padding: 9px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    overflow: hidden !important;
  }

  .page-media .media-playlist-carousel .generated-playlist-footer-icon {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    transform: none !important;
  }

  .page-media .media-playlist-carousel .generated-playlist-footer-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: clamp(1rem, 5vw, 1.38rem) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Arrows align with the complete card, not the oversized shell. */
  .page-media .media-games-carousel .carousel-button {
    top: 46% !important;
  }

  .page-media .media-season-carousel .carousel-button,
  .page-media .media-playlist-carousel .carousel-button {
    top: 45% !important;
  }

  .page-media .media-games-carousel .carousel-button,
  .page-media .media-season-carousel .carousel-button,
  .page-media .media-playlist-carousel .carousel-button {
    width: 48px !important;
    height: 48px !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
  }

  .page-media .media-games-carousel .carousel-button.prev,
  .page-media .media-season-carousel .carousel-button.prev,
  .page-media .media-playlist-carousel .carousel-button.prev {
    left: 5px !important;
  }

  .page-media .media-games-carousel .carousel-button.next,
  .page-media .media-season-carousel .carousel-button.next,
  .page-media .media-playlist-carousel .carousel-button.next {
    right: 5px !important;
  }

  /* Dots sit directly beneath the card, without a large empty lower half. */
  .page-media .media-games-carousel .carousel-dots,
  .page-media .media-season-carousel .carousel-dots,
  .page-media .media-playlist-carousel .carousel-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 13px !important;
    width: auto !important;
    max-width: calc(100% - 48px) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  .page-media .media-games-carousel .carousel-dots::-webkit-scrollbar,
  .page-media .media-season-carousel .carousel-dots::-webkit-scrollbar,
  .page-media .media-playlist-carousel .carousel-dots::-webkit-scrollbar {
    display: none !important;
  }
}

@media (max-width: 390px) {
  .hero-bar {
    height: 90px !important;
    min-height: 90px !important;
    grid-template-columns: 56px minmax(0, 1fr) 56px !important;
  }

  .hero-logo,
  .hero-logo-right {
    width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
  }

  .hero-logo img,
  .hero-logo-right img {
    width: 53px !important;
    height: 53px !important;
  }

  .hero-title img {
    width: min(100%, 198px) !important;
    max-width: 198px !important;
    max-height: 34px !important;
  }

  .page-media .media-games-carousel {
    height: 392px !important;
    min-height: 392px !important;
  }

  .page-media .media-season-carousel {
    height: 354px !important;
    min-height: 354px !important;
  }

  .page-media .media-playlist-carousel {
    height: 338px !important;
    min-height: 338px !important;
  }

  .page-media .media-games-carousel .media-slide,
  .page-media .media-season-carousel .media-slide,
  .page-media .media-playlist-carousel .media-slide {
    width: calc(100% - 30px) !important;
  }
}


/* ============================================================
   V107 — MOBILE HEADER TITLE + MEDIA CAROUSEL GEOMETRY
   Final phone-only overrides. Desktop remains unchanged.
   ============================================================ */
@media (max-width: 760px) {

  /* HEADER: keep the logos at the sides, but let the title use the
     full available center width instead of being squeezed by the grid. */
  .site-top .hero-bar {
    position: relative !important;
    height: 102px !important;
    min-height: 102px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 12px 4px !important;
    gap: 0 !important;
  }

  .site-top .hero-logo,
  .site-top .hero-logo-right {
    position: relative !important;
    z-index: 3 !important;
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
  }

  .site-top .hero-logo img,
  .site-top .hero-logo-right img {
    width: 62px !important;
    height: 62px !important;
  }

  .site-top .hero-title {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: calc(100% - 132px) !important;
    max-width: 268px !important;
    height: 42px !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    z-index: 2 !important;
  }

  .site-top .hero-title img {
    width: 100% !important;
    max-width: none !important;
    height: 42px !important;
    max-height: 42px !important;
    object-fit: contain !important;
    transform: scale(1.08) !important;
    transform-origin: center center !important;
  }

  /* MEDIA PAGE: card-sized carousel shells instead of desktop-height stages. */
  .page-media .media-games-carousel {
    height: 338px !important;
    min-height: 338px !important;
  }

  .page-media .media-season-carousel {
    height: 300px !important;
    min-height: 300px !important;
  }

  .page-media .media-playlist-carousel {
    height: 310px !important;
    min-height: 310px !important;
  }

  .page-media .media-games-carousel,
  .page-media .media-season-carousel,
  .page-media .media-playlist-carousel {
    padding: 0 !important;
    overflow: hidden !important;
  }

  .page-media .media-games-carousel .carousel-track,
  .page-media .media-season-carousel .carousel-track,
  .page-media .media-playlist-carousel .carousel-track {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  /* Put the active card higher and leave only a compact dot row below it. */
  .page-media .media-games-carousel .media-slide {
    top: 43% !important;
  }

  .page-media .media-season-carousel .media-slide {
    top: 42% !important;
  }

  .page-media .media-playlist-carousel .media-slide {
    top: 42% !important;
  }

  .page-media .media-games-carousel .media-slide,
  .page-media .media-season-carousel .media-slide,
  .page-media .media-playlist-carousel .media-slide {
    width: calc(100% - 36px) !important;
    max-width: 600px !important;
  }

  /* Give each generated card enough internal height so its footer is not cut. */
  .page-media .media-games-carousel .generated-wide-card {
    aspect-ratio: 1.34 / 1 !important;
  }

  .page-media .media-season-carousel .generated-wide-card {
    aspect-ratio: 1.52 / 1 !important;
  }

  .page-media .media-playlist-carousel .generated-playlist-art {
    aspect-ratio: 1.48 / 1 !important;
    grid-template-rows: minmax(0, 1fr) 68px !important;
  }

  .page-media .generated-wide-card,
  .page-media .generated-playlist-art {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  /* Keep the complete image visible and centered inside each card. */
  .page-media .generated-wide-visual,
  .page-media .generated-playlist-image {
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
  }

  /* Playlist footer: compact, balanced, and centered as one row. */
  .page-media .media-playlist-carousel .generated-playlist-footer {
    height: 68px !important;
    min-height: 68px !important;
    padding: 8px 16px !important;
    gap: 10px !important;
    align-items: center !important;
  }

  .page-media .media-playlist-carousel .generated-playlist-footer-icon,
  .page-media .media-playlist-carousel .generated-playlist-icon {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    transform: translateY(1px) !important;
  }

  .page-media .media-playlist-carousel .generated-playlist-footer-title,
  .page-media .media-playlist-carousel .generated-card-title {
    margin: 0 !important;
    font-size: clamp(1.08rem, 5vw, 1.42rem) !important;
    line-height: 1 !important;
    text-align: left !important;
  }

  /* Arrows align to the card itself. */
  .page-media .media-games-carousel .carousel-button {
    top: 43% !important;
  }

  .page-media .media-season-carousel .carousel-button,
  .page-media .media-playlist-carousel .carousel-button {
    top: 42% !important;
  }

  .page-media .media-games-carousel .carousel-button,
  .page-media .media-season-carousel .carousel-button,
  .page-media .media-playlist-carousel .carousel-button {
    width: 46px !important;
    height: 46px !important;
  }

  /* Put dots immediately under the card. */
  .page-media .media-games-carousel .carousel-dots,
  .page-media .media-season-carousel .carousel-dots,
  .page-media .media-playlist-carousel .carousel-dots {
    bottom: 10px !important;
    max-width: calc(100% - 44px) !important;
    gap: 6px !important;
  }

  /* Neighbor cards should be only a subtle edge preview on phones. */
  .page-media .media-games-carousel .media-slide.is-neighbor,
  .page-media .media-season-carousel .media-slide.is-neighbor,
  .page-media .media-playlist-carousel .media-slide.is-neighbor {
    opacity: .10 !important;
    transform: translate(
      calc(-50% + (var(--media-offset, 0) * 82vw)),
      -50%
    ) scale(.72) !important;
  }
}

@media (max-width: 390px) {
  .site-top .hero-bar {
    height: 96px !important;
    min-height: 96px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .site-top .hero-logo,
  .site-top .hero-logo-right {
    flex-basis: 58px !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
  }

  .site-top .hero-logo img,
  .site-top .hero-logo-right img {
    width: 56px !important;
    height: 56px !important;
  }

  .site-top .hero-title {
    width: calc(100% - 118px) !important;
    max-width: 250px !important;
    height: 38px !important;
  }

  .site-top .hero-title img {
    height: 38px !important;
    max-height: 38px !important;
    transform: scale(1.10) !important;
  }

  .page-media .media-games-carousel {
    height: 326px !important;
    min-height: 326px !important;
  }

  .page-media .media-season-carousel {
    height: 290px !important;
    min-height: 290px !important;
  }

  .page-media .media-playlist-carousel {
    height: 300px !important;
    min-height: 300px !important;
  }

  .page-media .media-games-carousel .media-slide,
  .page-media .media-season-carousel .media-slide,
  .page-media .media-playlist-carousel .media-slide {
    width: calc(100% - 28px) !important;
  }
}


/* ============================================================
   V108 — MOBILE TITLE + HOMEPAGE CAROUSEL MATCH
   Final phone-only overrides. Desktop remains unchanged.
   ============================================================ */
@media (max-width: 760px) {

  /* Navigation title: keep it completely between the two logos. */
  .site-top .hero-bar {
    position: relative !important;
    height: 102px !important;
    min-height: 102px !important;
    padding: 8px 12px 4px !important;
    display: grid !important;
    grid-template-columns: 66px minmax(0, 1fr) 66px !important;
    align-items: center !important;
    column-gap: 8px !important;
  }

  .site-top .hero-logo,
  .site-top .hero-logo-right {
    position: relative !important;
    inset: auto !important;
    z-index: 3 !important;
    width: 66px !important;
    height: 66px !important;
    min-width: 66px !important;
    min-height: 66px !important;
    flex: none !important;
  }

  .site-top .hero-logo img,
  .site-top .hero-logo-right img {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
  }

  .site-top .hero-title {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: 38px !important;
    min-width: 0 !important;
    transform: none !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2 !important;
  }

  .site-top .hero-title img {
    display: block !important;
    width: 100% !important;
    max-width: 235px !important;
    height: auto !important;
    max-height: 36px !important;
    object-fit: contain !important;
    transform: none !important;
    margin: 0 auto !important;
  }

  /* Homepage Best Of carousel now uses the same compact geometry
     as the Media-page playlist carousel, with gold styling preserved. */
  .page-home .homepage-media-carousel {
    position: relative !important;
    width: calc(100% - 24px) !important;
    height: 310px !important;
    min-height: 310px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .page-home .homepage-media-carousel .carousel-track {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  .page-home .homepage-media-carousel .media-slide,
  .page-home .homepage-media-carousel .media-slide.is-neighbor,
  .page-home .homepage-media-carousel .media-slide.is-distance-2,
  .page-home .homepage-media-carousel .media-slide.is-active {
    position: absolute !important;
    left: 50% !important;
    top: 42% !important;
    width: calc(100% - 36px) !important;
    max-width: 600px !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(calc(-50% + (var(--media-offset, 0) * 82vw)), -50%) scale(.72) !important;
  }

  .page-home .homepage-media-carousel .media-slide.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 8 !important;
    transform: translate(-50%, -50%) scale(1) !important;
  }

  .page-home .homepage-media-carousel .media-slide.is-neighbor {
    opacity: .10 !important;
    visibility: visible !important;
    z-index: 2 !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-art {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    aspect-ratio: 1.48 / 1 !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) 68px !important;
    overflow: hidden !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-image {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer {
    height: 68px !important;
    min-height: 68px !important;
    padding: 8px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    overflow: hidden !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer-icon,
  .page-home .homepage-media-carousel .generated-playlist-icon {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: translateY(1px) !important;
    line-height: 1 !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer-title,
  .page-home .homepage-media-carousel .generated-card-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: clamp(1.08rem, 5vw, 1.42rem) !important;
    line-height: 1 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .page-home .homepage-media-carousel .carousel-button {
    top: 42% !important;
    width: 46px !important;
    height: 46px !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
  }

  .page-home .homepage-media-carousel .carousel-button.prev {
    left: 5px !important;
  }

  .page-home .homepage-media-carousel .carousel-button.next {
    right: 5px !important;
  }

  .page-home .homepage-media-carousel .carousel-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 10px !important;
    width: auto !important;
    max-width: calc(100% - 44px) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  .page-home .homepage-media-carousel .carousel-dots::-webkit-scrollbar {
    display: none !important;
  }

  /* Move Media-page arrows outward to the card edges. */
  .page-media .media-games-carousel .carousel-button.prev,
  .page-media .media-season-carousel .carousel-button.prev,
  .page-media .media-playlist-carousel .carousel-button.prev {
    left: -2px !important;
  }

  .page-media .media-games-carousel .carousel-button.next,
  .page-media .media-season-carousel .carousel-button.next,
  .page-media .media-playlist-carousel .carousel-button.next {
    right: -2px !important;
  }
}

@media (max-width: 390px) {
  .site-top .hero-bar {
    grid-template-columns: 58px minmax(0, 1fr) 58px !important;
    column-gap: 6px !important;
    height: 96px !important;
    min-height: 96px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .site-top .hero-logo,
  .site-top .hero-logo-right {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
  }

  .site-top .hero-logo img,
  .site-top .hero-logo-right img {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
  }

  .site-top .hero-title img {
    max-width: 210px !important;
    max-height: 34px !important;
  }

  .page-home .homepage-media-carousel {
    height: 300px !important;
    min-height: 300px !important;
  }

  .page-home .homepage-media-carousel .media-slide,
  .page-home .homepage-media-carousel .media-slide.is-neighbor,
  .page-home .homepage-media-carousel .media-slide.is-distance-2,
  .page-home .homepage-media-carousel .media-slide.is-active {
    width: calc(100% - 28px) !important;
  }
}


/* ============================================================
   V109 — MOBILE FINAL ALIGNMENT
   Navigation title, playlist framing, card footers and actions.
   Desktop remains unchanged.
   ============================================================ */
@media (max-width: 760px) {

  /* Make the long navigation title visually taller without allowing
     it to extend underneath either logo. */
  .site-top .hero-title {
    height: 58px !important;
    overflow: hidden !important;
  }

  .site-top .hero-title img {
    width: 100% !important;
    max-width: 242px !important;
    height: 52px !important;
    max-height: 52px !important;
    object-fit: fill !important;
    transform: scaleY(1.18) !important;
    transform-origin: center center !important;
  }

  /* Homepage and Media playlist cards use identical image framing.
     Stretching to the exact image panel prevents the top from being cropped. */
  .page-home .homepage-media-carousel .generated-playlist-image,
  .page-media .media-playlist-carousel .generated-playlist-image {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  /* Raise playlist icons so they align with the visual center of the title. */
  .page-home .homepage-media-carousel .generated-playlist-footer-icon,
  .page-home .homepage-media-carousel .generated-playlist-icon,
  .page-media .media-playlist-carousel .generated-playlist-footer-icon,
  .page-media .media-playlist-carousel .generated-playlist-icon {
    transform: translateY(-4px) !important;
    align-self: center !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer,
  .page-media .media-playlist-carousel .generated-playlist-footer {
    align-items: center !important;
    padding-top: 10px !important;
    padding-bottom: 6px !important;
  }

  /* Give the game footer enough height so both lines remain visible. */
  .page-media .media-games-carousel .generated-wide-card {
    aspect-ratio: 1.30 / 1 !important;
    grid-template-rows: minmax(0, 1fr) 84px !important;
  }

  .page-media .media-games-carousel .generated-wide-visual {
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background-size: 100% 100% !important;
  }

  .page-media .media-games-carousel .generated-game-footer,
  .page-media .media-games-carousel .generated-card-footer {
    height: 84px !important;
    min-height: 84px !important;
  }

  .page-media .media-games-carousel .generated-game-footer > div {
    padding-top: 7px !important;
    padding-bottom: 9px !important;
  }

  .page-media .media-games-carousel .generated-game-meta-block span,
  .page-media .media-games-carousel .generated-game-meta-block strong,
  .page-media .media-games-carousel .generated-game-matchup-block strong,
  .page-media .media-games-carousel .generated-game-matchup-block span,
  .page-media .media-games-carousel .generated-game-result-block strong,
  .page-media .media-games-carousel .generated-game-result-block em {
    transform: translateY(-2px) !important;
  }

  /* Season action column now uses the same dimensions as the game card. */
  .page-media .media-season-carousel .generated-wide-card {
    aspect-ratio: 1.30 / 1 !important;
    grid-template-columns: minmax(0, 74%) minmax(0, 26%) !important;
    grid-template-rows: minmax(0, 1fr) 72px !important;
  }

  .page-media .media-season-carousel .generated-wide-visual {
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background-size: 100% 100% !important;
  }

  .page-media .media-season-carousel .generated-wide-actions {
    width: 100% !important;
    height: 100% !important;
  }

  .page-media .media-season-carousel .generated-action-row {
    padding: 3px 2px !important;
    gap: 2px !important;
  }

  .page-media .media-season-carousel .generated-action-icon {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    font-size: .95rem !important;
  }

  .page-media .media-season-carousel .generated-action-copy strong {
    font-size: clamp(.52rem, 2.45vw, .72rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .page-media .media-season-carousel .generated-season-footer,
  .page-media .media-season-carousel .generated-card-footer {
    height: 72px !important;
    min-height: 72px !important;
  }

  /* Small vertical refinements keep all Media cards centered in their shells. */
  .page-media .media-games-carousel .media-slide {
    top: 42% !important;
  }

  .page-media .media-season-carousel .media-slide {
    top: 42% !important;
  }

  .page-media .media-playlist-carousel .media-slide {
    top: 42% !important;
  }
}

@media (max-width: 390px) {
  .site-top .hero-title {
    height: 54px !important;
  }

  .site-top .hero-title img {
    max-width: 218px !important;
    height: 48px !important;
    max-height: 48px !important;
    transform: scaleY(1.20) !important;
  }

  .page-media .media-games-carousel .generated-wide-card,
  .page-media .media-season-carousel .generated-wide-card {
    aspect-ratio: 1.26 / 1 !important;
  }
}


/* ============================================================
   V110 — MOBILE STICKY HEADER + COMPACT CARD FOOTERS
   Phone-only refinements. Desktop remains unchanged.
   ============================================================ */
@media (max-width: 760px) {

  /* Keep the complete mobile header visible while scrolling. */
  .site-top {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    isolation: isolate !important;
    background: rgba(2, 1, 14, .98) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .42) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  .site-top .hero-bar,
  .site-top nav {
    position: relative !important;
    z-index: 1001 !important;
  }

  /* Preserve the title artwork's natural proportions. */
  .site-top .hero-title {
    height: 58px !important;
    overflow: visible !important;
  }

  .site-top .hero-title img {
    width: min(100%, 252px) !important;
    max-width: 252px !important;
    height: auto !important;
    max-height: 50px !important;
    object-fit: contain !important;
    transform: none !important;
    margin: 0 auto !important;
  }

  /* Homepage and Media Archive playlist cards:
     smaller footer and more room for the image. */
  .page-home .homepage-media-carousel .generated-playlist-art,
  .page-media .media-playlist-carousel .generated-playlist-art {
    aspect-ratio: 1.56 / 1 !important;
    grid-template-rows: minmax(0, 1fr) 56px !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer,
  .page-media .media-playlist-carousel .generated-playlist-footer {
    height: 56px !important;
    min-height: 56px !important;
    padding: 6px 14px !important;
    gap: 9px !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer-icon,
  .page-home .homepage-media-carousel .generated-playlist-icon,
  .page-media .media-playlist-carousel .generated-playlist-footer-icon,
  .page-media .media-playlist-carousel .generated-playlist-icon {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    transform: translateY(-1px) !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer-title,
  .page-home .homepage-media-carousel .generated-card-title,
  .page-media .media-playlist-carousel .generated-playlist-footer-title,
  .page-media .media-playlist-carousel .generated-card-title {
    font-size: clamp(1rem, 4.7vw, 1.32rem) !important;
    line-height: 1 !important;
  }

  /* Latest Games: compact footer restores space to image and action links. */
  .page-media .media-games-carousel .generated-wide-card {
    aspect-ratio: 1.38 / 1 !important;
    grid-template-rows: minmax(0, 1fr) 62px !important;
  }

  .page-media .media-games-carousel .generated-game-footer,
  .page-media .media-games-carousel .generated-card-footer {
    height: 62px !important;
    min-height: 62px !important;
  }

  .page-media .media-games-carousel .generated-game-footer > div {
    padding-top: 4px !important;
    padding-bottom: 5px !important;
  }

  .page-media .media-games-carousel .generated-game-meta-block span,
  .page-media .media-games-carousel .generated-game-meta-block strong,
  .page-media .media-games-carousel .generated-game-matchup-block strong,
  .page-media .media-games-carousel .generated-game-matchup-block span,
  .page-media .media-games-carousel .generated-game-result-block strong,
  .page-media .media-games-carousel .generated-game-result-block em {
    transform: none !important;
    line-height: 1.02 !important;
  }

  /* Season Archive: compact single-line footer and restore action space. */
  .page-media .media-season-carousel .generated-wide-card {
    aspect-ratio: 1.42 / 1 !important;
    grid-template-columns: minmax(0, 74%) minmax(0, 26%) !important;
    grid-template-rows: minmax(0, 1fr) 56px !important;
  }

  .page-media .media-season-carousel .generated-season-footer,
  .page-media .media-season-carousel .generated-card-footer {
    height: 56px !important;
    min-height: 56px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  /* Keep action links balanced after footer reduction. */
  .page-media .media-games-carousel .generated-wide-actions,
  .page-media .media-season-carousel .generated-wide-actions {
    min-height: 0 !important;
    height: 100% !important;
  }

  .page-media .media-games-carousel .generated-action-row,
  .page-media .media-season-carousel .generated-action-row {
    min-height: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
  }
}

@media (max-width: 390px) {
  .site-top .hero-title img {
    width: min(100%, 226px) !important;
    max-width: 226px !important;
    max-height: 46px !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-art,
  .page-media .media-playlist-carousel .generated-playlist-art {
    grid-template-rows: minmax(0, 1fr) 52px !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer,
  .page-media .media-playlist-carousel .generated-playlist-footer {
    height: 52px !important;
    min-height: 52px !important;
  }

  .page-media .media-games-carousel .generated-wide-card {
    grid-template-rows: minmax(0, 1fr) 58px !important;
  }

  .page-media .media-games-carousel .generated-game-footer,
  .page-media .media-games-carousel .generated-card-footer {
    height: 58px !important;
    min-height: 58px !important;
  }

  .page-media .media-season-carousel .generated-wide-card {
    grid-template-rows: minmax(0, 1fr) 52px !important;
  }

  .page-media .media-season-carousel .generated-season-footer,
  .page-media .media-season-carousel .generated-card-footer {
    height: 52px !important;
    min-height: 52px !important;
  }
}


/* ============================================================
   V111 — MOBILE FINAL HEADER + CAROUSEL TUNING
   Phone-only corrections. Desktop remains unchanged.
   ============================================================ */
@media (max-width: 760px) {

  /* Lock the full mobile header in place at all times. */
  .site-top {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: rgba(2, 1, 14, .985) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .5) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transform: translateZ(0) !important;
    will-change: transform !important;
  }

  /* Reserve space so page content begins below the fixed header. */
  body {
    padding-top: 158px !important;
  }

  /* Taller center title while preserving artwork proportions. */
  .site-top .hero-bar {
    height: 94px !important;
    min-height: 94px !important;
  }

  .site-top .hero-title {
    height: 64px !important;
    overflow: visible !important;
  }

  .site-top .hero-title img {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    height: auto !important;
    max-height: 58px !important;
    object-fit: contain !important;
    transform: scale(1.08) !important;
    transform-origin: center center !important;
    margin: 0 auto !important;
  }

  /* Homepage and Media Archive playlist cards must be identical. */
  .page-home .homepage-media-carousel .generated-playlist-art,
  .page-media .media-playlist-carousel .generated-playlist-art {
    aspect-ratio: 1.60 / 1 !important;
    grid-template-rows: minmax(0, 1fr) 50px !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer,
  .page-media .media-playlist-carousel .generated-playlist-footer {
    height: 50px !important;
    min-height: 50px !important;
    padding: 5px 12px !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer-icon,
  .page-home .homepage-media-carousel .generated-playlist-icon,
  .page-media .media-playlist-carousel .generated-playlist-footer-icon,
  .page-media .media-playlist-carousel .generated-playlist-icon {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    transform: translateY(-1px) !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer-title,
  .page-home .homepage-media-carousel .generated-card-title,
  .page-media .media-playlist-carousel .generated-playlist-footer-title,
  .page-media .media-playlist-carousel .generated-card-title {
    font-size: clamp(.98rem, 4.55vw, 1.26rem) !important;
    line-height: 1 !important;
  }

  /* Latest Games: smaller footer, wider right action panel. */
  .page-media .media-games-carousel .generated-wide-card {
    aspect-ratio: 1.42 / 1 !important;
    grid-template-columns: minmax(0, 72%) minmax(0, 28%) !important;
    grid-template-rows: minmax(0, 1fr) 54px !important;
  }

  .page-media .media-games-carousel .generated-game-footer,
  .page-media .media-games-carousel .generated-card-footer {
    height: 54px !important;
    min-height: 54px !important;
  }

  .page-media .media-games-carousel .generated-game-footer > div {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }

  .page-media .media-games-carousel .generated-action-row {
    padding: 2px 3px !important;
    gap: 2px !important;
  }

  .page-media .media-games-carousel .generated-action-icon {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
  }

  .page-media .media-games-carousel .generated-action-copy strong {
    font-size: clamp(.52rem, 2.55vw, .74rem) !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  /* Season Archive: same action width and tighter title strip. */
  .page-media .media-season-carousel .generated-wide-card {
    aspect-ratio: 1.46 / 1 !important;
    grid-template-columns: minmax(0, 72%) minmax(0, 28%) !important;
    grid-template-rows: minmax(0, 1fr) 48px !important;
  }

  .page-media .media-season-carousel .generated-season-footer,
  .page-media .media-season-carousel .generated-card-footer {
    height: 48px !important;
    min-height: 48px !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }

  .page-media .media-season-carousel .generated-action-row {
    padding: 2px 3px !important;
    gap: 2px !important;
  }

  .page-media .media-season-carousel .generated-action-icon {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
  }

  .page-media .media-season-carousel .generated-action-copy strong {
    font-size: clamp(.52rem, 2.55vw, .74rem) !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  /* Keep all three Media carousels visually aligned. */
  .page-media .media-games-carousel .media-slide,
  .page-media .media-season-carousel .media-slide,
  .page-media .media-playlist-carousel .media-slide {
    top: 42% !important;
  }
}

@media (max-width: 390px) {
  body {
    padding-top: 150px !important;
  }

  .site-top .hero-bar {
    height: 90px !important;
    min-height: 90px !important;
  }

  .site-top .hero-title {
    height: 60px !important;
  }

  .site-top .hero-title img {
    width: min(100%, 240px) !important;
    max-width: 240px !important;
    max-height: 54px !important;
    transform: scale(1.06) !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-art,
  .page-media .media-playlist-carousel .generated-playlist-art {
    grid-template-rows: minmax(0, 1fr) 48px !important;
  }

  .page-home .homepage-media-carousel .generated-playlist-footer,
  .page-media .media-playlist-carousel .generated-playlist-footer {
    height: 48px !important;
    min-height: 48px !important;
  }

  .page-media .media-games-carousel .generated-wide-card {
    grid-template-rows: minmax(0, 1fr) 52px !important;
  }

  .page-media .media-games-carousel .generated-game-footer,
  .page-media .media-games-carousel .generated-card-footer {
    height: 52px !important;
    min-height: 52px !important;
  }

  .page-media .media-season-carousel .generated-wide-card {
    grid-template-rows: minmax(0, 1fr) 46px !important;
  }

  .page-media .media-season-carousel .generated-season-footer,
  .page-media .media-season-carousel .generated-card-footer {
    height: 46px !important;
    min-height: 46px !important;
  }
}


/* ============================================================
   V112 — MOBILE TITLE HEIGHT + GAME FOOTER FINAL ALIGNMENT
   Phone-only refinements. Desktop remains unchanged.
   ============================================================ */
@media (max-width: 760px) {

  /* Make the navigation title visually taller while preserving
     its width and keeping it centered between both logos. */
  .site-top .hero-title {
    height: 68px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  .site-top .hero-title img {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    height: auto !important;
    max-height: 64px !important;
    object-fit: contain !important;
    transform: scaleY(1.16) !important;
    transform-origin: center center !important;
    margin: 0 auto !important;
  }

  /* Latest Games footer: slightly shorter with all text
     vertically centered in each of the three information panels. */
  .page-media .media-games-carousel .generated-wide-card {
    grid-template-rows: minmax(0, 1fr) 46px !important;
  }

  .page-media .media-games-carousel .generated-game-footer,
  .page-media .media-games-carousel .generated-card-footer {
    height: 46px !important;
    min-height: 46px !important;
    align-items: stretch !important;
  }

  .page-media .media-games-carousel .generated-game-footer > div,
  .page-media .media-games-carousel .generated-card-footer > div {
    height: 46px !important;
    min-height: 46px !important;
    padding: 2px 5px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
  }

  .page-media .media-games-carousel .generated-game-meta-block,
  .page-media .media-games-carousel .generated-game-matchup-block,
  .page-media .media-games-carousel .generated-game-result-block {
    align-self: stretch !important;
  }

  .page-media .media-games-carousel .generated-game-meta-block span,
  .page-media .media-games-carousel .generated-game-meta-block strong,
  .page-media .media-games-carousel .generated-game-matchup-block strong,
  .page-media .media-games-carousel .generated-game-matchup-block span,
  .page-media .media-games-carousel .generated-game-result-block strong,
  .page-media .media-games-carousel .generated-game-result-block em {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.02 !important;
    transform: none !important;
  }
}

@media (max-width: 390px) {
  .site-top .hero-title {
    height: 64px !important;
  }

  .site-top .hero-title img {
    width: min(100%, 240px) !important;
    max-width: 240px !important;
    max-height: 60px !important;
    transform: scaleY(1.14) !important;
  }

  .page-media .media-games-carousel .generated-wide-card {
    grid-template-rows: minmax(0, 1fr) 44px !important;
  }

  .page-media .media-games-carousel .generated-game-footer,
  .page-media .media-games-carousel .generated-card-footer,
  .page-media .media-games-carousel .generated-game-footer > div,
  .page-media .media-games-carousel .generated-card-footer > div {
    height: 44px !important;
    min-height: 44px !important;
  }
}


/* ============================================================
   V113 — MOBILE HEADER BALANCE
   Raises the navigation row and enlarges the center title.
   Desktop remains unchanged.
   ============================================================ */
@media (max-width: 760px) {

  /* Keep the fixed header compact and remove the large gap
     between the logo/title row and the navigation links. */
  .site-top .hero-bar {
    height: 82px !important;
    min-height: 82px !important;
    padding-top: 5px !important;
    padding-bottom: 0 !important;
    align-items: center !important;
  }

  .site-top nav {
    height: 44px !important;
    min-height: 44px !important;
    margin-top: -2px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .site-top nav a {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  /* Increase the title's visual height while maintaining its
     current width and center alignment between the logos. */
  .site-top .hero-title {
    height: 72px !important;
    min-height: 72px !important;
    overflow: visible !important;
  }

  .site-top .hero-title img {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    height: auto !important;
    max-height: 68px !important;
    object-fit: contain !important;
    transform: scaleY(1.28) !important;
    transform-origin: center center !important;
  }

  /* Match the page offset to the more compact fixed header. */
  body {
    padding-top: 126px !important;
  }
}

@media (max-width: 390px) {
  .site-top .hero-bar {
    height: 78px !important;
    min-height: 78px !important;
  }

  .site-top nav {
    height: 42px !important;
    min-height: 42px !important;
    margin-top: -2px !important;
  }

  .site-top .hero-title {
    height: 68px !important;
    min-height: 68px !important;
  }

  .site-top .hero-title img {
    width: min(100%, 240px) !important;
    max-width: 240px !important;
    max-height: 64px !important;
    transform: scaleY(1.25) !important;
  }

  body {
    padding-top: 120px !important;
  }
}


/* ============================================================
   V114 — MOBILE NAVIGATION TITLE HEIGHT
   Final phone-only title adjustment. Desktop remains unchanged.
   ============================================================ */
@media (max-width: 760px) {
  /* Keep the existing width, header height, logo placement and
     navigation position. Only increase the title's visual height. */
  .site-top .hero-title {
    height: 74px !important;
    min-height: 74px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  .site-top .hero-title img {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    height: auto !important;
    max-height: 70px !important;
    object-fit: contain !important;
    transform: scaleY(1.42) !important;
    transform-origin: center center !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 390px) {
  .site-top .hero-title {
    height: 70px !important;
    min-height: 70px !important;
  }

  .site-top .hero-title img {
    width: min(100%, 240px) !important;
    max-width: 240px !important;
    max-height: 66px !important;
    transform: scaleY(1.38) !important;
  }
}


/* ============================================================
   V115 — MOBILE NAVIGATION TITLE FINAL HEIGHT
   Increases only the center title's visual height.
   Desktop and all carousel layouts remain unchanged.
   ============================================================ */
@media (max-width: 760px) {
  .site-top .hero-title {
    height: 76px !important;
    min-height: 76px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  .site-top .hero-title img {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    height: auto !important;
    max-height: 72px !important;
    object-fit: contain !important;
    transform: scaleY(1.60) !important;
    transform-origin: center center !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 390px) {
  .site-top .hero-title {
    height: 72px !important;
    min-height: 72px !important;
  }

  .site-top .hero-title img {
    width: min(100%, 240px) !important;
    max-width: 240px !important;
    max-height: 68px !important;
    transform: scaleY(1.56) !important;
  }
}


/* ============================================================
   V116 — MOBILE NAVIGATION TITLE COMPLETION
   Final phone-only increase to the center title height.
   Desktop and all carousel layouts remain unchanged.
   ============================================================ */
@media (max-width: 760px) {
  .site-top .hero-title {
    height: 78px !important;
    min-height: 78px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  .site-top .hero-title img {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    height: auto !important;
    max-height: 74px !important;
    object-fit: contain !important;
    transform: scaleY(1.88) !important;
    transform-origin: center center !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 390px) {
  .site-top .hero-title {
    height: 74px !important;
    min-height: 74px !important;
  }

  .site-top .hero-title img {
    width: min(100%, 240px) !important;
    max-width: 240px !important;
    max-height: 70px !important;
    transform: scaleY(1.82) !important;
  }
}


/* ============================================================
   V117 — MOBILE NEWS, SCHEDULE AND PLAYER LIGHTBOX FIXES
   Phone-only corrections. Desktop remains unchanged.
   ============================================================ */
@media (max-width: 760px) {

  /* ------------------------------------------------------------
     NEWS CARDS
     Stack the uploaded image above the text so portrait graphics
     remain large and readable on a phone.
     ------------------------------------------------------------ */
  .page-news #news .generated-news-card,
  .page-news .news-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 18px !important;
    box-sizing: border-box !important;
  }

  .page-news #news .generated-news-card > img,
  .page-news .news-card > img,
  .page-news .news-card .card-icon {
    display: block !important;
    width: 100% !important;
    height: clamp(190px, 58vw, 300px) !important;
    max-width: none !important;
    flex: none !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    border: 1px solid var(--card-accent, #ff6a00) !important;
    border-radius: 16px !important;
    background: rgba(0, 0, 0, .76) !important;
  }

  .page-news #news .generated-news-card > div,
  .page-news .news-card .card-content {
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
  }

  .page-news #news .generated-news-card small,
  .page-news #news .generated-news-card h3,
  .page-news #news .generated-news-card p,
  .page-news .news-card .card-content span,
  .page-news .news-card .card-content h3,
  .page-news .news-card .card-content p {
    text-align: center !important;
    overflow-wrap: anywhere !important;
  }

  /* ------------------------------------------------------------
     SCHEDULE / STANDINGS IMAGE CARDS
     Support both generated cards and image-card variants used by
     the automated content system.
     ------------------------------------------------------------ */
  .page-schedule .schedule-image-card,
  .page-schedule .generated-schedule-image-card,
  .page-schedule .schedule-card,
  .page-schedule .standings-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 18px !important;
    box-sizing: border-box !important;
  }

  .page-schedule .schedule-lightbox-link,
  .page-schedule .schedule-image-card > a,
  .page-schedule .generated-schedule-image-card > a {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .page-schedule .schedule-lightbox-link img,
  .page-schedule .schedule-image-card img,
  .page-schedule .generated-schedule-image-card img,
  .page-schedule .schedule-card img,
  .page-schedule .standings-card img {
    display: block !important;
    width: 100% !important;
    height: clamp(210px, 64vw, 330px) !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
    background: rgba(0, 0, 0, .82) !important;
  }

  .page-schedule .schedule-image-card .card-content,
  .page-schedule .generated-schedule-image-card .card-content,
  .page-schedule .schedule-card .card-content,
  .page-schedule .standings-card .card-content {
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
  }

  /* Existing JSON-generated schedule blocks also remain phone-safe. */
  .page-schedule .generated-schedule-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .page-schedule .generated-schedule-grid > section {
    width: 100% !important;
    min-width: 0 !important;
    padding: 18px 14px !important;
    box-sizing: border-box !important;
  }

  /* ------------------------------------------------------------
     PLAYER LIGHTBOX
     Place the viewer above the fixed website header, constrain the
     full image to the visible phone viewport, and keep the close
     button permanently accessible.
     ------------------------------------------------------------ */
  .player-card-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 30000 !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    padding:
      calc(env(safe-area-inset-top) + 64px)
      14px
      calc(env(safe-area-inset-bottom) + 92px) !important;
    box-sizing: border-box !important;
  }

  .player-card-lightbox.is-open {
    display: flex !important;
  }

  .player-lightbox-stage {
    width: 100% !important;
    max-width: 94vw !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    gap: 14px !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
  }

  .player-lightbox-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 92vw !important;
    max-height: calc(100dvh - 250px) !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 16px !important;
    margin: 0 auto !important;
  }

  .player-lightbox-close {
    position: fixed !important;
    top: calc(env(safe-area-inset-top) + 12px) !important;
    right: 14px !important;
    z-index: 30020 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: rgba(15, 0, 24, .92) !important;
    border: 1px solid rgba(255, 0, 255, .75) !important;
    font-size: 2.35rem !important;
    line-height: 1 !important;
    box-shadow: 0 0 18px rgba(255, 0, 255, .78) !important;
  }

  .player-lightbox-nav {
    position: fixed !important;
    top: auto !important;
    bottom: calc(env(safe-area-inset-bottom) + 18px) !important;
    z-index: 30015 !important;
    width: 58px !important;
    height: 58px !important;
    transform: none !important;
    border-radius: 50% !important;
    background: rgba(15, 0, 24, .88) !important;
    font-size: 3.2rem !important;
  }

  .player-lightbox-prev {
    left: 18px !important;
  }

  .player-lightbox-next {
    right: 18px !important;
  }

  .player-lightbox-open {
    flex: 0 0 auto !important;
    margin: 0 auto !important;
  }

  body.lightbox-open {
    overflow: hidden !important;
    touch-action: none !important;
  }
}

@media (max-width: 390px) {
  .page-news #news .generated-news-card > img,
  .page-news .news-card > img,
  .page-news .news-card .card-icon {
    height: clamp(180px, 62vw, 260px) !important;
  }

  .page-schedule .schedule-lightbox-link img,
  .page-schedule .schedule-image-card img,
  .page-schedule .generated-schedule-image-card img,
  .page-schedule .schedule-card img,
  .page-schedule .standings-card img {
    height: clamp(195px, 68vw, 290px) !important;
  }

  .player-lightbox-image {
    max-height: calc(100dvh - 235px) !important;
  }
}


/* ============================================================
   V118 — ADMIN IMAGE RENDERING
   News and Schedule images from master-content.json.
   ============================================================ */
.generated-news-card > img {
  object-fit: contain;
  object-position: center;
  background: rgba(0,0,0,.78);
}

.page-schedule .generated-schedule-image-grid {
  width: min(94%, 1120px);
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.page-schedule .generated-schedule-image-card p {
  margin: 14px 0 0;
  text-align: center;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .page-schedule .generated-schedule-image-grid {
    width: min(94%, 680px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }

  .page-schedule .generated-schedule-image-card {
    padding: 16px !important;
  }

  .page-schedule .generated-schedule-image-card .schedule-lightbox-link img {
    width: 100% !important;
    height: auto !important;
    max-height: 66vh !important;
    object-fit: contain !important;
  }

  .page-news .generated-news-card > img {
    width: 100% !important;
    height: auto !important;
    max-height: 62vh !important;
    object-fit: contain !important;
  }
}


/* ============================================================
   V119 — NEWS LIGHTBOX + VERTICAL NEWS/SCHEDULE LAYOUT
   Applies to desktop and mobile. Existing desktop branding stays.
   ============================================================ */

/* News must always be one card per row. */
.page-news .generated-news-grid {
  width: min(92%, 1160px) !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 28px !important;
}

.page-news .generated-news-card {
  width: 100% !important;
  min-height: 250px !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 28%) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 28px !important;
  padding: 28px !important;
  box-sizing: border-box !important;
}

.page-news .news-lightbox-link {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 210px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 14px !important;
  border: 1px solid var(--card-accent, #ff6a00) !important;
  border-radius: 18px !important;
  background: rgba(0, 0, 0, .78) !important;
  color: var(--card-accent, #ff6a00) !important;
  cursor: zoom-in !important;
  box-sizing: border-box !important;
}

.page-news .news-lightbox-link img {
  display: block !important;
  width: 100% !important;
  height: 190px !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 auto !important;
}

.page-news .news-image-action {
  display: block !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  opacity: .88 !important;
}

.page-news .generated-news-content {
  min-width: 0 !important;
  text-align: left !important;
}

.page-news .generated-news-content small,
.page-news .generated-news-content h3,
.page-news .generated-news-content p {
  text-align: left !important;
}

.page-news .generated-news-external-link {
  display: inline-flex !important;
  margin-top: 14px !important;
  padding: 10px 16px !important;
  border: 1px solid var(--card-accent, #ff6a00) !important;
  border-radius: 999px !important;
  color: var(--card-accent, #ff6a00) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

/* Schedule and standings must always appear one under the other. */
.page-schedule .generated-schedule-image-grid,
.page-schedule .schedule-image-grid {
  width: min(92%, 1160px) !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 28px !important;
}

.page-schedule .generated-schedule-image-card,
.page-schedule .schedule-image-card {
  width: 100% !important;
  min-height: 0 !important;
  padding: 26px !important;
  box-sizing: border-box !important;
}

.page-schedule .generated-schedule-image-card .schedule-lightbox-link,
.page-schedule .schedule-image-card .schedule-lightbox-link {
  width: min(100%, 720px) !important;
  margin: 0 auto !important;
}

.page-schedule .generated-schedule-image-card .schedule-lightbox-link img,
.page-schedule .schedule-image-card .schedule-lightbox-link img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 680px !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* News full-size image lightbox. */
.news-image-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 40000 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 30px !important;
  box-sizing: border-box !important;
  background: rgba(2, 0, 10, .94) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

.news-image-lightbox.is-open {
  display: flex !important;
}

.news-lightbox-stage {
  width: min(94vw, 1100px) !important;
  max-height: 92vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px !important;
}

.news-lightbox-title {
  margin: 0 !important;
  color: #fff !important;
  text-align: center !important;
}

.news-lightbox-image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 92vw !important;
  max-height: 76vh !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 16px !important;
  box-shadow: 0 0 34px rgba(255, 106, 0, .7) !important;
}

.news-lightbox-open {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 11px 20px !important;
  border: 1px solid #ff6a00 !important;
  border-radius: 999px !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.news-lightbox-close {
  position: fixed !important;
  top: 18px !important;
  right: 20px !important;
  z-index: 40010 !important;
  width: 52px !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,106,0,.9) !important;
  border-radius: 50% !important;
  background: rgba(20,0,0,.9) !important;
  color: #fff !important;
  font-size: 2.4rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 0 22px rgba(255,106,0,.75) !important;
}

@media (max-width: 760px) {
  .page-news .generated-news-grid,
  .page-schedule .generated-schedule-image-grid,
  .page-schedule .schedule-image-grid {
    width: min(94%, 680px) !important;
    gap: 22px !important;
  }

  .page-news .generated-news-card {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 18px !important;
  }

  .page-news .news-lightbox-link {
    min-height: 0 !important;
    height: auto !important;
  }

  .page-news .news-lightbox-link img {
    height: auto !important;
    max-height: 58vh !important;
  }

  .page-news .generated-news-content,
  .page-news .generated-news-content small,
  .page-news .generated-news-content h3,
  .page-news .generated-news-content p {
    text-align: center !important;
  }

  .page-schedule .generated-schedule-image-card,
  .page-schedule .schedule-image-card {
    padding: 18px !important;
  }

  .page-schedule .generated-schedule-image-card .schedule-lightbox-link,
  .page-schedule .schedule-image-card .schedule-lightbox-link {
    width: 100% !important;
  }

  .news-image-lightbox {
    align-items: flex-start !important;
    overflow-y: auto !important;
    padding:
      calc(env(safe-area-inset-top) + 66px)
      14px
      calc(env(safe-area-inset-bottom) + 36px) !important;
  }

  .news-lightbox-stage {
    width: 100% !important;
    max-height: none !important;
  }

  .news-lightbox-image {
    max-width: 92vw !important;
    max-height: calc(100dvh - 220px) !important;
  }

  .news-lightbox-close {
    top: calc(env(safe-area-inset-top) + 12px) !important;
    right: 14px !important;
  }
}


/* ============================================================
   V120 — SCHEDULE CARDS MATCH NEWS PAGE
   Desktop: thumbnail left, text right, one card per row.
   Mobile: image above text.
   ============================================================ */

.page-schedule .generated-schedule-image-grid,
.page-schedule .schedule-image-grid {
  width: min(92%, 1160px) !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 28px !important;
}

.page-schedule .generated-schedule-image-card,
.page-schedule .schedule-image-card {
  width: 100% !important;
  min-height: 250px !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 28%) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 28px !important;
  padding: 28px !important;
  box-sizing: border-box !important;
}

.page-schedule .generated-schedule-image-card .schedule-lightbox-link,
.page-schedule .schedule-image-card .schedule-lightbox-link {
  width: 100% !important;
  height: 100% !important;
  min-height: 210px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 14px !important;
  margin: 0 !important;
  border: 1px solid var(--card-accent, #28ff28) !important;
  border-radius: 18px !important;
  background: rgba(0, 0, 0, .78) !important;
  color: var(--card-accent, #28ff28) !important;
  cursor: zoom-in !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
}

.page-schedule .generated-schedule-image-card .schedule-lightbox-link img,
.page-schedule .schedule-image-card .schedule-lightbox-link img {
  display: block !important;
  width: 100% !important;
  height: 190px !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.page-schedule .schedule-image-action {
  display: block !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  opacity: .88 !important;
}

.page-schedule .schedule-card-content {
  min-width: 0 !important;
  text-align: left !important;
}

.page-schedule .schedule-card-content small,
.page-schedule .schedule-card-content h3,
.page-schedule .schedule-card-content p {
  text-align: left !important;
}

.page-schedule .schedule-card-content small {
  display: block !important;
  margin-bottom: 10px !important;
  color: var(--card-accent, #28ff28) !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.page-schedule .schedule-card-content h3 {
  margin: 0 0 14px !important;
  color: var(--card-accent, #28ff28) !important;
}

.page-schedule .schedule-card-content p {
  margin: 0 !important;
  line-height: 1.55 !important;
}

@media (max-width: 760px) {
  .page-schedule .generated-schedule-image-grid,
  .page-schedule .schedule-image-grid {
    width: min(94%, 680px) !important;
    gap: 22px !important;
  }

  .page-schedule .generated-schedule-image-card,
  .page-schedule .schedule-image-card {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 18px !important;
    min-height: 0 !important;
  }

  .page-schedule .generated-schedule-image-card .schedule-lightbox-link,
  .page-schedule .schedule-image-card .schedule-lightbox-link {
    min-height: 0 !important;
    height: auto !important;
  }

  .page-schedule .generated-schedule-image-card .schedule-lightbox-link img,
  .page-schedule .schedule-image-card .schedule-lightbox-link img {
    width: 100% !important;
    height: auto !important;
    max-height: 58vh !important;
    object-fit: contain !important;
  }

  .page-schedule .schedule-card-content,
  .page-schedule .schedule-card-content small,
  .page-schedule .schedule-card-content h3,
  .page-schedule .schedule-card-content p {
    text-align: center !important;
  }
}


/* ============================================================
   V121 — NEWS CARD + IMAGE HOVER GLOW
   Matches the Schedule page hover behavior.
   Desktop hover only; mobile tap layout remains unchanged.
   ============================================================ */

.page-news .generated-news-card {
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    background-color .22s ease !important;
}

.page-news .news-lightbox-link {
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    filter .22s ease,
    background-color .22s ease !important;
}

.page-news .news-lightbox-link img {
  transition:
    transform .22s ease,
    filter .22s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  .page-news .generated-news-card:hover,
  .page-news .generated-news-card:focus-within {
    transform: translateY(-3px) !important;
    border-color: var(--card-accent, #ff6a00) !important;
    background: linear-gradient(
      135deg,
      rgba(18, 0, 24, .98),
      rgba(42, 0, 38, .96)
    ) !important;
    box-shadow:
      0 0 14px color-mix(in srgb, var(--card-accent, #ff6a00) 70%, transparent),
      0 0 34px color-mix(in srgb, var(--card-accent, #ff6a00) 48%, transparent),
      inset 0 0 24px color-mix(in srgb, var(--card-accent, #ff6a00) 14%, transparent) !important;
  }

  .page-news .news-lightbox-link:hover,
  .page-news .news-lightbox-link:focus-visible {
    transform: translateY(-2px) scale(1.015) !important;
    border-color: var(--card-accent, #ff6a00) !important;
    background: rgba(18, 0, 18, .94) !important;
    box-shadow:
      0 0 12px color-mix(in srgb, var(--card-accent, #ff6a00) 78%, transparent),
      0 0 28px color-mix(in srgb, var(--card-accent, #ff6a00) 52%, transparent),
      inset 0 0 18px color-mix(in srgb, var(--card-accent, #ff6a00) 16%, transparent) !important;
    filter: brightness(1.08) saturate(1.08) !important;
  }

  .page-news .news-lightbox-link:hover img,
  .page-news .news-lightbox-link:focus-visible img {
    transform: scale(1.025) !important;
    filter: brightness(1.08) saturate(1.08) !important;
  }

  .page-news .generated-news-external-link:hover,
  .page-news .generated-news-external-link:focus-visible {
    color: #fff !important;
    background: var(--card-accent, #ff6a00) !important;
    box-shadow:
      0 0 12px color-mix(in srgb, var(--card-accent, #ff6a00) 72%, transparent),
      0 0 24px color-mix(in srgb, var(--card-accent, #ff6a00) 42%, transparent) !important;
  }
}

/* Fallback for browsers without color-mix support. */
@supports not (color: color-mix(in srgb, red 50%, transparent)) {
  @media (hover: hover) and (pointer: fine) {
    .page-news .generated-news-card:hover,
    .page-news .generated-news-card:focus-within {
      box-shadow:
        0 0 14px rgba(255, 106, 0, .72),
        0 0 34px rgba(255, 106, 0, .42),
        inset 0 0 24px rgba(255, 106, 0, .12) !important;
    }

    .page-news .news-lightbox-link:hover,
    .page-news .news-lightbox-link:focus-visible {
      box-shadow:
        0 0 12px rgba(255, 106, 0, .8),
        0 0 28px rgba(255, 106, 0, .48),
        inset 0 0 18px rgba(255, 106, 0, .14) !important;
    }

    .page-news .generated-news-external-link:hover,
    .page-news .generated-news-external-link:focus-visible {
      box-shadow:
        0 0 12px rgba(255, 106, 0, .72),
        0 0 24px rgba(255, 106, 0, .4) !important;
    }
  }
}


/* ============================================================
   V122 — NEWS HOVER GLOW DIRECT FIX
   Uses the same direct hover pattern as the Schedule cards.
   Removed pointer/hover media-query restrictions that prevented
   the effect on some desktop and touch-capable computers.
   ============================================================ */

.page-news .generated-news-card {
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease !important;
}

.page-news .generated-news-card:hover,
.page-news .generated-news-card:focus-within {
  transform: translateY(-6px) !important;
  border-color: #ffb06b !important;
  box-shadow:
    0 0 22px rgba(255, 106, 0, .62),
    0 0 42px rgba(255, 106, 0, .28),
    inset 0 0 26px rgba(255, 106, 0, .17) !important;
}

.page-news .news-lightbox-link {
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    filter .22s ease,
    background .22s ease !important;
}

.page-news .news-lightbox-link img {
  transform: scale(1) !important;
  transition:
    transform .25s ease,
    filter .25s ease !important;
}

.page-news .generated-news-card:hover .news-lightbox-link,
.page-news .generated-news-card:focus-within .news-lightbox-link,
.page-news .news-lightbox-link:hover,
.page-news .news-lightbox-link:focus-visible {
  border-color: #ffb06b !important;
  background: rgba(20, 2, 12, .96) !important;
  box-shadow:
    0 0 18px rgba(255, 106, 0, .68),
    0 0 34px rgba(255, 106, 0, .32),
    inset 0 0 20px rgba(255, 106, 0, .14) !important;
  filter: brightness(1.08) saturate(1.08) !important;
}

.page-news .generated-news-card:hover .news-lightbox-link img,
.page-news .generated-news-card:focus-within .news-lightbox-link img,
.page-news .news-lightbox-link:hover img,
.page-news .news-lightbox-link:focus-visible img {
  transform: scale(1.025) !important;
  filter: brightness(1.10) contrast(1.05) saturate(1.08) !important;
}

.page-news .generated-news-card:hover .news-image-action,
.page-news .generated-news-card:focus-within .news-image-action,
.page-news .news-lightbox-link:hover .news-image-action,
.page-news .news-lightbox-link:focus-visible .news-image-action {
  color: #fff !important;
  text-shadow:
    0 0 8px rgba(255, 106, 0, .95),
    0 0 18px rgba(255, 106, 0, .72) !important;
}

.page-news .generated-news-external-link {
  transition:
    color .22s ease,
    background .22s ease,
    box-shadow .22s ease,
    transform .22s ease !important;
}

.page-news .generated-news-external-link:hover,
.page-news .generated-news-external-link:focus-visible {
  color: #fff !important;
  background: #ff6a00 !important;
  transform: translateY(-2px) !important;
  box-shadow:
    0 0 14px rgba(255, 106, 0, .76),
    0 0 28px rgba(255, 106, 0, .42) !important;
}

/* Do not create persistent hover movement on phones. */
@media (max-width: 760px) {
  .page-news .generated-news-card:hover {
    transform: none !important;
  }
}


/* ============================================================
   V123 — FINAL MOBILE SCHEDULE LIGHTBOX + TITLE HEIGHT FIX
   ============================================================ */

@media (max-width: 760px) {

  /* Make the schedule/standings viewer cover the fixed website
     header so its controls can never be hidden behind it. */
  .schedule-image-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 50000 !important;
    display: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    padding:
      calc(env(safe-area-inset-top) + 70px)
      14px
      calc(env(safe-area-inset-bottom) + 44px) !important;
    box-sizing: border-box !important;
  }

  .schedule-image-lightbox.is-open {
    display: flex !important;
  }

  .schedule-lightbox-stage {
    width: 100% !important;
    max-width: 94vw !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 16px !important;
  }

  .schedule-lightbox-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 92vw !important;
    max-height: calc(100dvh - 245px) !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
  }

  /* Keep the close X permanently visible above every other layer. */
  .schedule-lightbox-close {
    position: fixed !important;
    top: calc(env(safe-area-inset-top) + 12px) !important;
    right: 14px !important;
    z-index: 50020 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    height: 50px !important;
    padding: 0 !important;
    border: 1px solid rgba(57, 255, 20, .9) !important;
    border-radius: 50% !important;
    background: rgba(0, 18, 5, .96) !important;
    color: #fff !important;
    font-size: 2.45rem !important;
    line-height: 1 !important;
    box-shadow:
      0 0 16px rgba(57, 255, 20, .78),
      0 0 30px rgba(57, 255, 20, .42) !important;
    text-shadow:
      0 0 8px #fff,
      0 0 18px rgba(57, 255, 20, .95) !important;
  }

  /* Final increase to the center navigation-title height.
     Width, logos, navigation row and header height stay unchanged. */
  .site-top .hero-title {
    height: 80px !important;
    min-height: 80px !important;
    overflow: visible !important;
  }

  .site-top .hero-title img {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    height: auto !important;
    max-height: 76px !important;
    object-fit: contain !important;
    transform: scaleY(2.14) !important;
    transform-origin: center center !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 390px) {
  .site-top .hero-title {
    height: 76px !important;
    min-height: 76px !important;
  }

  .site-top .hero-title img {
    width: min(100%, 240px) !important;
    max-width: 240px !important;
    max-height: 72px !important;
    transform: scaleY(2.06) !important;
  }

  .schedule-lightbox-image {
    max-height: calc(100dvh - 230px) !important;
  }
}


/* ============================================================
   V124 — FINAL MOBILE NAVIGATION TITLE HEIGHT
   Makes only the center title slightly taller.
   Width, logos, navigation position, sticky header, desktop
   layout, carousels, News, and Schedule remain unchanged.
   ============================================================ */
@media (max-width: 760px) {
  .site-top .hero-title {
    height: 82px !important;
    min-height: 82px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  .site-top .hero-title img {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    height: auto !important;
    max-height: 78px !important;
    object-fit: contain !important;
    transform: scaleY(2.32) !important;
    transform-origin: center center !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 390px) {
  .site-top .hero-title {
    height: 78px !important;
    min-height: 78px !important;
  }

  .site-top .hero-title img {
    width: min(100%, 240px) !important;
    max-width: 240px !important;
    max-height: 74px !important;
    transform: scaleY(2.24) !important;
  }
}


/* ============================================================
   V132 — ROTATING PAGE HEROES
   Existing hero art remains the fallback. The two absolutely
   positioned layers crossfade above it without changing desktop
   or mobile dimensions.
   ============================================================ */

.hero-rotator {
    position: relative !important;
    isolation: isolate;
    overflow: hidden !important;
    outline: none;
    --hero-transition: 1400ms;
}

.hero-rotation-stage {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

.hero-rotation-layer {
    position: absolute;
    inset: -1px;
    opacity: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transform: scale(1.018);
    transition:
        opacity var(--hero-transition) ease-in-out,
        transform 8s ease-out;
    will-change: opacity, transform;
}

.hero-rotation-layer.is-active {
    opacity: 1;
    transform: scale(1);
}

.hero-original-fallback {
    position: relative;
    z-index: 0;
}

.hero-rotation-ready > .hero-original-fallback {
    opacity: 0;
}

.hero-rotation-dots {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: clamp(8px, 1.15vw, 18px);
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(6px, .65vw, 10px);
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(2, 0, 10, .36);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    opacity: .62;
    transition: opacity .25s ease, background .25s ease;
}

.hero-rotator:hover .hero-rotation-dots,
.hero-rotator:focus-within .hero-rotation-dots {
    opacity: 1;
    background: rgba(2, 0, 10, .64);
}

.hero-rotation-dot {
    appearance: none;
    width: clamp(7px, .7vw, 11px);
    height: clamp(7px, .7vw, 11px);
    min-width: 0;
    padding: 0;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 50%;
    background: rgba(0,0,0,.42);
    cursor: pointer;
    box-shadow: 0 0 7px rgba(255,255,255,.2);
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.hero-rotation-dot.is-active {
    transform: scale(1.25);
    background: var(--page-accent, #ffd700);
    border-color: #fff;
    box-shadow:
        0 0 8px var(--page-accent, #ffd700),
        0 0 15px var(--page-accent, #ffd700);
}

.hero-rotation-dot:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* Keep existing direct-image heroes at their original dimensions. */
.special-page-hero.hero-rotator,
.season-archive-hero.hero-rotator {
    min-height: 1px;
}

.special-page-hero.hero-rotator > img,
.season-archive-hero.hero-rotator > img {
    display: block;
    width: 100%;
    height: auto;
}

/* The real hero photos will eventually replace the repeated placeholders.
   When those photos are installed, object placement remains consistent. */
.special-page-hero .hero-rotation-layer,
.season-archive-hero .hero-rotation-layer {
    background-size: 100% 100%;
}

@media (max-width: 760px) {
    .hero-rotation-dots {
        bottom: 7px;
        gap: 6px;
        padding: 5px 8px;
    }

    .hero-rotation-dot {
        width: 8px;
        height: 8px;
    }

    .hero-rotation-layer {
        transform: scale(1.012);
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-rotation-layer {
        transition: none !important;
        transform: none !important;
    }

    .hero-rotation-dots {
        display: none;
    }
}

/* V133 selectable hero effects */
.hero-rotation-layer{animation-duration:var(--hero-duration,7000ms);animation-timing-function:ease-in-out;animation-fill-mode:both}
.hero-rotator[data-hero-effect="none"] .hero-rotation-layer,.hero-rotator[data-hero-effect="fade"] .hero-rotation-layer{transform:none!important}
.hero-rotator[data-hero-effect="pulse"] .hero-rotation-layer.is-active{animation-name:heroPulse}
.hero-rotator[data-hero-effect="zoom-in"] .hero-rotation-layer.is-active{animation-name:heroZoomIn}
.hero-rotator[data-hero-effect="zoom-out"] .hero-rotation-layer.is-active{animation-name:heroZoomOut}
.hero-rotator[data-hero-effect="pan-left"] .hero-rotation-layer.is-active{animation-name:heroPanLeft;background-size:108% 108%}
.hero-rotator[data-hero-effect="pan-right"] .hero-rotation-layer.is-active{animation-name:heroPanRight;background-size:108% 108%}
.hero-rotation-static .hero-rotation-dots{display:none!important}
@keyframes heroPulse{0%{transform:scale(1.012)}50%{transform:scale(1.032)}100%{transform:scale(1.012)}}
@keyframes heroZoomIn{from{transform:scale(1)}to{transform:scale(1.075)}}
@keyframes heroZoomOut{from{transform:scale(1.075)}to{transform:scale(1)}}
@keyframes heroPanLeft{from{background-position:58% center;transform:scale(1.02)}to{background-position:42% center;transform:scale(1.02)}}
@keyframes heroPanRight{from{background-position:42% center;transform:scale(1.02)}to{background-position:58% center;transform:scale(1.02)}}
@media(prefers-reduced-motion:reduce){.hero-rotation-layer{animation:none!important}}

:root{--managed-accent:#ffd700}.disabled-page{min-height:100vh;display:grid;place-content:center;text-align:center;padding:30px;background:#050014;color:#fff}.disabled-page a{color:var(--managed-accent)}


/* ============================================================
   V136 — HERO TRANSITION ENERGY GLOW
   The glow uses each page's existing --page-accent color.
   ============================================================ */
.hero-rotator::before,
.hero-rotator::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    opacity: 0;
    border-radius: inherit;
}

.hero-rotator::before {
    border: 2px solid transparent;
    box-shadow: none;
}

.hero-rotator::after {
    inset: -3%;
    background:
        radial-gradient(circle at center,
            transparent 45%,
            color-mix(in srgb, var(--hero-glow-color, var(--page-accent, #ffd700)) 28%, transparent) 74%,
            color-mix(in srgb, var(--hero-glow-color, var(--page-accent, #ffd700)) 62%, transparent) 100%);
    filter: blur(13px);
    transform: scale(.97);
}

.hero-rotator.hero-is-transitioning[data-hero-transition-effect="glow-fade"]::before {
    animation: heroGlowBorder var(--hero-transition) ease-in-out both;
}
.hero-rotator.hero-is-transitioning[data-hero-transition-effect="glow-fade"]::after {
    animation: heroGlowAtmosphere var(--hero-transition) ease-in-out both;
}

.hero-rotator.hero-is-transitioning[data-hero-transition-effect="soft-glow"]::before {
    animation: heroSoftGlow var(--hero-transition) ease-in-out both;
}

.hero-rotator.hero-is-transitioning[data-hero-transition-effect="bright-glow"]::before,
.hero-rotator.hero-is-transitioning[data-hero-transition-effect="bright-glow"]::after {
    animation: heroBrightGlow var(--hero-transition) ease-in-out both;
}

.hero-rotator.hero-is-transitioning[data-hero-transition-effect="flash-glow"]::before {
    animation: heroFlashGlow min(var(--hero-transition), 800ms) ease-out both;
}

.hero-rotator[data-hero-transition-effect="fade-only"]::before,
.hero-rotator[data-hero-transition-effect="fade-only"]::after {
    display: none;
}

.hero-rotator[data-hero-glow-intensity="low"] {
    --hero-glow-strength: .52;
    --hero-glow-spread: 18px;
}
.hero-rotator[data-hero-glow-intensity="medium"] {
    --hero-glow-strength: .78;
    --hero-glow-spread: 31px;
}
.hero-rotator[data-hero-glow-intensity="high"] {
    --hero-glow-strength: 1;
    --hero-glow-spread: 48px;
}

@keyframes heroGlowBorder {
    0%,100% { opacity:0; border-color:transparent; box-shadow:none; }
    42%,58% {
        opacity:var(--hero-glow-strength,.78);
        border-color:var(--hero-glow-color, var(--page-accent,#ffd700));
        box-shadow:
            inset 0 0 18px var(--hero-glow-color, var(--page-accent,#ffd700)),
            0 0 var(--hero-glow-spread,31px) var(--hero-glow-color, var(--page-accent,#ffd700)),
            0 0 calc(var(--hero-glow-spread,31px) * 1.7)
                color-mix(in srgb, var(--hero-glow-color, var(--page-accent,#ffd700)) 62%, transparent);
    }
}

@keyframes heroGlowAtmosphere {
    0%,100% { opacity:0; transform:scale(.97); }
    48% { opacity:calc(var(--hero-glow-strength,.78) * .78); transform:scale(1.04); }
}

@keyframes heroSoftGlow {
    0%,100% { opacity:0; box-shadow:none; }
    50% {
        opacity:calc(var(--hero-glow-strength,.78) * .65);
        border-color:color-mix(in srgb, var(--hero-glow-color, var(--page-accent,#ffd700)) 68%, white);
        box-shadow:0 0 calc(var(--hero-glow-spread,31px) * .7)
            var(--hero-glow-color, var(--page-accent,#ffd700));
    }
}

@keyframes heroBrightGlow {
    0%,100% { opacity:0; transform:scale(.98); }
    50% {
        opacity:var(--hero-glow-strength,.78);
        transform:scale(1.035);
        border-color:white;
        box-shadow:
            inset 0 0 25px white,
            0 0 var(--hero-glow-spread,31px) white,
            0 0 calc(var(--hero-glow-spread,31px) * 2)
                var(--hero-glow-color, var(--page-accent,#ffd700));
    }
}

@keyframes heroFlashGlow {
    0%,100% { opacity:0; }
    38% {
        opacity:var(--hero-glow-strength,.78);
        border-color:white;
        background:color-mix(in srgb, var(--hero-glow-color, var(--page-accent,#ffd700)) 16%, transparent);
        box-shadow:
            inset 0 0 24px white,
            0 0 var(--hero-glow-spread,31px) var(--hero-glow-color, var(--page-accent,#ffd700));
    }
}

/* Small, understated administrative link in every footer. */
.footer-admin-link {
    font-size: .72em;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(255,255,255,.52);
    text-decoration: none;
    transition: color .2s ease, text-shadow .2s ease, opacity .2s ease;
}
.footer-admin-divider {
    opacity: .42;
}
.footer-admin-link:hover,
.footer-admin-link:focus-visible {
    color: var(--page-accent, var(--managed-accent, #ffd700));
    text-shadow: 0 0 9px var(--page-accent, var(--managed-accent, #ffd700));
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .hero-rotator::before,
    .hero-rotator::after {
        animation: none !important;
        display: none !important;
    }
}


/* ============================================================
   V137 — MOBILE NAVIGATION TITLE FINAL HEIGHT ADJUSTMENT
   Makes the center navigation title taller without changing the
   side logos, header width, navigation buttons, or desktop layout.
   ============================================================ */
@media (max-width: 760px) {
    .site-top .nav-title img,
    .site-top .site-title-image,
    .site-top .navigation-title,
    .site-top .navigation-title img {
        height: clamp(74px, 12.6vw, 92px) !important;
        max-height: none !important;
        width: auto !important;
        object-fit: contain !important;
        transform: scaleY(1.10);
        transform-origin: center;
    }

    .site-top .nav-title,
    .site-top .navigation-title {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: clamp(82px, 13.8vw, 100px);
        overflow: visible !important;
    }
}

@media (max-width: 430px) {
    .site-top .nav-title img,
    .site-top .site-title-image,
    .site-top .navigation-title,
    .site-top .navigation-title img {
        height: clamp(70px, 18vw, 84px) !important;
        transform: scaleY(1.12);
    }

    .site-top .nav-title,
    .site-top .navigation-title {
        min-height: clamp(78px, 19.5vw, 92px);
    }
}


/* ============================================================
   V138 — PLATFORM VERSION + XITLALI MEDIA FOOTER CREDIT
   ============================================================ */
.footer-primary-line {
    display: block;
}

.footer-platform-version {
    margin-top: 5px;
    font-size: clamp(.62rem, .72vw, .74rem);
    letter-spacing: .045em;
    color: rgba(255,255,255,.52);
}

.footer-platform-version span {
    color: rgba(255,255,255,.38);
}

.footer-xitlali-credit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 7px;
    padding: 4px 8px;
    border-radius: 999px;
    color: rgba(255,255,255,.58);
    text-decoration: none;
    font-size: clamp(.60rem, .70vw, .72rem);
    letter-spacing: .035em;
    transition:
        color .22s ease,
        background .22s ease,
        box-shadow .22s ease,
        transform .22s ease;
}

.footer-xitlali-logo {
    display: block;
    width: auto;
    height: 18px;
    max-width: 72px;
    object-fit: contain;
    filter: grayscale(1) brightness(1.55);
    opacity: .76;
}

.footer-xitlali-wordmark {
    font-size: .82em;
    font-weight: 900;
    letter-spacing: .13em;
    color: rgba(230,234,240,.76);
}

.footer-xitlali-credit:hover,
.footer-xitlali-credit:focus-visible {
    color: #fff;
    background: rgba(255,255,255,.055);
    box-shadow:
        0 0 11px rgba(225,230,238,.22),
        0 0 22px color-mix(in srgb, var(--hero-glow-color, var(--page-accent, #ffd700)) 22%, transparent);
    transform: translateY(-1px);
}

.footer-xitlali-credit:hover .footer-xitlali-logo {
    opacity: 1;
    filter: grayscale(1) brightness(1.9);
}

.footer-xitlali-credit:hover .footer-xitlali-wordmark {
    color: #fff;
    text-shadow: 0 0 9px rgba(235,238,244,.72);
}

@media (max-width: 760px) {
    .footer-platform-version {
        margin-top: 4px;
    }

    .footer-xitlali-credit {
        margin-top: 6px;
        gap: 6px;
    }

    .footer-xitlali-logo {
        height: 16px;
        max-width: 64px;
    }
}


/* ============================================================
   V139 — NEWS NOTE + BALANCED DESKTOP FOOTER
   ============================================================ */
.generated-news-image-note {
    margin: 7px 0 5px;
    padding: 7px 10px;
    border-left: 3px solid var(--card-accent, #ff6a00);
    background: color-mix(in srgb, var(--card-accent, #ff6a00) 9%, transparent);
    color: rgba(255,255,255,.76);
    font-size: clamp(.72rem, .82vw, .86rem);
    line-height: 1.42;
}

.footer-balanced-v139 {
    padding: 14px 22px 13px;
}

.footer-balanced-grid {
    width: min(100%, 1180px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(230px, 1fr) minmax(420px, 1.5fr) minmax(300px, 1.15fr);
    align-items: center;
    gap: 24px;
}

.footer-owner-side,
.footer-credit-side {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.footer-owner-side {
    justify-content: flex-end;
}

.footer-credit-side {
    justify-content: flex-start;
}

.footer-copyright {
    color: rgba(255,255,255,.82);
    font-size: clamp(.70rem, .78vw, .82rem);
    white-space: nowrap;
}

.footer-center-side {
    display: grid;
    justify-items: center;
    gap: 7px;
    min-width: 0;
}

.footer-center-side .footer-social {
    justify-content: center;
    flex-wrap: nowrap;
}

.footer-center-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
    color: rgba(255,255,255,.56);
    font-size: clamp(.61rem, .68vw, .72rem);
    line-height: 1.3;
    text-align: center;
}

.footer-center-meta .footer-about-link,
.footer-center-meta .footer-admin-link,
.footer-center-meta .footer-platform-version {
    margin: 0;
    font-size: inherit;
    white-space: nowrap;
}

.footer-meta-divider {
    opacity: .38;
}

.footer-credit-side .footer-xitlali-credit {
    margin: 0;
    padding: 3px 5px;
    justify-content: flex-start;
    text-align: left;
    line-height: 1.2;
    min-width: 0;
}

.footer-credit-side .footer-xitlali-wordmark {
    display: inline-grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border: 1px solid rgba(230,234,240,.55);
    border-radius: 50%;
    font-size: .68rem;
    letter-spacing: .03em;
    flex: 0 0 auto;
}

.footer-credit-side .footer-xitlali-logo {
    height: 24px;
    max-width: 74px;
    flex: 0 0 auto;
}

.footer-credit-side .footer-logo,
.footer-owner-side .footer-logo {
    width: 31px;
    height: 31px;
}

.footer-credit-side .footer-logo img,
.footer-owner-side .footer-logo img {
    width: 29px;
    height: 29px;
}

@media (max-width: 980px) {
    .footer-balanced-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .footer-owner-side,
    .footer-credit-side {
        justify-content: center;
    }

    .footer-center-side {
        order: -1;
    }

    .footer-owner-side {
        flex-direction: column-reverse;
        gap: 5px;
    }

    .footer-credit-side {
        flex-direction: column;
        gap: 5px;
    }

    .footer-center-meta {
        gap: 6px;
    }

    .footer-credit-side .footer-xitlali-credit {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 560px) {
    .footer-balanced-v139 {
        padding: 14px 10px 16px;
    }

    .footer-center-side .footer-social {
        flex-wrap: wrap;
    }

    .footer-center-meta {
        max-width: 330px;
    }

    .footer-copyright {
        white-space: normal;
    }
}


/* ============================================================
   V140 — FINAL DESKTOP FOOTER ALIGNMENT
   AG logos stay directly beside social/email icons.
   ============================================================ */
.footer-balanced-v140 {
    padding: 13px 22px 12px;
}

.footer-balanced-grid-v140 {
    width: min(100%, 1180px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(470px, 1.75fr) minmax(300px, 1.15fr);
    gap: 22px;
    align-items: center;
}

.footer-left-v140 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-width: 0;
}

.footer-center-v140 {
    display: grid;
    justify-items: center;
    gap: 7px;
    min-width: 0;
}

.footer-social-row-v140 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 0;
}

.footer-social-row-v140 .footer-logo {
    width: 31px;
    height: 31px;
    flex: 0 0 auto;
}

.footer-social-row-v140 .footer-logo img {
    width: 29px;
    height: 29px;
    object-fit: contain;
}

.footer-social-row-v140 .footer-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    flex-wrap: nowrap;
}

.footer-center-meta-v140 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
    text-align: center;
    color: rgba(255,255,255,.56);
    font-size: clamp(.61rem, .68vw, .72rem);
    line-height: 1.3;
}

.footer-center-meta-v140 .footer-platform-version,
.footer-center-meta-v140 .footer-about-link,
.footer-center-meta-v140 .footer-admin-link {
    margin: 0;
    font-size: inherit;
    white-space: nowrap;
}

.footer-right-v140 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
}

.footer-right-v140 .footer-xitlali-credit {
    margin: 0;
    padding: 3px 5px;
    justify-content: flex-start;
    text-align: left;
    min-width: 0;
}

.footer-right-v140 .footer-xitlali-wordmark {
    display: inline-grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border: 1px solid rgba(230,234,240,.55);
    border-radius: 50%;
    font-size: .68rem;
    letter-spacing: .03em;
    flex: 0 0 auto;
}

.footer-right-v140 .footer-xitlali-logo {
    height: 24px;
    max-width: 76px;
    flex: 0 0 auto;
}

@media (max-width: 980px) {
    .footer-balanced-grid-v140 {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .footer-left-v140,
    .footer-right-v140 {
        justify-content: center;
    }

    .footer-center-v140 {
        order: -1;
    }

    .footer-right-v140 .footer-xitlali-credit {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 560px) {
    .footer-balanced-v140 {
        padding: 14px 10px 16px;
    }

    .footer-social-row-v140 {
        gap: 7px;
    }

    .footer-social-row-v140 .footer-social {
        gap: 8px;
        flex-wrap: wrap;
    }

    .footer-center-meta-v140 {
        max-width: 340px;
    }

    .footer-left-v140 .footer-copyright {
        white-space: normal;
        text-align: center;
    }
}


/* ============================================================
   V147 — NEW PLATFORM FOOTER + TALLER MOBILE NAVIGATION TITLE
   ============================================================ */
.footer-platform-v147 {
    padding: 18px 24px 16px !important;
    border-top: 1px solid var(--hero-glow-color, var(--page-accent, #ffd700));
}

.footer-platform-grid-v147 {
    width: min(100%, 1220px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(250px,1fr) minmax(440px,1.5fr) minmax(230px,1fr);
    gap: 28px;
    align-items: center;
}

.footer-v147-creator {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-width: 0;
}

.footer-v147-creator .footer-xitlali-credit {
    margin: 0;
    justify-content: flex-start;
    text-align: left;
}

.footer-v147-center {
    display: grid;
    justify-items: center;
    gap: 8px;
    min-width: 0;
}

.footer-v147-social-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-width: 0;
}

.footer-v147-social-row .footer-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: nowrap;
}

.footer-v147-social-row .footer-logo {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
}

.footer-v147-social-row .footer-logo img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.footer-v147-social-row .footer-logo-left {
    display: none !important;
}

.footer-v147-platform {
    text-align: center;
}

.footer-v147-platform .footer-platform-version {
    margin: 0;
    font-size: clamp(.66rem,.75vw,.78rem);
    color: rgba(255,255,255,.68);
}

.footer-v147-team {
    display: grid;
    justify-items: end;
    gap: 7px;
    min-width: 0;
    text-align: right;
}

.footer-v147-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    flex-wrap: wrap;
}

.footer-v147-team .footer-copyright {
    font-weight: 700;
}

@media (max-width: 900px) {
    .footer-platform-grid-v147 {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .footer-v147-center {
        order: -1;
    }

    .footer-v147-creator,
    .footer-v147-team {
        justify-content: center;
        justify-items: center;
        text-align: center;
    }

    .footer-v147-creator .footer-xitlali-credit {
        justify-content: center;
        text-align: center;
    }

    .footer-v147-links {
        justify-content: center;
    }
}

@media (max-width: 760px) {
    .site-top .nav-title img,
    .site-top .site-title-image,
    .site-top .navigation-title,
    .site-top .navigation-title img {
        height: clamp(84px, 15vw, 104px) !important;
        transform: scaleY(1.16) !important;
        transform-origin: center !important;
    }

    .site-top .nav-title,
    .site-top .navigation-title {
        min-height: clamp(94px, 16.5vw, 114px) !important;
        overflow: visible !important;
    }
}

@media (max-width: 430px) {
    .site-top .nav-title img,
    .site-top .site-title-image,
    .site-top .navigation-title,
    .site-top .navigation-title img {
        height: clamp(80px, 21vw, 96px) !important;
        transform: scaleY(1.18) !important;
    }

    .site-top .nav-title,
    .site-top .navigation-title {
        min-height: clamp(90px, 23vw, 108px) !important;
    }

    .footer-v147-social-row {
        gap: 8px;
    }

    .footer-v147-social-row .footer-social {
        gap: 9px;
        flex-wrap: wrap;
    }
}


/* ============================================================
   V148 — BALANCED SYMMETRIC FOOTER
   ============================================================ */
.footer-social-symmetric-v148 .footer-logo-left {
    display: inline-flex !important;
}

.footer-social-symmetric-v148 {
    gap: 12px !important;
}

.footer-social-symmetric-v148 .footer-logo,
.footer-social-symmetric-v148 .footer-logo img {
    width: 36px !important;
    height: 36px !important;
}

.footer-xitlali-credit-v148 {
    display: grid !important;
    grid-template-columns: 48px minmax(0,1fr);
    align-items: center;
    gap: 11px;
}

.footer-xitlali-credit-v148 .footer-xitlali-logo,
.footer-xitlali-credit-v148 .footer-xitlali-wordmark {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px;
    display: grid;
    place-items: center;
    object-fit: contain;
    font-size: .72rem;
    font-weight: 950;
}

.footer-xitlali-copy-v148 {
    display: grid;
    gap: 2px;
    line-height: 1.15;
    text-align: left;
}

.footer-xitlali-copy-v148 strong,
.footer-xitlali-copy-v148 span {
    display: block;
    white-space: nowrap;
}

.footer-xitlali-copy-v148 strong {
    color: rgba(255,255,255,.78);
    font-size: clamp(.66rem,.74vw,.78rem);
}

.footer-xitlali-copy-v148 span {
    color: rgba(255,255,255,.58);
    font-size: clamp(.62rem,.69vw,.73rem);
}

.footer-v147-team {
    grid-template-rows: auto auto;
    align-content: center;
}

@media (max-width: 900px) {
    .footer-xitlali-credit-v148 {
        grid-template-columns: 48px auto;
    }
    .footer-xitlali-copy-v148 {
        text-align: left;
    }
}

@media (max-width: 430px) {
    .footer-social-symmetric-v148 {
        width: 100%;
        justify-content: center;
    }
    .footer-social-symmetric-v148 .footer-logo,
    .footer-social-symmetric-v148 .footer-logo img {
        width: 31px !important;
        height: 31px !important;
    }
    .footer-xitlali-copy-v148 strong,
    .footer-xitlali-copy-v148 span {
        white-space: normal;
    }
}


/* ============================================================
   V150 — FINAL FOOTER ALIGNMENT AND PAGE ACCENT BORDER
   ============================================================ */
.footer-platform-v147 {
    border-top: 1px solid var(--page-accent, #ffd700) !important;
}

.footer-xitlali-mark {
    position: relative;
    width: 52px;
    height: 52px;
    min-width: 52px;
    display: grid;
    place-items: center;
}

.footer-xitlali-mark .footer-xitlali-logo {
    position: relative;
    z-index: 2;
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
}

.footer-xitlali-mark .footer-xitlali-wordmark {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
}

.footer-xitlali-mark .footer-xitlali-logo + .footer-xitlali-error-fallback {
    visibility: hidden;
}

.footer-xitlali-mark .footer-xitlali-logo:not([src]),
.footer-xitlali-mark .footer-xitlali-logo[src=""] {
    display: none;
}

.footer-xitlali-mark:has(.footer-xitlali-logo:not([src])),
.footer-xitlali-mark:has(.footer-xitlali-logo[src=""]) {
    visibility: visible;
}

.footer-v147-team {
    gap: 2px !important;
    line-height: 1.15;
    align-content: center;
}

.footer-v147-team .footer-copyright,
.footer-v147-team .footer-v147-links {
    margin: 0 !important;
}

.footer-v147-links {
    line-height: 1.15;
}

body.page-home .footer-platform-v147 { border-top-color:#ffd700 !important; }
body.page-team .footer-platform-v147 { border-top-color:#d000ff !important; }
body.page-schedule .footer-platform-v147 { border-top-color:#32ff32 !important; }
body.page-media .footer-platform-v147,
body.page-season-archive .footer-platform-v147 { border-top-color:#00bfff !important; }
body.page-news .footer-platform-v147 { border-top-color:#ff7a00 !important; }
body.page-live .footer-platform-v147 { border-top-color:#ff3030 !important; }
body.page-follow .footer-platform-v147 { border-top-color:#ff42c6 !important; }
body.page-about .footer-platform-v147,
body.page-not-found .footer-platform-v147 { border-top-color:#cfd5e3 !important; }


/* ============================================================
   V153 — MOBILE FOOTER BALANCE + MOBILE NAVIGATION TITLE
   ============================================================ */
.footer-link-separator {
    opacity: .62;
    margin: 0 2px;
}

.footer-v147-links a,
.footer-v147-links .footer-admin-link {
    font-size: .78rem !important;
    letter-spacing: .14em !important;
    line-height: 1.1;
}

@media (max-width: 900px) {
    .footer-v147-social-row .footer-logo {
        width: 60px !important;
        height: 60px !important;
        flex: 0 0 60px !important;
    }

    .footer-v147-social-row .footer-logo img {
        width: 56px !important;
        height: 56px !important;
        object-fit: contain !important;
    }

    .footer-v147-social-row .footer-social img {
        width: 34px !important;
        height: 34px !important;
        object-fit: contain !important;
    }

    .footer-xitlali-mark {
        width: 60px !important;
        height: 60px !important;
        min-width: 60px !important;
    }

    .footer-xitlali-mark .footer-xitlali-logo {
        width: 58px !important;
        height: 58px !important;
    }

    .footer-v147-team {
        gap: 3px !important;
    }

    .footer-v147-team .footer-copyright {
        font-size: .92rem !important;
    }

    .footer-v147-links a,
    .footer-v147-links .footer-admin-link {
        font-size: .74rem !important;
        letter-spacing: .16em !important;
    }
}

/* Mobile only: give the center navigation-title graphic more height.
   Desktop sizing is intentionally unchanged. */
@media (max-width: 760px) {
    .site-top .nav-title img,
    .site-top .site-title-image,
    .site-top .navigation-title,
    .site-top .navigation-title img {
        height: clamp(92px, 17vw, 114px) !important;
        transform: scaleY(1.22) !important;
        max-height: none !important;
        width: auto !important;
        object-fit: contain !important;
        transform-origin: center !important;
    }

    .site-top .nav-title,
    .site-top .navigation-title {
        min-height: clamp(104px, 18.5vw, 126px) !important;
        overflow: visible !important;
    }
}

@media (max-width: 430px) {
    .site-top .nav-title img,
    .site-top .site-title-image,
    .site-top .navigation-title,
    .site-top .navigation-title img {
        height: clamp(88px, 23vw, 106px) !important;
        transform: scaleY(1.23) !important;
    }

    .site-top .nav-title,
    .site-top .navigation-title {
        min-height: clamp(100px, 25vw, 118px) !important;
    }

    .footer-v147-social-row {
        gap: 10px !important;
    }

    .footer-v147-social-row .footer-social {
        gap: 10px !important;
        flex-wrap: nowrap !important;
    }
}

/* V155 Ultimate Player Card System */
.ultimate-player-card{display:block;text-decoration:none;background:none!important}
.ultimate-player-frame{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:20px;background:#050009;isolation:isolate;clip-path:polygon(7% 0,93% 0,100% 7%,100% 93%,93% 100%,7% 100%,0 93%,0 7%);border:2px solid #ff3aa7;box-shadow:0 0 0 3px #ff9d00,0 0 18px #ff2da4,0 0 34px rgba(125,44,255,.8)}
.ultimate-player-frame:before,.ultimate-player-frame:after{content:"";position:absolute;inset:10px;clip-path:inherit;border:1px solid #ff2ca3;z-index:5;pointer-events:none}.ultimate-player-frame:after{inset:16px;border-color:#7a39ff}
.ultimate-player-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.35) contrast(1.08);opacity:.92;z-index:-2}.ultimate-player-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.18) 60%,#030006 84%)}
.ultimate-card-heading{position:absolute;z-index:3;top:5%;left:7%;right:7%;display:flex;justify-content:space-between;align-items:flex-start}.ultimate-card-heading>div{display:flex;flex-direction:column;align-items:flex-start}.ultimate-card-heading span{font-family:Impact,"Arial Narrow",sans-serif;font-style:italic;font-size:clamp(2.2rem,5vw,4.8rem);line-height:.8;color:#ffc400;text-shadow:0 3px 0 #7c3000,0 0 12px #ff8a00}.ultimate-card-heading small{margin-top:.55rem;color:#ff3fa8;font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:.04em}.ultimate-card-heading img{width:25%;max-height:110px;object-fit:contain;filter:drop-shadow(0 0 10px #ff2b9f)}
.ultimate-player-photo{position:absolute;z-index:1;left:4%;right:4%;bottom:20%;width:92%;height:72%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 0 10px #000)}
.ultimate-player-name{position:absolute;z-index:4;left:7%;right:7%;bottom:4.2%;height:24%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(3,0,8,.83),rgba(0,0,0,.97));clip-path:polygon(7% 0,93% 0,100% 17%,100% 100%,0 100%,0 17%);border:1px solid #ff32ac;text-transform:uppercase}.ultimate-player-name small{color:#ffbf00;font-size:clamp(.75rem,1.35vw,1.15rem);font-weight:900;letter-spacing:.22em;font-style:italic}.ultimate-player-name strong{color:#f5f5f5;font-family:Impact,"Arial Narrow",sans-serif;font-style:italic;font-size:clamp(2rem,5.7vw,4.8rem);line-height:.95;letter-spacing:.025em;text-shadow:0 3px 0 #777,0 0 12px #fff;max-width:95%;overflow:hidden;text-overflow:ellipsis}.ultimate-player-name em{margin-top:.55rem;color:#ff3caa;font-size:clamp(.55rem,.95vw,.82rem);font-weight:900;letter-spacing:.2em;font-style:italic}
.player-lightbox-stage{max-width:min(1120px,92vw)!important}.ultimate-lightbox-cards{display:flex;gap:24px;align-items:center;justify-content:center;width:100%}.ultimate-lightbox-cards .ultimate-player-frame,.ultimate-profile-card{width:min(390px,40vw);flex:none}.ultimate-profile-card{position:relative;aspect-ratio:3/4;padding:9% 7% 6%;overflow:hidden;clip-path:polygon(7% 0,93% 0,100% 7%,100% 93%,93% 100%,7% 100%,0 93%,0 7%);background:radial-gradient(circle at 50% 15%,#2f0052,#050008 60%);border:2px solid #ff39a8;box-shadow:0 0 0 3px #ff9800,0 0 24px #ff2da4;color:#fff}.ultimate-profile-card:before{content:"";position:absolute;inset:0;background:url('../generated/media-card-background.png') center/cover;opacity:.35;z-index:-1}.ultimate-profile-top{display:flex;justify-content:space-between}.ultimate-profile-top b{font:italic 4rem/1 Impact;color:#ffc400;text-shadow:0 0 12px #ff8a00}.ultimate-profile-top img{width:24%;object-fit:contain}.ultimate-profile-position{display:block;color:#ff3fa8;font-weight:900;text-transform:uppercase}.ultimate-profile-name{text-align:center;margin:6% 0 4%;padding:4% 2%;border:1px solid #c82cff;background:rgba(0,0,0,.72);text-transform:uppercase}.ultimate-profile-name small{display:block;color:#ffc400;font-weight:900;letter-spacing:.22em}.ultimate-profile-name strong{font:italic 3.3rem/.95 Impact;color:#fff;text-shadow:0 3px #777}.ultimate-profile-rows{display:grid;gap:0}.ultimate-profile-row{display:grid;grid-template-columns:1.15fr 1fr;gap:10px;padding:3.5% 1%;border-bottom:1px solid #d3249d;font-weight:800}.ultimate-profile-row span{color:#ddd;text-transform:uppercase}.ultimate-profile-row b{color:#ffc400}.ultimate-profile-quote{text-align:center;color:#ff3d9f;font-weight:800;font-style:italic;line-height:1.45;margin:7% 4% 0}.player-lightbox-image,.player-lightbox-open{display:none!important}
.preview-ultimate-card{position:relative;width:min(420px,100%);aspect-ratio:3/4;overflow:hidden;border:2px solid #ff39a8;border-radius:18px;box-shadow:0 0 0 2px #ff9900,0 0 20px #ff2da4;background:url('../generated/media-card-background.png') center/cover}.preview-card-top{position:absolute;z-index:3;top:5%;left:6%;right:6%;display:flex;justify-content:space-between}.preview-card-top>div{display:flex;flex-direction:column}.preview-card-top b{font:italic 4rem/.8 Impact;color:#ffc400}.preview-card-top small{color:#ff3fa8;font-weight:900}.preview-card-top img{width:24%;object-fit:contain}.preview-ultimate-photo{position:absolute;left:4%;bottom:20%;width:92%;height:72%;object-fit:contain;object-position:center bottom}.preview-ultimate-name{position:absolute;left:6%;right:6%;bottom:4%;height:24%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.9);border:1px solid #ff35aa;clip-path:polygon(7% 0,93% 0,100% 17%,100% 100%,0 100%,0 17%);text-transform:uppercase}.preview-ultimate-name small{color:#ffc400;font-weight:900;letter-spacing:.2em}.preview-ultimate-name strong{font:italic clamp(2rem,5vw,4rem)/1 Impact;color:#fff;text-shadow:0 3px #777}.preview-ultimate-name em{color:#ff3fa8;font-size:.75rem;letter-spacing:.15em}.preview-profile-badge{margin-top:12px;color:#dba2ff;font-weight:900}
@media(max-width:700px){.ultimate-lightbox-cards{flex-direction:column;max-height:82vh;overflow:auto;padding:8px}.ultimate-lightbox-cards .ultimate-player-frame,.ultimate-profile-card{width:min(86vw,390px)}.ultimate-profile-top b{font-size:3rem}.ultimate-profile-name strong{font-size:2.7rem}.ultimate-player-frame{border-radius:14px}}


/* ============================================================
   V156 — ULTIMATE PLAYER CARD STABILIZATION
   ============================================================ */
.ultimate-player-frame{aspect-ratio:2/3!important;border-radius:18px!important;clip-path:polygon(6% 0,94% 0,100% 5%,100% 95%,94% 100%,6% 100%,0 95%,0 5%)!important}
.ultimate-card-heading{position:absolute;z-index:8;left:7%;right:7%;top:5%;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}
.ultimate-card-heading>div{display:flex;flex-direction:column;align-items:flex-start}.ultimate-card-heading span{font-family:Impact,"Arial Narrow",sans-serif;font-style:italic;font-size:clamp(2.4rem,5.5vw,5rem);line-height:.8;color:#ffc000;text-shadow:0 3px 0 #8c5600,0 0 16px #ff8a00}.ultimate-card-heading small{margin-top:.55rem;color:#ff3ba7;font-weight:900;font-style:italic;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.58rem,1.05vw,.95rem);max-width:12ch;overflow-wrap:anywhere}.ultimate-card-heading img{width:24%;max-height:22%;object-fit:contain;filter:drop-shadow(0 0 10px #ff39c8)}
.ultimate-player-photo{left:3%!important;width:94%!important;height:76%!important;bottom:19%!important;object-fit:cover!important;object-position:center top!important;mask-image:linear-gradient(to bottom,#000 0 82%,transparent 100%)}
.ultimate-player-name{height:25%!important;bottom:3.5%!important;padding:2.5% 3%!important}.ultimate-player-name small{font-size:clamp(.68rem,1.1vw,1.08rem)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ultimate-player-name strong{font-size:clamp(1.55rem,4.3vw,4.15rem)!important;line-height:.9!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:100%!important;overflow-wrap:anywhere;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ultimate-player-name em{font-size:clamp(.48rem,.82vw,.78rem)!important;margin-top:.35rem!important}
.team-roster-carousel .team-card-slide{width:clamp(230px,20vw,330px)!important}
.player-lightbox-stage{width:min(1180px,94vw)!important;max-width:none!important}.ultimate-lightbox-cards{display:flex!important;flex-direction:column;gap:14px!important;width:100%}.ultimate-profile-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.ultimate-tab,.ultimate-open-photo{border:1px solid #ff3aa7;background:#100617;color:#fff;border-radius:999px;padding:10px 16px;font-weight:900;text-decoration:none;cursor:pointer}.ultimate-tab.is-active{background:#ff3aa7;color:#09000d;box-shadow:0 0 14px #ff3aa7}.ultimate-open-photo{border-color:#ffc000;color:#ffc000}.ultimate-card-deck{display:flex;gap:24px;justify-content:center;align-items:center;width:100%}.ultimate-card-deck .ultimate-view-card{width:min(410px,39vw);flex:none}.ultimate-card-deck:not(.is-advanced) .ultimate-view-card{width:min(440px,72vw)}
@media(min-width:701px){.ultimate-card-deck.is-advanced .ultimate-view-card{display:block!important}.ultimate-card-deck.is-advanced .ultimate-tab{display:none}}
@media(max-width:700px){.ultimate-card-deck{display:block}.ultimate-card-deck .ultimate-view-card{display:none;width:min(88vw,410px)!important;margin:auto}.ultimate-card-deck .ultimate-view-card.is-active{display:block}.ultimate-profile-toolbar{position:sticky;top:0;z-index:5;padding:6px;background:rgba(2,0,7,.9)}.team-roster-carousel .team-card-slide{width:clamp(205px,68vw,280px)!important}}


/* ============================================================
   V157 — LAYERED PLAYER CUTOUT CARDS
   Player photo is a foreground layer over the shared galaxy art.
   Transparent PNG/WebP cutouts produce the prototype appearance.
   ============================================================ */
.ultimate-player-bg{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;filter:saturate(1.2) contrast(1.08);transform:scale(1.03)}
.ultimate-player-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 55% 35%,rgba(255,45,191,.08),transparent 38%),linear-gradient(to bottom,rgba(0,0,0,.03),rgba(0,0,0,.22) 72%,rgba(0,0,0,.88));box-shadow:inset 0 0 38px #000}
.ultimate-player-cutout-stage{position:absolute;z-index:3;left:1%;right:1%;top:8%;bottom:17%;overflow:visible;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.ultimate-player-cutout-stage .ultimate-player-photo{position:relative!important;inset:auto!important;width:96%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;transform:translate(var(--player-x,0),var(--player-y,0)) scale(var(--player-scale,1));transform-origin:center bottom;mask-image:linear-gradient(to bottom,#000 0 88%,rgba(0,0,0,.98) 94%,transparent 100%);filter:drop-shadow(0 8px 8px rgba(0,0,0,.9)) drop-shadow(0 0 13px rgba(255,42,184,.6));z-index:3}
.ultimate-player-frame.image-mode-photo .ultimate-player-cutout-stage{left:4%;right:4%;top:10%;bottom:20%;overflow:hidden;border-radius:12px}
.ultimate-player-frame.image-mode-photo .ultimate-player-photo{width:100%!important;object-fit:cover!important;object-position:center top!important;transform:none!important;mask-image:linear-gradient(to bottom,#000 0 78%,rgba(0,0,0,.9) 90%,transparent 100%);filter:saturate(1.05) contrast(1.04)}
.ultimate-card-heading{z-index:8!important}.ultimate-player-name{z-index:9!important;background:linear-gradient(180deg,rgba(4,0,8,.82),rgba(0,0,0,.98))!important;box-shadow:0 -8px 22px rgba(255,42,184,.18)}
.ultimate-player-name strong{font-size:clamp(1.35rem,3.6vw,3.55rem)!important;letter-spacing:-.02em;word-break:normal!important;overflow-wrap:break-word!important}
.ultimate-player-frame:after{content:"";position:absolute;inset:2.2%;z-index:10;pointer-events:none;border:1px solid rgba(255,61,180,.75);clip-path:polygon(6% 0,94% 0,100% 6%,100% 94%,94% 100%,6% 100%,0 94%,0 6%);box-shadow:inset 0 0 14px rgba(255,46,179,.45)}
@media(max-width:700px){.ultimate-player-cutout-stage{top:7%;bottom:18%}.ultimate-player-name strong{font-size:clamp(1.5rem,12vw,3.2rem)!important}}


/* ============================================================
   V158 — PLAYER CARD CONSISTENCY, PROFILE CONTROLS AND NAME FIXES
   ============================================================ */
.ultimate-player-bg,
.preview-ultimate-card,
.ultimate-profile-card {
  background-color:#07000d!important;
  background-image:
    radial-gradient(circle at 76% 22%, rgba(255,174,0,.95) 0 1.2%, rgba(255,49,171,.65) 2%, transparent 10%),
    radial-gradient(circle at 72% 24%, transparent 0 4%, rgba(255,49,171,.28) 8%, rgba(107,38,255,.22) 15%, transparent 26%),
    radial-gradient(circle at 23% 30%, rgba(255,36,170,.38), transparent 24%),
    radial-gradient(circle at 64% 54%, rgba(98,34,255,.38), transparent 30%),
    linear-gradient(145deg,#120020 0%,#320044 38%,#090014 72%,#020005 100%)!important;
  background-size:cover!important;
  background-position:center!important;
}
.ultimate-player-bg:before,.preview-ultimate-card:before,.ultimate-profile-card:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    radial-gradient(circle,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle,#ff6ad9 0 1px,transparent 1.5px),
    radial-gradient(circle,#a977ff 0 1px,transparent 1.5px);
  background-size:29px 31px,47px 43px,71px 67px;
  background-position:3px 5px,19px 11px,37px 29px;
  opacity:.55;
}
.ultimate-player-bg:after{z-index:1!important;background:linear-gradient(to bottom,rgba(0,0,0,.02),rgba(0,0,0,.08) 55%,rgba(0,0,0,.86) 88%)!important}
.preview-ultimate-card{isolation:isolate}.preview-ultimate-card>*{z-index:2}
.preview-ultimate-card:before{z-index:0}
.ultimate-profile-card{isolation:isolate}.ultimate-profile-card>*{position:relative;z-index:2}.ultimate-profile-card:before{display:none!important}.ultimate-profile-card:after{z-index:0}
.ultimate-player-name em,.preview-ultimate-name em{color:#ff48b2!important;text-transform:uppercase!important;font-style:italic!important;font-weight:900!important;letter-spacing:.14em!important}
.ultimate-player-name strong,.preview-ultimate-name strong{width:100%;max-width:100%;text-align:center;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:normal!important;overflow-wrap:break-word!important;line-height:.82!important}
.ultimate-player-name strong{font-size:clamp(1.25rem,3.1vw,3.15rem)!important}
.team-roster-carousel .ultimate-player-name strong{font-size:clamp(1.18rem,2.55vw,2.8rem)!important}
.ultimate-player-name[class*="name-length-1"] strong{font-size:clamp(1.05rem,2.65vw,2.75rem)!important}
.ultimate-profile-name strong{font-size:clamp(1.6rem,3.1vw,3rem)!important;overflow-wrap:anywhere}
.ultimate-card-deck .ultimate-view-card{display:none!important}
.ultimate-card-deck .ultimate-view-card.is-active{display:block!important}
.ultimate-card-deck{min-height:min(650px,74vh);align-items:flex-start!important}
.ultimate-profile-toolbar{position:relative;z-index:20}
.ultimate-tab,.ultimate-open-photo{pointer-events:auto!important;position:relative;z-index:21;appearance:none;font:inherit}
.ultimate-open-photo{background:#100617!important}
.player-lightbox-stage,.ultimate-lightbox-cards{overflow:visible!important}
@media(min-width:701px){.ultimate-card-deck.is-advanced .ultimate-view-card{display:none!important}.ultimate-card-deck.is-advanced .ultimate-view-card.is-active{display:block!important}}
@media(max-width:700px){.ultimate-card-deck{min-height:0}.ultimate-player-name strong{font-size:clamp(1.35rem,10vw,2.85rem)!important}.ultimate-profile-toolbar{position:relative!important}}

/* ============================================================
   V159 — PROTOTYPE TEMPLATE PLAYER CARDS
   ============================================================ */
.prototype-player-frame{position:relative!important;aspect-ratio:2/3!important;width:100%!important;overflow:hidden!important;border:0!important;border-radius:0!important;clip-path:none!important;background:#030006!important;box-shadow:0 0 18px rgba(255,43,168,.75),0 0 34px rgba(121,56,255,.55)!important;isolation:isolate}
.prototype-card-template{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}
.prototype-player-stage,.preview-ultimate-cutout-stage.prototype-player-stage{position:absolute!important;z-index:2!important;left:3%!important;right:3%!important;top:4.5%!important;bottom:31.2%!important;width:auto!important;height:auto!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;overflow:visible!important;pointer-events:none}
.prototype-player-stage .ultimate-player-photo,.prototype-player-stage .preview-ultimate-photo{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;object-position:center bottom!important;transform:translate(var(--player-x,0),var(--player-y,0)) scale(var(--player-scale,1))!important;transform-origin:center bottom!important;mask-image:linear-gradient(to bottom,#000 0 91%,rgba(0,0,0,.98) 96%,transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0 91%,rgba(0,0,0,.98) 96%,transparent 100%)!important;filter:drop-shadow(0 9px 8px rgba(0,0,0,.9)) drop-shadow(0 0 12px rgba(255,39,174,.55))!important}
.prototype-player-frame.image-mode-photo .prototype-player-stage{left:5%!important;right:5%!important;top:5%!important;bottom:32%!important;overflow:hidden!important}
.prototype-player-frame.image-mode-photo .prototype-player-stage img{object-fit:cover!important;object-position:center top!important;transform:none!important}
.prototype-player-number{position:absolute;z-index:4;top:4.2%;left:8.2%;width:31%;color:#ffc400;font-family:Impact,"Arial Black","Arial Narrow",sans-serif;font-style:italic;font-size:clamp(2.2rem,8.4vw,6.7rem);line-height:.82;letter-spacing:-.035em;text-align:left;text-shadow:0 3px 0 #8a3e00,0 0 8px #ff9d00,0 0 18px rgba(255,180,0,.75);white-space:nowrap}
.prototype-player-name,.preview-ultimate-name.prototype-player-name{position:absolute!important;z-index:5!important;left:8.2%!important;right:8.2%!important;bottom:5.8%!important;height:28.5%!important;padding:0!important;border:0!important;clip-path:none!important;background:transparent!important;box-shadow:none!important;display:grid!important;grid-template-rows:20% 53% 27%!important;align-items:center!important;justify-items:center!important;text-transform:uppercase!important;overflow:visible!important}
.prototype-player-name small,.preview-ultimate-name.prototype-player-name small{align-self:end!important;color:#ffc400!important;font-size:clamp(.72rem,2.15vw,1.7rem)!important;font-weight:900!important;font-style:italic!important;letter-spacing:.25em!important;line-height:1!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prototype-player-name strong,.preview-ultimate-name.prototype-player-name strong{align-self:center!important;width:100%!important;color:#f6f6f6!important;font-family:Impact,"Arial Black","Arial Narrow",sans-serif!important;font-style:italic!important;font-size:clamp(2.1rem,7.25vw,5.75rem)!important;line-height:.82!important;letter-spacing:-.025em!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;transform:scaleX(.86);text-shadow:0 3px 0 #777,0 0 7px rgba(255,255,255,.85),0 8px 12px rgba(0,0,0,.9)!important}
.prototype-player-name em,.preview-ultimate-name.prototype-player-name em{align-self:start!important;display:inline-flex!important;min-width:54%;max-width:92%;min-height:36%;align-items:center;justify-content:center;padding:.18em 1.1em!important;color:#ffc400!important;border:2px solid #ffad00!important;background:rgba(0,0,0,.72)!important;clip-path:polygon(9% 0,91% 0,100% 50%,91% 100%,9% 100%,0 50%);font-size:clamp(.55rem,1.55vw,1.15rem)!important;font-weight:900!important;font-style:italic!important;letter-spacing:.17em!important;line-height:1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prototype-player-name.name-length-10 strong{font-size:clamp(1.85rem,6.5vw,5.1rem)!important}.prototype-player-name.name-length-11 strong,.prototype-player-name.name-length-12 strong{font-size:clamp(1.65rem,5.8vw,4.65rem)!important}.prototype-player-name.name-length-13 strong,.prototype-player-name.name-length-14 strong,.prototype-player-name.name-length-15 strong{font-size:clamp(1.45rem,5vw,4.05rem)!important}.prototype-player-name.name-length-16 strong,.prototype-player-name.name-length-17 strong,.prototype-player-name.name-length-18 strong,.prototype-player-name.name-length-19 strong,.prototype-player-name.name-length-20 strong{font-size:clamp(1.22rem,4.25vw,3.45rem)!important}
.team-roster-carousel .prototype-player-frame{box-shadow:0 0 16px rgba(255,43,168,.8),0 0 30px rgba(121,56,255,.5)!important}.team-roster-carousel .team-card-slide{aspect-ratio:2/3!important}.ultimate-card-deck .prototype-player-frame{width:min(430px,38vw)!important}.preview-ultimate-card.prototype-player-frame{width:100%!important;max-width:none!important}
@media(max-width:700px){.prototype-player-number{font-size:clamp(2.2rem,19vw,5.4rem)}.prototype-player-name small{font-size:clamp(.7rem,4.5vw,1.3rem)!important}.prototype-player-name strong{font-size:clamp(2rem,15vw,4.5rem)!important}.prototype-player-name em{font-size:clamp(.52rem,3.3vw,.95rem)!important}.ultimate-card-deck .prototype-player-frame{width:min(88vw,430px)!important}}


/* V160 independent carousel asset hooks */
.page-home .homepage-media-carousel{background-image:var(--home-carousel-background,none);background-size:cover;background-position:center}
.page-team .team-roster-carousel{background-image:var(--team-carousel-background,none);background-size:cover;background-position:center}
.page-media .carousel{background-image:var(--media-carousel-background,none);background-size:cover;background-position:center}
.season-games-carousel,.season-archive-carousel{background-image:var(--season-carousel-background,none);background-size:cover;background-position:center}


/* ============================================================
   V162 — APPROVED PROTOTYPE PLAYER TEMPLATE RENDERER
   One renderer: Admin preview, carousel, website preview and popup.
   ============================================================ */
.prototype-player-frame{
  aspect-ratio:2/3!important;
  background:#020006!important;
  overflow:hidden!important;
}
.prototype-card-template{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  z-index:1!important;
}
/* The transparent player is a foreground layer over the baked galaxy artwork. */
.prototype-player-stage,
.preview-ultimate-cutout-stage.prototype-player-stage{
  left:3.5%!important;
  right:3.5%!important;
  top:5.5%!important;
  bottom:30.5%!important;
  overflow:visible!important;
  z-index:2!important;
  align-items:flex-end!important;
}
.prototype-player-stage .ultimate-player-photo,
.prototype-player-stage .preview-ultimate-photo{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translate(var(--player-x,0),var(--player-y,0)) scale(var(--player-scale,1))!important;
  transform-origin:center bottom!important;
  -webkit-mask-image:linear-gradient(to bottom,#000 0 92%,rgba(0,0,0,.98) 97%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,#000 0 92%,rgba(0,0,0,.98) 97%,transparent 100%)!important;
}
/* Regular photos also remain fully visible; no head cropping. */
.prototype-player-frame.image-mode-photo .prototype-player-stage{
  left:3.5%!important;right:3.5%!important;top:5.5%!important;bottom:30.5%!important;overflow:hidden!important;
}
.prototype-player-frame.image-mode-photo .prototype-player-stage img{
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translate(var(--player-x,0),var(--player-y,0)) scale(var(--player-scale,1))!important;
}
.prototype-player-number{
  top:5.1%!important;
  left:8.3%!important;
  width:30%!important;
  font-size:clamp(2.25rem,8.15vw,6.5rem)!important;
  z-index:4!important;
}
.prototype-player-name,
.preview-ultimate-name.prototype-player-name{
  left:8.2%!important;
  right:8.2%!important;
  bottom:5.15%!important;
  height:28.8%!important;
  grid-template-rows:19% 53% 28%!important;
  z-index:5!important;
}
.prototype-player-name small,
.preview-ultimate-name.prototype-player-name small{
  max-width:92%!important;
  font-size:clamp(.68rem,2.05vw,1.62rem)!important;
  letter-spacing:.22em!important;
}
.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name strong{
  max-width:100%!important;
  font-size:clamp(2rem,6.9vw,5.45rem)!important;
  transform:scaleX(.84)!important;
  transform-origin:center!important;
}
.prototype-player-name em,
.preview-ultimate-name.prototype-player-name em{
  min-width:52%!important;
  max-width:88%!important;
  min-height:34%!important;
  font-size:clamp(.52rem,1.48vw,1.1rem)!important;
}
/* Long surnames scale down instead of clipping. */
.prototype-player-name.name-length-9 strong{font-size:clamp(1.88rem,6.35vw,5rem)!important}
.prototype-player-name.name-length-10 strong,.prototype-player-name.name-length-11 strong{font-size:clamp(1.7rem,5.75vw,4.55rem)!important}
.prototype-player-name.name-length-12 strong,.prototype-player-name.name-length-13 strong{font-size:clamp(1.5rem,5.05vw,4rem)!important}
.prototype-player-name.name-length-14 strong,.prototype-player-name.name-length-15 strong{font-size:clamp(1.32rem,4.45vw,3.5rem)!important}
.prototype-player-name.name-length-16 strong,.prototype-player-name.name-length-17 strong,.prototype-player-name.name-length-18 strong,.prototype-player-name.name-length-19 strong,.prototype-player-name.name-length-20 strong{font-size:clamp(1.08rem,3.7vw,3rem)!important}
/* Keep every public presentation on the exact 2:3 prototype proportion. */
.team-roster-carousel .team-card-slide,
.generated-player-card,
.player-preview-card .prototype-player-frame,
.ultimate-view-card .prototype-player-frame{aspect-ratio:2/3!important}
.team-roster-carousel .generated-player-card{overflow:visible!important}
@media(max-width:700px){
  .prototype-player-number{font-size:clamp(2.1rem,18vw,5.15rem)!important}
  .prototype-player-name small{font-size:clamp(.66rem,4.1vw,1.22rem)!important}
  .prototype-player-name strong{font-size:clamp(1.9rem,13.8vw,4.15rem)!important}
  .prototype-player-name em{font-size:clamp(.5rem,3.05vw,.9rem)!important}
}

/* ============================================================
   V162 — PLAYER CARD FIT + PHOTO POSITION CONTROLS
   ============================================================ */
/* Always scale the full 2:3 card inside preview and carousel containers. */
.player-preview-card,
.public-style-player-preview,
.preview-ultimate-card,
.prototype-player-frame,
.team-roster-carousel .generated-player-card,
.team-roster-carousel .ultimate-player-frame{
  min-width:0!important;
  min-height:0!important;
}
.player-preview-card .prototype-player-frame,
.public-style-player-preview .prototype-player-frame,
.preview-ultimate-card.prototype-player-frame{
  width:min(100%,320px)!important;
  height:auto!important;
  aspect-ratio:2/3!important;
  margin-inline:auto!important;
  overflow:hidden!important;
}
/* The carousel card itself owns the ratio; nothing inside may crop the card. */
.team-roster-carousel .team-card-slide.generated-player-card{
  aspect-ratio:2/3!important;
  height:auto!important;
  overflow:visible!important;
}
.team-roster-carousel .prototype-player-frame{
  width:100%!important;
  height:100%!important;
  aspect-ratio:2/3!important;
  overflow:hidden!important;
}
/* Keep the full player visible by default and leave room for the name panel. */
.prototype-player-stage,
.preview-ultimate-cutout-stage.prototype-player-stage{
  left:4%!important;
  right:4%!important;
  top:6%!important;
  bottom:27.5%!important;
  overflow:visible!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
}
.prototype-player-stage .ultimate-player-photo,
.prototype-player-stage .preview-ultimate-photo{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translate(var(--player-x,0),var(--player-y,0)) scale(var(--player-scale,.9))!important;
  transform-origin:center bottom!important;
}
/* Regular photos also default to contain so heads are never clipped. */
.prototype-player-frame.image-mode-photo .prototype-player-stage{
  overflow:hidden!important;
}
.prototype-player-frame.image-mode-photo .prototype-player-stage img{
  object-fit:contain!important;
  object-position:center bottom!important;
}
/* Safer typography for long names. */
.prototype-player-name,
.preview-ultimate-name.prototype-player-name{
  left:8.5%!important;
  right:8.5%!important;
  bottom:4.7%!important;
  height:27.5%!important;
  padding:1.8% 3%!important;
  grid-template-rows:20% 50% 30%!important;
}
.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name strong{
  font-size:clamp(1.35rem,5.2vw,4rem)!important;
  line-height:.86!important;
  transform:scaleX(.82)!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.prototype-player-name.name-length-8 strong{font-size:clamp(1.25rem,4.85vw,3.75rem)!important}
.prototype-player-name.name-length-9 strong{font-size:clamp(1.18rem,4.45vw,3.45rem)!important}
.prototype-player-name.name-length-10 strong,.prototype-player-name.name-length-11 strong{font-size:clamp(1.08rem,4.0vw,3.1rem)!important}
.prototype-player-name.name-length-12 strong,.prototype-player-name.name-length-13 strong{font-size:clamp(.98rem,3.55vw,2.75rem)!important}
.prototype-player-name.name-length-14 strong,.prototype-player-name.name-length-15 strong{font-size:clamp(.9rem,3.15vw,2.4rem)!important}
.prototype-player-name.name-length-16 strong,.prototype-player-name.name-length-17 strong,.prototype-player-name.name-length-18 strong,.prototype-player-name.name-length-19 strong,.prototype-player-name.name-length-20 strong{font-size:clamp(.8rem,2.75vw,2.08rem)!important}
.team-roster-carousel .prototype-player-name strong{font-size:clamp(1.05rem,3.2vw,2.65rem)!important}
/* Admin directional controller. */
.player-position-controller{grid-column:1/-1;border:1px solid #384253;border-radius:14px;padding:14px;background:#0b111a;margin-top:10px}
.player-position-controller h5{margin:0 0 10px;color:#f7c63b;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}
.player-position-grid{display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(3,42px);gap:7px;justify-content:center;align-items:center}
.player-position-grid button,.player-zoom-controls button{border:1px solid #687386;background:#151d2a;color:#fff;border-radius:9px;font-weight:900;cursor:pointer}
.player-position-grid button:hover,.player-zoom-controls button:hover{border-color:#ffd038;background:#202b3a}
.player-position-grid .up{grid-column:2}.player-position-grid .left{grid-column:1;grid-row:2}.player-position-grid .reset{grid-column:2;grid-row:2}.player-position-grid .right{grid-column:3;grid-row:2}.player-position-grid .down{grid-column:2;grid-row:3}
.player-zoom-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.player-zoom-controls button{padding:9px 13px}.player-position-readout{text-align:center;margin-top:10px;color:#aeb8ca;font-size:.8rem}
@media(max-width:700px){
  .player-preview-card .prototype-player-frame,.public-style-player-preview .prototype-player-frame{width:min(100%,270px)!important}
  .prototype-player-name strong,.preview-ultimate-name.prototype-player-name strong{font-size:clamp(1.1rem,10.5vw,3rem)!important}
}

/* ============================================================
   V166 — UNIFIED PLAYER CARD RENDER SYNC
   Final overrides: one centered card, full-card fit, visible number,
   contained photos, and one-line auto-scaled surnames.
   ============================================================ */
.prototype-player-frame{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2/3!important;
  overflow:hidden!important;
}
.prototype-card-template{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;z-index:1!important}
.prototype-player-stage{position:absolute!important;left:4%!important;right:4%!important;top:7%!important;bottom:28.5%!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;overflow:visible!important;z-index:2!important}
.prototype-player-stage img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center bottom!important;transform:translate(var(--player-x,0),var(--player-y,0)) scale(var(--player-scale,.86))!important;transform-origin:center bottom!important}
.prototype-player-stage.is-default-silhouette img{mix-blend-mode:multiply!important;filter:contrast(1.35) drop-shadow(0 0 10px rgba(255,38,174,.55))!important}
.prototype-player-number{display:block!important;visibility:visible!important;opacity:1!important;position:absolute!important;top:4.7%!important;left:8.4%!important;width:31%!important;z-index:7!important;color:#ffc400!important;font-family:Impact,"Arial Black","Arial Narrow",sans-serif!important;font-style:italic!important;font-size:clamp(2rem,7.2vw,5.8rem)!important;line-height:.84!important;text-align:left!important;white-space:nowrap!important;text-shadow:0 3px 0 #8a3e00,0 0 9px #ff9d00,0 0 18px rgba(255,180,0,.8)!important}
.prototype-player-name{left:9%!important;right:9%!important;bottom:5.3%!important;height:27.2%!important;padding:0 2%!important;display:grid!important;grid-template-rows:20% 50% 30%!important;align-items:center!important;justify-items:center!important;overflow:hidden!important;z-index:8!important}
.prototype-player-name small{font-size:clamp(.62rem,1.65vw,1.32rem)!important;max-width:94%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.prototype-player-name strong{display:block!important;width:100%!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;font-size:clamp(1.25rem,4.55vw,3.55rem)!important;line-height:.84!important;letter-spacing:-.035em!important;transform:scaleX(.78)!important;transform-origin:center!important}
.prototype-player-name em{font-size:clamp(.48rem,1.15vw,.88rem)!important;max-width:88%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
/* Stronger surname fit for longer names — never wrap. */
.prototype-player-name.name-length-8 strong{font-size:clamp(1.15rem,4.2vw,3.25rem)!important}
.prototype-player-name.name-length-9 strong{font-size:clamp(1.08rem,3.9vw,3rem)!important}
.prototype-player-name.name-length-10 strong{font-size:clamp(1rem,3.6vw,2.78rem)!important}
.prototype-player-name.name-length-11 strong{font-size:clamp(.94rem,3.35vw,2.55rem)!important}
.prototype-player-name.name-length-12 strong{font-size:clamp(.88rem,3.1vw,2.35rem)!important}
.prototype-player-name.name-length-13 strong{font-size:clamp(.82rem,2.9vw,2.18rem)!important}
.prototype-player-name.name-length-14 strong{font-size:clamp(.76rem,2.7vw,2.02rem)!important}
.prototype-player-name.name-length-15 strong{font-size:clamp(.72rem,2.5vw,1.88rem)!important}
.prototype-player-name.name-length-16 strong,.prototype-player-name.name-length-17 strong,.prototype-player-name.name-length-18 strong,.prototype-player-name.name-length-19 strong,.prototype-player-name.name-length-20 strong{font-size:clamp(.65rem,2.25vw,1.7rem)!important}
/* Admin/public preview always shows the complete card. */
.player-preview-card,.public-style-player-preview{width:100%!important;max-width:360px!important;margin-inline:auto!important;padding:10px!important;overflow:visible!important}
.player-preview-card .prototype-player-frame,.public-style-player-preview .prototype-player-frame,.preview-ultimate-card.prototype-player-frame{width:min(100%,330px)!important;max-height:none!important;height:auto!important;margin:auto!important;object-fit:contain!important}
/* Restore one and only one centered active Team card. */
.page-team .team-roster-carousel .team-card-slide{position:absolute!important;left:50%!important;top:50%!important;width:clamp(210px,18vw,300px)!important;height:auto!important;aspect-ratio:2/3!important;transform:translate(-50%,-50%) translateX(calc(var(--roster-offset,0) * clamp(112px,13.5vw,172px))) scale(.72)!important;transform-origin:center!important;opacity:.32!important;z-index:calc(20 - var(--roster-offset,0))!important;transition:transform .45s ease,opacity .45s ease,filter .45s ease!important}
.page-team .team-roster-carousel .team-card-slide.is-neighbor{transform:translate(-50%,-50%) translateX(calc(var(--roster-offset,0) * clamp(112px,13.5vw,172px))) scale(.82)!important;opacity:.58!important;z-index:30!important}
.page-team .team-roster-carousel .team-card-slide.is-distance-2{opacity:.38!important;transform:translate(-50%,-50%) translateX(calc(var(--roster-offset,0) * clamp(112px,13.5vw,172px))) scale(.72)!important}
.page-team .team-roster-carousel .team-card-slide.is-distance-3{opacity:.22!important;transform:translate(-50%,-50%) translateX(calc(var(--roster-offset,0) * clamp(112px,13.5vw,172px))) scale(.64)!important}
.page-team .team-roster-carousel .team-card-slide.is-active{left:50%!important;top:50%!important;transform:translate(-50%,-50%) translateX(0) scale(1)!important;opacity:1!important;z-index:60!important;filter:none!important}
.page-team .team-roster-carousel .team-card-slide.is-active:hover{transform:translate(-50%,-50%) translateX(0) scale(1.025)!important}
.page-team .team-roster-carousel .team-card-slide.is-hidden-card{display:none!important}
@media(max-width:700px){
  .page-team .team-roster-carousel .team-card-slide{width:clamp(190px,58vw,255px)!important;transform:translate(-50%,-50%) translateX(calc(var(--roster-offset,0) * clamp(82px,24vw,118px))) scale(.68)!important}
  .page-team .team-roster-carousel .team-card-slide.is-neighbor{transform:translate(-50%,-50%) translateX(calc(var(--roster-offset,0) * clamp(82px,24vw,118px))) scale(.78)!important}
  .page-team .team-roster-carousel .team-card-slide.is-active{transform:translate(-50%,-50%) scale(1)!important}
  .prototype-player-number{font-size:clamp(1.9rem,16vw,4.8rem)!important}
  .prototype-player-name strong{font-size:clamp(1.05rem,9.5vw,2.7rem)!important}
}


/* ============================================================
   v172 — FINAL PLAYER CARD + PROFILE TEMPLATE SYNC
   ============================================================ */
/* Front card: maintain true 2:3 ratio and consistent layering everywhere. */
.prototype-player-frame,
.preview-ultimate-card.prototype-player-frame,
.player-preview-card .prototype-player-frame,
.public-style-player-preview .prototype-player-frame,
.ultimate-card-deck .prototype-player-frame{
  aspect-ratio:2/3!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.prototype-card-template{z-index:1!important}
.prototype-player-stage,
.preview-ultimate-cutout-stage.prototype-player-stage{
  z-index:2!important;
  top:8%!important;
  bottom:26.5%!important;
  left:5%!important;
  right:5%!important;
  overflow:visible!important;
}
.prototype-player-stage img,
.preview-ultimate-cutout-stage.prototype-player-stage img{
  object-fit:contain!important;
  object-position:center bottom!important;
  transform-origin:center bottom!important;
}
.prototype-player-name,
.preview-ultimate-name.prototype-player-name{
  z-index:5!important;
  left:7.2%!important;
  right:7.2%!important;
  width:auto!important;
  bottom:4.7%!important;
  height:27.5%!important;
  grid-template-rows:22% 48% 30%!important;
  overflow:hidden!important;
  text-align:center!important;
}
.prototype-player-number{
  z-index:6!important;
  top:5.2%!important;
  left:8.2%!important;
  width:22%!important;
  font-size:clamp(1.35rem,4.5vw,3.65rem)!important;
  line-height:.9!important;
}
.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name strong{
  width:100%!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:clamp(.92rem,3.35vw,2.55rem)!important;
  line-height:.88!important;
  letter-spacing:-.045em!important;
  transform:scaleX(.82)!important;
  transform-origin:center center!important;
}
.prototype-player-name.name-length-8 strong{font-size:clamp(.88rem,3.1vw,2.38rem)!important}
.prototype-player-name.name-length-9 strong{font-size:clamp(.84rem,2.95vw,2.24rem)!important}
.prototype-player-name.name-length-10 strong{font-size:clamp(.8rem,2.8vw,2.1rem)!important}
.prototype-player-name.name-length-11 strong{font-size:clamp(.75rem,2.62vw,1.95rem)!important}
.prototype-player-name.name-length-12 strong{font-size:clamp(.71rem,2.46vw,1.82rem)!important}
.prototype-player-name.name-length-13 strong{font-size:clamp(.67rem,2.3vw,1.7rem)!important}
.prototype-player-name.name-length-14 strong{font-size:clamp(.63rem,2.14vw,1.58rem)!important}
.prototype-player-name.name-length-15 strong{font-size:clamp(.59rem,2vw,1.47rem)!important}
.prototype-player-name.name-length-16 strong,
.prototype-player-name.name-length-17 strong,
.prototype-player-name.name-length-18 strong,
.prototype-player-name.name-length-19 strong,
.prototype-player-name.name-length-20 strong{font-size:clamp(.53rem,1.82vw,1.34rem)!important}
.prototype-player-name em,
.preview-ultimate-name.prototype-player-name em{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:86%!important;
  height:100%!important;
  margin:auto!important;
  text-align:center!important;
  white-space:nowrap!important;
  line-height:1!important;
}
/* Full-card previews must fit their panels without clipping. */
.live-card-preview .prototype-player-frame,
.visual-card.player-preview-card .prototype-player-frame,
.public-style-player-preview .prototype-player-frame{
  width:min(100%,320px)!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
}

/* Approved advanced profile-card template. */
.ultimate-profile-card.prototype-profile-frame{
  position:relative!important;
  width:min(430px,38vw)!important;
  aspect-ratio:2/3!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  overflow:hidden!important;
  background:#040006!important;
  box-shadow:0 0 22px rgba(255,45,164,.8),0 0 40px rgba(113,45,255,.55)!important;
  isolation:isolate!important;
}
.prototype-profile-template{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:contain!important;z-index:1!important;pointer-events:none!important;
}
.prototype-profile-number{
  position:absolute!important;z-index:3!important;top:4.6%!important;left:7.8%!important;width:20%!important;
  color:#ffc400!important;font-family:Impact,"Arial Black",sans-serif!important;font-style:italic!important;
  font-size:clamp(1.35rem,4.2vw,3.4rem)!important;line-height:.9!important;text-shadow:0 2px #8b3e00,0 0 10px #ff9d00!important;
}
.prototype-profile-position{
  position:absolute!important;z-index:3!important;top:13.1%!important;left:7.6%!important;width:23%!important;
  color:#ff3ea8!important;font-weight:900!important;font-style:italic!important;text-transform:uppercase!important;
  font-size:clamp(.48rem,1.25vw,.92rem)!important;white-space:nowrap!important;text-align:center!important;
}
.prototype-profile-name{
  position:absolute!important;z-index:3!important;left:9%!important;right:9%!important;top:17.5%!important;height:17.2%!important;
  display:grid!important;grid-template-rows:32% 68%!important;align-items:center!important;justify-items:center!important;overflow:hidden!important;
}
.prototype-profile-name small{color:#ffc400!important;font-weight:900!important;letter-spacing:.22em!important;text-transform:uppercase!important;font-size:clamp(.58rem,1.35vw,1rem)!important;white-space:nowrap!important}
.prototype-profile-name strong{color:#fff!important;font-family:Impact,"Arial Narrow",sans-serif!important;font-style:italic!important;text-transform:uppercase!important;font-size:clamp(1.2rem,3.8vw,3rem)!important;line-height:.88!important;white-space:nowrap!important;max-width:100%!important;transform:scaleX(.84)!important;text-shadow:0 3px #777,0 0 8px rgba(255,255,255,.35)!important}
.prototype-profile-values{
  position:absolute!important;z-index:3!important;left:39%!important;right:8.5%!important;top:41.3%!important;height:34.9%!important;
  display:grid!important;grid-template-rows:repeat(5,1fr)!important;align-items:center!important;
}
.prototype-profile-values b{color:#ffc400!important;font-weight:900!important;text-transform:uppercase!important;font-size:clamp(.55rem,1.25vw,.98rem)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.prototype-profile-quote{
  position:absolute!important;z-index:3!important;left:13%!important;right:13%!important;top:78.5%!important;margin:0!important;
  color:#ff3f9f!important;font-weight:900!important;font-style:italic!important;text-align:center!important;text-transform:uppercase!important;
  font-size:clamp(.5rem,1.15vw,.9rem)!important;line-height:1.45!important;max-height:10%!important;overflow:hidden!important;
}
.ultimate-profile-card.prototype-profile-frame:before,
.ultimate-profile-card.prototype-profile-frame:after{display:none!important}
@media(max-width:700px){
  .ultimate-profile-card.prototype-profile-frame{width:min(88vw,430px)!important}
  .prototype-player-number{font-size:clamp(1.25rem,12vw,3.25rem)!important}
  .prototype-player-name strong{font-size:clamp(.86rem,7.7vw,2.2rem)!important}
}

/* Website Graphics: natural document flow and non-overlapping action bar. */
body[data-page="graphics"] #content{height:auto!important;min-height:100%!important;overflow:visible!important;padding-bottom:140px!important}
body[data-page="graphics"] .graphics-preview-grid{position:relative!important;overflow:visible!important;align-items:start!important}
body[data-page="graphics"] .graphic-preview-item{position:relative!important;min-width:0!important;overflow:visible!important}
body[data-page="graphics"] .sticky-graphics-publish{position:sticky!important;bottom:0!important;z-index:20!important;margin-top:22px!important;background:#090d14!important}

/* ============================================================
   v172 — PLAYER CARD FINAL LAYERING + PROFILE ALIGNMENT
   ============================================================ */
/* Keep the player cutout behind a solid name/position plate. */
.prototype-player-stage,
.preview-ultimate-cutout-stage.prototype-player-stage{
  z-index:2!important;
}
.prototype-player-name,
.preview-ultimate-name.prototype-player-name{
  z-index:6!important;
  isolation:isolate!important;
  background:rgba(2,2,6,.96)!important;
  border:1px solid rgba(255,38,174,.55)!important;
  clip-path:polygon(8% 0,92% 0,100% 14%,100% 100%,0 100%,0 14%)!important;
}
.prototype-player-name::before,
.preview-ultimate-name.prototype-player-name::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:linear-gradient(180deg,rgba(6,4,10,.97),rgba(0,0,0,.99))!important;
}
.prototype-player-name small,
.prototype-player-name strong,
.prototype-player-name em,
.preview-ultimate-name.prototype-player-name small,
.preview-ultimate-name.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name em{
  position:relative!important;
  z-index:2!important;
}

/* Number should visually match the logo rather than dominate the card. */
.prototype-player-number{
  top:5.7%!important;
  left:8.7%!important;
  width:17%!important;
  font-size:clamp(1.05rem,3.15vw,2.55rem)!important;
  letter-spacing:-.03em!important;
}

/* Surname always stays on one line and leaves safe padding. */
.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name strong{
  width:94%!important;
  max-width:94%!important;
  margin:auto!important;
  font-size:clamp(.78rem,2.65vw,2.05rem)!important;
  letter-spacing:-.05em!important;
  transform:scaleX(.78)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.prototype-player-name.name-length-8 strong{font-size:clamp(.74rem,2.48vw,1.92rem)!important}
.prototype-player-name.name-length-9 strong{font-size:clamp(.70rem,2.32vw,1.80rem)!important}
.prototype-player-name.name-length-10 strong{font-size:clamp(.66rem,2.18vw,1.68rem)!important}
.prototype-player-name.name-length-11 strong{font-size:clamp(.62rem,2.04vw,1.56rem)!important}
.prototype-player-name.name-length-12 strong{font-size:clamp(.58rem,1.91vw,1.46rem)!important}
.prototype-player-name.name-length-13 strong{font-size:clamp(.54rem,1.79vw,1.36rem)!important}
.prototype-player-name.name-length-14 strong{font-size:clamp(.51rem,1.68vw,1.27rem)!important}
.prototype-player-name.name-length-15 strong{font-size:clamp(.48rem,1.58vw,1.19rem)!important}
.prototype-player-name.name-length-16 strong,
.prototype-player-name.name-length-17 strong,
.prototype-player-name.name-length-18 strong,
.prototype-player-name.name-length-19 strong,
.prototype-player-name.name-length-20 strong{font-size:clamp(.43rem,1.42vw,1.07rem)!important}

/* Position is centered in its dedicated lower row. */
.prototype-player-name em,
.preview-ultimate-name.prototype-player-name em{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:82%!important;
  margin:auto!important;
  padding:0!important;
  text-align:center!important;
  line-height:1!important;
}

/* Dedicated profile-template coordinates, measured against the 2:3 artwork. */
.prototype-profile-number{
  top:5.0%!important;
  left:8.0%!important;
  width:17%!important;
  font-size:clamp(1.0rem,3.05vw,2.45rem)!important;
}
.prototype-profile-position{
  top:13.0%!important;
  left:7.8%!important;
  width:21%!important;
  text-align:center!important;
}
.prototype-profile-name{
  left:10.5%!important;
  right:10.5%!important;
  top:25.2%!important;
  height:15.5%!important;
  grid-template-rows:34% 66%!important;
}
.prototype-profile-name strong{
  width:94%!important;
  max-width:94%!important;
  overflow:hidden!important;
  font-size:clamp(.92rem,2.85vw,2.25rem)!important;
  transform:scaleX(.80)!important;
}
.prototype-profile-values{
  left:58.0%!important;
  right:9.0%!important;
  top:44.1%!important;
  height:31.7%!important;
  grid-template-rows:repeat(5,1fr)!important;
  align-items:center!important;
}
.prototype-profile-values b{
  display:flex!important;
  align-items:center!important;
  height:100%!important;
  font-size:clamp(.48rem,1.05vw,.82rem)!important;
  line-height:1!important;
}
.prototype-profile-quote{
  left:15%!important;
  right:15%!important;
  top:78.7%!important;
  max-height:8.5%!important;
  font-size:clamp(.45rem,.95vw,.76rem)!important;
}

@media(max-width:700px){
  .prototype-player-number{font-size:clamp(.95rem,8vw,2.25rem)!important}
  .prototype-player-name strong{font-size:clamp(.72rem,5.7vw,1.72rem)!important}
  .prototype-profile-number{font-size:clamp(.95rem,7.5vw,2.2rem)!important}
  .prototype-profile-name strong{font-size:clamp(.78rem,6.2vw,1.85rem)!important}
}

/* ============================================================
   v172 — PLAYER WYSIWYG POSITION SYNC + PROFILE TEMPLATE TUNING
   ============================================================ */
/* The player position values now live on the card itself, so every context
   (Admin, carousel, preview site and popup clone) uses the same transform. */
.prototype-player-frame{
  --player-scale:1;
  --player-x:0%;
  --player-y:0%;
}

/* Clip the photo at the top edge of the baked name plate. The plate and all
   text remain above the player in every rendering context. */
.prototype-player-stage,
.preview-ultimate-cutout-stage.prototype-player-stage{
  top:5.2%!important;
  bottom:30.0%!important;
  overflow:hidden!important;
  z-index:2!important;
}
.prototype-player-stage .ultimate-player-photo,
.prototype-player-stage .preview-ultimate-photo{
  z-index:2!important;
}
.prototype-player-name,
.preview-ultimate-name.prototype-player-name{
  z-index:12!important;
  background:#030207!important;
  overflow:hidden!important;
}
.prototype-player-name::before,
.preview-ultimate-name.prototype-player-name::before{
  z-index:0!important;
  background:#030207!important;
  opacity:1!important;
}

/* Smaller number, matching the logo's visual weight. */
.prototype-player-number{
  top:6.0%!important;
  left:8.7%!important;
  width:15.5%!important;
  font-size:clamp(.88rem,2.55vw,2.05rem)!important;
  line-height:.88!important;
}

/* A wider safe zone and more conservative surname sizing. Never wrap. */
.prototype-player-name,
.preview-ultimate-name.prototype-player-name{
  left:7.3%!important;
  right:7.3%!important;
  width:auto!important;
}
.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name strong{
  width:98%!important;
  max-width:98%!important;
  font-size:clamp(.66rem,2.05vw,1.58rem)!important;
  transform:scaleX(.72)!important;
  transform-origin:center!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow:hidden!important;
}
.prototype-player-name.name-length-8 strong{font-size:clamp(.63rem,1.98vw,1.52rem)!important}
.prototype-player-name.name-length-9 strong{font-size:clamp(.60rem,1.88vw,1.44rem)!important}
.prototype-player-name.name-length-10 strong{font-size:clamp(.57rem,1.78vw,1.36rem)!important}
.prototype-player-name.name-length-11 strong{font-size:clamp(.54rem,1.68vw,1.28rem)!important}
.prototype-player-name.name-length-12 strong{font-size:clamp(.51rem,1.58vw,1.20rem)!important}
.prototype-player-name.name-length-13 strong{font-size:clamp(.48rem,1.48vw,1.13rem)!important}
.prototype-player-name.name-length-14 strong{font-size:clamp(.45rem,1.39vw,1.06rem)!important}
.prototype-player-name.name-length-15 strong{font-size:clamp(.42rem,1.30vw,.99rem)!important}
.prototype-player-name.name-length-16 strong,
.prototype-player-name.name-length-17 strong,
.prototype-player-name.name-length-18 strong,
.prototype-player-name.name-length-19 strong,
.prototype-player-name.name-length-20 strong{font-size:clamp(.37rem,1.16vw,.88rem)!important}
.prototype-player-name em,
.preview-ultimate-name.prototype-player-name em{
  justify-self:center!important;
  align-self:center!important;
  width:78%!important;
  max-width:78%!important;
  min-width:0!important;
  text-align:center!important;
}

/* Profile template coordinates measured from the approved 1024x1536 artwork. */
.prototype-profile-number{
  top:4.6%!important;
  left:7.5%!important;
  width:17.5%!important;
  font-size:clamp(.88rem,2.55vw,2.05rem)!important;
}
.prototype-profile-position{
  top:12.3%!important;
  left:7.4%!important;
  width:22%!important;
  font-size:clamp(.42rem,1vw,.76rem)!important;
  text-align:left!important;
}
.prototype-profile-name{
  left:10.2%!important;
  right:10.2%!important;
  top:17.2%!important;
  height:19.0%!important;
  grid-template-rows:35% 65%!important;
}
.prototype-profile-name small{
  align-self:end!important;
  font-size:clamp(.48rem,1.08vw,.82rem)!important;
}
.prototype-profile-name strong{
  align-self:start!important;
  width:96%!important;
  max-width:96%!important;
  font-size:clamp(.78rem,2.15vw,1.66rem)!important;
  transform:scaleX(.76)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.prototype-profile-values{
  left:57.2%!important;
  right:8.8%!important;
  top:42.55%!important;
  height:34.15%!important;
  display:grid!important;
  grid-template-rows:repeat(5,20%)!important;
}
.prototype-profile-values b{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0!important;
  line-height:1!important;
  font-size:clamp(.44rem,.94vw,.72rem)!important;
}
.prototype-profile-quote{
  top:78.0%!important;
  left:14%!important;
  right:14%!important;
  font-size:clamp(.40rem,.82vw,.65rem)!important;
  line-height:1.25!important;
}

/* Popup and Admin cards must keep exactly the same internal geometry. */
.ultimate-card-deck .prototype-player-frame,
.live-card-preview .prototype-player-frame,
.visual-card.player-preview-card .prototype-player-frame,
.public-style-player-preview .prototype-player-frame{
  aspect-ratio:2/3!important;
}

@media(max-width:700px){
  .prototype-player-number{font-size:clamp(.82rem,6.4vw,1.85rem)!important}
  .prototype-player-name strong{font-size:clamp(.60rem,4.8vw,1.42rem)!important}
  .prototype-profile-number{font-size:clamp(.82rem,6.2vw,1.82rem)!important}
  .prototype-profile-name strong{font-size:clamp(.70rem,5.2vw,1.55rem)!important}
}

/* ============================================================
   V172 — FINAL PLAYER CARD CONSISTENCY, NAME FIT & PROFILE ALIGNMENT
   ============================================================ */
/* The old carousel rule targeted every image with object-fit:cover. These
   selectors are intentionally more specific so only the complete card is
   scaled by the carousel; the transparent player remains contain-positioned. */
.page-team .team-roster-carousel .team-card-slide .prototype-player-frame .prototype-player-stage,
.page-team .team-roster-carousel .team-card-slide .prototype-player-frame .ultimate-player-cutout-stage{
  top:5.2%!important;
  bottom:30%!important;
  left:5%!important;
  right:5%!important;
  width:auto!important;
  height:auto!important;
  overflow:hidden!important;
}
.page-team .team-roster-carousel .team-card-slide .prototype-player-frame .prototype-player-stage img,
.page-team .team-roster-carousel .team-card-slide .prototype-player-frame .ultimate-player-cutout-stage img,
.page-team .team-roster-carousel .team-card-slide .prototype-player-frame img.ultimate-player-photo,
.page-team .team-roster-carousel .team-card-slide .prototype-player-frame img.generated-player-photo{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  border-radius:0!important;
  transform:translate(var(--player-x,0%),var(--player-y,0%)) scale(var(--player-scale,1))!important;
  transform-origin:center bottom!important;
  z-index:2!important;
}
/* Do not allow carousel-specific image styling to alter the template layer. */
.page-team .team-roster-carousel .team-card-slide .prototype-player-frame > img.prototype-card-template{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  border-radius:0!important;
  transform:none!important;
}

/* True one-line names: no wrapping, clipping, or ellipsis. JavaScript applies
   an exact inline font size after measuring the available safe area. */
.prototype-player-name small,
.preview-ultimate-name.prototype-player-name small,
.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name strong,
.prototype-profile-name small,
.prototype-profile-name strong{
  display:block!important;
  width:94%!important;
  max-width:94%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  -webkit-line-clamp:unset!important;
}
.prototype-player-name small,
.preview-ultimate-name.prototype-player-name small{
  font-size:clamp(.48rem,1.18vw,.94rem)!important;
  letter-spacing:.16em!important;
}
.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name strong{
  font-size:clamp(.48rem,1.48vw,1.14rem)!important;
  letter-spacing:-.035em!important;
  transform:none!important;
}
.prototype-player-name em,
.preview-ultimate-name.prototype-player-name em{
  width:72%!important;
  max-width:72%!important;
  font-size:clamp(.42rem,.94vw,.72rem)!important;
  text-overflow:clip!important;
  overflow:hidden!important;
}
/* Keep the photo below the opaque baked-name overlay in every context. */
.prototype-player-stage,
.preview-ultimate-cutout-stage.prototype-player-stage{z-index:2!important}
.prototype-player-name,
.preview-ultimate-name.prototype-player-name{z-index:20!important;background:#030207!important}

/* Approved profile-card artwork coordinates (1024 x 1536). */
.ultimate-profile-card.prototype-profile-frame{
  aspect-ratio:2/3!important;
  overflow:hidden!important;
}
.prototype-profile-number{
  top:4.4%!important;
  left:7.0%!important;
  width:19%!important;
  font-size:clamp(.78rem,2.05vw,1.62rem)!important;
  text-align:left!important;
}
.prototype-profile-position{
  top:14.7%!important;
  left:7.3%!important;
  width:27%!important;
  font-size:clamp(.38rem,.78vw,.62rem)!important;
  text-align:left!important;
}
.prototype-profile-name{
  position:absolute!important;
  left:9.5%!important;
  right:9.5%!important;
  top:20.8%!important;
  height:18.0%!important;
  display:grid!important;
  grid-template-rows:36% 64%!important;
  align-items:center!important;
  text-align:center!important;
}
.prototype-profile-name small{
  align-self:end!important;
  font-size:clamp(.46rem,1.04vw,.80rem)!important;
  letter-spacing:.20em!important;
}
.prototype-profile-name strong{
  align-self:start!important;
  font-size:clamp(.76rem,2.35vw,1.82rem)!important;
  line-height:.9!important;
  transform:none!important;
}
.prototype-profile-values{
  position:absolute!important;
  left:56.0%!important;
  right:8.5%!important;
  top:43.0%!important;
  height:33.2%!important;
  display:grid!important;
  grid-template-rows:repeat(5,20%)!important;
  align-items:stretch!important;
}
.prototype-profile-values b{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0!important;
  font-size:clamp(.40rem,.82vw,.64rem)!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.prototype-profile-quote{
  top:79.0%!important;
  left:14%!important;
  right:14%!important;
  width:auto!important;
  max-height:7.8%!important;
  font-size:clamp(.38rem,.74vw,.58rem)!important;
  line-height:1.2!important;
  text-align:center!important;
}

@media(max-width:700px){
  .prototype-player-name small{font-size:clamp(.42rem,3.5vw,.78rem)!important}
  .prototype-player-name strong{font-size:clamp(.44rem,4.2vw,.94rem)!important}
  .prototype-profile-name strong{font-size:clamp(.68rem,5.3vw,1.48rem)!important}
}

/* ============================================================
   V172 — PROFILE CARD ALIGNMENT + CLEAN POSITION LABEL
   Scope: profile overlay coordinates and removal of the extra
   position badge border. Front-card photo geometry is unchanged.
   ============================================================ */

/* The template already contains decorative lines around the position.
   Keep only centered text—no extra badge, border, fill, or clipping shape. */
.prototype-player-name em,
.preview-ultimate-name.prototype-player-name em{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  width:88%!important;
  max-width:88%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  clip-path:none!important;
  border-radius:0!important;
  color:#ffc400!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* Profile card overlay coordinates calibrated to the approved
   1024 × 1536 player-profile-card-template.png artwork. */
.ultimate-profile-card.prototype-profile-frame{
  aspect-ratio:2/3!important;
}
.prototype-profile-number{
  top:5.15%!important;
  left:7.25%!important;
  width:17.5%!important;
  font-size:clamp(.72rem,1.82vw,1.44rem)!important;
  line-height:.88!important;
  text-align:left!important;
}
.prototype-profile-position{
  top:15.65%!important;
  left:7.35%!important;
  width:25%!important;
  font-size:clamp(.36rem,.72vw,.57rem)!important;
  line-height:1!important;
  text-align:left!important;
}
.prototype-profile-name{
  left:10.0%!important;
  right:10.0%!important;
  top:22.7%!important;
  height:14.7%!important;
  display:grid!important;
  grid-template-rows:34% 66%!important;
  align-items:center!important;
  justify-items:center!important;
  overflow:hidden!important;
}
.prototype-profile-name small{
  align-self:end!important;
  width:94%!important;
  max-width:94%!important;
  font-size:clamp(.43rem,.94vw,.72rem)!important;
  line-height:1!important;
  letter-spacing:.19em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  text-align:center!important;
}
.prototype-profile-name strong{
  align-self:start!important;
  width:96%!important;
  max-width:96%!important;
  font-size:clamp(.70rem,1.88vw,1.46rem)!important;
  line-height:.90!important;
  transform:scaleX(.76)!important;
  transform-origin:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  text-align:center!important;
}

/* Place every value on its printed row baseline rather than relying on
   inherited grid spacing. */
.prototype-profile-values{
  position:absolute!important;
  left:57.0%!important;
  right:8.7%!important;
  top:0!important;
  height:100%!important;
  display:block!important;
  pointer-events:none!important;
}
.prototype-profile-values b{
  position:absolute!important;
  left:0!important;
  right:0!important;
  height:3.5%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0!important;
  color:#ffc400!important;
  font-size:clamp(.40rem,.84vw,.65rem)!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.prototype-profile-values b:nth-child(1){top:44.75%!important}
.prototype-profile-values b:nth-child(2){top:51.70%!important}
.prototype-profile-values b:nth-child(3){top:58.65%!important}
.prototype-profile-values b:nth-child(4){top:65.60%!important}
.prototype-profile-values b:nth-child(5){top:72.55%!important}
.prototype-profile-quote{
  top:80.55%!important;
  left:14%!important;
  right:14%!important;
  max-height:6.4%!important;
  margin:0!important;
  font-size:clamp(.36rem,.72vw,.56rem)!important;
  line-height:1.18!important;
  text-align:center!important;
  overflow:hidden!important;
}

@media(max-width:700px){
  .prototype-profile-number{font-size:clamp(.68rem,5.3vw,1.30rem)!important}
  .prototype-profile-position{font-size:clamp(.34rem,2.4vw,.54rem)!important}
  .prototype-profile-name small{font-size:clamp(.40rem,3.1vw,.67rem)!important}
  .prototype-profile-name strong{font-size:clamp(.64rem,5.5vw,1.30rem)!important}
  .prototype-profile-values b{font-size:clamp(.37rem,2.7vw,.59rem)!important}
  .prototype-profile-quote{font-size:clamp(.33rem,2.35vw,.51rem)!important}
}

/* ============================================================
   V172 — EXACT POPUP FRONT CARD + FINAL PROFILE TEMPLATE ALIGNMENT
   ============================================================ */
/* The popup front card is a clone of the completed carousel card. Keep all
   internal measurements unchanged so text and photo placement are identical. */
.ultimate-card-deck .popup-exact-front-card{
  aspect-ratio:2/3!important;
  flex:none!important;
  overflow:hidden!important;
}
.ultimate-card-deck .popup-exact-front-card .prototype-player-stage img{
  object-fit:contain!important;
  object-position:center bottom!important;
}

/* Profile overlay coordinates matched to the approved 1024×1536 template.
   All positions are percentages, so the result remains aligned at any size. */
.ultimate-profile-card.prototype-profile-frame .prototype-profile-number{
  top:4.2%!important;
  left:7.0%!important;
  width:22%!important;
  font-size:clamp(1.35rem,4.15vw,3.25rem)!important;
  line-height:.88!important;
  text-align:left!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-position{
  top:15.0%!important;
  left:7.2%!important;
  width:28%!important;
  font-size:clamp(.48rem,1.15vw,.88rem)!important;
  line-height:1!important;
  text-align:left!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name{
  left:10.0%!important;
  right:10.0%!important;
  top:22.0%!important;
  height:16.2%!important;
  display:grid!important;
  grid-template-rows:32% 68%!important;
  align-items:center!important;
  justify-items:center!important;
  overflow:hidden!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small{
  align-self:end!important;
  width:94%!important;
  max-width:94%!important;
  font-size:clamp(.58rem,1.34vw,1.02rem)!important;
  line-height:1!important;
  letter-spacing:.20em!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  align-self:start!important;
  width:96%!important;
  max-width:96%!important;
  font-size:clamp(1.05rem,3.05vw,2.38rem)!important;
  line-height:.88!important;
  transform:scaleX(.82)!important;
  transform-origin:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values{
  position:absolute!important;
  left:56.8%!important;
  right:8.5%!important;
  top:0!important;
  height:100%!important;
  display:block!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b{
  position:absolute!important;
  left:0!important;
  right:0!important;
  height:3.8%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0!important;
  font-size:clamp(.48rem,1.08vw,.82rem)!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1){top:44.1%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2){top:51.0%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3){top:57.9%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4){top:64.8%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5){top:71.7%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-quote{
  top:81.4%!important;
  left:13%!important;
  right:13%!important;
  width:auto!important;
  max-height:7.2%!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:clamp(.43rem,.94vw,.72rem)!important;
  line-height:1.22!important;
  text-align:center!important;
  overflow:hidden!important;
}

@media(max-width:700px){
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-number{font-size:clamp(1.18rem,9.3vw,2.8rem)!important}
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-position{font-size:clamp(.44rem,3vw,.78rem)!important}
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name small{font-size:clamp(.52rem,3.6vw,.90rem)!important}
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{font-size:clamp(.92rem,7.1vw,2.0rem)!important}
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b{font-size:clamp(.43rem,3vw,.72rem)!important}
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-quote{font-size:clamp(.39rem,2.7vw,.64rem)!important}
}

/* ============================================================
   V174 — CLEAN PROTOTYPE FRONT CARD (NO EXTRA NAME MASK)
   ============================================================ */
/* The approved PNG already contains the lower name/position artwork. The
   website must not draw an additional black panel over that artwork. */
.prototype-player-name,
.preview-ultimate-name.prototype-player-name,
.team-roster-carousel .prototype-player-name,
.ultimate-card-deck .prototype-player-name,
.popup-exact-front-card .prototype-player-name{
  z-index:6!important;
  left:8.2%!important;
  right:8.2%!important;
  bottom:5.8%!important;
  height:28.5%!important;
  padding:0 3%!important;
  display:grid!important;
  grid-template-rows:24% 49% 27%!important;
  align-items:center!important;
  justify-items:center!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  clip-path:none!important;
  border-radius:0!important;
  overflow:visible!important;
}
.prototype-player-name::before,
.preview-ultimate-name.prototype-player-name::before,
.team-roster-carousel .prototype-player-name::before,
.ultimate-card-deck .prototype-player-name::before,
.popup-exact-front-card .prototype-player-name::before{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
/* Stop the cutout at the top of the artwork's built-in lower panel. This
   keeps the player behind the panel without adding a replacement mask. */
.prototype-player-stage,
.preview-ultimate-cutout-stage.prototype-player-stage,
.team-roster-carousel .prototype-player-stage,
.ultimate-card-deck .prototype-player-stage,
.popup-exact-front-card .prototype-player-stage{
  bottom:32.4%!important;
  overflow:visible!important;
  z-index:2!important;
}
.prototype-card-template{z-index:1!important}
.prototype-player-number{z-index:7!important}
.prototype-player-name small,
.preview-ultimate-name.prototype-player-name small{
  align-self:end!important;
  width:96%!important;
  max-width:96%!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name strong{
  align-self:center!important;
  width:98%!important;
  max-width:98%!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
/* Use only the decorative position area that is already printed in the
   template. No generated pill, box, border or background. */
.prototype-player-name em,
.preview-ultimate-name.prototype-player-name em,
.team-roster-carousel .prototype-player-name em,
.ultimate-card-deck .prototype-player-name em,
.popup-exact-front-card .prototype-player-name em{
  align-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:86%!important;
  max-width:86%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;
  color:#ffc400!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  clip-path:none!important;
  border-radius:0!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
/* Prevent older popup copied styles from restoring the mask. */
.ultimate-card-deck .popup-exact-front-card .prototype-player-name{
  background:transparent!important;
  clip-path:none!important;
}
@media(max-width:700px){
  .prototype-player-name,
  .preview-ultimate-name.prototype-player-name{
    bottom:5.8%!important;
    height:28.5%!important;
    grid-template-rows:24% 49% 27%!important;
  }
  .prototype-player-stage,
  .preview-ultimate-cutout-stage.prototype-player-stage{
    bottom:32.4%!important;
  }
}

/* ============================================================
   V174 — UNIFIED FRONT/POPUP TYPOGRAPHY + PROFILE COORDINATE MAP
   ============================================================ */
/* Every card now scales from the card itself rather than viewport units. */
.prototype-player-frame,
.ultimate-profile-card.prototype-profile-frame{
  container-type:inline-size!important;
}

/* FRONT CARD — use the artwork's built-in lower panel. */
.prototype-player-number{
  top:5.0%!important;
  left:7.0%!important;
  width:19%!important;
  height:auto!important;
  font-size:11.2cqw!important;
  line-height:.86!important;
  letter-spacing:-.04em!important;
  text-align:left!important;
  transform:none!important;
}
.prototype-player-name,
.preview-ultimate-name.prototype-player-name,
.team-roster-carousel .prototype-player-name,
.ultimate-card-deck .prototype-player-name,
.popup-exact-front-card .prototype-player-name{
  left:8.0%!important;
  right:8.0%!important;
  bottom:5.0%!important;
  height:29.0%!important;
  grid-template-rows:27% 45% 28%!important;
  padding:0 2.5%!important;
  background:transparent!important;
  clip-path:none!important;
  overflow:visible!important;
}
.prototype-player-name small,
.preview-ultimate-name.prototype-player-name small{
  width:96%!important;
  max-width:96%!important;
  font-size:5.3cqw!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  transform:none!important;
}
.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name strong{
  width:99%!important;
  max-width:99%!important;
  font-size:8.2cqw!important;
  line-height:.90!important;
  letter-spacing:-.035em!important;
  transform:scaleX(.92)!important;
  transform-origin:center!important;
}
.prototype-player-name em,
.preview-ultimate-name.prototype-player-name em,
.team-roster-carousel .prototype-player-name em,
.ultimate-card-deck .prototype-player-name em,
.popup-exact-front-card .prototype-player-name em{
  width:78%!important;
  max-width:78%!important;
  font-size:4.2cqw!important;
  line-height:1!important;
  letter-spacing:.13em!important;
  transform:none!important;
  color:#ffc400!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
/* The cutout stops at the baked panel edge and never changes in popup/mobile. */
.prototype-player-stage,
.preview-ultimate-cutout-stage.prototype-player-stage,
.team-roster-carousel .prototype-player-stage,
.ultimate-card-deck .prototype-player-stage,
.popup-exact-front-card .prototype-player-stage{
  top:5.2%!important;
  left:5%!important;
  right:5%!important;
  bottom:32.8%!important;
  width:auto!important;
  height:auto!important;
  overflow:hidden!important;
}
.prototype-player-stage .ultimate-player-photo,
.prototype-player-stage .preview-ultimate-photo,
.team-roster-carousel .prototype-player-stage img,
.popup-exact-front-card .prototype-player-stage img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translate(var(--player-x,0%),var(--player-y,0%)) scale(var(--player-scale,1))!important;
  transform-origin:center bottom!important;
}

/* PROFILE CARD — exact overlay map for the approved 1024×1536 artwork. */
.ultimate-profile-card.prototype-profile-frame .prototype-profile-number{
  top:4.5%!important;
  left:7.1%!important;
  width:18.5%!important;
  font-size:11.3cqw!important;
  line-height:.86!important;
  letter-spacing:-.04em!important;
  text-align:left!important;
  transform:none!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-position{
  top:14.0%!important;
  left:7.3%!important;
  width:21%!important;
  font-size:4.1cqw!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-align:left!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name{
  position:absolute!important;
  top:17.0%!important;
  left:10.5%!important;
  right:10.5%!important;
  height:14.5%!important;
  display:grid!important;
  grid-template-rows:38% 62%!important;
  align-items:center!important;
  justify-items:center!important;
  overflow:visible!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small{
  align-self:end!important;
  width:94%!important;
  max-width:94%!important;
  font-size:4.4cqw!important;
  line-height:1!important;
  letter-spacing:.20em!important;
  text-align:center!important;
  transform:none!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  align-self:start!important;
  width:98%!important;
  max-width:98%!important;
  font-size:8.0cqw!important;
  line-height:.88!important;
  letter-spacing:-.035em!important;
  transform:scaleX(.90)!important;
  transform-origin:center!important;
  text-align:center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values{
  position:absolute!important;
  inset:0!important;
  display:block!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b{
  position:absolute!important;
  left:56.5%!important;
  right:8.5%!important;
  height:4.0%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0!important;
  font-size:3.2cqw!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1){top:43.9%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2){top:50.8%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3){top:57.7%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4){top:64.6%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5){top:71.5%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-quote{
  position:absolute!important;
  top:80.6%!important;
  left:14%!important;
  right:14%!important;
  height:6.2%!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:3.0cqw!important;
  line-height:1.18!important;
  text-align:center!important;
  overflow:hidden!important;
}

/* Popup front card must remain an exact proportional copy of the carousel card. */
.ultimate-card-deck .popup-exact-front-card{
  width:min(430px,86vw)!important;
  aspect-ratio:2/3!important;
}
.ultimate-card-deck .popup-exact-front-card .prototype-player-name,
.ultimate-card-deck .popup-exact-front-card .prototype-player-number,
.ultimate-card-deck .popup-exact-front-card .prototype-player-stage{
  box-sizing:border-box!important;
}

/* ============================================================
   V175 — PROTOTYPE-FIDELITY PLAYER + PROFILE CARDS
   The approved PNG artwork is the coordinate system. Every view scales the
   complete card; no view independently rebuilds the photo or typography.
   ============================================================ */
.prototype-player-frame,
.ultimate-profile-card.prototype-profile-frame{
  container-type:inline-size!important;
}

/* FRONT CARD — exact artwork zones */
.prototype-player-number{
  top:4.15%!important;
  left:6.2%!important;
  width:22%!important;
  font-size:13.25cqw!important;
  line-height:.86!important;
  letter-spacing:-.055em!important;
  text-align:left!important;
}
.prototype-player-stage,
.preview-ultimate-cutout-stage.prototype-player-stage,
.team-roster-carousel .prototype-player-stage,
.ultimate-card-deck .prototype-player-stage,
.popup-exact-front-card .prototype-player-stage{
  left:5.5%!important;
  right:5.5%!important;
  top:5.5%!important;
  bottom:33.0%!important;
  height:auto!important;
  overflow:visible!important;
  z-index:3!important;
}
.prototype-player-stage .ultimate-player-photo,
.prototype-player-stage .preview-ultimate-photo{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translate(var(--player-x,0),var(--player-y,0)) scale(var(--player-scale,1))!important;
  transform-origin:center bottom!important;
}
.prototype-player-name,
.preview-ultimate-name.prototype-player-name,
.team-roster-carousel .prototype-player-name,
.ultimate-card-deck .prototype-player-name,
.popup-exact-front-card .prototype-player-name{
  left:8.0%!important;
  right:8.0%!important;
  bottom:5.7%!important;
  height:27.2%!important;
  padding:0 1.2%!important;
  grid-template-rows:24% 51% 25%!important;
  overflow:hidden!important;
}
.prototype-player-name small{
  width:96%!important;
  align-self:end!important;
  font-size:5.55cqw!important;
  line-height:.95!important;
  letter-spacing:.17em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.prototype-player-name strong{
  width:100%!important;
  max-width:100%!important;
  align-self:center!important;
  font-size:14.8cqw!important;
  line-height:.82!important;
  letter-spacing:-.045em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  transform:scaleX(.94)!important;
  transform-origin:center!important;
}
/* Longer surnames retain one line while still filling the prototype zone. */
.prototype-player-name.name-length-8 strong{font-size:13.4cqw!important}
.prototype-player-name.name-length-9 strong{font-size:12.5cqw!important}
.prototype-player-name.name-length-10 strong{font-size:11.7cqw!important}
.prototype-player-name.name-length-11 strong{font-size:10.9cqw!important}
.prototype-player-name.name-length-12 strong{font-size:10.1cqw!important}
.prototype-player-name.name-length-13 strong{font-size:9.45cqw!important}
.prototype-player-name.name-length-14 strong{font-size:8.85cqw!important}
.prototype-player-name.name-length-15 strong,
.prototype-player-name.name-length-16 strong,
.prototype-player-name.name-length-17 strong,
.prototype-player-name.name-length-18 strong,
.prototype-player-name.name-length-19 strong,
.prototype-player-name.name-length-20 strong{font-size:8.15cqw!important}
.prototype-player-name em{
  width:78%!important;
  align-self:center!important;
  font-size:4.85cqw!important;
  line-height:1!important;
  letter-spacing:.15em!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}

/* The popup is literally the completed front card enlarged. */
.ultimate-card-deck .popup-exact-front-card{
  width:min(88vw,520px)!important;
  max-width:520px!important;
  aspect-ratio:2/3!important;
}

/* PROFILE CARD — coordinates measured against approved 1024 × 1536 art. */
.ultimate-profile-card.prototype-profile-frame .prototype-profile-number{
  top:4.7%!important;
  left:7.0%!important;
  width:23%!important;
  font-size:13.1cqw!important;
  line-height:.86!important;
  letter-spacing:-.055em!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-position{
  top:15.65%!important;
  left:7.3%!important;
  width:31%!important;
  font-size:4.3cqw!important;
  line-height:1!important;
  letter-spacing:.08em!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name{
  left:10.5%!important;
  right:10.5%!important;
  top:22.1%!important;
  height:14.9%!important;
  display:grid!important;
  grid-template-rows:35% 65%!important;
  align-items:center!important;
  justify-items:center!important;
  overflow:hidden!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small{
  align-self:end!important;
  width:96%!important;
  font-size:5.45cqw!important;
  line-height:.95!important;
  letter-spacing:.19em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  align-self:start!important;
  width:100%!important;
  max-width:100%!important;
  font-size:13.9cqw!important;
  line-height:.82!important;
  letter-spacing:-.045em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  transform:scaleX(.92)!important;
  transform-origin:center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values{
  position:absolute!important;
  inset:0!important;
  display:block!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b{
  position:absolute!important;
  left:58.0%!important;
  right:8.0%!important;
  height:4.0%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0!important;
  font-size:4.45cqw!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1){top:44.05%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2){top:51.0%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3){top:57.95%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4){top:64.90%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5){top:71.85%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-quote{
  top:79.65%!important;
  left:13.5%!important;
  right:13.5%!important;
  height:7.0%!important;
  max-height:7.0%!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  font-size:4.05cqw!important;
  line-height:1.15!important;
  letter-spacing:.05em!important;
  text-align:center!important;
  overflow:hidden!important;
}

/* Keep desktop, mobile, admin preview, website preview and public popup on the
   same geometry. Only the complete card width changes. */
@media(max-width:700px){
  .ultimate-card-deck .popup-exact-front-card,
  .ultimate-profile-card.prototype-profile-frame{width:min(91vw,520px)!important}
}

/* ============================================================
   V177 — FINAL PROTOTYPE PROPORTION CALIBRATION
   Calibrated directly against the approved populated front/profile cards.
   The template PNG remains the background; only player data is layered above it.
   ============================================================ */

/* FRONT CARD: stronger prototype hierarchy and full use of lower name panel. */
.prototype-player-number,
.preview-ultimate-card .prototype-player-number,
.team-roster-carousel .prototype-player-number,
.popup-exact-front-card .prototype-player-number{
  top:4.05%!important;
  left:6.15%!important;
  width:23.5%!important;
  font-size:15.35cqw!important;
  line-height:.84!important;
  letter-spacing:-.06em!important;
}

.prototype-player-name,
.preview-ultimate-name.prototype-player-name,
.team-roster-carousel .prototype-player-name,
.popup-exact-front-card .prototype-player-name{
  left:7.35%!important;
  right:7.35%!important;
  bottom:5.45%!important;
  height:28.05%!important;
  padding:0 1%!important;
  grid-template-rows:23% 53% 24%!important;
}
.prototype-player-name small{
  align-self:end!important;
  font-size:6.55cqw!important;
  line-height:.92!important;
  letter-spacing:.175em!important;
}
.prototype-player-name strong{
  align-self:center!important;
  font-size:17.0cqw!important;
  line-height:.80!important;
  letter-spacing:-.052em!important;
  transform:scaleX(.96)!important;
}
.prototype-player-name.name-length-8 strong{font-size:15.3cqw!important}
.prototype-player-name.name-length-9 strong{font-size:14.3cqw!important}
.prototype-player-name.name-length-10 strong{font-size:13.3cqw!important}
.prototype-player-name.name-length-11 strong{font-size:12.3cqw!important}
.prototype-player-name.name-length-12 strong{font-size:11.5cqw!important}
.prototype-player-name.name-length-13 strong{font-size:10.75cqw!important}
.prototype-player-name.name-length-14 strong{font-size:10.05cqw!important}
.prototype-player-name.name-length-15 strong,
.prototype-player-name.name-length-16 strong,
.prototype-player-name.name-length-17 strong,
.prototype-player-name.name-length-18 strong,
.prototype-player-name.name-length-19 strong,
.prototype-player-name.name-length-20 strong{font-size:9.35cqw!important}
.prototype-player-name em{
  align-self:center!important;
  width:82%!important;
  font-size:5.75cqw!important;
  line-height:.96!important;
  letter-spacing:.17em!important;
}

/* The player remains behind the complete lower information panel in every view. */
.prototype-player-stage,
.preview-ultimate-cutout-stage.prototype-player-stage,
.team-roster-carousel .prototype-player-stage,
.popup-exact-front-card .prototype-player-stage{
  z-index:2!important;
}
.prototype-player-name,
.preview-ultimate-name.prototype-player-name,
.team-roster-carousel .prototype-player-name,
.popup-exact-front-card .prototype-player-name{
  z-index:5!important;
}
.prototype-card-template{z-index:1!important}

/* PROFILE CARD: match the populated prototype's large top identity block. */
.ultimate-profile-card.prototype-profile-frame .prototype-profile-number{
  top:4.25%!important;
  left:6.4%!important;
  width:25%!important;
  font-size:16.4cqw!important;
  line-height:.83!important;
  letter-spacing:-.06em!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-position{
  top:14.55%!important;
  left:7.15%!important;
  width:32%!important;
  font-size:4.85cqw!important;
  line-height:1!important;
  letter-spacing:.09em!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name{
  left:9.0%!important;
  right:9.0%!important;
  top:22.75%!important;
  height:14.1%!important;
  grid-template-rows:34% 66%!important;
  overflow:visible!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small{
  align-self:end!important;
  width:97%!important;
  font-size:5.8cqw!important;
  line-height:.92!important;
  letter-spacing:.20em!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  align-self:start!important;
  width:100%!important;
  font-size:12.35cqw!important;
  line-height:.80!important;
  letter-spacing:-.045em!important;
  transform:scaleX(.94)!important;
}

/* Profile value column: one identical baseline per printed template row. */
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b{
  left:57.0%!important;
  right:8.3%!important;
  height:4.2%!important;
  font-size:4.0cqw!important;
  align-items:center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1){top:43.55%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2){top:50.45%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3){top:57.35%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4){top:64.25%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5){top:71.15%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-quote{
  top:80.45%!important;
  left:12.5%!important;
  right:12.5%!important;
  height:6.2%!important;
  font-size:3.7cqw!important;
  line-height:1.1!important;
}

/* Admin preview and popup use exactly the same proportional canvas. */
.public-style-player-preview .prototype-player-frame,
.ultimate-card-deck .popup-exact-front-card{
  aspect-ratio:2/3!important;
}


/* ============================================================
   V177 — EQUAL-HEIGHT NAME FITTING + PROFILE ROW ALIGNMENT
   Long names keep the same vertical letter height as short names.
   Only horizontal width is compressed when necessary.
   ============================================================ */
.prototype-player-name small,
.prototype-player-name strong,
.prototype-player-name em,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  text-overflow:clip!important;
  white-space:nowrap!important;
  overflow:visible!important;
  max-width:none!important;
  width:100%!important;
  transform-origin:center center!important;
}

/* One consistent front-card hierarchy for every player and every view. */
.prototype-player-name small{
  font-size:6.35cqw!important;
  line-height:.92!important;
  letter-spacing:.16em!important;
}
.prototype-player-name strong,
.prototype-player-name.name-length-8 strong,
.prototype-player-name.name-length-9 strong,
.prototype-player-name.name-length-10 strong,
.prototype-player-name.name-length-11 strong,
.prototype-player-name.name-length-12 strong,
.prototype-player-name.name-length-13 strong,
.prototype-player-name.name-length-14 strong,
.prototype-player-name.name-length-15 strong,
.prototype-player-name.name-length-16 strong,
.prototype-player-name.name-length-17 strong,
.prototype-player-name.name-length-18 strong,
.prototype-player-name.name-length-19 strong,
.prototype-player-name.name-length-20 strong{
  font-size:16.2cqw!important;
  line-height:.80!important;
  letter-spacing:-.045em!important;
}
.prototype-player-name em{
  font-size:6.1cqw!important;
  line-height:1!important;
  letter-spacing:.16em!important;
}

/* Profile identity block sits completely above the printed information box. */
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name{
  top:20.0%!important;
  left:8.2%!important;
  right:8.2%!important;
  height:14.2%!important;
  grid-template-rows:36% 64%!important;
  overflow:visible!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small{
  font-size:5.55cqw!important;
  line-height:.92!important;
  letter-spacing:.18em!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  font-size:12.5cqw!important;
  line-height:.80!important;
  letter-spacing:-.04em!important;
}

/* Place each value directly on the matching printed row baseline. */
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b{
  left:57.5%!important;
  right:8.0%!important;
  height:3.8%!important;
  font-size:3.85cqw!important;
  line-height:1!important;
  align-items:center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1){top:44.45%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2){top:51.30%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3){top:58.15%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4){top:65.00%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5){top:71.85%!important}

.ultimate-profile-card.prototype-profile-frame .prototype-profile-quote{
  top:80.8%!important;
  left:13%!important;
  right:13%!important;
  height:5.6%!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-quote:empty{display:none!important}

/* ============================================================
   V180 — FINAL SHARED PLAYER / PROFILE CARD GEOMETRY
   One percentage-based renderer for carousel, admin preview and popup.
   ============================================================ */
.prototype-player-frame,
.popup-exact-front-card,
.public-style-player-preview .prototype-player-frame{
  container-type:inline-size!important;
  aspect-ratio:2/3!important;
  overflow:hidden!important;
  isolation:isolate!important;
}

/* Photo remains behind the printed identity panel and uses saved positioning. */
.prototype-player-frame .prototype-player-stage,
.popup-exact-front-card .prototype-player-stage{
  position:absolute!important;
  inset:3.4% 3.4% 31.6% 3.4%!important;
  overflow:hidden!important;
  z-index:2!important;
  pointer-events:none!important;
}
.prototype-player-frame .prototype-player-stage img,
.popup-exact-front-card .prototype-player-stage img{
  position:absolute!important;
  left:50%!important;
  bottom:0!important;
  width:auto!important;
  height:calc(100% * var(--player-scale,1))!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translate(calc(-50% + var(--player-x,0%)),var(--player-y,0%))!important;
  transform-origin:center bottom!important;
  z-index:2!important;
}
.prototype-player-frame.image-mode-photo .prototype-player-stage img,
.popup-exact-front-card.image-mode-photo .prototype-player-stage img{
  width:calc(100% * var(--player-scale,1))!important;
  height:calc(100% * var(--player-scale,1))!important;
  object-fit:cover!important;
  object-position:center top!important;
  bottom:auto!important;
  top:50%!important;
  transform:translate(calc(-50% + var(--player-x,0%)),calc(-50% + var(--player-y,0%)))!important;
}

.prototype-player-number,
.popup-exact-front-card .prototype-player-number{
  left:5.1%!important;
  top:4.0%!important;
  width:26%!important;
  height:14%!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  font-size:14.0cqw!important;
  line-height:.82!important;
  letter-spacing:-.05em!important;
  z-index:7!important;
  white-space:nowrap!important;
}

/* Use the identity area already printed into the artwork; no added mask. */
.prototype-player-name,
.preview-ultimate-name.prototype-player-name,
.team-roster-carousel .prototype-player-name,
.popup-exact-front-card .prototype-player-name{
  position:absolute!important;
  left:8.2%!important;
  right:8.2%!important;
  bottom:4.9%!important;
  height:27.2%!important;
  padding:0 2.2%!important;
  display:grid!important;
  grid-template-rows:24% 50% 26%!important;
  align-items:center!important;
  justify-items:center!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  clip-path:none!important;
  z-index:8!important;
  container-type:inline-size!important;
}
.prototype-player-name::before,
.preview-ultimate-name.prototype-player-name::before{display:none!important;content:none!important}
.prototype-player-name small,
.prototype-player-name strong,
.prototype-player-name em{
  display:block!important;
  position:relative!important;
  width:max-content!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-align:center!important;
  transform-origin:center center!important;
}
.prototype-player-name small{
  align-self:end!important;
  font-size:7.1cqw!important;
  line-height:.9!important;
  letter-spacing:.16em!important;
}
.prototype-player-name strong,
.prototype-player-name.name-length-8 strong,
.prototype-player-name.name-length-9 strong,
.prototype-player-name.name-length-10 strong,
.prototype-player-name.name-length-11 strong,
.prototype-player-name.name-length-12 strong,
.prototype-player-name.name-length-13 strong,
.prototype-player-name.name-length-14 strong,
.prototype-player-name.name-length-15 strong,
.prototype-player-name.name-length-16 strong,
.prototype-player-name.name-length-17 strong,
.prototype-player-name.name-length-18 strong,
.prototype-player-name.name-length-19 strong,
.prototype-player-name.name-length-20 strong{
  align-self:center!important;
  font-size:17.1cqw!important;
  line-height:.78!important;
  letter-spacing:-.045em!important;
}
.prototype-player-name em{
  align-self:start!important;
  font-size:6.55cqw!important;
  line-height:1!important;
  letter-spacing:.13em!important;
  min-width:54%!important;
}

/* Exact popup clone: only the complete card scales; internal geometry is identical. */
.ultimate-card-deck .popup-exact-front-card{
  width:min(88vw,520px)!important;
  max-height:none!important;
  transform:none!important;
}

/* Profile card identity and values aligned to the printed prototype artwork. */
.ultimate-profile-card.prototype-profile-frame{
  container-type:inline-size!important;
  aspect-ratio:2/3!important;
  overflow:hidden!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-number{
  left:5.2%!important;
  top:3.6%!important;
  width:24%!important;
  height:13%!important;
  font-size:13.5cqw!important;
  line-height:.82!important;
  letter-spacing:-.05em!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  white-space:nowrap!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-position{
  left:5.8%!important;
  top:14.2%!important;
  width:31%!important;
  height:5%!important;
  font-size:4.35cqw!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  white-space:nowrap!important;
  overflow:visible!important;
  transform-origin:left center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name{
  position:absolute!important;
  left:18%!important;
  right:10%!important;
  top:19.0%!important;
  height:15.2%!important;
  display:block!important;
  overflow:visible!important;
  text-align:center!important;
  container-type:inline-size!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  position:absolute!important;
  left:50%!important;
  width:max-content!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-align:center!important;
  transform-origin:center center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small{
  top:0!important;
  font-size:6.1cqw!important;
  line-height:.9!important;
  letter-spacing:.17em!important;
  transform:translateX(-50%)!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  top:28%!important;
  font-size:13.0cqw!important;
  line-height:.78!important;
  letter-spacing:-.04em!important;
  transform:translateX(-50%)!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values{
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b{
  position:absolute!important;
  left:56.2%!important;
  right:8.5%!important;
  height:4.0%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  font-size:4.05cqw!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1){top:43.05%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2){top:50.00%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3){top:56.95%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4){top:63.90%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5){top:70.85%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-quote{
  position:absolute!important;
  left:13%!important;
  right:13%!important;
  top:79.5%!important;
  height:6.2%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  font-size:3.7cqw!important;
  line-height:1.08!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-quote:empty{display:none!important}

@media (max-width:700px){
  .ultimate-card-deck .popup-exact-front-card,
  .ultimate-profile-card.prototype-profile-frame{width:min(92vw,520px)!important}
}

/* V180 — final prototype alignment pass for front and profile player cards. */
.prototype-player-name,
.preview-ultimate-name.prototype-player-name,
.team-roster-carousel .prototype-player-name,
.popup-exact-front-card .prototype-player-name{
  overflow:visible!important;
}
.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name strong,
.popup-exact-front-card .prototype-player-name strong{
  color:#fff!important;
  text-shadow:
    0 .035em 0 #bfc1c8,
    0 .075em 0 #777b84,
    0 .12em .09em rgba(0,0,0,.92),
    0 0 .22em rgba(255,255,255,.78)!important;
  filter:drop-shadow(0 0 .11em rgba(255,255,255,.56))!important;
}
.prototype-player-name em,
.preview-ultimate-name.prototype-player-name em,
.popup-exact-front-card .prototype-player-name em{
  position:absolute!important;
  left:4%!important;
  right:4%!important;
  bottom:4.3%!important;
  width:92%!important;
  min-width:0!important;
  max-width:none!important;
  height:12.5%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 2%!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  white-space:nowrap!important;
  text-align:center!important;
  font-size:6.0cqw!important;
  line-height:1!important;
  letter-spacing:.075em!important;
  transform-origin:center center!important;
}

/* Profile identity block lowered into the artwork's reserved name area. */
.ultimate-profile-card.prototype-profile-frame .prototype-profile-number{
  top:5.1%!important;
  left:5.4%!important;
  height:12.4%!important;
  align-items:flex-start!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-position{
  top:15.5%!important;
  left:5.8%!important;
  height:4.7%!important;
  align-items:center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name{
  left:17%!important;
  right:9%!important;
  top:21.6%!important;
  height:13.4%!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small{
  top:0!important;
  font-size:5.55cqw!important;
  line-height:1!important;
  letter-spacing:.18em!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  top:30%!important;
  font-size:12.1cqw!important;
  line-height:.78!important;
  color:#fff!important;
  text-shadow:
    0 .035em 0 #bfc1c8,
    0 .075em 0 #777b84,
    0 .12em .09em rgba(0,0,0,.92),
    0 0 .20em rgba(255,255,255,.65)!important;
}

/* Values sit directly on the five printed prototype rows. */
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b{
  left:57.5%!important;
  right:8.3%!important;
  height:4.2%!important;
  align-items:center!important;
  justify-content:flex-start!important;
  font-size:3.85cqw!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1){top:44.55%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2){top:51.42%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3){top:58.30%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4){top:65.18%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5){top:72.05%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-quote{
  top:79.0%!important;
  left:14%!important;
  right:14%!important;
  height:7.0%!important;
  align-items:center!important;
  font-size:3.45cqw!important;
}

/* ============================================================
   V182 — MOBILE LOCKDOWN / PLAYER CARD CONSISTENCY
   Final overrides are intentionally grouped at the end so older versioned
   experiments cannot override the production mobile layout.
   ============================================================ */

/* Navigation banner: slightly taller on phones without changing its width. */
@media (max-width:760px){
  .site-top .nav-title img,
  .site-top .site-title-image,
  .site-top .navigation-title,
  .site-top .navigation-title img{
    height:clamp(96px,24.5vw,112px)!important;
    transform:scaleY(1.30)!important;
    transform-origin:center center!important;
    width:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .site-top .nav-title,
  .site-top .navigation-title{
    min-height:clamp(108px,27vw,124px)!important;
    overflow:visible!important;
  }
}

/* Footer end logos: match the visible diameter of the Xitlali Media mark. */
@media (max-width:800px){
  .footer-v147-social-row > .footer-logo,
  .footer-v147-social-row > a.footer-logo,
  .footer-social-row > .footer-logo,
  .footer-social-row > a.footer-logo,
  a.footer-logo.footer-logo-left,
  a.footer-logo.footer-logo-right{
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
    max-width:60px!important;
    min-height:60px!important;
    max-height:60px!important;
    flex:0 0 60px!important;
  }
  .footer-v147-social-row > .footer-logo img,
  .footer-v147-social-row > a.footer-logo img,
  .footer-social-row > .footer-logo img,
  .footer-social-row > a.footer-logo img,
  a.footer-logo.footer-logo-left img,
  a.footer-logo.footer-logo-right img{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    object-fit:contain!important;
  }
}

/* Front card: one deterministic type system for carousel, popup and preview.
   No runtime measurement is used, so hidden carousel slides cannot become tiny. */
.prototype-player-frame{container-type:inline-size!important}
.prototype-player-name,
.preview-ultimate-name.prototype-player-name,
.team-roster-carousel .prototype-player-name,
.popup-exact-front-card .prototype-player-name{
  container-type:normal!important;
  left:8%!important;
  right:8%!important;
  bottom:5.7%!important;
  height:27.2%!important;
  overflow:hidden!important;
}
.prototype-player-name small{
  font-size:7.1cqw!important;
  transform:none!important;
}
.prototype-player-name strong,
.preview-ultimate-name.prototype-player-name strong,
.team-roster-carousel .prototype-player-name strong,
.popup-exact-front-card .prototype-player-name strong{
  width:100%!important;
  max-width:100%!important;
  font-size:17.1cqw!important;
  transform:scaleX(.94)!important;
  transform-origin:center center!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.prototype-player-name.name-length-8 strong{font-size:16.2cqw!important;transform:scaleX(.92)!important}
.prototype-player-name.name-length-9 strong{font-size:15.3cqw!important;transform:scaleX(.90)!important}
.prototype-player-name.name-length-10 strong{font-size:14.5cqw!important;transform:scaleX(.88)!important}
.prototype-player-name.name-length-11 strong{font-size:13.7cqw!important;transform:scaleX(.86)!important}
.prototype-player-name.name-length-12 strong{font-size:12.9cqw!important;transform:scaleX(.84)!important}
.prototype-player-name.name-length-13 strong{font-size:12.1cqw!important;transform:scaleX(.82)!important}
.prototype-player-name.name-length-14 strong{font-size:11.4cqw!important;transform:scaleX(.80)!important}
.prototype-player-name.name-length-15 strong,
.prototype-player-name.name-length-16 strong,
.prototype-player-name.name-length-17 strong,
.prototype-player-name.name-length-18 strong,
.prototype-player-name.name-length-19 strong,
.prototype-player-name.name-length-20 strong{font-size:10.7cqw!important;transform:scaleX(.78)!important}
.prototype-player-name em,
.preview-ultimate-name.prototype-player-name em,
.team-roster-carousel .prototype-player-name em,
.popup-exact-front-card .prototype-player-name em{
  left:4%!important;
  right:4%!important;
  bottom:3.8%!important;
  width:92%!important;
  height:13.5%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:5.7cqw!important;
  letter-spacing:.075em!important;
  text-align:center!important;
  transform:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}

/* Profile card: all coordinates are percentages of the complete 2:3 artwork. */
.ultimate-profile-card.prototype-profile-frame{
  container-type:inline-size!important;
  aspect-ratio:2/3!important;
  overflow:hidden!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-number{
  left:5.4%!important;
  top:5.3%!important;
  width:24%!important;
  height:11.5%!important;
  font-size:13.2cqw!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  transform:none!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-position{
  left:4.7%!important;
  top:15.9%!important;
  width:34%!important;
  height:4.8%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  font-size:4.15cqw!important;
  letter-spacing:.075em!important;
  text-align:center!important;
  transform:none!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name{
  container-type:normal!important;
  left:12%!important;
  right:9%!important;
  top:23.3%!important;
  height:11.8%!important;
  display:grid!important;
  grid-template-rows:37% 63%!important;
  align-items:center!important;
  justify-items:center!important;
  overflow:hidden!important;
  text-align:center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  position:static!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  max-width:100%!important;
  transform-origin:center center!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-align:center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small{
  align-self:end!important;
  font-size:5.2cqw!important;
  line-height:.95!important;
  letter-spacing:.18em!important;
  transform:none!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  align-self:start!important;
  font-size:11.8cqw!important;
  line-height:.80!important;
  transform:scaleX(.92)!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-9 strong{font-size:11.0cqw!important;transform:scaleX(.88)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-10 strong{font-size:10.4cqw!important;transform:scaleX(.85)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-11 strong{font-size:9.8cqw!important;transform:scaleX(.82)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-12 strong{font-size:9.2cqw!important;transform:scaleX(.79)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-13 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-14 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-15 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-16 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-17 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-18 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-19 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-20 strong{font-size:8.6cqw!important;transform:scaleX(.76)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values{
  position:absolute!important;
  inset:0!important;
  display:block!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b{
  position:absolute!important;
  left:57.0%!important;
  right:9.5%!important;
  height:4.1%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  font-size:3.85cqw!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1){top:43.75%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2){top:50.68%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3){top:57.60%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4){top:64.53%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5){top:71.45%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-quote{
  top:79.25%!important;
  left:14%!important;
  right:14%!important;
  height:6.8%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:3.35cqw!important;
  text-align:center!important;
  overflow:hidden!important;
}

/* ============================================================
   V183 — FINAL MOBILE CARD / HEADER / FOOTER ALIGNMENT
   Phone-only finishing pass based on July 21 field screenshots.
   Desktop geometry is intentionally unchanged.
   ============================================================ */
@media (max-width: 760px) {
  /* Give the center navigation artwork a final small height increase
     without widening it or moving the navigation row. */
  .site-top .nav-title img,
  .site-top .site-title-image,
  .site-top .navigation-title,
  .site-top .navigation-title img {
    height: clamp(100px, 23vw, 122px) !important;
    transform: scaleY(1.30) !important;
    transform-origin: center center !important;
    width: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  .site-top .nav-title,
  .site-top .navigation-title {
    min-height: clamp(106px, 24vw, 128px) !important;
    overflow: visible !important;
  }

  /* Center the front-card position inside the printed position bay.
     This selector covers carousel, popup and admin/public previews. */
  .prototype-player-name em,
  .preview-ultimate-name.prototype-player-name em,
  .team-roster-carousel .prototype-player-name em,
  .popup-exact-front-card .prototype-player-name em {
    left: 5% !important;
    right: 5% !important;
    bottom: 5.7% !important;
    width: 90% !important;
    height: 14.2% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 2% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    transform-origin: center center !important;
  }

  /* Profile-card upper-left position is centered in its printed box. */
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-position {
    left: 4.8% !important;
    top: 15.2% !important;
    width: 33.5% !important;
    height: 5.4% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    transform-origin: center center !important;
  }

  /* Keep both names fully inside the dedicated profile-name opening. */
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name {
    left: 16.5% !important;
    right: 8.5% !important;
    top: 20.0% !important;
    height: 14.7% !important;
    display: block !important;
    overflow: visible !important;
    text-align: center !important;
  }

  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name small {
    top: 2% !important;
    font-size: 5.45cqw !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
  }

  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong {
    top: 34% !important;
    font-size: 11.9cqw !important;
    line-height: .78 !important;
  }

  /* Center each value horizontally and vertically in its exact printed row. */
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b {
    left: 54.2% !important;
    right: 7.8% !important;
    height: 4.6% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 3.85cqw !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1) { top: 43.55% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2) { top: 50.43% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3) { top: 57.31% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4) { top: 64.19% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5) { top: 71.07% !important; }

  /* Prevent the enlarged edge logos from clipping on narrow phones. */
  .footer-v147-social-row .footer-logo,
  .footer-social-symmetric-v148 .footer-logo,
  .footer-v147-social-row a.footer-logo {
    width: 50px !important;
    height: 50px !important;
    flex: 0 0 50px !important;
    overflow: visible !important;
  }

  .footer-v147-social-row .footer-logo img,
  .footer-social-symmetric-v148 .footer-logo img,
  .footer-v147-social-row a.footer-logo img {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
  }

  /* More breathing room between the Xitlali mark and credit copy. */
  .footer-xitlali-credit,
  .footer-xitlali-credit-v148,
  .footer-v147-creator .footer-xitlali-credit,
  .footer-v147-creator .footer-xitlali-credit-v148 {
    column-gap: 20px !important;
    gap: 20px !important;
  }
}

@media (max-width: 430px) {
  .site-top .nav-title img,
  .site-top .site-title-image,
  .site-top .navigation-title,
  .site-top .navigation-title img {
    height: clamp(98px, 25vw, 116px) !important;
    transform: scaleY(1.32) !important;
  }

  .site-top .nav-title,
  .site-top .navigation-title {
    min-height: clamp(104px, 26vw, 122px) !important;
  }

  .footer-v147-social-row .footer-logo,
  .footer-social-symmetric-v148 .footer-logo,
  .footer-v147-social-row a.footer-logo {
    width: 47px !important;
    height: 47px !important;
    flex-basis: 47px !important;
  }

  .footer-v147-social-row .footer-logo img,
  .footer-social-symmetric-v148 .footer-logo img,
  .footer-v147-social-row a.footer-logo img {
    width: 45px !important;
    height: 45px !important;
    max-width: 45px !important;
    max-height: 45px !important;
  }

  .footer-xitlali-credit,
  .footer-xitlali-credit-v148,
  .footer-v147-creator .footer-xitlali-credit,
  .footer-v147-creator .footer-xitlali-credit-v148 {
    column-gap: 18px !important;
    gap: 18px !important;
  }
}

/* ============================================================
   V184 — FINAL PHONE PROFILE / HEADER / FOOTER LOCKDOWN
   Keeps the completed front player-card geometry unchanged.
   ============================================================ */
@media (max-width: 760px) {
  /* Final small vertical lift for the navigation title only. */
  .site-top .nav-title img,
  .site-top .site-title-image,
  .site-top .navigation-title,
  .site-top .navigation-title img {
    transform: scaleY(1.40) !important;
    transform-origin: center center !important;
  }

  /* Profile card: one fixed coordinate system tied to the 2:3 artwork. */
  .ultimate-profile-card.prototype-profile-frame {
    container-type: inline-size !important;
    aspect-ratio: 2 / 3 !important;
    position: relative !important;
    overflow: hidden !important;
  }

  .ultimate-profile-card.prototype-profile-frame .prototype-profile-position {
    left: 5.2% !important;
    top: 15.15% !important;
    width: 30.5% !important;
    height: 5.3% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* Center the complete name block inside the printed name opening and
     keep it clear of the upper-right team logo. */
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name {
    left: 19.0% !important;
    right: 18.0% !important;
    top: 21.35% !important;
    height: 13.1% !important;
    display: block !important;
    overflow: visible !important;
    text-align: center !important;
  }

  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name small {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    font-size: 5.15cqw !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong {
    top: 31.5% !important;
    left: 50% !important;
    width: max-content !important;
    max-width: none !important;
    font-size: 11.35cqw !important;
    line-height: .78 !important;
    text-align: center !important;
    white-space: nowrap !important;
    transform-origin: center center !important;
  }

  /* The five values share one centered column and one row rhythm. */
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
  }

  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b {
    left: 55.0% !important;
    right: 15.0% !important;
    width: auto !important;
    height: 4.25% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 3.72cqw !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1) { top: 44.15% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2) { top: 51.02% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3) { top: 57.89% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4) { top: 64.76% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5) { top: 71.63% !important; }

  /* Reduce the two edge logos and reserve room for their glow. */
  .footer-v147-social-row,
  .footer-social-symmetric-v148 {
    padding-left: 14px !important;
    padding-right: 14px !important;
    overflow: visible !important;
  }

  .footer-v147-social-row > .footer-logo,
  .footer-v147-social-row > a.footer-logo,
  .footer-social-symmetric-v148 > .footer-logo {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    overflow: visible !important;
  }

  .footer-v147-social-row > .footer-logo img,
  .footer-v147-social-row > a.footer-logo img,
  .footer-social-symmetric-v148 > .footer-logo img {
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    object-fit: contain !important;
  }
}

@media (max-width: 430px) {
  .site-top .nav-title img,
  .site-top .site-title-image,
  .site-top .navigation-title,
  .site-top .navigation-title img {
    transform: scaleY(1.43) !important;
  }

  .footer-v147-social-row,
  .footer-social-symmetric-v148 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .footer-v147-social-row > .footer-logo,
  .footer-v147-social-row > a.footer-logo,
  .footer-social-symmetric-v148 > .footer-logo {
    width: 39px !important;
    height: 39px !important;
    flex-basis: 39px !important;
  }

  .footer-v147-social-row > .footer-logo img,
  .footer-v147-social-row > a.footer-logo img,
  .footer-social-symmetric-v148 > .footer-logo img {
    width: 37px !important;
    height: 37px !important;
    max-width: 37px !important;
    max-height: 37px !important;
  }
}

/* ============================================================
   V185 — PHONE PROFILE / NAVIGATION / FOOTER FINAL CORRECTION
   Targets the production class names used by the public website.
   ============================================================ */
@media (max-width: 760px) {
  /* Navigation title: slightly taller and visually lowered between the logos. */
  .site-top .hero-title {
    height: 80px !important;
    min-height: 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }
  .site-top .hero-title img {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    height: auto !important;
    max-height: 76px !important;
    object-fit: contain !important;
    transform: translateY(5px) scaleY(2.02) !important;
    transform-origin: center center !important;
    margin: 0 auto !important;
  }

  /* Profile overlay: fixed coordinates tied to the complete 2:3 template. */
  .ultimate-profile-card.prototype-profile-frame {
    position: relative !important;
    container-type: inline-size !important;
    aspect-ratio: 2 / 3 !important;
    overflow: hidden !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-number {
    position: absolute !important;
    left: 5.3% !important;
    top: 5.0% !important;
    width: 23% !important;
    height: 11.5% !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-position {
    position: absolute !important;
    left: 5.0% !important;
    top: 15.4% !important;
    width: 31.5% !important;
    height: 5.0% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 3.55cqw !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name {
    position: absolute !important;
    left: 21.5% !important;
    right: 17.5% !important;
    top: 20.4% !important;
    height: 14.0% !important;
    display: block !important;
    overflow: hidden !important;
    text-align: center !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name small,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
    transform-origin: center center !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name small {
    top: 7% !important;
    font-size: 5.05cqw !important;
    line-height: 1 !important;
    letter-spacing: .17em !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong {
    top: 35% !important;
    font-size: 11.2cqw !important;
    line-height: .80 !important;
    transform: scaleX(.92) !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-9 strong { transform: scaleX(.88) !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-10 strong { transform: scaleX(.84) !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-11 strong { transform: scaleX(.80) !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-12 strong { transform: scaleX(.76) !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-13 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-14 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-15 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-16 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-17 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-18 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-19 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-20 strong {
    font-size: 9.1cqw !important;
    transform: scaleX(.72) !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b {
    position: absolute !important;
    left: 52.0% !important;
    right: 10.0% !important;
    width: auto !important;
    height: 4.35% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 3.72cqw !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1) { top: 44.10% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2) { top: 50.98% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3) { top: 57.86% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4) { top: 64.74% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5) { top: 71.62% !important; }

  /* Production footer classes: smaller end logos with an unclipped glow. */
  footer .footer-social-row {
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow: visible !important;
  }
  footer .footer-social-row > a.footer-logo,
  footer a.footer-logo.footer-logo-left,
  footer a.footer-logo.footer-logo-right {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    flex: 0 0 42px !important;
    overflow: visible !important;
  }
  footer .footer-social-row > a.footer-logo img,
  footer a.footer-logo.footer-logo-left img,
  footer a.footer-logo.footer-logo-right img {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 0 7px rgba(255, 0, 255, .95)) drop-shadow(0 0 13px rgba(128, 0, 255, .72)) !important;
    transform: none !important;
  }
}

@media (max-width: 430px) {
  .site-top .hero-title img {
    width: min(100%, 245px) !important;
    max-width: 245px !important;
    max-height: 72px !important;
    transform: translateY(5px) scaleY(2.06) !important;
  }
  footer .footer-social-row > a.footer-logo,
  footer a.footer-logo.footer-logo-left,
  footer a.footer-logo.footer-logo-right {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    flex-basis: 38px !important;
  }
  footer .footer-social-row > a.footer-logo img,
  footer a.footer-logo.footer-logo-left img,
  footer a.footer-logo.footer-logo-right img {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }
}

/* ============================================================
   V186 — FINAL PHONE PROFILE / HEADER / FOOTER GEOMETRY
   One final production override, placed last to supersede all
   earlier mobile experiments without changing desktop/front cards.
   ============================================================ */
@media (max-width: 760px) {
  /* Header title: preserve width, add visual height and lower the artwork. */
  .site-top .hero-title {
    height: 84px !important;
    min-height: 84px !important;
    overflow: visible !important;
  }
  .site-top .hero-title > img {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    transform: translateY(8px) scaleY(2.20) !important;
    transform-origin: center center !important;
  }

  /* Profile card: all coordinates are percentages of the 2:3 artwork. */
  .ultimate-profile-card.prototype-profile-frame {
    position: relative !important;
    aspect-ratio: 2 / 3 !important;
    container-type: inline-size !important;
    overflow: hidden !important;
  }

  /* Number and position live together in the upper-left identity zone. */
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-number {
    position: absolute !important;
    top: 7.0% !important;
    left: 6.0% !important;
    width: 24% !important;
    height: 10.5% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    font-size: 13.4cqw !important;
    line-height: .82 !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-position {
    position: absolute !important;
    top: 17.4% !important;
    left: 5.8% !important;
    width: 34% !important;
    height: 5.0% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 0 1% !important;
    margin: 0 !important;
    font-size: 3.65cqw !important;
    line-height: 1 !important;
    letter-spacing: .045em !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    transform: none !important;
  }

  /* The printed name box is the blank panel above the first data row. */
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name {
    position: absolute !important;
    top: 31.2% !important;
    left: 15.0% !important;
    right: 15.0% !important;
    height: 10.8% !important;
    display: block !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-align: center !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name small,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong {
    position: absolute !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
    transform-origin: center center !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name small {
    top: 2% !important;
    font-size: 4.85cqw !important;
    line-height: 1 !important;
    letter-spacing: .17em !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong {
    top: 31% !important;
    font-size: 10.4cqw !important;
    line-height: .82 !important;
    transform: scaleX(.92) !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-9 strong { transform: scaleX(.88) !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-10 strong { transform: scaleX(.84) !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-11 strong { transform: scaleX(.80) !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-12 strong { transform: scaleX(.76) !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-13 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-14 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-15 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-16 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-17 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-18 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-19 strong,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-20 strong {
    font-size: 8.8cqw !important;
    transform: scaleX(.72) !important;
  }

  /* Data values remain centered on the five printed rows. */
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b {
    left: 51.5% !important;
    right: 10.5% !important;
    width: auto !important;
    height: 4.35% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1) { top: 44.10% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2) { top: 50.98% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3) { top: 57.86% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4) { top: 64.74% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5) { top: 71.62% !important; }

  /* Footer end logos: a small increase from V185, glow remains unclipped. */
  footer .footer-social-row {
    overflow: visible !important;
    padding-inline: 10px !important;
  }
  footer .footer-social-row > a.footer-logo,
  footer a.footer-logo.footer-logo-left,
  footer a.footer-logo.footer-logo-right {
    width: 45px !important;
    height: 45px !important;
    min-width: 45px !important;
    max-width: 45px !important;
    min-height: 45px !important;
    max-height: 45px !important;
    flex: 0 0 45px !important;
    overflow: visible !important;
  }
  footer .footer-social-row > a.footer-logo img,
  footer a.footer-logo.footer-logo-left img,
  footer a.footer-logo.footer-logo-right img {
    width: 43px !important;
    height: 43px !important;
    min-width: 43px !important;
    max-width: 43px !important;
    min-height: 43px !important;
    max-height: 43px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 0 7px rgba(255,0,255,.95)) drop-shadow(0 0 14px rgba(128,0,255,.78)) !important;
    transform: none !important;
  }
}

@media (max-width: 430px) {
  .site-top .hero-title > img {
    width: min(100%, 245px) !important;
    max-width: 245px !important;
    transform: translateY(8px) scaleY(2.24) !important;
  }
  footer .footer-social-row > a.footer-logo,
  footer a.footer-logo.footer-logo-left,
  footer a.footer-logo.footer-logo-right {
    width: 41px !important;
    height: 41px !important;
    min-width: 41px !important;
    max-width: 41px !important;
    min-height: 41px !important;
    max-height: 41px !important;
    flex-basis: 41px !important;
  }
  footer .footer-social-row > a.footer-logo img,
  footer a.footer-logo.footer-logo-left img,
  footer a.footer-logo.footer-logo-right img {
    width: 39px !important;
    height: 39px !important;
    min-width: 39px !important;
    max-width: 39px !important;
    min-height: 39px !important;
    max-height: 39px !important;
  }
}


/* V187 — game status labels and cache-safe uploaded card artwork */
.generated-wide-visual{position:relative}
.generated-game-label-badge{position:absolute;top:4%;left:3.5%;z-index:4;display:inline-flex;align-items:center;justify-content:center;max-width:62%;padding:.42em .8em;border:2px solid currentColor;border-radius:999px;background:rgba(2,4,14,.82);font-weight:900;font-size:clamp(10px,1.2vw,18px);line-height:1;letter-spacing:.09em;white-space:nowrap;text-transform:uppercase;pointer-events:none}
.generated-game-label-badge.label-new{color:#ff3da9;box-shadow:0 0 8px #ff3da9,0 0 18px rgba(255,61,169,.9)}
.generated-game-label-badge.label-latest{color:#ffd24a;box-shadow:0 0 8px #ffd24a,0 0 18px rgba(255,210,74,.9)}
.generated-game-label-badge.label-current-season{color:#35c9ff;box-shadow:0 0 8px #35c9ff,0 0 18px rgba(53,201,255,.85)}
.generated-game-label-badge.label-last-season{color:#d8def0;box-shadow:0 0 8px #aeb8d8,0 0 16px rgba(174,184,216,.7)}
@media(max-width:700px){.generated-game-label-badge{top:3.5%;left:3%;font-size:clamp(9px,2.5vw,13px);padding:.38em .68em;max-width:68%}}

/* ============================================================
   V190 — GAME + SEASON CARD PROPORTION LOCK
   Aligns the action column with the game-result column so the
   vertical divider runs continuously from the image area through
   the footer. Enlarges artwork and reduces action controls.
   ============================================================ */
.page-media .media-games-carousel .generated-wide-card,
.page-media .media-season-carousel .generated-wide-card {
  grid-template-columns: minmax(0, 83%) minmax(0, 17%) !important;
}

.page-media .media-games-carousel .generated-wide-visual,
.page-media .media-season-carousel .generated-wide-visual {
  background-size: 100% 100% !important;
  background-position: center center !important;
  border-right: 2px solid var(--card-accent) !important;
}

.page-media .media-games-carousel .generated-wide-actions,
.page-media .media-season-carousel .generated-wide-actions {
  padding: 0 !important;
  border-left: 0 !important;
}

.page-media .media-games-carousel .generated-action-row,
.page-media .media-season-carousel .generated-action-row {
  padding: 3px 2px !important;
  gap: 2px !important;
  border-radius: 0 !important;
}

.page-media .media-games-carousel .generated-action-icon,
.page-media .media-season-carousel .generated-action-icon {
  width: clamp(34px, 3.1vw, 48px) !important;
  height: clamp(30px, 2.9vw, 44px) !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  font-size: clamp(.9rem, 1.25vw, 1.2rem) !important;
}

.page-media .media-games-carousel .generated-action-copy strong,
.page-media .media-season-carousel .generated-action-copy strong {
  font-size: clamp(.62rem, .92vw, .88rem) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* The game footer's right result column is exactly the same width
   as the action panel above. The center/result divider therefore
   continues vertically through the complete card. */
.page-media .media-games-carousel .generated-game-footer {
  grid-template-columns: minmax(138px, 23%) minmax(0, 60%) minmax(105px, 17%) !important;
}

.page-media .media-games-carousel .generated-game-matchup-block {
  border-right: 2px solid var(--card-accent) !important;
}

@media (max-width: 800px) {
  .page-media .media-games-carousel .generated-wide-card,
  .page-media .media-season-carousel .generated-wide-card {
    grid-template-columns: minmax(0, 80%) minmax(0, 20%) !important;
  }

  .page-media .media-games-carousel .generated-game-footer {
    grid-template-columns: minmax(82px, 27%) minmax(0, 53%) minmax(66px, 20%) !important;
  }

  .page-media .media-games-carousel .generated-action-icon,
  .page-media .media-season-carousel .generated-action-icon {
    width: 30px !important;
    height: 28px !important;
    flex-basis: 30px !important;
    font-size: .82rem !important;
  }

  .page-media .media-games-carousel .generated-action-copy strong,
  .page-media .media-season-carousel .generated-action-copy strong {
    font-size: clamp(.48rem, 1.75vw, .66rem) !important;
  }
}

/* ============================================================
   V191 — DESKTOP PLAYER CARD FINAL ALIGNMENT
   Matches the clean Edit Player preview typography and locks the
   front/profile overlays to the printed card artwork.
   ============================================================ */
@media (min-width: 761px) {
  /* Front card surname: metallic white with a restrained depth shadow,
     not the heavy white halo that made letters merge together. */
  .prototype-player-name strong,
  .preview-ultimate-name.prototype-player-name strong,
  .team-roster-carousel .prototype-player-name strong,
  .popup-exact-front-card .prototype-player-name strong,
  body[data-page="players"] .prototype-player-name strong {
    color: #fff !important;
    -webkit-text-stroke: 0 !important;
    text-shadow:
      0 .035em 0 #aeb3bc,
      0 .075em 0 #696e78,
      0 .11em .10em rgba(0,0,0,.95) !important;
    filter: none !important;
  }

  /* Position text occupies one fixed printed bay and remains centered for
     ST, CM, RIGHT WINGER, CENTER BACK, etc. */
  .prototype-player-name em,
  .preview-ultimate-name.prototype-player-name em,
  .team-roster-carousel .prototype-player-name em,
  .popup-exact-front-card .prototype-player-name em,
  body[data-page="players"] .prototype-player-name em {
    position: absolute !important;
    left: 7% !important;
    right: 7% !important;
    bottom: 2.9% !important;
    width: 86% !important;
    height: 13.8% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 2.5% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    font-size: 5.45cqw !important;
    letter-spacing: .055em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    transform: none !important;
    transform-origin: center center !important;
  }

  /* Desktop profile card: fixed coordinates based on the full 2:3
     player-profile-card-template artwork. */
  .ultimate-profile-card.prototype-profile-frame {
    container-type: inline-size !important;
    aspect-ratio: 2 / 3 !important;
    position: relative !important;
    overflow: hidden !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-number {
    position: absolute !important;
    top: 7.4% !important;
    left: 6.0% !important;
    width: 23% !important;
    height: 9.5% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-size: 12.6cqw !important;
    line-height: .82 !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-position {
    position: absolute !important;
    top: 16.6% !important;
    left: 5.6% !important;
    width: 31.5% !important;
    height: 4.8% !important;
    box-sizing: border-box !important;
    padding: 0 1.5% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 3.65cqw !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    transform: none !important;
  }

  /* The blank name opening ends immediately above the information panel. */
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name {
    position: absolute !important;
    top: 24.7% !important;
    left: 14.0% !important;
    right: 13.0% !important;
    height: 9.9% !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-rows: 37% 63% !important;
    align-items: center !important;
    justify-items: center !important;
    overflow: hidden !important;
    text-align: center !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name small,
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
    transform-origin: center center !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name small {
    align-self: end !important;
    font-size: 4.75cqw !important;
    line-height: 1 !important;
    letter-spacing: .17em !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong {
    align-self: start !important;
    font-size: 10.3cqw !important;
    line-height: .82 !important;
    transform: scaleX(.92) !important;
    text-shadow: 0 .035em 0 #9aa0aa, 0 .075em .08em rgba(0,0,0,.95) !important;
    filter: none !important;
  }

  /* One centered value column, each value centered on its printed row. */
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b {
    position: absolute !important;
    left: 55.0% !important;
    right: 12.0% !important;
    width: auto !important;
    height: 4.15% !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 3.55cqw !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transform: none !important;
  }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1) { top: 43.55% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2) { top: 50.42% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3) { top: 57.29% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4) { top: 64.16% !important; }
  .ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5) { top: 71.03% !important; }
}

/* ============================================================
   V192 — FINAL SHARED PROFILE / MOBILE HEADER / FOOTER ACCENTS
   Phone geometry is the master geometry at every screen size.
   ============================================================ */
.ultimate-profile-card.prototype-profile-frame{
  position:relative!important;aspect-ratio:2/3!important;container-type:inline-size!important;overflow:hidden!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-number{
  position:absolute!important;top:8.3%!important;left:6.2%!important;width:24%!important;height:10.5%!important;
  display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;font-size:13.4cqw!important;line-height:.82!important;transform:none!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-position{
  position:absolute!important;top:18.8%!important;left:7.2%!important;width:38%!important;height:4.8%!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;box-sizing:border-box!important;padding:0!important;margin:0!important;
  font-size:3.65cqw!important;line-height:1!important;letter-spacing:.045em!important;text-align:left!important;white-space:nowrap!important;overflow:hidden!important;transform:none!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name{
  position:absolute!important;top:29.0%!important;left:14%!important;right:14%!important;height:11.7%!important;
  display:grid!important;grid-template-rows:35% 65%!important;align-items:center!important;justify-items:center!important;overflow:hidden!important;text-align:center!important;transform:none!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  position:static!important;width:100%!important;max-width:100%!important;margin:0!important;text-align:center!important;white-space:nowrap!important;transform-origin:center center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small{
  align-self:end!important;font-size:5.15cqw!important;line-height:1!important;letter-spacing:.17em!important;transform:none!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  align-self:start!important;font-size:11.6cqw!important;line-height:.80!important;transform:scaleX(.92)!important;
  text-shadow:0 .035em 0 #9aa0aa,0 .075em .08em rgba(0,0,0,.95)!important;filter:none!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-9 strong{transform:scaleX(.88)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-10 strong{transform:scaleX(.84)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-11 strong{transform:scaleX(.80)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-12 strong{transform:scaleX(.76)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-13 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-14 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-15 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-16 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-17 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-18 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-19 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-20 strong{font-size:9.6cqw!important;transform:scaleX(.70)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values{position:absolute!important;inset:0!important;display:block!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b{
  position:absolute!important;left:53.2%!important;right:11.5%!important;width:auto!important;height:4.2%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;
  font-size:3.55cqw!important;line-height:1!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;transform:none!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(1){top:44.9%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(2){top:51.78%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(3){top:58.66%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(4){top:65.54%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-values b:nth-child(5){top:72.42%!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-quote{
  position:absolute!important;left:15%!important;right:15%!important;top:78.4%!important;height:7.2%!important;margin:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;overflow:hidden!important;
  font-size:3.35cqw!important;line-height:1.08!important;
}

@media(max-width:760px){
  .site-top .hero-title{height:88px!important;min-height:88px!important;overflow:visible!important}
  .site-top .hero-title>img{width:min(100%,270px)!important;max-width:270px!important;height:auto!important;max-height:none!important;transform:translateY(8px) scaleY(2.34)!important;transform-origin:center center!important}
  footer .footer-social-row{overflow:visible!important;padding-inline:8px!important}
  footer .footer-social-row>a.footer-logo,footer a.footer-logo.footer-logo-left,footer a.footer-logo.footer-logo-right{
    width:47px!important;height:47px!important;min-width:47px!important;max-width:47px!important;min-height:47px!important;max-height:47px!important;flex:0 0 47px!important;overflow:visible!important
  }
  footer .footer-social-row>a.footer-logo img,footer a.footer-logo.footer-logo-left img,footer a.footer-logo.footer-logo-right img{
    width:45px!important;height:45px!important;min-width:45px!important;max-width:45px!important;min-height:45px!important;max-height:45px!important;object-fit:contain!important;transform:none!important
  }
  .page-home footer .footer-logo img{filter:drop-shadow(0 0 7px #ffd24a) drop-shadow(0 0 14px rgba(255,180,0,.82))!important}
  .page-team footer .footer-logo img{filter:drop-shadow(0 0 7px #d532ff) drop-shadow(0 0 14px rgba(174,0,255,.82))!important}
  .page-schedule footer .footer-logo img{filter:drop-shadow(0 0 7px #37ff79) drop-shadow(0 0 14px rgba(0,220,90,.82))!important}
  .page-media footer .footer-logo img{filter:drop-shadow(0 0 7px #35c9ff) drop-shadow(0 0 14px rgba(0,150,255,.82))!important}
  .page-news footer .footer-logo img{filter:drop-shadow(0 0 7px #ff9d32) drop-shadow(0 0 14px rgba(255,105,0,.82))!important}
  .page-live footer .footer-logo img{filter:drop-shadow(0 0 7px #ff3535) drop-shadow(0 0 14px rgba(255,0,0,.82))!important}
  .page-follow footer .footer-logo img{filter:drop-shadow(0 0 7px #ff3da9) drop-shadow(0 0 14px rgba(255,0,145,.82))!important}
}
@media(max-width:430px){
  .site-top .hero-title>img{width:min(100%,245px)!important;max-width:245px!important;transform:translateY(8px) scaleY(2.39)!important}
  footer .footer-social-row>a.footer-logo,footer a.footer-logo.footer-logo-left,footer a.footer-logo.footer-logo-right{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important;flex-basis:44px!important}
  footer .footer-social-row>a.footer-logo img,footer a.footer-logo.footer-logo-left img,footer a.footer-logo.footer-logo-right img{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;min-height:42px!important;max-height:42px!important}
}

/* ============================================================
   V193 — LIVESTREAM IMAGE FILL + ACTION LABEL SPACING
   Phone and desktop production alignment.
   ============================================================ */
.page-live .generated-live-card,
.generated-live-card {
  overflow: hidden !important;
}
.page-live .generated-live-card img,
.generated-live-card img {
  display: block !important;
  width: min(760px, 100%) !important;
  max-width: 100% !important;
  height: clamp(210px, 27vw, 340px) !important;
  margin: 0 auto 16px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 12px !important;
}

/* Keep the three action groups evenly distributed, but give the
   icon and its caption enough breathing room. */
.page-media .media-games-carousel .generated-action-list,
.page-media .media-season-carousel .generated-action-list {
  height: 100% !important;
  display: grid !important;
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
}
.page-media .media-games-carousel .generated-action-row,
.page-media .media-season-carousel .generated-action-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 0 !important;
}
.page-media .media-games-carousel .generated-action-copy,
.page-media .media-season-carousel .generated-action-copy {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  line-height: 1 !important;
}
.page-media .media-games-carousel .generated-action-copy strong,
.page-media .media-season-carousel .generated-action-copy strong {
  display: block !important;
  margin: 0 !important;
  line-height: 1.08 !important;
}

@media (max-width: 800px) {
  .page-live .generated-live-card img,
  .generated-live-card img {
    width: 100% !important;
    height: clamp(180px, 48vw, 270px) !important;
    margin-bottom: 14px !important;
    border-radius: 10px !important;
  }
  .page-media .media-games-carousel .generated-action-row,
  .page-media .media-season-carousel .generated-action-row {
    gap: 5px !important;
    padding-block: 5px !important;
  }
}


/* =========================================================
   V200 — GAME AWARDS CAROUSEL MATCHES MEDIA SHOWCASE
   Keeps award cards the same carousel size and neighbor layout
   as Latest Games, Game Archive, and Media Center.
========================================================= */
.page-media .media-game-awards-carousel {
    width: calc(100% - 36px) !important;
    max-width: 1220px !important;
    height: clamp(320px, 29vw, 425px) !important;
    min-height: clamp(320px, 29vw, 425px) !important;
    margin: 0 auto !important;
    padding: 28px 56px 56px !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    border: 1px solid rgba(0,185,255,.92) !important;
    background: radial-gradient(circle at 50% 8%,rgba(0,185,255,.18),transparent 45%),linear-gradient(180deg,rgba(2,15,38,.97),rgba(3,0,19,.985)) !important;
    box-shadow: 0 0 18px rgba(0,185,255,.36),inset 0 0 42px rgba(0,185,255,.10),0 16px 32px rgba(0,0,0,.48) !important;
}
.page-media .media-game-awards-carousel .carousel-track {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    gap: 0 !important;
    transform: none !important;
    overflow: visible !important;
}
.page-media .media-game-awards-carousel .game-award-slide {
    position: absolute !important;
    left: 50% !important;
    top: 46% !important;
    width: clamp(335px,57vw,640px) !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 15px !important;
    border: 2px solid var(--award-accent) !important;
    overflow: hidden !important;
    opacity: .28 !important;
    filter: brightness(.50) saturate(.82) !important;
    transform: translate(-50%,-50%) translateX(calc(var(--media-offset) * clamp(245px,42vw,510px))) scale(.62) !important;
    transition: transform .5s cubic-bezier(.22,.61,.36,1),opacity .5s ease,filter .5s ease,box-shadow .5s ease,border-color .5s ease !important;
    z-index: 1 !important;
    box-shadow: 0 0 13px color-mix(in srgb,var(--award-accent) 55%,transparent),0 12px 28px rgba(0,0,0,.50) !important;
    text-decoration: none !important;
}
.page-media .media-game-awards-carousel .game-award-slide.is-neighbor {
    opacity: .80 !important;
    filter: brightness(.80) saturate(1.05) !important;
    transform: translate(-50%,-50%) translateX(calc(var(--media-offset) * clamp(245px,42vw,510px))) scale(.76) !important;
    z-index: 3 !important;
}
.page-media .media-game-awards-carousel .game-award-slide.is-distance-2 {
    opacity: .20 !important;
    filter: brightness(.42) saturate(.76) !important;
    transform: translate(-50%,-50%) translateX(calc(var(--media-offset) * clamp(245px,42vw,510px))) scale(.52) !important;
}
.page-media .media-game-awards-carousel .game-award-slide.is-active {
    opacity: 1 !important;
    filter: brightness(1.06) saturate(1.16) !important;
    transform: translate(-50%,-50%) translateX(0) scale(1.02) !important;
    z-index: 8 !important;
    box-shadow: 0 0 20px color-mix(in srgb,var(--award-accent) 82%,transparent),0 0 44px color-mix(in srgb,var(--award-accent) 38%,transparent),0 18px 38px rgba(0,0,0,.62) !important;
}
.page-media .media-game-awards-carousel .game-award-slide.is-active:hover,
.page-media .media-game-awards-carousel .game-award-slide.is-active:focus-visible {
    transform: translate(-50%,-50%) translateX(0) scale(1.045) !important;
}
.page-media .media-game-awards-carousel .game-award-slide.is-hidden-media {opacity:0!important;pointer-events:none!important}
.page-media .media-game-awards-carousel .game-award-card {width:100%;height:100%;display:grid;grid-template-rows:19% 81%;background:#03050a;color:#fff;border-radius:13px;overflow:hidden}
.page-media .media-game-awards-carousel .game-award-header {display:flex;align-items:center;gap:14px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.82);background:linear-gradient(90deg,color-mix(in srgb,var(--award-accent) 18%,#020308),#020308)}
.page-media .media-game-awards-carousel .game-award-header strong {color:var(--award-accent);font-size:clamp(15px,2vw,24px);letter-spacing:.08em;line-height:1}
.page-media .media-game-awards-carousel .game-award-icon {font-size:clamp(22px,2.5vw,34px)}
.page-media .media-game-awards-carousel .game-award-body {display:grid;grid-template-columns:46% 54%;min-height:0}
.page-media .media-game-awards-carousel .game-award-photo {min-width:0;min-height:0;border-right:1px solid rgba(255,255,255,.82);background:#080313;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.page-media .media-game-awards-carousel .game-award-photo img {width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}
.page-media .media-game-awards-carousel .game-award-copy {padding:clamp(12px,2vw,24px);display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:hidden}
.page-media .media-game-awards-carousel .game-award-copy h3 {margin:0 0 7px;color:var(--award-accent);font-size:clamp(21px,3vw,38px);line-height:.94;text-transform:uppercase;letter-spacing:.01em}
.page-media .media-game-awards-carousel .game-award-copy h3 span {display:block}
.page-media .media-game-awards-carousel .game-award-copy p {margin:0 0 7px}
.page-media .media-game-awards-carousel .game-award-player-meta {color:var(--award-accent);font-weight:900;font-size:clamp(11px,1.5vw,17px)}
.page-media .media-game-awards-carousel .game-award-game-meta {font-weight:800;font-size:clamp(9px,1.2vw,13px)}
.page-media .media-game-awards-carousel .game-award-match {font-weight:900;font-size:clamp(12px,1.65vw,20px);line-height:1.14}
.page-media .media-game-awards-carousel .game-award-result {font-weight:900;font-size:clamp(11px,1.4vw,16px)}
.page-media .media-game-awards-carousel .game-award-watch {margin-top:auto;color:var(--award-accent);font-weight:900;font-size:clamp(8px,1.1vw,12px);letter-spacing:.06em}
.page-media .media-game-awards-carousel .carousel-button {top:47%!important;z-index:12!important;width:46px!important;height:46px!important;font-size:2.2rem!important}
.page-media .media-game-awards-carousel .carousel-button.prev {left:16px!important}
.page-media .media-game-awards-carousel .carousel-button.next {right:16px!important}
.page-media .media-game-awards-carousel .carousel-dots {bottom:18px!important}
@media(max-width:760px){
  .page-media .media-game-awards-carousel{width:calc(100% - 24px)!important;height:clamp(250px,75vw,330px)!important;min-height:clamp(250px,75vw,330px)!important;padding:22px 38px 48px!important}
  .page-media .media-game-awards-carousel .game-award-slide{width:min(78vw,430px)!important;top:45%!important;transform:translate(-50%,-50%) translateX(calc(var(--media-offset) * 72vw)) scale(.60)!important}
  .page-media .media-game-awards-carousel .game-award-slide.is-neighbor{transform:translate(-50%,-50%) translateX(calc(var(--media-offset) * 72vw)) scale(.72)!important}
  .page-media .media-game-awards-carousel .game-award-slide.is-distance-2{transform:translate(-50%,-50%) translateX(calc(var(--media-offset) * 72vw)) scale(.50)!important}
  .page-media .media-game-awards-carousel .game-award-slide.is-active{transform:translate(-50%,-50%) scale(1)!important}
  .page-media .media-game-awards-carousel .game-award-slide.is-active:hover,.page-media .media-game-awards-carousel .game-award-slide.is-active:focus-visible{transform:translate(-50%,-50%) scale(1.02)!important}
  .page-media .media-game-awards-carousel .game-award-header{padding:0 11px;gap:8px}
  .page-media .media-game-awards-carousel .game-award-body{grid-template-columns:44% 56%}
  .page-media .media-game-awards-carousel .game-award-copy{padding:9px}
  .page-media .media-game-awards-carousel .game-award-copy h3{font-size:clamp(17px,5.3vw,27px)}
  .page-media .media-game-awards-carousel .game-award-watch{font-size:8px}
}

/* =========================================================
   V201 — GAME AWARDS CAROUSEL HEIGHT MATCH
   Adds the extra vertical breathing room requested while
   preserving the V200 card size, neighbor visibility, colors,
   arrows, dots, and shared award renderer.
========================================================= */
.page-media .media-game-awards-carousel {
    height: clamp(355px, 33vw, 475px) !important;
    min-height: clamp(355px, 33vw, 475px) !important;
    padding-top: 34px !important;
    padding-bottom: 64px !important;
}

.page-media .media-game-awards-carousel .game-award-slide {
    top: 45% !important;
}

.page-media .media-game-awards-carousel .carousel-button {
    top: 46% !important;
}

.page-media .media-game-awards-carousel .carousel-dots {
    bottom: 22px !important;
}

@media (max-width: 760px) {
    .page-media .media-game-awards-carousel {
        height: clamp(285px, 84vw, 370px) !important;
        min-height: clamp(285px, 84vw, 370px) !important;
        padding-top: 26px !important;
        padding-bottom: 56px !important;
    }

    .page-media .media-game-awards-carousel .game-award-slide {
        top: 44% !important;
    }

    .page-media .media-game-awards-carousel .carousel-button {
        top: 45% !important;
    }
}

/* ============================================================
   V202 — FINAL RESPONSIVE POLISH + COLOR-CODED NAVIGATION
   Shared phone/desktop refinements requested after V201.
   ============================================================ */

/* Page accent system used by the boxed primary navigation. */
body{--page-accent:#f5c542;--page-accent-rgb:245,197,66}
body.page-home{--page-accent:#f5c542;--page-accent-rgb:245,197,66}
body.page-team{--page-accent:#d532ff;--page-accent-rgb:213,50,255}
body.page-schedule{--page-accent:#37ff79;--page-accent-rgb:55,255,121}
body.page-media{--page-accent:#35c9ff;--page-accent-rgb:53,201,255}
body.page-news{--page-accent:#ff9d32;--page-accent-rgb:255,157,50}
body.page-live{--page-accent:#ff3535;--page-accent-rgb:255,53,53}
body.page-follow{--page-accent:#ff3da9;--page-accent-rgb:255,61,169}

/* Turn the existing primary links into one coordinated neon button bar. */
.site-top nav{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:clamp(4px,.65vw,10px)!important;
  padding:8px clamp(8px,2vw,24px) 10px!important;
  align-items:stretch!important;
}
.site-top nav a{
  min-width:0!important;
  margin:0!important;
  padding:clamp(8px,.8vw,12px) 4px!important;
  border:1px solid rgba(var(--page-accent-rgb),.58)!important;
  border-radius:9px!important;
  background:linear-gradient(180deg,rgba(10,11,21,.82),rgba(2,3,10,.94))!important;
  color:#fff!important;
  text-align:center!important;
  line-height:1!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease,color .22s ease!important;
}
.site-top nav a:hover,
.site-top nav a:focus-visible{
  color:#fff!important;
  border-color:var(--page-accent)!important;
  background:linear-gradient(180deg,rgba(var(--page-accent-rgb),.45),rgba(var(--page-accent-rgb),.18))!important;
  box-shadow:0 0 9px rgba(var(--page-accent-rgb),.82),0 0 20px rgba(var(--page-accent-rgb),.42),inset 0 0 16px rgba(var(--page-accent-rgb),.20)!important;
  transform:translateY(-1px)!important;
}
.site-top nav a.active{
  color:#fff!important;
  border-color:var(--page-accent)!important;
  background:linear-gradient(180deg,rgba(var(--page-accent-rgb),.78),rgba(var(--page-accent-rgb),.34))!important;
  box-shadow:0 0 10px rgba(var(--page-accent-rgb),.92),0 0 24px rgba(var(--page-accent-rgb),.52),inset 0 0 18px rgba(255,255,255,.12)!important;
}

/* Navigation banner: taller title and true vertical centering between logos. */
.site-top .hero-bar{align-items:center!important}
.site-top .hero-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:clamp(80px,8.2vw,116px)!important;
  min-height:clamp(80px,8.2vw,116px)!important;
  overflow:visible!important;
}
.site-top .hero-title>img{
  display:block!important;
  margin:auto!important;
  transform:scaleY(1.16)!important;
  transform-origin:center center!important;
  max-height:88%!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* Profile card: larger centered name and position tucked closer to number. */
.ultimate-profile-card.prototype-profile-frame .prototype-profile-position{
  top:17.55%!important;
  left:7.2%!important;
  width:42%!important;
  height:4.6%!important;
  align-items:flex-start!important;
  font-size:3.8cqw!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name{
  top:28.25%!important;
  left:11.5%!important;
  right:11.5%!important;
  height:12.8%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.4cqw!important;
  text-align:center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name small{
  align-self:center!important;
  font-size:5.45cqw!important;
  line-height:.95!important;
  letter-spacing:.15em!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name strong{
  align-self:center!important;
  font-size:12.7cqw!important;
  line-height:.82!important;
  transform:scaleX(.94)!important;
  transform-origin:center center!important;
}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-9 strong{transform:scaleX(.91)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-10 strong{transform:scaleX(.87)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-11 strong{transform:scaleX(.83)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-12 strong{transform:scaleX(.79)!important}
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-13 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-14 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-15 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-16 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-17 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-18 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-19 strong,
.ultimate-profile-card.prototype-profile-frame .prototype-profile-name.name-length-20 strong{font-size:10.25cqw!important;transform:scaleX(.73)!important}

/* One uninterrupted divider fixes the tiny mobile mismatch between
   the action column and the score column below it. */
.page-media .media-games-carousel .generated-game-layout{
  position:relative!important;
}
.page-media .media-games-carousel .generated-game-layout::after{
  content:""!important;
  position:absolute!important;
  z-index:9!important;
  top:0!important;
  bottom:0!important;
  left:83%!important;
  width:2px!important;
  background:var(--card-accent)!important;
  box-shadow:0 0 4px color-mix(in srgb,var(--card-accent) 65%,transparent)!important;
  pointer-events:none!important;
}
.page-media .media-games-carousel .generated-wide-visual,
.page-media .media-games-carousel .generated-game-matchup-block{
  border-right:0!important;
}

/* Awards cards use the taller proportions of the regular game cards.
   The extra vertical room prevents names and metadata from clipping. */
.page-media .media-game-awards-carousel .game-award-slide{
  aspect-ratio:1.48 / 1!important;
}
.page-media .media-game-awards-carousel .game-award-card{
  grid-template-rows:18% 82%!important;
}
.page-media .media-game-awards-carousel .game-award-copy{
  justify-content:flex-start!important;
  padding-top:clamp(12px,1.6vw,20px)!important;
}
.page-media .media-game-awards-carousel .game-award-copy h3{
  flex:0 0 auto!important;
  max-height:none!important;
  overflow:visible!important;
}

@media(max-width:760px){
  .site-top .hero-title{
    height:94px!important;
    min-height:94px!important;
  }
  .site-top .hero-title>img{
    width:min(100%,282px)!important;
    max-width:282px!important;
    height:auto!important;
    max-height:82%!important;
    transform:scaleY(1.30)!important;
  }
  .site-top nav{
    gap:4px!important;
    padding:7px 5px 9px!important;
  }
  .site-top nav a{
    padding:9px 1px!important;
    border-radius:7px!important;
    font-size:clamp(10px,2.45vw,13px)!important;
    letter-spacing:0!important;
  }
  .page-media .media-games-carousel .generated-game-layout::after{
    left:80%!important;
  }
  .page-media .media-game-awards-carousel{
    height:clamp(330px,98vw,430px)!important;
    min-height:clamp(330px,98vw,430px)!important;
    padding:24px 34px 58px!important;
  }
  .page-media .media-game-awards-carousel .game-award-slide{
    width:min(82vw,455px)!important;
    aspect-ratio:1.42 / 1!important;
    top:44%!important;
  }
  .page-media .media-game-awards-carousel .game-award-header{
    padding:0 10px!important;
    gap:7px!important;
  }
  .page-media .media-game-awards-carousel .game-award-header strong{
    font-size:clamp(15px,4.7vw,23px)!important;
    white-space:nowrap!important;
  }
  .page-media .media-game-awards-carousel .game-award-icon{
    font-size:clamp(20px,5.5vw,29px)!important;
  }
  .page-media .media-game-awards-carousel .game-award-body{
    grid-template-columns:45% 55%!important;
  }
  .page-media .media-game-awards-carousel .game-award-copy{
    padding:11px 9px 9px!important;
  }
  .page-media .media-game-awards-carousel .game-award-copy h3{
    margin-bottom:8px!important;
    font-size:clamp(17px,5.0vw,25px)!important;
    line-height:.91!important;
  }
  .page-media .media-game-awards-carousel .game-award-player-meta{font-size:clamp(10px,3.25vw,14px)!important}
  .page-media .media-game-awards-carousel .game-award-game-meta{font-size:clamp(9px,2.75vw,12px)!important}
  .page-media .media-game-awards-carousel .game-award-match{font-size:clamp(12px,3.7vw,17px)!important}
  .page-media .media-game-awards-carousel .game-award-result{font-size:clamp(11px,3.25vw,15px)!important}
  .page-media .media-game-awards-carousel .game-award-watch{font-size:clamp(7px,2.25vw,10px)!important}
}

@media(max-width:430px){
  .site-top .hero-title{height:90px!important;min-height:90px!important}
  .site-top .hero-title>img{width:min(100%,258px)!important;max-width:258px!important;transform:scaleY(1.34)!important}
}

/* ============================================================
   V203 — PREMIUM MOTION, INTERACTION & CONTENT POLISH
   ============================================================ */
:root{--motion-fast:180ms;--motion-normal:420ms;--motion-slow:900ms;--motion-ease:cubic-bezier(.22,.61,.36,1)}
html{scroll-behavior:smooth}
body::before{animation:v203-star-drift 32s linear infinite alternate;will-change:background-position}
.hero-image{position:relative;overflow:hidden;isolation:isolate;animation:v203-hero-enter .9s var(--motion-ease) both}
.hero-image::before{content:"";position:absolute;inset:-2%;background:inherit;background-position:center;background-size:cover;z-index:-1;animation:v203-hero-breathe 18s ease-in-out infinite alternate;transform-origin:center}
.hero-image::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 45%,transparent 42%,rgba(0,0,0,.22) 100%);opacity:.75}
.hero-bar .hero-logo img,.hero-bar .hero-logo-right img{animation:v203-logo-pulse 4.8s ease-in-out infinite}
.hero-title img{animation:v203-title-enter .8s var(--motion-ease) both}
nav a{transition:transform var(--motion-fast) ease,background-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,color var(--motion-fast) ease}
nav a:hover,nav a:focus-visible{transform:translateY(-2px)}
.carousel-track{transition:transform .48s var(--motion-ease)!important;will-change:transform}
.carousel-button{transition:transform var(--motion-fast) ease,filter var(--motion-fast) ease,box-shadow var(--motion-fast) ease}
.carousel-button:hover,.carousel-button:focus-visible{transform:translateY(-50%) scale(1.08);filter:brightness(1.18)}
.carousel-dot{transition:transform var(--motion-fast) ease,opacity var(--motion-fast) ease,box-shadow var(--motion-fast) ease}
.carousel-dot.active{transform:scale(1.18)}
.media-slide,.team-card-slide,.media-game-slide,.season-archive-slide,.game-award-slide,.generated-news-card,.schedule-image-card,.follow-card,.about-card,.livestream-card{transition:transform .28s var(--motion-ease),filter .28s ease,box-shadow .28s ease}
.media-slide:hover,.team-card-slide:hover,.media-game-slide:hover,.season-archive-slide:hover,.game-award-slide:hover,.generated-news-card:hover,.schedule-image-card:hover,.follow-card:hover,.about-card:hover,.livestream-card:hover{transform:translateY(-4px) scale(1.012);filter:brightness(1.06)}
.v203-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--motion-ease),transform .7s var(--motion-ease)}
.v203-reveal.is-visible{opacity:1;transform:none}
.v203-on-this-day,.v203-countdown{margin:clamp(24px,4vw,48px) auto;max-width:1100px;border:1px solid var(--page-accent,#ffd700);border-radius:22px;background:linear-gradient(135deg,rgba(4,8,20,.96),rgba(10,5,20,.9));box-shadow:0 0 24px color-mix(in srgb,var(--page-accent,#ffd700) 45%,transparent);padding:clamp(18px,3vw,32px);text-align:center;overflow:hidden;position:relative}
.v203-on-this-day::before,.v203-countdown::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--page-accent,#ffd700) 15%,transparent),transparent 58%);pointer-events:none}
.v203-kicker{display:block;color:var(--page-accent,#ffd700);font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;margin-bottom:8px}
.v203-feature-title{font-size:clamp(1.45rem,4vw,2.35rem);margin:0 0 8px;text-transform:uppercase}
.v203-feature-meta{opacity:.86;margin:0 0 18px}
.v203-feature-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--page-accent,#ffd700);border-radius:999px;padding:10px 20px;color:#fff;text-decoration:none;font-weight:800;transition:.2s ease}
.v203-feature-link:hover,.v203-feature-link:focus-visible{background:var(--page-accent,#ffd700);color:#050509;box-shadow:0 0 22px var(--page-accent,#ffd700)}
.v203-countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:620px;margin:18px auto 0}
.v203-countdown-unit{border:1px solid color-mix(in srgb,var(--page-accent,#39ff14) 55%,transparent);border-radius:14px;padding:12px 6px;background:rgba(0,0,0,.28)}
.v203-countdown-unit strong{display:block;font-size:clamp(1.4rem,4vw,2.2rem);color:var(--page-accent,#39ff14)}
.v203-countdown-unit span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.footer-signature{display:block;margin-top:5px;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.footer-signature strong{color:var(--page-accent,#fff)}
@keyframes v203-hero-enter{from{opacity:0;filter:brightness(.55);transform:scale(1.015)}to{opacity:1;filter:none;transform:none}}
@keyframes v203-hero-breathe{from{transform:scale(1.01) translate3d(-.3%,0,0)}to{transform:scale(1.055) translate3d(.3%,-.4%,0)}}
@keyframes v203-logo-pulse{0%,100%{filter:drop-shadow(0 0 8px var(--page-accent,#fff)) brightness(1)}50%{filter:drop-shadow(0 0 15px var(--page-accent,#fff)) brightness(1.12)}}
@keyframes v203-title-enter{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes v203-star-drift{from{background-position:0 0}to{background-position:28px 18px}}
@media(max-width:700px){.v203-countdown-grid{grid-template-columns:repeat(2,1fr)}.media-slide:hover,.team-card-slide:hover,.media-game-slide:hover,.season-archive-slide:hover,.game-award-slide:hover{transform:none}.hero-image::before{animation-duration:24s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.v203-reveal{opacity:1;transform:none}}

/* ============================================================
   V204 — FLOATING SECTION NAVIGATION + GALAXY STATS
   ============================================================ */
.section-navigator{position:fixed;right:max(12px,calc((100vw - 1500px)/2 + 12px));top:50%;z-index:80;display:flex;flex-direction:column;gap:8px;transform:translateY(-50%);padding:10px;border:1px solid color-mix(in srgb,var(--page-accent,#20bfff) 62%,transparent);border-radius:18px;background:rgba(2,5,16,.82);backdrop-filter:blur(14px);box-shadow:0 0 22px color-mix(in srgb,var(--page-accent,#20bfff) 28%,transparent)}
.section-navigator a,.section-navigator button{appearance:none;border:1px solid color-mix(in srgb,var(--page-accent,#20bfff) 52%,transparent);border-radius:12px;background:rgba(0,0,0,.4);color:#fff;min-width:76px;padding:9px 8px;text-decoration:none;font:inherit;cursor:pointer;display:grid;place-items:center;gap:2px;transition:.2s ease}
.section-navigator span{font-size:1.15rem;line-height:1}.section-navigator b{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.section-navigator a:hover,.section-navigator a:focus-visible,.section-navigator button:hover,.section-navigator button:focus-visible,.section-navigator .is-active{background:var(--page-accent,#20bfff);color:#030612;box-shadow:0 0 18px var(--page-accent,#20bfff);transform:translateX(-3px)}
.media-archive-section,.homepage-bestof-section,.galaxy-stats-section{scroll-margin-top:120px}
.section-back-top{display:block;margin:20px auto 0;border:1px solid var(--page-accent,#20bfff);border-radius:999px;background:rgba(0,0,0,.5);color:#fff;padding:9px 18px;font-weight:800;cursor:pointer;transition:.2s ease}
.section-back-top:hover,.section-back-top:focus-visible{background:var(--page-accent,#20bfff);color:#030612;box-shadow:0 0 18px var(--page-accent,#20bfff)}
.galaxy-stats-section{margin:clamp(32px,5vw,70px) auto;max-width:1180px;padding:0 clamp(14px,3vw,32px)}
.galaxy-stats-heading{text-align:center;margin-bottom:22px}.galaxy-stats-heading>span{color:var(--page-accent,#ffd700);font-weight:900;letter-spacing:.18em;font-size:.75rem}.galaxy-stats-heading h2{margin:.25rem 0;font-size:clamp(2rem,6vw,4rem);text-transform:uppercase}.galaxy-stats-heading p{margin:0;opacity:.82}
.galaxy-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.galaxy-stat-card{min-height:250px;border:1px solid var(--page-accent,#ffd700);border-radius:20px;padding:24px;background:linear-gradient(145deg,rgba(5,8,18,.98),rgba(13,7,20,.92));box-shadow:0 0 24px color-mix(in srgb,var(--page-accent,#ffd700) 25%,transparent);overflow:hidden;position:relative}
.galaxy-stat-featured{grid-column:span 2;display:grid;grid-template-columns:1.1fr .9fr;align-items:end}.galaxy-stat-featured img{width:100%;height:100%;max-height:300px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 0 16px color-mix(in srgb,var(--page-accent,#ffd700) 50%,transparent))}
.galaxy-stat-kicker{display:block;color:var(--page-accent,#ffd700);font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}.galaxy-stat-copy h3{font-size:clamp(1.8rem,4vw,3.2rem);margin:0;line-height:1}.galaxy-stat-copy h3 small{color:var(--page-accent,#ffd700)}.galaxy-stat-copy>strong{display:block;font-size:clamp(2.2rem,5vw,4.2rem);line-height:.95;text-transform:uppercase}.galaxy-stat-copy>p{text-transform:uppercase;font-weight:800;letter-spacing:.08em}.galaxy-stat-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px}.galaxy-stat-mini-grid span,.galaxy-stat-list span{border-top:1px solid color-mix(in srgb,var(--page-accent,#ffd700) 38%,transparent);padding:11px 0;display:flex;align-items:baseline;gap:10px}.galaxy-stat-mini-grid b,.galaxy-stat-list b{color:var(--page-accent,#ffd700);font-size:1.45rem}.galaxy-stat-list{display:grid}
@media(max-width:1180px){.section-navigator{right:8px}.site-shell{padding-right:0}}
@media(max-width:760px){
  .section-navigator{position:sticky;top:0;right:auto;transform:none;z-index:95;display:flex;flex-direction:row;justify-content:center;overflow-x:auto;border-left:0;border-right:0;border-radius:0;padding:7px 8px;margin:0;background:rgba(2,5,16,.94);box-shadow:0 4px 18px rgba(0,0,0,.45)}
  .section-navigator a,.section-navigator button{display:flex;min-width:max-content;padding:8px 11px;gap:6px;border-radius:999px}.section-navigator b{font-size:.66rem}.section-navigator span{font-size:.95rem}.section-navigator a:hover,.section-navigator a:focus-visible,.section-navigator button:hover,.section-navigator button:focus-visible,.section-navigator .is-active{transform:none}
  .media-archive-section,.homepage-bestof-section,.galaxy-stats-section{scroll-margin-top:70px}
  .galaxy-stats-grid{grid-template-columns:1fr}.galaxy-stat-featured{grid-column:auto;grid-template-columns:1fr .72fr;min-height:270px}.galaxy-stat-card{min-height:auto;padding:18px}.galaxy-stat-featured img{max-height:250px}.galaxy-stat-copy>strong{font-size:clamp(2rem,10vw,3.6rem)}
}
@media(max-width:430px){.section-navigator b{display:none}.section-navigator a,.section-navigator button{min-width:46px;justify-content:center}.galaxy-stat-featured{grid-template-columns:1fr}.galaxy-stat-featured img{position:absolute;right:-4%;bottom:0;width:48%;opacity:.65}.galaxy-stat-copy{position:relative;z-index:1;padding-right:25%}.galaxy-stat-mini-grid{grid-template-columns:1fr}}

/* ============================================================
   V205 — STICKY SECTION NAV + MOBILE HEADER FIT LOCKDOWN
   Keeps the secondary navigation available while scrolling,
   enlarges/centers the banner title, and preserves full labels.
   ============================================================ */

/* The header height is measured by section-navigation.js so the secondary
   navigation can sit directly below the sticky primary header on phones. */
:root{--v205-sticky-header-height:0px}

/* Slightly taller title treatment on desktop and tablet, while retaining
   the current logo size and true vertical centering. */
.site-top .hero-bar{
  align-items:center!important;
}
.site-top .hero-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  overflow:visible!important;
}
.site-top .hero-title>img{
  width:min(100%,1080px)!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:scaleY(1.24)!important;
  transform-origin:center center!important;
}

/* Desktop section navigation remains continuously available at the side. */
@media(min-width:761px){
  .section-navigator{
    position:fixed!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    visibility:visible!important;
    opacity:1!important;
  }
}

@media(max-width:760px){
  /* Full labels remain clearer than icon-only navigation. Equal tracks and
     a slightly taller button row give SCHEDULE enough room without crowding. */
  .site-top nav{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:3px!important;
    padding:7px 4px 9px!important;
  }
  .site-top nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    min-height:48px!important;
    padding:8px 0!important;
    font-size:clamp(9px,2.35vw,12px)!important;
    line-height:1!important;
    letter-spacing:-.015em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    border-radius:8px!important;
  }

  /* Taller, vertically centered center title between the two logos. */
  .site-top .hero-bar{
    grid-template-columns:clamp(54px,13vw,72px) minmax(0,1fr) clamp(54px,13vw,72px)!important;
    column-gap:clamp(5px,1.4vw,10px)!important;
    min-height:132px!important;
    padding:8px 8px 5px!important;
  }
  .site-top .hero-logo img,
  .site-top .hero-logo-right img{
    width:clamp(52px,12vw,66px)!important;
    height:auto!important;
  }
  .site-top .hero-title{
    height:118px!important;
    min-height:118px!important;
  }
  .site-top .hero-title>img{
    width:100%!important;
    max-width:360px!important;
    height:104px!important;
    max-height:104px!important;
    transform:scaleY(1.42)!important;
  }

  /* Use fixed positioning on phones. Sticky was being contained by the page
     layout and disappeared after its original position scrolled away. */
  .section-navigator{
    position:fixed!important;
    top:var(--v205-sticky-header-height)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    transform:none!important;
    z-index:990!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:7px!important;
    overflow:visible!important;
    padding:7px max(8px,env(safe-area-inset-left)) 8px max(8px,env(safe-area-inset-right))!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid color-mix(in srgb,var(--page-accent,#20bfff) 70%,transparent)!important;
    border-radius:0!important;
    background:rgba(2,5,16,.96)!important;
    backdrop-filter:blur(16px)!important;
    box-shadow:0 5px 18px rgba(0,0,0,.5),0 0 14px color-mix(in srgb,var(--page-accent,#20bfff) 24%,transparent)!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .section-navigator a,
  .section-navigator button{
    display:flex!important;
    min-width:0!important;
    min-height:46px!important;
    padding:7px 4px!important;
    justify-content:center!important;
    gap:4px!important;
    border-radius:999px!important;
  }
  .section-navigator span{font-size:1.05rem!important}
  .section-navigator b{
    display:block!important;
    font-size:clamp(.52rem,1.75vw,.66rem)!important;
    letter-spacing:.035em!important;
    white-space:nowrap!important;
  }

  /* Prevent fixed secondary navigation from covering section headings. */
  .media-archive-section,
  .homepage-bestof-section,
  .galaxy-stats-section{
    scroll-margin-top:calc(var(--v205-sticky-header-height) + 68px)!important;
  }
}

@media(max-width:430px){
  .site-top .hero-bar{
    grid-template-columns:52px minmax(0,1fr) 52px!important;
    min-height:126px!important;
  }
  .site-top .hero-title{height:112px!important;min-height:112px!important}
  .site-top .hero-title>img{
    max-width:320px!important;
    height:98px!important;
    max-height:98px!important;
    transform:scaleY(1.46)!important;
  }
  .site-top nav a{
    min-height:46px!important;
    font-size:clamp(8.5px,2.25vw,10.5px)!important;
  }
  .section-navigator{gap:5px!important;padding-left:6px!important;padding-right:6px!important}
  .section-navigator a,.section-navigator button{min-height:44px!important;padding:6px 2px!important}
  .section-navigator b{font-size:clamp(.48rem,1.65vw,.59rem)!important}
}

/* ============================================================
   V206 — LAYOUT CONSISTENCY + DELAYED SECTION NAVIGATION
   Stabilizes Home and Media after the V204/V205 feature additions.
   ============================================================ */
:root{--v206-sticky-header-height:0px}

/* Lock the intended homepage story order regardless of older layout rules. */
.page-home main{display:flex!important;flex-direction:column!important}
.page-home .homepage-bestof-section{order:1!important}
.page-home .galaxy-stats-section{order:2!important}

/* The section navigator belongs to the content, not the hero. It is hidden
   until the hero has completely passed, then fades into its fixed position. */
.section-navigator{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease!important;
}
.section-navigator.is-section-nav-visible{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Slim desktop tool palette that stays inside the site edge. */
@media(min-width:761px){
  .section-navigator{
    right:max(5px,calc((100vw - var(--site-width))/2 + 5px))!important;
    top:58%!important;
    width:64px!important;
    max-width:64px!important;
    gap:5px!important;
    padding:6px!important;
    border-radius:14px!important;
    transform:translateY(-50%) translateX(8px)!important;
  }
  .section-navigator.is-section-nav-visible{transform:translateY(-50%) translateX(0)!important}
  .section-navigator a,.section-navigator button{
    width:50px!important;
    min-width:50px!important;
    min-height:49px!important;
    padding:5px 2px!important;
    border-radius:10px!important;
    gap:1px!important;
  }
  .section-navigator span{font-size:1rem!important}
  .section-navigator b{font-size:.49rem!important;line-height:1.05!important;letter-spacing:.025em!important;white-space:normal!important;text-align:center!important}
}

/* One shared carousel stage size for Latest Games and Game Awards. */
.page-media .media-games-carousel,
.page-media .media-game-awards-carousel{
  width:calc(100% - 36px)!important;
  max-width:1220px!important;
  height:clamp(390px,34vw,500px)!important;
  min-height:clamp(390px,34vw,500px)!important;
  padding:30px 56px 64px!important;
  margin-inline:auto!important;
  overflow:hidden!important;
}
.page-media .media-games-carousel .carousel-track,
.page-media .media-game-awards-carousel .carousel-track{height:100%!important;overflow:visible!important}

/* Center cards in the usable stage and leave equal air above and below. */
.page-media .media-games-carousel .media-game-slide,
.page-media .media-game-awards-carousel .game-award-slide{
  top:45%!important;
  margin:0!important;
}
.page-media .media-game-awards-carousel .game-award-slide{
  width:clamp(350px,57vw,660px)!important;
  aspect-ratio:1.55 / 1!important;
}
.page-media .media-game-awards-carousel .game-award-card{inset:0!important;height:100%!important}
.page-media .media-game-awards-carousel .game-award-copy{min-height:0!important;overflow:hidden!important}
.page-media .media-game-awards-carousel .carousel-dots,
.page-media .media-games-carousel .carousel-dots{bottom:21px!important}

/* Latest-game card fills its slide; footer text gets safe breathing room. */
.page-media .media-games-carousel .generated-wide-card{inset:0!important;height:100%!important;bottom:auto!important}
.page-media .media-games-carousel .generated-game-layout{height:100%!important;min-height:0!important;overflow:hidden!important}
.page-media .media-games-carousel .generated-game-footer{min-height:18%!important;height:auto!important;align-items:stretch!important}
.page-media .media-games-carousel .generated-game-footer>*{min-height:0!important;padding-top:6px!important;padding-bottom:6px!important;line-height:1.05!important;overflow:visible!important}

/* Taller, better centered navigation title without enlarging the logos. */
.site-top .hero-title{height:clamp(96px,9vw,132px)!important;min-height:clamp(96px,9vw,132px)!important}
.site-top .hero-title>img{max-height:94%!important;transform:scaleY(1.30)!important}

@media(max-width:760px){
  /* Hidden until after the hero; once visible, it sits below the main header. */
  .section-navigator{
    top:var(--v206-sticky-header-height)!important;
    transform:translateY(-10px)!important;
  }
  .section-navigator.is-section-nav-visible{transform:translateY(0)!important}

  .page-media .media-games-carousel,
  .page-media .media-game-awards-carousel{
    width:calc(100% - 24px)!important;
    height:clamp(350px,102vw,430px)!important;
    min-height:clamp(350px,102vw,430px)!important;
    padding:25px 34px 58px!important;
  }
  .page-media .media-games-carousel .media-game-slide,
  .page-media .media-game-awards-carousel .game-award-slide{
    width:min(84vw,455px)!important;
    top:44%!important;
  }
  .page-media .media-game-awards-carousel .game-award-slide{aspect-ratio:1.42 / 1!important}
  .page-media .media-game-awards-carousel .game-award-copy{padding:9px 8px 8px!important}
  .page-media .media-game-awards-carousel .game-award-copy h3{font-size:clamp(16px,4.8vw,24px)!important;line-height:.92!important}

  /* Keep the complete footer visible and eliminate the empty strip below it. */
  .page-media .media-games-carousel .generated-game-footer{min-height:20%!important}
  .page-media .media-games-carousel .generated-game-footer>*{padding:5px 3px!important;font-size:clamp(8px,2.2vw,11px)!important}

  .site-top .hero-title{height:122px!important;min-height:122px!important}
  .site-top .hero-title>img{height:110px!important;max-height:110px!important;transform:scaleY(1.52)!important}

  .media-archive-section,.homepage-bestof-section,.galaxy-stats-section{
    scroll-margin-top:calc(var(--v206-sticky-header-height) + 66px)!important;
  }
}

@media(max-width:430px){
  .site-top .hero-title{height:116px!important;min-height:116px!important}
  .site-top .hero-title>img{height:104px!important;max-height:104px!important;transform:scaleY(1.55)!important}
}

/* V207 — Galaxy Search */
.galaxy-search-trigger{font:inherit;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:.35rem;background:rgba(3,8,20,.88);color:#fff;border:1px solid currentColor;border-radius:8px;min-height:42px;padding:.55rem .85rem;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.galaxy-search-trigger:hover,.galaxy-search-trigger:focus-visible{background:color-mix(in srgb,var(--page-accent,#20bfff) 35%,#050915);box-shadow:0 0 16px var(--page-accent,#20bfff);transform:translateY(-1px)}.galaxy-search-trigger span{font-size:1.25rem;line-height:1}.galaxy-search-trigger b{font-size:.78rem}
body.galaxy-search-open{overflow:hidden}.galaxy-search-overlay{position:fixed;inset:0;z-index:100000;background:rgba(0,0,10,.86);backdrop-filter:blur(12px);padding:clamp(12px,3vw,36px);overflow:auto}.galaxy-search-overlay[hidden]{display:none}.galaxy-search-shell{width:min(1100px,100%);min-height:min(760px,calc(100vh - 72px));margin:0 auto;background:linear-gradient(180deg,rgba(7,14,32,.98),rgba(1,3,12,.98));border:1px solid var(--page-accent,#20bfff);border-radius:22px;box-shadow:0 0 36px color-mix(in srgb,var(--page-accent,#20bfff) 48%,transparent);padding:clamp(18px,3vw,34px)}.galaxy-search-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.galaxy-search-header small{color:var(--page-accent,#20bfff);letter-spacing:.25em;font-weight:800}.galaxy-search-header h2{margin:.15rem 0 0;color:#fff;font-size:clamp(1.8rem,5vw,3.2rem);text-transform:uppercase}.galaxy-search-close{width:50px;height:50px;border-radius:50%;border:1px solid var(--page-accent,#20bfff);background:#070b18;color:#fff;font-size:2rem;cursor:pointer}.galaxy-search-box{margin:1.25rem 0 .9rem;display:flex;align-items:center;gap:.8rem;border:2px solid var(--page-accent,#20bfff);border-radius:15px;background:rgba(0,0,0,.55);padding:.25rem 1rem;box-shadow:inset 0 0 18px rgba(0,0,0,.55),0 0 18px color-mix(in srgb,var(--page-accent,#20bfff) 20%,transparent)}.galaxy-search-box>span{font-size:1.7rem;color:var(--page-accent,#20bfff)}.galaxy-search-box input{width:100%;min-width:0;padding:1rem 0;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:clamp(1rem,2.5vw,1.35rem)}.galaxy-search-box input::placeholder{color:#aeb8cc}.galaxy-search-filters{display:flex;gap:.55rem;flex-wrap:wrap}.galaxy-search-filters button{border:1px solid var(--page-accent,#20bfff);border-radius:999px;background:#070b18;color:#fff;padding:.55rem .95rem;font:inherit;font-weight:700;cursor:pointer}.galaxy-search-filters button.active{background:var(--page-accent,#20bfff);color:#02040a;box-shadow:0 0 14px var(--page-accent,#20bfff)}.galaxy-search-meta{display:flex;justify-content:space-between;gap:1rem;color:#aeb8cc;margin:1rem .15rem .65rem;font-size:.9rem}.galaxy-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.galaxy-search-result{display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--page-accent,#20bfff) 55%,#455);border-radius:14px;overflow:hidden;background:rgba(2,6,16,.9);transition:transform .18s ease,box-shadow .18s ease}.galaxy-search-result:hover{transform:translateY(-2px);box-shadow:0 0 18px color-mix(in srgb,var(--page-accent,#20bfff) 28%,transparent)}.galaxy-search-result-main{display:grid;grid-template-columns:96px 1fr;gap:.9rem;align-items:center;text-decoration:none;color:#fff;padding:.75rem}.galaxy-search-result-media{width:96px;aspect-ratio:16/10;border-radius:9px;overflow:hidden;background:#000;display:grid;place-items:center}.galaxy-search-result-media img{width:100%;height:100%;object-fit:cover}.galaxy-search-result-icon{font-size:2.2rem}.galaxy-search-result-copy{min-width:0;display:flex;flex-direction:column;gap:.2rem}.galaxy-search-result-copy small{text-transform:uppercase;color:var(--page-accent,#20bfff);font-weight:800;letter-spacing:.12em}.galaxy-search-result-copy strong{font-size:1.05rem;line-height:1.2}.galaxy-search-result-copy span{color:#bdc6d6;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.galaxy-search-result-actions{display:flex;gap:.45rem;flex-wrap:wrap;padding:0 .75rem .75rem}.galaxy-search-result-actions a{color:#fff;text-decoration:none;border:1px solid var(--page-accent,#20bfff);border-radius:7px;padding:.42rem .62rem;font-size:.78rem;font-weight:700}.galaxy-search-result-actions a:hover{background:var(--page-accent,#20bfff);color:#02040a}.galaxy-search-empty{grid-column:1/-1;min-height:220px;display:grid;place-content:center;text-align:center;color:#fff}.galaxy-search-empty strong{font-size:1.4rem}.galaxy-search-empty span{color:#aeb8cc;margin-top:.4rem}
@media(max-width:900px){header nav .galaxy-search-trigger{flex:0 0 44px;min-width:44px;padding:.45rem}.galaxy-search-trigger b{display:none}.galaxy-search-results{grid-template-columns:1fr}.galaxy-search-overlay{padding:8px}.galaxy-search-shell{min-height:calc(100vh - 16px);border-radius:16px;padding:16px}.galaxy-search-result-main{grid-template-columns:76px 1fr}.galaxy-search-result-media{width:76px}.galaxy-search-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem}.galaxy-search-filters button{white-space:nowrap}.galaxy-search-meta span:last-child{display:none}}

/* ================================================================
   ALLSTAR GALAXY V3.0 FOUNDATION
   Shared navigation + responsive Galaxy Search. Keep new global UI
   rules in this block so future site-wide changes are made once.
   ================================================================ */
.site-nav-v3{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(4px,.65vw,10px);align-items:stretch}
.site-nav-v3>a,.site-nav-v3>.site-search-button{min-width:0;display:flex;align-items:center;justify-content:center;text-align:center}
.site-search-button{font:inherit;text-transform:uppercase;letter-spacing:.04em;color:#fff;border:1px solid var(--page-accent,#20bfff);border-radius:8px;background:rgba(3,8,20,.88);cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}
.site-search-button:hover,.site-search-button:focus-visible,.mobile-search-button:hover,.mobile-search-button:focus-visible{background:color-mix(in srgb,var(--page-accent,#20bfff) 35%,#050915);box-shadow:0 0 16px var(--page-accent,#20bfff);transform:translateY(-1px)}
.site-search-button-desktop{gap:.35rem;padding:.55rem .5rem;min-height:42px}.site-search-button-desktop span{font-size:1.2rem}.site-search-button-desktop b{font-size:.78rem}
.mobile-search-button{display:none;background:rgba(3,8,20,.9);color:#fff;border:2px solid var(--page-accent,#20bfff);border-radius:50%;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 12px color-mix(in srgb,var(--page-accent,#20bfff) 55%,transparent)}
.mobile-search-button span{font-size:1.65rem;line-height:1;transform:translateY(-1px)}
body.galaxy-search-open{overflow:hidden}
.galaxy-search-v3{position:fixed;inset:0;z-index:100000;background:rgba(0,0,10,.88);backdrop-filter:blur(12px);padding:clamp(10px,3vw,34px);overflow:auto}
.galaxy-search-v3[hidden]{display:none}
.galaxy-search-panel{width:min(1120px,100%);min-height:min(760px,calc(100vh - 68px));margin:0 auto;padding:clamp(16px,3vw,34px);background:linear-gradient(180deg,rgba(7,14,32,.99),rgba(1,3,12,.99));border:1px solid var(--page-accent,#20bfff);border-radius:22px;box-shadow:0 0 36px color-mix(in srgb,var(--page-accent,#20bfff) 48%,transparent)}
.galaxy-search-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.galaxy-search-heading small{color:var(--page-accent,#20bfff);letter-spacing:.24em;font-weight:800}.galaxy-search-heading h2{margin:.1rem 0 0;color:#fff;font-size:clamp(1.8rem,5vw,3.1rem);text-transform:uppercase}.galaxy-search-close{width:50px;height:50px;border-radius:50%;border:1px solid var(--page-accent,#20bfff);background:#070b18;color:#fff;font-size:2rem;cursor:pointer}
.galaxy-search-input{margin:1.15rem 0 .85rem;display:flex;align-items:center;gap:.8rem;border:2px solid var(--page-accent,#20bfff);border-radius:15px;background:rgba(0,0,0,.55);padding:.2rem 1rem;box-shadow:0 0 18px color-mix(in srgb,var(--page-accent,#20bfff) 20%,transparent)}.galaxy-search-input>span{font-size:1.7rem;color:var(--page-accent,#20bfff)}.galaxy-search-input input{width:100%;min-width:0;padding:1rem 0;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:clamp(1rem,2.5vw,1.3rem)}.galaxy-search-input input::placeholder{color:#aeb8cc}
.galaxy-search-filter-row{display:flex;gap:.55rem;flex-wrap:wrap}.galaxy-search-filter-row button{border:1px solid var(--page-accent,#20bfff);border-radius:999px;background:#070b18;color:#fff;padding:.55rem .95rem;font:inherit;font-weight:700;cursor:pointer}.galaxy-search-filter-row button.active{background:var(--page-accent,#20bfff);color:#02040a;box-shadow:0 0 14px var(--page-accent,#20bfff)}
.galaxy-search-summary{display:flex;justify-content:space-between;gap:1rem;color:#aeb8cc;margin:1rem .15rem .65rem;font-size:.9rem}.galaxy-search-results-v3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.search-result-card{display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--page-accent,#20bfff) 55%,#455);border-radius:14px;overflow:hidden;background:rgba(2,6,16,.92);transition:transform .18s ease,box-shadow .18s ease}.search-result-card:hover{transform:translateY(-2px);box-shadow:0 0 18px color-mix(in srgb,var(--page-accent,#20bfff) 28%,transparent)}.search-result-main{display:grid;grid-template-columns:96px 1fr;gap:.9rem;align-items:center;text-decoration:none;color:#fff;padding:.75rem}.search-result-image{width:96px;aspect-ratio:16/10;border-radius:9px;overflow:hidden;background:#000;display:grid;place-items:center}.search-result-image img{width:100%;height:100%;object-fit:cover}.search-result-fallback{font-size:2.2rem}.search-result-copy{min-width:0;display:flex;flex-direction:column;gap:.2rem}.search-result-copy small{text-transform:uppercase;color:var(--page-accent,#20bfff);font-weight:800;letter-spacing:.12em}.search-result-copy strong{font-size:1.05rem;line-height:1.2}.search-result-copy>span{color:#bdc6d6;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-actions{display:flex;gap:.45rem;flex-wrap:wrap;padding:0 .75rem .75rem}.search-result-actions a{color:#fff;text-decoration:none;border:1px solid var(--page-accent,#20bfff);border-radius:7px;padding:.42rem .62rem;font-size:.78rem;font-weight:700}.search-result-actions a:hover{background:var(--page-accent,#20bfff);color:#02040a}.search-empty{grid-column:1/-1;min-height:220px;display:grid;place-content:center;text-align:center;color:#fff}.search-empty strong{font-size:1.4rem}.search-empty span{color:#aeb8cc;margin-top:.4rem}
@media(max-width:900px){
  .site-nav-v3{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  .site-search-button-desktop{display:none!important}
  .hero-bar{grid-template-columns:auto minmax(0,1fr) auto!important}
  .desktop-right-logo{display:none!important}
  .mobile-search-button{display:flex;width:clamp(44px,12vw,58px);height:clamp(44px,12vw,58px);margin-inline:auto}
  .galaxy-search-v3{padding:8px}.galaxy-search-panel{min-height:calc(100vh - 16px);border-radius:16px;padding:16px}.galaxy-search-results-v3{grid-template-columns:1fr}.search-result-main{grid-template-columns:76px 1fr}.search-result-image{width:76px}.galaxy-search-filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem}.galaxy-search-filter-row button{white-space:nowrap}.galaxy-search-summary span:last-child{display:none}
}
@media(max-width:520px){.site-nav-v3>a{font-size:clamp(.56rem,2.4vw,.72rem);padding-inline:2px}.galaxy-search-heading h2{font-size:1.75rem}.galaxy-search-close{width:44px;height:44px}.search-result-copy strong{font-size:.96rem}}


/* ================================================================
   ALLSTAR GALAXY V3.0.1 — PERMANENT RESPONSIVE SEARCH NAVIGATION
   Desktop Search always follows Follow. Mobile Search replaces the
   right header logo without adding an eighth phone navigation item.
   ================================================================ */
@media (min-width:901px){
  .site-top nav.site-nav-v3{grid-template-columns:repeat(8,minmax(0,1fr))!important}
  .site-top nav.site-nav-v3>.site-search-button-desktop{display:flex!important;order:8!important}
  .site-top nav.site-nav-v3>a:nth-of-type(7){order:7!important}
  .site-top .mobile-search-button{display:none!important}
  .site-top .desktop-right-logo{display:flex!important}
}
@media (max-width:900px){
  .site-top nav.site-nav-v3{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  .site-top nav.site-nav-v3>.site-search-button-desktop{display:none!important}
  .site-top .hero-logo-right.desktop-right-logo{display:none!important}
  .site-top .mobile-search-button{display:flex!important;grid-column:3;grid-row:1;align-self:center;justify-self:center}
}

/* V208 final responsive rendering safeguards */
html{overflow-x:hidden}body{overflow-x:clip}.site-shell{width:100%;max-width:100%}img,video,iframe{max-width:100%}.hero-image{background-position:center;background-repeat:no-repeat;background-size:cover}.carousel-viewport{min-width:0}.carousel-track{will-change:transform}.game-link-action[hidden]{display:none!important}.game-link-actions{flex-wrap:wrap}.game-link-action{min-width:min(100%,210px)}
@media (max-width: 760px){.site-top nav{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.site-top nav::-webkit-scrollbar{display:none}.hero-bar{min-width:0}.hero-title{min-width:0}.hero-title img{width:100%;height:auto;object-fit:contain}.page-main{width:100%;padding-left:clamp(10px,3vw,18px);padding-right:clamp(10px,3vw,18px)}.carousel-section,.media-carousel,.carousel-viewport{max-width:100%}.game-link-panel{width:min(94vw,560px);max-height:88vh;overflow:auto}.game-link-actions{display:grid;grid-template-columns:1fr}.game-link-action{width:100%;min-width:0}.footer-social-row{gap:10px}.footer-social{flex-wrap:wrap;justify-content:center}}
@media (min-width: 761px){.page-main{max-width:1600px;margin-inline:auto}.hero-image{min-height:clamp(360px,42vw,720px)}}

/* ================================================================
   V209 HOTFIX — RESTORE CENTERED SITE WIDTH
   V208 unintentionally forced .site-shell to the full browser width
   and imposed an oversized desktop hero height. Restore the intended
   centered 1400px site canvas while remaining fluid on smaller screens.
   ================================================================ */
.site-shell{
  width:min(100%,var(--site-width))!important;
  max-width:var(--site-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media (min-width:761px){
  .page-main{
    width:100%!important;
    max-width:none!important;
    margin-inline:0!important;
  }
  .hero-image{
    min-height:0!important;
  }
}


/* V210 — final V1 content structure and global status ticker */
.asg-status-ticker{width:100%;overflow:hidden;border-top:1px solid currentColor;border-bottom:1px solid currentColor;background:rgba(4,4,10,.96);color:#ffd700;min-height:30px;display:flex;align-items:center;position:relative;z-index:20}
.asg-status-ticker-track{display:flex;align-items:center;gap:18px;width:max-content;min-width:100%;padding:7px 24px;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;animation:asgTickerMove 28s linear infinite}
.asg-status-ticker:hover .asg-status-ticker-track{animation-play-state:paused}
@keyframes asgTickerMove{from{transform:translateX(100%)}to{transform:translateX(-100%)}}
.page-media .asg-status-ticker{color:#00cfff}.page-team .asg-status-ticker{color:#ff39ff}.page-schedule .asg-status-ticker{color:#ff3030}.page-news .asg-status-ticker{color:#39ff6a}.page-live .asg-status-ticker{color:#ff3030}.page-follow .asg-status-ticker{color:#a86cff}
.homepage-latest-games-section,.homepage-random-video-section,.team-stats-section{padding-left:clamp(20px,5vw,70px);padding-right:clamp(20px,5vw,70px)}
.homepage-latest-games-section .media-section-heading,.homepage-random-video-section .media-section-heading{text-align:center}
.homepage-latest-games-section .media-section-title-graphic,.homepage-random-video-section .media-section-title-graphic{display:block;max-width:min(760px,88%);height:auto;margin:0 auto 8px}
.team-stats-section{margin-top:30px;margin-bottom:35px}
@media(max-width:700px){.asg-status-ticker-track{font-size:9px;gap:12px;padding:6px 14px;animation-duration:22s}.asg-status-ticker{min-height:25px}}

/* V211 — Eight-link game media popup and embedded website player */
.game-link-panel{max-width:760px;max-height:92vh;overflow-y:auto}
.game-link-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.game-link-action{width:100%;font:inherit;cursor:pointer;text-align:center}
.game-link-action.is-disabled,.game-link-action:disabled{cursor:not-allowed;opacity:.42;filter:saturate(.35)}
.game-link-goal{border-color:#ff2d2d!important;box-shadow:inset 0 0 16px rgba(255,45,45,.12)}
.game-link-save{border-color:#20bfff!important;box-shadow:inset 0 0 16px rgba(32,191,255,.12)}
.game-link-assist{border-color:#2cff76!important;box-shadow:inset 0 0 16px rgba(44,255,118,.12)}
.game-link-play{border-color:#c94cff!important;box-shadow:inset 0 0 16px rgba(201,76,255,.12)}
.game-link-player{border-color:#f5c542!important;box-shadow:inset 0 0 16px rgba(245,197,66,.15);grid-column:1/-1}
.game-video-player{margin:16px 0 18px;border:1px solid #20bfff;border-radius:14px;padding:8px;background:#000;box-shadow:0 0 22px rgba(32,191,255,.28)}
.game-video-frame-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:9px;background:#000}
.game-video-frame{position:absolute;inset:0;width:100%;height:100%;border:0}
.game-video-now-playing{text-align:center;padding:9px 6px 3px;font-weight:800;letter-spacing:.08em;color:#20bfff}
@media(max-width:640px){.game-link-actions{grid-template-columns:1fr}.game-link-player{grid-column:auto}.game-link-panel{width:94vw;padding:22px 14px}.game-link-action{font-size:.86rem}}


/* V212 cumulative V1 structure correction */
.page-team .section-navigator{--section-nav-accent:#ff39ff}
.page-team .team-stats-section{scroll-margin-top:90px}
.page-team .team-roster-section{scroll-margin-top:90px}
.asg-status-ticker{display:flex!important;visibility:visible!important}
@media(max-width:700px){.page-team .section-navigator{margin-top:10px}}


/* =========================================================
   V213 — HOMEPAGE-ONLY FINAL STRUCTURE CORRECTION
   ========================================================= */
.page-home .asg-status-ticker{
  position:sticky !important;
  top:0 !important;
  z-index:120 !important;
  display:flex !important;
  visibility:visible !important;
  width:100% !important;
}
.page-home .section-navigator{top:30px;}

.page-home main{
  overflow:visible;
}
.page-home .homepage-latest-games-section,
.page-home .homepage-random-video-section{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:44px clamp(18px,4vw,58px);
  box-sizing:border-box;
  overflow:visible;
}
.page-home .homepage-latest-games-section .media-games-carousel{
  width:min(100%,1020px);
  max-width:1020px;
  min-height:515px;
  margin:24px auto 0;
  overflow:hidden;
  box-sizing:border-box;
}
.page-home .homepage-latest-games-section .media-games-carousel .carousel-track{
  min-height:470px;
  overflow:visible;
}
.page-home .homepage-latest-games-section .media-game-slide{
  width:min(86vw,760px) !important;
  max-width:760px !important;
  flex:0 0 min(86vw,760px) !important;
  margin:0 !important;
}
.page-home .homepage-latest-games-section .generated-wide-card{
  width:100%;
  min-height:430px;
  box-sizing:border-box;
}
.page-home .homepage-latest-games-section .generated-game-layout{
  grid-template-columns:minmax(0,1.65fr) minmax(220px,.85fr);
}
.page-home .homepage-latest-games-section .generated-card-footer{
  grid-column:1/-1;
}

.page-home .homepage-random-title{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:min(760px,92%);
  margin:0 auto 10px;
  padding:14px 28px 16px;
  border:2px solid #f5c542;
  border-radius:8px;
  background:linear-gradient(180deg,rgba(30,20,0,.92),rgba(3,3,8,.98));
  box-shadow:0 0 18px rgba(245,197,66,.65),inset 0 0 20px rgba(245,197,66,.18);
  color:#ffd84d;
  text-align:center;
  text-transform:uppercase;
}
.page-home .homepage-random-title small{font-size:clamp(.68rem,1vw,.9rem);letter-spacing:.28em;color:#fff5bd;}
.page-home .homepage-random-title strong{font-size:clamp(1.75rem,4vw,3.25rem);line-height:1;text-shadow:0 0 12px #f5c542;}
.page-home .homepage-random-title span{font-size:clamp(.66rem,1vw,.84rem);letter-spacing:.2em;margin-top:7px;color:#fff;}
.page-home .homepage-random-carousel{
  width:min(100%,1020px);
  max-width:1020px;
  min-height:455px;
  margin:24px auto 0;
  overflow:hidden;
}
.page-home .homepage-random-carousel .media-slide{
  width:min(80vw,700px) !important;
  max-width:700px !important;
  flex:0 0 min(80vw,700px) !important;
}
.page-home .homepage-random-carousel .generated-playlist-art{width:100%;}

@media(max-width:700px){
  .page-home .asg-status-ticker{top:0 !important;}
  .page-home .section-navigator{top:25px;}
  .page-home .homepage-latest-games-section,
  .page-home .homepage-random-video-section{padding:28px 12px;}
  .page-home .homepage-latest-games-section .media-games-carousel{min-height:395px;}
  .page-home .homepage-latest-games-section .media-games-carousel .carousel-track{min-height:350px;}
  .page-home .homepage-latest-games-section .media-game-slide{width:88vw !important;flex-basis:88vw !important;}
  .page-home .homepage-latest-games-section .generated-wide-card{min-height:330px;}
  .page-home .homepage-latest-games-section .generated-game-layout{grid-template-columns:1fr;}
  .page-home .homepage-random-carousel{min-height:335px;}
  .page-home .homepage-random-carousel .media-slide{width:86vw !important;flex-basis:86vw !important;}
}

/* ==========================================================
   V214 HOMEPAGE FINAL CAROUSEL + FIXED STATUS TICKER
   ========================================================== */
.page-home{padding-top:31px!important;}
.page-home .asg-status-ticker{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1400px,100vw)!important;
  z-index:100000!important;
  margin:0!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

.page-home .homepage-v214-carousel{
  position:relative!important;
  width:min(100%,980px)!important;
  min-height:540px!important;
  margin:18px auto 34px!important;
  overflow:hidden!important;
  border:2px solid var(--card-accent,#f5c542)!important;
  border-radius:24px!important;
  background:rgba(2,5,14,.88)!important;
}
.page-home .homepage-v214-carousel .carousel-track{
  position:relative!important;
  width:100%!important;
  min-height:490px!important;
  transform:none!important;
  overflow:visible!important;
}
.page-home .homepage-v214-carousel .media-slide{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:min(76%,720px)!important;
  height:auto!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translate(calc(-50% + (var(--media-offset,0) * 58%)), -50%) scale(.72)!important;
  transition:transform .45s ease,opacity .45s ease,filter .45s ease!important;
  filter:brightness(.35)!important;
  z-index:1!important;
}
.page-home .homepage-v214-carousel .media-slide.is-active{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translate(-50%,-50%) scale(1)!important;
  filter:none!important;
  z-index:5!important;
}
.page-home .homepage-v214-carousel .media-slide.is-neighbor{
  opacity:.48!important;
  pointer-events:none!important;
  filter:brightness(.42)!important;
  z-index:2!important;
}
.page-home .homepage-v214-carousel .media-slide.is-hidden-media,
.page-home .homepage-v214-carousel .media-slide.is-distance-2{opacity:0!important;}
.page-home .homepage-v214-carousel .carousel-button{
  position:absolute!important;
  top:50%!important;
  z-index:20!important;
  transform:translateY(-50%)!important;
}
.page-home .homepage-v214-carousel .carousel-button.prev{left:14px!important;}
.page-home .homepage-v214-carousel .carousel-button.next{right:14px!important;}
.page-home .homepage-v214-carousel .carousel-dots{
  position:absolute!important;
  left:50%!important;
  bottom:12px!important;
  transform:translateX(-50%)!important;
  z-index:20!important;
}
.page-home .homepage-v214-games-carousel{--card-accent:#20bfff;}
.page-home .homepage-v214-games-carousel .generated-wide-card{
  width:100%!important;
  min-height:400px!important;
  max-height:none!important;
}
.page-home .homepage-v214-games-carousel .generated-game-layout{
  grid-template-columns:minmax(0,1.65fr) minmax(210px,.75fr)!important;
}
.page-home .homepage-v214-random-carousel{--card-accent:#f5c542;min-height:500px!important;}
.page-home .homepage-v214-random-carousel .carousel-track{min-height:450px!important;}
.page-home .homepage-v214-random-carousel .media-slide{width:min(64%,590px)!important;}
.page-home .homepage-v214-random-carousel .generated-playlist-art{position:relative!important;width:100%!important;}
.page-home .generated-video-type-status{
  display:block;
  padding:7px 12px 10px;
  text-align:center;
  color:#f5c542;
  font-weight:800;
  letter-spacing:.1em;
  background:#050507;
}

@media(max-width:700px){
  .page-home{padding-top:26px!important;}
  .page-home .asg-status-ticker{width:100vw!important;}
  .page-home .homepage-v214-carousel{width:calc(100% - 18px)!important;min-height:410px!important;border-radius:16px!important;}
  .page-home .homepage-v214-carousel .carousel-track{min-height:370px!important;}
  .page-home .homepage-v214-carousel .media-slide{width:86%!important;transform:translate(calc(-50% + (var(--media-offset,0) * 73%)),-50%) scale(.7)!important;}
  .page-home .homepage-v214-carousel .media-slide.is-active{transform:translate(-50%,-50%) scale(1)!important;}
  .page-home .homepage-v214-games-carousel{min-height:500px!important;}
  .page-home .homepage-v214-games-carousel .carousel-track{min-height:460px!important;}
  .page-home .homepage-v214-games-carousel .generated-game-layout{grid-template-columns:1fr!important;}
  .page-home .homepage-v214-games-carousel .generated-wide-card{min-height:415px!important;}
  .page-home .homepage-v214-random-carousel{min-height:370px!important;}
  .page-home .homepage-v214-random-carousel .carousel-track{min-height:330px!important;}
  .page-home .homepage-v214-random-carousel .media-slide{width:82%!important;}
  .page-home .homepage-v214-carousel .carousel-button.prev{left:5px!important;}
  .page-home .homepage-v214-carousel .carousel-button.next{right:5px!important;}
}

/* ============================================================
   V215 — HOMEPAGE FINAL CAROUSEL + TICKER CORRECTION
   ============================================================ */
.page-home .site-top{
  position:sticky!important;
  top:0!important;
  z-index:10020!important;
}
.page-home .asg-status-ticker{
  position:fixed!important;
  top:var(--asg-header-height,148px)!important;
  left:var(--asg-shell-left,0)!important;
  width:var(--asg-shell-width,100%)!important;
  max-width:none!important;
  z-index:10015!important;
  margin:0!important;
  border-radius:0!important;
}
.page-home .hero-image{margin-top:var(--asg-ticker-height,28px)!important;}

/* Both Homepage carousels now use the exact centered showcase geometry. */
.page-home .homepage-v215-carousel{
  position:relative!important;
  width:min(calc(100% - 36px),980px)!important;
  height:520px!important;
  min-height:520px!important;
  margin:20px auto 46px!important;
  padding:0!important;
  overflow:hidden!important;
  border:2px solid var(--card-accent,#20bfff)!important;
  border-radius:22px!important;
  background:rgba(1,5,16,.92)!important;
  box-shadow:0 0 22px color-mix(in srgb,var(--card-accent,#20bfff) 38%,transparent)!important;
}
.page-home .homepage-v215-carousel .carousel-track{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  transform:none!important;
  overflow:visible!important;
}
.page-home .homepage-v215-carousel .media-slide{
  position:absolute!important;
  top:45%!important;
  left:50%!important;
  width:58%!important;
  max-width:620px!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translate(calc(-50% + (var(--media-offset,0) * 74%)),-50%) scale(.72)!important;
  transform-origin:center!important;
  filter:brightness(.38)!important;
  transition:transform .45s ease,opacity .45s ease,filter .45s ease!important;
  z-index:1!important;
}
.page-home .homepage-v215-carousel .media-slide.is-active{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translate(-50%,-50%) scale(1)!important;
  filter:none!important;
  z-index:5!important;
}
.page-home .homepage-v215-carousel .media-slide.is-neighbor{
  opacity:.54!important;
  filter:brightness(.46)!important;
  z-index:2!important;
}
.page-home .homepage-v215-carousel .media-slide.is-distance-2,
.page-home .homepage-v215-carousel .media-slide.is-hidden-media{opacity:0!important;}
.page-home .homepage-v215-carousel .carousel-button{top:50%!important;z-index:20!important;}
.page-home .homepage-v215-carousel .carousel-button.prev{left:16px!important;}
.page-home .homepage-v215-carousel .carousel-button.next{right:16px!important;}
.page-home .homepage-v215-carousel .carousel-dots{
  position:absolute!important;left:50%!important;bottom:15px!important;
  transform:translateX(-50%)!important;z-index:20!important;
}

/* Latest Games card uses the complete Media-page generated card. */
.page-home .homepage-v215-games-carousel{--card-accent:#20bfff;}
.page-home .homepage-v215-games-carousel .media-slide{width:70%!important;max-width:700px!important;top:44%!important;}
.page-home .homepage-v215-games-carousel .generated-wide-card{
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:1.42/1!important;overflow:hidden!important;
}
.page-home .homepage-v215-games-carousel .generated-game-layout{
  grid-template-columns:minmax(0,72%) minmax(0,28%)!important;
  grid-template-rows:minmax(0,1fr) 72px!important;
}
.page-home .homepage-v215-games-carousel .generated-game-footer,
.page-home .homepage-v215-games-carousel .generated-card-footer{height:72px!important;min-height:72px!important;}

/* Eight fixed random category cards match the Best Of carousel card design. */
.page-home .homepage-v215-random-carousel{--card-accent:#f5c542;}
.page-home .homepage-v215-random-carousel .generated-playlist-art{
  position:relative!important;
  width:100%!important;height:auto!important;max-height:none!important;
  aspect-ratio:1.60/1!important;
  display:grid!important;grid-template-rows:minmax(0,1fr) 74px!important;
  overflow:hidden!important;
}
.page-home .homepage-v215-random-carousel .generated-playlist-image{
  min-height:0!important;background-size:cover!important;background-position:center!important;
}
.page-home .homepage-v215-random-carousel .generated-playlist-footer{
  height:74px!important;min-height:74px!important;padding:8px 18px!important;gap:12px!important;
}
.page-home .homepage-v215-random-carousel .generated-video-type-status{
  position:absolute!important;top:10px!important;right:10px!important;z-index:3!important;
  padding:6px 10px!important;border:1px solid #f5c542!important;border-radius:999px!important;
  background:rgba(0,0,0,.84)!important;font-size:.68rem!important;
}
.game-link-panel.is-random-panel .game-link-actions{grid-template-columns:1fr!important;}
.game-link-panel.is-random-panel .game-link-random-next{
  border-color:#f5c542!important;color:#fff!important;
  box-shadow:0 0 16px rgba(245,197,66,.35)!important;
}

@media(max-width:760px){
  .page-home .asg-status-ticker{top:var(--asg-header-height,158px)!important;}
  .page-home .hero-image{margin-top:var(--asg-ticker-height,26px)!important;}
  .page-home .homepage-v215-carousel{width:calc(100% - 18px)!important;height:390px!important;min-height:390px!important;border-radius:16px!important;}
  .page-home .homepage-v215-carousel .media-slide{width:74%!important;transform:translate(calc(-50% + (var(--media-offset,0) * 82%)),-50%) scale(.68)!important;}
  .page-home .homepage-v215-carousel .media-slide.is-active{transform:translate(-50%,-50%) scale(1)!important;}
  .page-home .homepage-v215-games-carousel{height:430px!important;min-height:430px!important;}
  .page-home .homepage-v215-games-carousel .media-slide{width:88%!important;}
  .page-home .homepage-v215-games-carousel .generated-game-layout{grid-template-columns:minmax(0,72%) minmax(0,28%)!important;grid-template-rows:minmax(0,1fr) 58px!important;}
  .page-home .homepage-v215-games-carousel .generated-game-footer,
  .page-home .homepage-v215-games-carousel .generated-card-footer{height:58px!important;min-height:58px!important;}
  .page-home .homepage-v215-random-carousel .media-slide{width:78%!important;}
  .page-home .homepage-v215-random-carousel .generated-playlist-art{grid-template-rows:minmax(0,1fr) 54px!important;}
  .page-home .homepage-v215-random-carousel .generated-playlist-footer{height:54px!important;min-height:54px!important;padding:5px 10px!important;}
  .page-home .homepage-v215-random-carousel .generated-playlist-footer-title{font-size:clamp(.85rem,4vw,1.2rem)!important;}
  .page-home .homepage-v215-carousel .carousel-button.prev{left:5px!important;}
  .page-home .homepage-v215-carousel .carousel-button.next{right:5px!important;}
}

/* ============================================================
   V216 — HOMEPAGE CLEAN SHOWCASE RESET
   The status ticker lives inside the sticky header, and both
   Homepage carousels use the same centered geometry as Media Best Of.
   ============================================================ */
.page-home .site-top{
  position:sticky!important;
  top:0!important;
  z-index:10020!important;
  overflow:visible!important;
}
.page-home .site-top .asg-status-ticker{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  border-radius:0!important;
  z-index:1!important;
  box-sizing:border-box!important;
}
.page-home .hero-image{
  margin-top:0!important;
}

/* Exact Best Of-style showcase frame for both Homepage carousels. */
.page-home .homepage-showcase-carousel{
  position:relative!important;
  width:min(calc(100% - 70px),1040px)!important;
  height:500px!important;
  min-height:500px!important;
  margin:20px auto 46px!important;
  padding:0!important;
  overflow:hidden!important;
  border:2px solid var(--card-accent,#20bfff)!important;
  border-radius:20px!important;
  background:rgba(0,5,18,.94)!important;
  box-shadow:0 0 22px color-mix(in srgb,var(--card-accent,#20bfff) 38%,transparent)!important;
}
.page-home .homepage-showcase-carousel .carousel-track{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:block!important;
  transform:none!important;
  overflow:visible!important;
}
.page-home .homepage-showcase-carousel .media-slide{
  position:absolute!important;
  top:46%!important;
  left:50%!important;
  width:58%!important;
  max-width:620px!important;
  min-width:0!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translate(calc(-50% + (var(--media-offset,0) * 78%)),-50%) scale(.72)!important;
  transform-origin:center center!important;
  filter:brightness(.42)!important;
  transition:transform .45s ease,opacity .45s ease,filter .45s ease!important;
  z-index:1!important;
}
.page-home .homepage-showcase-carousel .media-slide.is-active{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translate(-50%,-50%) scale(1)!important;
  filter:none!important;
  z-index:5!important;
}
.page-home .homepage-showcase-carousel .media-slide.is-neighbor{
  opacity:.58!important;
  pointer-events:none!important;
  filter:brightness(.48)!important;
  z-index:2!important;
}
.page-home .homepage-showcase-carousel .media-slide.is-distance-2,
.page-home .homepage-showcase-carousel .media-slide.is-hidden-media{
  opacity:0!important;
  pointer-events:none!important;
}
.page-home .homepage-showcase-carousel .carousel-button{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:20!important;
}
.page-home .homepage-showcase-carousel .carousel-button.prev{left:18px!important;}
.page-home .homepage-showcase-carousel .carousel-button.next{right:18px!important;}
.page-home .homepage-showcase-carousel .carousel-dots{
  position:absolute!important;
  left:50%!important;
  bottom:16px!important;
  transform:translateX(-50%)!important;
  z-index:20!important;
}

/* Latest Games keeps the complete game card, scaled to the same showcase frame. */
.page-home .homepage-latest-showcase{--card-accent:#20bfff;}
.page-home .homepage-latest-showcase .media-slide{
  width:64%!important;
  max-width:690px!important;
}
.page-home .homepage-latest-showcase .generated-wide-card{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1.48/1!important;
  overflow:hidden!important;
}
.page-home .homepage-latest-showcase .generated-game-layout{
  grid-template-columns:minmax(0,72%) minmax(0,28%)!important;
  grid-template-rows:minmax(0,1fr) 70px!important;
}
.page-home .homepage-latest-showcase .generated-card-footer,
.page-home .homepage-latest-showcase .generated-game-footer{
  height:70px!important;
  min-height:70px!important;
}

/* Random categories use the exact playlist-card proportions of Best Of. */
.page-home .homepage-random-showcase{--card-accent:#f5c542;}
.page-home .homepage-random-showcase .generated-playlist-art{
  position:relative!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) 72px!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1.55/1!important;
  overflow:hidden!important;
}
.page-home .homepage-random-showcase .generated-playlist-image{
  min-height:0!important;
  background-size:cover!important;
  background-position:center!important;
}
.page-home .homepage-random-showcase .generated-playlist-footer{
  height:72px!important;
  min-height:72px!important;
  padding:8px 18px!important;
}
.page-home .homepage-random-showcase .generated-video-type-status{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  z-index:4!important;
  padding:6px 10px!important;
  border:1px solid #f5c542!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.88)!important;
  color:#f5c542!important;
  font-size:.68rem!important;
}

@media(max-width:760px){
  .page-home .homepage-showcase-carousel{
    width:calc(100% - 18px)!important;
    height:390px!important;
    min-height:390px!important;
    border-radius:15px!important;
  }
  .page-home .homepage-showcase-carousel .media-slide{
    width:76%!important;
    transform:translate(calc(-50% + (var(--media-offset,0) * 86%)),-50%) scale(.68)!important;
  }
  .page-home .homepage-showcase-carousel .media-slide.is-active{
    transform:translate(-50%,-50%) scale(1)!important;
  }
  .page-home .homepage-latest-showcase{
    height:430px!important;
    min-height:430px!important;
  }
  .page-home .homepage-latest-showcase .media-slide{width:88%!important;}
  .page-home .homepage-latest-showcase .generated-game-layout{
    grid-template-columns:minmax(0,72%) minmax(0,28%)!important;
    grid-template-rows:minmax(0,1fr) 58px!important;
  }
  .page-home .homepage-latest-showcase .generated-card-footer,
  .page-home .homepage-latest-showcase .generated-game-footer{
    height:58px!important;
    min-height:58px!important;
  }
  .page-home .homepage-random-showcase .media-slide{width:78%!important;}
  .page-home .homepage-random-showcase .generated-playlist-art{
    grid-template-rows:minmax(0,1fr) 54px!important;
  }
  .page-home .homepage-random-showcase .generated-playlist-footer{
    height:54px!important;
    min-height:54px!important;
    padding:5px 10px!important;
  }
  .page-home .homepage-showcase-carousel .carousel-button.prev{left:5px!important;}
  .page-home .homepage-showcase-carousel .carousel-button.next{right:5px!important;}
}

/* ============================================================
   V217 — HOMEPAGE EXACT MEDIA-CAROUSEL ALIGNMENT
   Final override: ticker stays inside the centered header and the
   Homepage stages use the same dimensions as Media page carousels.
   ============================================================ */
.page-home .site-top{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  transform:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  z-index:10020!important;
}
.page-home .site-top .asg-status-ticker{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  contain:paint!important;
  align-self:stretch!important;
}
.page-home .site-top .asg-status-ticker-track{
  max-width:none!important;
  box-sizing:border-box!important;
}
.page-home .hero-image{margin-top:0!important;}

/* Remove all earlier Homepage-specific stage sizing. */
.page-home .homepage-showcase-carousel{
  position:relative!important;
  width:calc(100% - 36px)!important;
  max-width:1220px!important;
  height:clamp(390px,34vw,500px)!important;
  min-height:clamp(390px,34vw,500px)!important;
  margin:20px auto 46px!important;
  padding:30px 56px 64px!important;
  overflow:hidden!important;
  border-radius:20px!important;
  box-sizing:border-box!important;
}
.page-home .homepage-showcase-carousel .carousel-track{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  transform:none!important;
  overflow:visible!important;
}
.page-home .homepage-showcase-carousel .media-slide,
.page-home .homepage-showcase-carousel .media-game-slide{
  position:absolute!important;
  left:50%!important;
  top:45%!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translate(-50%,-50%) translateX(calc(var(--media-offset,0) * clamp(245px,42vw,510px))) scale(.62)!important;
  transform-origin:center!important;
  filter:brightness(.42)!important;
  transition:transform .45s ease,opacity .45s ease,filter .45s ease!important;
  z-index:1!important;
}
.page-home .homepage-showcase-carousel .media-slide.is-active,
.page-home .homepage-showcase-carousel .media-game-slide.is-active{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translate(-50%,-50%) translateX(0) scale(1)!important;
  filter:none!important;
  z-index:5!important;
}
.page-home .homepage-showcase-carousel .media-slide.is-neighbor,
.page-home .homepage-showcase-carousel .media-game-slide.is-neighbor{
  opacity:.58!important;
  pointer-events:none!important;
  transform:translate(-50%,-50%) translateX(calc(var(--media-offset,0) * clamp(245px,42vw,510px))) scale(.76)!important;
  filter:brightness(.48)!important;
  z-index:2!important;
}
.page-home .homepage-showcase-carousel .media-slide.is-distance-2,
.page-home .homepage-showcase-carousel .media-game-slide.is-distance-2{
  opacity:.16!important;
  transform:translate(-50%,-50%) translateX(calc(var(--media-offset,0) * clamp(245px,42vw,510px))) scale(.52)!important;
}
.page-home .homepage-showcase-carousel .media-slide.is-hidden-media,
.page-home .homepage-showcase-carousel .media-game-slide.is-hidden-media{opacity:0!important;pointer-events:none!important;}
.page-home .homepage-showcase-carousel .carousel-button{top:45%!important;z-index:20!important;}
.page-home .homepage-showcase-carousel .carousel-button.prev{left:18px!important;}
.page-home .homepage-showcase-carousel .carousel-button.next{right:18px!important;}
.page-home .homepage-showcase-carousel .carousel-dots{bottom:21px!important;z-index:20!important;}

/* Latest Games: same stage as the Media page Latest Games carousel. */
.page-home .homepage-latest-showcase .media-slide,
.page-home .homepage-latest-showcase .media-game-slide{
  width:clamp(350px,57vw,660px)!important;
  max-width:660px!important;
  aspect-ratio:1.55/1!important;
}
.page-home .homepage-latest-showcase .generated-wide-card{inset:0!important;width:100%!important;height:100%!important;max-height:none!important;overflow:hidden!important;}
.page-home .homepage-latest-showcase .generated-game-layout{height:100%!important;min-height:0!important;overflow:hidden!important;}
.page-home .homepage-latest-showcase .generated-game-footer{min-height:18%!important;height:auto!important;align-items:stretch!important;}
.page-home .homepage-latest-showcase .generated-game-footer>*{min-height:0!important;padding-top:6px!important;padding-bottom:6px!important;line-height:1.05!important;overflow:visible!important;}

/* Random Video: exact Best Of / Media playlist card proportions. */
.page-home .homepage-random-showcase .media-slide{
  width:clamp(350px,57vw,660px)!important;
  max-width:660px!important;
}
.page-home .homepage-random-showcase .generated-playlist-art{
  position:relative!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) 68px!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:1.48/1!important;
  overflow:hidden!important;
}
.page-home .homepage-random-showcase .generated-playlist-image{background-position:center!important;background-repeat:no-repeat!important;background-size:cover!important;min-height:0!important;}
.page-home .homepage-random-showcase .generated-playlist-footer{height:68px!important;min-height:68px!important;padding:8px 16px!important;gap:10px!important;align-items:center!important;}
.page-home .homepage-random-showcase .generated-playlist-footer-icon,
.page-home .homepage-random-showcase .generated-playlist-icon{flex:0 0 40px!important;width:40px!important;height:40px!important;margin:0!important;transform:translateY(1px)!important;}
.page-home .homepage-random-showcase .generated-playlist-footer-title,
.page-home .homepage-random-showcase .generated-card-title{margin:0!important;font-size:clamp(1.08rem,2.5vw,1.8rem)!important;line-height:1!important;text-align:left!important;}

@media(max-width:760px){
  .page-home .homepage-showcase-carousel{
    width:calc(100% - 24px)!important;
    height:clamp(350px,102vw,430px)!important;
    min-height:clamp(350px,102vw,430px)!important;
    padding:25px 34px 58px!important;
  }
  .page-home .homepage-showcase-carousel .media-slide,
  .page-home .homepage-showcase-carousel .media-game-slide{
    width:min(84vw,455px)!important;
    top:44%!important;
    transform:translate(-50%,-50%) translateX(calc(var(--media-offset,0) * 72vw)) scale(.60)!important;
  }
  .page-home .homepage-showcase-carousel .media-slide.is-active,
  .page-home .homepage-showcase-carousel .media-game-slide.is-active{transform:translate(-50%,-50%) translateX(0) scale(1)!important;}
  .page-home .homepage-showcase-carousel .media-slide.is-neighbor,
  .page-home .homepage-showcase-carousel .media-game-slide.is-neighbor{transform:translate(-50%,-50%) translateX(calc(var(--media-offset,0) * 72vw)) scale(.72)!important;}
  .page-home .homepage-showcase-carousel .media-slide.is-distance-2,
  .page-home .homepage-showcase-carousel .media-game-slide.is-distance-2{transform:translate(-50%,-50%) translateX(calc(var(--media-offset,0) * 72vw)) scale(.50)!important;}
  .page-home .homepage-showcase-carousel .carousel-button{top:44%!important;}
  .page-home .homepage-showcase-carousel .carousel-button.prev{left:7px!important;}
  .page-home .homepage-showcase-carousel .carousel-button.next{right:7px!important;}
  .page-home .homepage-latest-showcase .generated-game-footer{min-height:20%!important;}
  .page-home .homepage-latest-showcase .generated-game-footer>*{padding:5px 3px!important;font-size:clamp(8px,2.2vw,11px)!important;}
  .page-home .homepage-random-showcase .generated-playlist-art{grid-template-rows:minmax(0,1fr) 58px!important;}
  .page-home .homepage-random-showcase .generated-playlist-footer{height:58px!important;min-height:58px!important;padding:6px 10px!important;}
}

/* ================================================================
   V218 — HOMEPAGE MOBILE HEADER, NAVIGATION & CARD CORRECTION
   Phone-only layout reset based on live iPhone testing.
   ================================================================ */
@media (max-width:900px){
  /* Keep the complete public header stack visible. */
  .page-home .site-top{
    position:sticky!important;
    top:0!important;
    z-index:10050!important;
    overflow:visible!important;
    background:rgba(2,2,10,.985)!important;
    box-shadow:0 5px 18px rgba(0,0,0,.6)!important;
  }

  /* Taller title row, but remove the oversized empty gap below it. */
  .page-home .site-top .hero-bar{
    min-height:142px!important;
    height:142px!important;
    padding:10px 12px 4px!important;
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr) 82px!important;
    align-items:center!important;
    gap:5px!important;
  }
  .page-home .site-top .hero-logo,
  .page-home .site-top .hero-logo-right{
    width:72px!important;
    height:72px!important;
    margin:0!important;
    align-self:center!important;
  }
  .page-home .site-top .hero-logo img,
  .page-home .site-top .hero-logo-right img{width:100%!important;height:100%!important;object-fit:contain!important;}
  .page-home .site-top .hero-title{
    height:104px!important;
    min-height:104px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .page-home .site-top .hero-title>img{
    width:100%!important;
    height:auto!important;
    max-height:94px!important;
    transform:scaleY(1.28)!important;
    object-fit:contain!important;
  }

  /* Search is a proper header control with label under the icon. */
  .page-home .site-top .mobile-search-button{
    display:flex!important;
    width:72px!important;
    height:72px!important;
    border-radius:20px!important;
    margin:0!important;
    flex-direction:column!important;
    gap:2px!important;
    line-height:1!important;
  }
  .page-home .site-top .mobile-search-button span{font-size:1.65rem!important;transform:none!important;}
  .page-home .site-top .mobile-search-button b{display:block!important;font-size:.58rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;}

  /* Move the main nav directly beneath the title row. */
  .page-home .site-top nav.site-nav-v3{
    margin:0!important;
    padding:3px 7px 5px!important;
    min-height:58px!important;
    display:grid!important;
    grid-template-columns:repeat(7,minmax(78px,1fr))!important;
    gap:5px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
    background:rgba(1,2,9,.98)!important;
  }
  .page-home .site-top nav.site-nav-v3::-webkit-scrollbar{display:none!important;}
  .page-home .site-top nav.site-nav-v3>a{
    min-height:48px!important;
    padding:5px 4px!important;
    font-size:.69rem!important;
    scroll-snap-align:start!important;
    white-space:nowrap!important;
  }

  /* Ticker remains completely inside the centered page/header. */
  .page-home .site-top .asg-status-ticker{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:28px!important;
    min-height:28px!important;
    margin:0!important;
    left:0!important;
    right:0!important;
    overflow:hidden!important;
    border-left:0!important;
    border-right:0!important;
    box-sizing:border-box!important;
  }
  .page-home .site-top .asg-status-ticker-track{
    padding:6px 12px!important;
    font-size:9px!important;
    line-height:1!important;
    animation-duration:20s!important;
  }

  /* On phones the Homepage section nav belongs below the ticker. */
  .page-home .site-top>.section-navigator-home{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    min-height:48px!important;
    margin:0!important;
    padding:5px 8px!important;
    display:flex!important;
    flex-direction:row!important;
    justify-content:center!important;
    gap:7px!important;
    overflow-x:auto!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
    background:rgba(2,5,16,.985)!important;
    box-shadow:0 3px 12px rgba(0,0,0,.5)!important;
    z-index:2!important;
  }
  .page-home .site-top>.section-navigator-home a,
  .page-home .site-top>.section-navigator-home button{
    min-width:0!important;
    min-height:38px!important;
    padding:5px 10px!important;
    display:flex!important;
    flex:0 1 auto!important;
    gap:5px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
  }
  .page-home .site-top>.section-navigator-home b{display:block!important;font-size:.58rem!important;}
  .page-home .site-top>.section-navigator-home span{font-size:.82rem!important;}

  /* The card itself opens the eight-video popup, so old side buttons are redundant. */
  .page-home .homepage-latest-showcase .generated-game-layout{
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr) 88px!important;
  }
  .page-home .homepage-latest-showcase .generated-wide-actions{display:none!important;}
  .page-home .homepage-latest-showcase .generated-wide-visual{grid-column:1!important;grid-row:1!important;width:100%!important;}
  .page-home .homepage-latest-showcase .generated-game-footer{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    height:88px!important;
    min-height:88px!important;
  }

  /* Mobile carousel card proportions and safe separation from browser controls. */
  .page-home .homepage-showcase-carousel{
    width:calc(100% - 24px)!important;
    min-height:470px!important;
    height:470px!important;
    padding:20px 22px 62px!important;
    margin:18px auto 60px!important;
  }
  .page-home .homepage-showcase-carousel .media-slide,
  .page-home .homepage-showcase-carousel .media-game-slide{
    top:43%!important;
    width:84%!important;
    max-width:none!important;
  }
  .page-home .homepage-latest-showcase{height:500px!important;min-height:500px!important;}
  .page-home .homepage-latest-showcase .media-slide{width:88%!important;}
  .page-home .homepage-random-showcase .media-slide{width:82%!important;}

  /* Popup stays usable inside Safari's dynamic viewport. */
  .game-link-lightbox{padding:12px 10px calc(12px + env(safe-area-inset-bottom))!important;align-items:center!important;}
  .game-link-panel{
    width:min(94vw,560px)!important;
    max-height:calc(100dvh - 24px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:26px 18px calc(26px + env(safe-area-inset-bottom))!important;
  }
  .game-link-title{font-size:clamp(1.6rem,7vw,2.35rem)!important;line-height:1.18!important;padding-right:44px!important;}
  .game-link-opponent{font-size:1rem!important;}
  .game-video-frame-wrap{border-radius:14px!important;}
  .game-link-actions{gap:10px!important;}
  .game-link-action{min-height:58px!important;font-size:.92rem!important;padding:12px 8px!important;}
}

@media (max-width:520px){
  .page-home .site-top .hero-bar{grid-template-columns:72px minmax(0,1fr) 72px!important;min-height:132px!important;height:132px!important;}
  .page-home .site-top .hero-logo,.page-home .site-top .hero-logo-right,.page-home .site-top .mobile-search-button{width:64px!important;height:64px!important;}
  .page-home .site-top .hero-title{height:94px!important;min-height:94px!important;}
  .page-home .site-top nav.site-nav-v3{grid-template-columns:repeat(7,minmax(74px,1fr))!important;}
  .page-home .site-top>.section-navigator-home a,.page-home .site-top>.section-navigator-home button{padding-inline:8px!important;}
  .page-home .homepage-showcase-carousel{height:450px!important;min-height:450px!important;}
  .page-home .homepage-latest-showcase{height:480px!important;min-height:480px!important;}
}


/* V219 — Simplified homepage, complete-message announcement bar, feature directory, simplified game cards, and Galaxy Shuffle */
.asg-status-ticker{position:sticky!important;top:var(--asg-header-height,0px)!important;z-index:900!important;width:100%!important;min-height:44px!important;overflow:hidden!important;background:rgba(3,4,10,.97)!important;border-top:1px solid currentColor!important;border-bottom:1px solid currentColor!important;box-shadow:0 5px 18px rgba(0,0,0,.65)!important}
.asg-status-message{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 18px;text-decoration:none;color:inherit;text-align:center;transition:opacity .22s ease,transform .22s ease}
.asg-status-message strong{font-size:clamp(.72rem,1.15vw,.92rem);letter-spacing:.045em;text-transform:none;white-space:normal;line-height:1.25}.asg-status-message span{font-size:1rem}.asg-status-message em{font-style:normal;font-size:.7rem;font-weight:900;letter-spacing:.1em;white-space:nowrap}.asg-status-ticker.is-changing .asg-status-message{opacity:0;transform:translateY(4px)}
.asg-status-progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:currentColor;opacity:.45;transform-origin:left;animation:asgStatusProgress 6s linear infinite}@keyframes asgStatusProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.asg-status-ticker-track{display:none!important}
.homepage-explore-section{width:min(1500px,96vw);margin:clamp(28px,5vw,70px) auto clamp(50px,7vw,100px);padding:0 1vw}.homepage-explore-title{text-align:center;text-transform:uppercase}.homepage-explore-title small{display:block;color:#f5c542;font-weight:900;letter-spacing:.24em}.homepage-explore-title strong{display:block;color:#fff;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(2rem,6vw,5.2rem);letter-spacing:.055em;text-shadow:0 0 14px #f5c542,0 4px 8px #000}
.homepage-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin-top:28px}.homepage-feature-card{--feature-accent:#f5c542;position:relative;min-height:220px;padding:clamp(22px,3vw,38px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border:1px solid var(--feature-accent);border-radius:20px;background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--feature-accent) 30%,transparent),transparent 34%),linear-gradient(145deg,#11131c,#030409 72%);box-shadow:0 0 18px color-mix(in srgb,var(--feature-accent) 45%,transparent),inset 0 0 40px #000;color:#fff;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.homepage-feature-card:hover,.homepage-feature-card:focus-visible{transform:translateY(-5px);box-shadow:0 0 30px var(--feature-accent),inset 0 0 44px #000}.homepage-feature-card .feature-icon{position:absolute;right:24px;top:20px;font-size:clamp(2.2rem,4vw,4rem);filter:drop-shadow(0 0 12px var(--feature-accent))}.homepage-feature-card strong{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(1.55rem,2.8vw,2.7rem);letter-spacing:.08em;color:var(--feature-accent)}.homepage-feature-card p{margin:.45rem 0 1rem;max-width:34ch;color:#ddd;line-height:1.45}.homepage-feature-card em{font-style:normal;font-weight:900;font-size:.8rem;letter-spacing:.1em}.feature-team{--feature-accent:#ff39ff}.feature-schedule{--feature-accent:#ff3030}.feature-media{--feature-accent:#20bfff}.feature-shuffle{--feature-accent:#f5c542}.feature-news{--feature-accent:#39ff6a}.feature-live{--feature-accent:#ff3030}.feature-follow{--feature-accent:#a86cff}
.generated-game-layout{grid-template-columns:1fr!important}.generated-game-layout .generated-wide-actions{display:none!important}.generated-game-layout{grid-template-rows:minmax(0,1fr) auto!important}.generated-media-indicator{position:absolute;right:3%;bottom:4%;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;column-gap:7px;padding:7px 10px;border:1px solid #20bfff;border-radius:12px;background:rgba(0,0,0,.78);color:#fff;box-shadow:0 0 14px rgba(32,191,255,.75);backdrop-filter:blur(5px)}.generated-media-indicator b{grid-row:1/3;color:#20bfff;font-size:1.25rem;text-shadow:0 0 8px #20bfff}.generated-media-indicator em{font-style:normal;font-weight:1000;font-size:1rem;line-height:1}.generated-media-indicator small{font-size:.52rem;letter-spacing:.13em;line-height:1}.simplified-game-card:hover .generated-media-indicator,.simplified-game-card:focus-visible .generated-media-indicator{animation:asgMediaPulse 1.1s ease-in-out infinite alternate}@keyframes asgMediaPulse{to{box-shadow:0 0 28px #20bfff;transform:scale(1.04)}}
.galaxy-shuffle-section{scroll-margin-top:180px}.galaxy-shuffle-title{text-align:center;text-transform:uppercase}.galaxy-shuffle-title small,.galaxy-shuffle-title span{display:block;color:#f5c542;font-weight:900;letter-spacing:.2em}.galaxy-shuffle-title strong{display:block;color:#fff;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(2.3rem,7vw,6rem);letter-spacing:.07em;text-shadow:0 0 18px #f5c542,0 0 35px rgba(32,191,255,.65),0 5px 10px #000}.galaxy-shuffle-controls{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:18px auto 24px}.galaxy-shuffle-button{border:1px solid #f5c542;border-radius:999px;padding:14px 26px;background:linear-gradient(135deg,#2a1b00,#080808);color:#fff;font-weight:1000;letter-spacing:.12em;box-shadow:0 0 18px rgba(245,197,66,.7);cursor:pointer}.galaxy-shuffle-button:hover{box-shadow:0 0 32px #f5c542;transform:translateY(-2px)}.galaxy-shuffle-button:disabled{opacity:.65;cursor:wait}.galaxy-shuffle-controls span{color:#ddd;font-size:.85rem}.galaxy-shuffle-carousel.is-shuffling .is-active{filter:brightness(1.25)}.galaxy-shuffle-carousel .shuffle-selected{z-index:8!important}.galaxy-shuffle-carousel .shuffle-selected .generated-wide-card{animation:asgShuffleWinner 1s ease-in-out infinite alternate}@keyframes asgShuffleWinner{to{box-shadow:0 0 16px #f5c542,0 0 42px #f5c542,0 0 70px rgba(32,191,255,.55)}}
@media(max-width:900px){.homepage-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.asg-status-ticker{top:var(--asg-header-height,0px)!important;min-height:48px!important}.asg-status-message{padding:7px 10px;gap:8px}.asg-status-message strong{font-size:.68rem}.asg-status-message em{display:none!important}.homepage-feature-grid{grid-template-columns:1fr}.homepage-feature-card{min-height:180px}.generated-media-indicator{right:2.5%;bottom:3%;transform:scale(.88);transform-origin:right bottom}.galaxy-shuffle-controls{flex-direction:column;text-align:center}}


/* ================================================================
   V222 — HOMEPAGE ORDER, SAFE WIDTH + ADMIN SUPPORT
   ================================================================ */
.page-home main{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.page-home #latest-games{order:1!important;}
.page-home #explore-galaxy{order:2!important;}

/* Keep Explore clear of the floating section navigator on wide screens. */
.page-home .homepage-explore-section{
  box-sizing:border-box!important;
  width:calc(100% - 190px)!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:12px!important;
  padding-right:12px!important;
  overflow:visible!important;
}
.page-home .homepage-feature-grid{
  width:100%!important;
  min-width:0!important;
  gap:16px!important;
}
.page-home .homepage-feature-card{
  min-width:0!important;
  min-height:178px!important;
  padding:22px!important;
}
.page-home .homepage-feature-card strong{font-size:clamp(1.35rem,2vw,2.15rem)!important;}
.page-home .homepage-feature-card p{font-size:.9rem!important;}
.page-home .homepage-feature-card .feature-icon{right:18px!important;top:16px!important;font-size:clamp(1.9rem,3vw,3.1rem)!important;}

@media(max-width:1180px){
  .page-home .homepage-explore-section{
    width:calc(100% - 32px)!important;
    max-width:980px!important;
  }
}
@media(max-width:900px){
  .page-home .homepage-explore-section{width:calc(100% - 22px)!important;}
  .page-home .homepage-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:600px){
  .page-home .homepage-explore-section{width:calc(100% - 14px)!important;padding-inline:4px!important;}
  .page-home .homepage-feature-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .page-home .homepage-feature-card{min-height:158px!important;padding:19px!important;}
}

/* ================================================================
   V223 — HOMEPAGE TITLE GRAPHICS + FULL-WIDTH GAME CARD IMAGE
   ================================================================ */
/* The blue vertical line came from the shared Media-page heading rule.
   Homepage graphics use their own clean, centered heading treatment. */
.page-home #latest-games .media-section-heading,
.page-home #explore-galaxy .media-section-heading{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto 18px!important;
  padding:0 18px!important;
  border-left:0!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.page-home #latest-games .media-section-title-graphic,
.page-home #explore-galaxy .media-section-title-graphic{
  display:block!important;
  width:min(100%,1120px)!important;
  max-width:1120px!important;
  height:auto!important;
  margin:0 auto 9px!important;
  object-fit:contain!important;
}
.page-home #explore-galaxy .homepage-explore-title-graphic{
  width:min(100%,1120px)!important;
}
.page-home #latest-games .media-section-heading p,
.page-home #explore-galaxy .media-section-heading p{
  margin:0 auto!important;
  max-width:860px!important;
  text-align:center!important;
}

/* The image now occupies the entire upper card area. The uploaded game-card
   art is displayed edge-to-edge without the old right-side action column. */
.page-home .homepage-latest-showcase .generated-game-layout{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:minmax(0,1fr) auto!important;
}
.page-home .homepage-latest-showcase .generated-wide-visual{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  border-radius:0!important;
}

/* Three clearly divided information fields:
   season/game number | teams | result/score. */
.page-home .homepage-latest-showcase .generated-game-footer{
  display:grid!important;
  grid-template-columns:minmax(145px,.9fr) minmax(230px,1.7fr) minmax(105px,.72fr)!important;
  width:100%!important;
  min-height:76px!important;
  padding:0!important;
  background:linear-gradient(180deg,rgba(5,8,14,.98),rgba(0,0,0,1))!important;
  border-top:1px solid rgba(32,191,255,.75)!important;
  align-items:stretch!important;
}
.page-home .homepage-latest-showcase .generated-game-footer>div{
  min-width:0!important;
  min-height:76px!important;
  padding:10px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.page-home .homepage-latest-showcase .generated-game-footer>div+div{
  border-left:1px solid rgba(245,197,66,.72)!important;
  box-shadow:inset 1px 0 0 rgba(255,255,255,.04)!important;
}
.page-home .homepage-latest-showcase .generated-game-meta-block span,
.page-home .homepage-latest-showcase .generated-game-matchup-block span{
  display:block!important;
  white-space:normal!important;
}
.page-home .homepage-latest-showcase .generated-game-result-block strong{
  color:#f5c542!important;
}
.page-home .homepage-latest-showcase .generated-game-result-block em{
  font-style:normal!important;
  font-size:clamp(.9rem,1.5vw,1.18rem)!important;
  font-weight:1000!important;
  color:#fff!important;
}

/* Keep the small dynamic video indicator, but make it secondary to the art. */
.page-home .homepage-latest-showcase .generated-media-indicator{
  right:2.2%!important;
  bottom:3%!important;
  transform:scale(.88)!important;
  transform-origin:right bottom!important;
}

@media(max-width:700px){
  .page-home #latest-games .media-section-heading,
  .page-home #explore-galaxy .media-section-heading{padding-inline:8px!important;}
  .page-home .homepage-latest-showcase .generated-game-footer{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .page-home .homepage-latest-showcase .generated-game-footer>div{
    min-height:40px!important;
    padding:6px 10px!important;
  }
  .page-home .homepage-latest-showcase .generated-game-footer>div+div{
    border-left:0!important;
    border-top:1px solid rgba(245,197,66,.65)!important;
  }
}

/* ================================================================
   V224 — HOMEPAGE FEATURE COLORS, GOLD LATEST-GAMES CAROUSEL,
          LARGER GAME INFORMATION TEXT
   ================================================================ */
/* Correct destination colors requested for the homepage directory. */
.page-home .feature-team{--feature-accent:#a855f7!important;}      /* purple */
.page-home .feature-schedule{--feature-accent:#39ff6a!important;}  /* green */
.page-home .feature-news{--feature-accent:#ff8a24!important;}      /* orange */
.page-home .feature-follow{--feature-accent:#ff4fd8!important;}    /* pink */

/* The Latest Games carousel is a homepage feature, so its complete frame,
   controls and active card use the homepage gold treatment. */
.page-home #latest-games .media-games-carousel,
.page-home #latest-games .homepage-latest-showcase{
  border-color:#f5c542!important;
  box-shadow:0 0 18px rgba(245,197,66,.72),inset 0 0 24px rgba(245,197,66,.09)!important;
}
.page-home #latest-games .generated-wide-card{
  --card-accent:#f5c542!important;
  border-color:#f5c542!important;
  box-shadow:0 0 16px rgba(245,197,66,.7)!important;
}
.page-home #latest-games .media-game-slide.is-active .generated-wide-card,
.page-home #latest-games .media-game-slide:hover .generated-wide-card,
.page-home #latest-games .media-game-slide:focus-visible .generated-wide-card{
  box-shadow:0 0 15px #f5c542,0 0 34px rgba(245,197,66,.78)!important;
}
.page-home #latest-games .carousel-arrow,
.page-home #latest-games .carousel-dot{
  border-color:#f5c542!important;
  color:#f5c542!important;
}
.page-home #latest-games .carousel-dot.is-active,
.page-home #latest-games .carousel-dot.active{
  background:#f5c542!important;
  box-shadow:0 0 10px #f5c542!important;
}
.page-home #latest-games .generated-game-footer{
  border-top-color:#f5c542!important;
}
.page-home #latest-games .generated-media-indicator{
  border-color:#f5c542!important;
  box-shadow:0 0 14px rgba(245,197,66,.78)!important;
}
.page-home #latest-games .generated-media-indicator b{color:#f5c542!important;text-shadow:0 0 8px #f5c542!important;}

/* Use the available footer space more confidently and improve readability. */
.page-home .homepage-latest-showcase .generated-game-footer>div{
  padding:12px 16px!important;
}
.page-home .homepage-latest-showcase .generated-game-meta-block span,
.page-home .homepage-latest-showcase .generated-game-matchup-block span{
  font-size:clamp(.72rem,1.2vw,.98rem)!important;
  line-height:1.15!important;
  letter-spacing:.045em!important;
}
.page-home .homepage-latest-showcase .generated-game-meta-block strong,
.page-home .homepage-latest-showcase .generated-game-matchup-block strong,
.page-home .homepage-latest-showcase .generated-game-result-block strong{
  font-size:clamp(.9rem,1.65vw,1.28rem)!important;
  line-height:1.08!important;
  letter-spacing:.055em!important;
}
.page-home .homepage-latest-showcase .generated-game-result-block em{
  font-size:clamp(1rem,1.9vw,1.42rem)!important;
  line-height:1!important;
}

@media(max-width:700px){
  .page-home .homepage-latest-showcase .generated-game-meta-block span,
  .page-home .homepage-latest-showcase .generated-game-matchup-block span{font-size:.72rem!important;}
  .page-home .homepage-latest-showcase .generated-game-meta-block strong,
  .page-home .homepage-latest-showcase .generated-game-matchup-block strong,
  .page-home .homepage-latest-showcase .generated-game-result-block strong{font-size:.88rem!important;}
  .page-home .homepage-latest-showcase .generated-game-result-block em{font-size:1rem!important;}
}


/* =========================================================
   V225 — FINAL HOMEPAGE FEATURE HUB
   ========================================================= */
.page-home .homepage-feature-hub{padding-top:clamp(34px,5vw,70px);padding-bottom:clamp(52px,7vw,96px);}
.page-home .homepage-signature-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1500px;margin-left:auto;margin-right:auto;}
.page-home .homepage-signature-grid .homepage-feature-card{min-height:240px;}
.page-home .feature-search{--feature-accent:#7de8ff;}
.page-home .feature-latest{--feature-accent:#20bfff;}
.page-home .feature-awards{--feature-accent:#f4f4f4;}
.page-home .feature-best{--feature-accent:#f5c542;}
.page-home .feature-archive{--feature-accent:#a86cff;}
.page-home .homepage-feature-card[data-galaxy-search-open]{cursor:pointer;}
.page-media .media-latest-games-section{scroll-margin-top:calc(var(--asg-header-height,120px) + 70px);}
.page-media .media-latest-games-carousel{--card-accent:#20bfff;}
@media(max-width:900px){.page-home .homepage-signature-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.page-home .homepage-signature-grid{grid-template-columns:1fr;}.page-home .homepage-signature-grid .homepage-feature-card{min-height:180px;}}

/* =========================================================
   V226 — FINAL HOMEPAGE SPACING, SCALE + GOLD FEATURE CARDS
   ========================================================= */
/* The homepage is now a compact feature hub. Tighten the space between the
   hero, Explore heading, feature grid, and footer while keeping enough room
   for the section to breathe on every screen size. */
.page-home .homepage-feature-hub{
  box-sizing:border-box!important;
  width:calc(100% - 56px)!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:clamp(22px,3vw,42px) 12px clamp(30px,4vw,56px)!important;
}
.page-home #explore-galaxy .media-section-heading{
  margin-bottom:clamp(14px,2vw,24px)!important;
}
.page-home #explore-galaxy .media-section-title-graphic{
  margin-bottom:6px!important;
}
.page-home .homepage-signature-grid{
  width:100%!important;
  max-width:1240px!important;
  margin:0 auto!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  gap:clamp(18px,2vw,26px)!important;
}
/* All six cards now share one homepage-gold visual system and identical
   dimensions. The icons still distinguish each feature. */
.page-home .homepage-signature-grid .homepage-feature-card,
.page-home .feature-shuffle,
.page-home .feature-search,
.page-home .feature-latest,
.page-home .feature-awards,
.page-home .feature-best,
.page-home .feature-archive{
  --feature-accent:#f5c542!important;
}
.page-home .homepage-signature-grid .homepage-feature-card{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:260px!important;
  height:100%!important;
  padding:clamp(25px,2.6vw,34px)!important;
  border-width:2px!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 84% 14%,rgba(245,197,66,.24),transparent 35%),
    linear-gradient(145deg,#151106,#070705 72%)!important;
  box-shadow:0 0 18px rgba(245,197,66,.48),inset 0 0 42px rgba(0,0,0,.92)!important;
}
.page-home .homepage-signature-grid .homepage-feature-card:hover,
.page-home .homepage-signature-grid .homepage-feature-card:focus-visible{
  transform:translateY(-5px) scale(1.012)!important;
  box-shadow:0 0 34px rgba(245,197,66,.95),inset 0 0 46px #000!important;
}
.page-home .homepage-signature-grid .homepage-feature-card strong{
  font-size:clamp(1.65rem,2.35vw,2.5rem)!important;
  line-height:1.02!important;
}
.page-home .homepage-signature-grid .homepage-feature-card p{
  min-height:3.9em!important;
  margin:.65rem 0 1.05rem!important;
  font-size:clamp(.95rem,1.05vw,1.08rem)!important;
  line-height:1.42!important;
}
.page-home .homepage-signature-grid .homepage-feature-card em{
  margin-top:auto!important;
  font-size:.82rem!important;
}
.page-home .homepage-signature-grid .homepage-feature-card .feature-icon{
  right:22px!important;
  top:19px!important;
  font-size:clamp(2.35rem,3.5vw,3.75rem)!important;
}

@media(max-width:900px){
  .page-home .homepage-feature-hub{
    width:calc(100% - 28px)!important;
    padding:24px 8px 38px!important;
  }
  .page-home .homepage-signature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }
  .page-home .homepage-signature-grid .homepage-feature-card{
    min-height:220px!important;
    padding:24px!important;
  }
}
@media(max-width:600px){
  .page-home .homepage-feature-hub{
    width:calc(100% - 14px)!important;
    padding:18px 4px 28px!important;
  }
  .page-home #explore-galaxy .media-section-heading{
    margin-bottom:12px!important;
    padding-inline:5px!important;
  }
  .page-home #explore-galaxy .media-section-heading p{
    font-size:.72rem!important;
    line-height:1.35!important;
  }
  .page-home .homepage-signature-grid{
    grid-template-columns:1fr!important;
    gap:13px!important;
  }
  .page-home .homepage-signature-grid .homepage-feature-card{
    min-height:174px!important;
    padding:20px!important;
    border-radius:16px!important;
  }
  .page-home .homepage-signature-grid .homepage-feature-card strong{
    font-size:clamp(1.45rem,7vw,2rem)!important;
    max-width:78%!important;
  }
  .page-home .homepage-signature-grid .homepage-feature-card p{
    min-height:0!important;
    max-width:88%!important;
    margin:.48rem 0 .8rem!important;
    font-size:.86rem!important;
  }
  .page-home .homepage-signature-grid .homepage-feature-card .feature-icon{
    right:17px!important;
    top:15px!important;
    font-size:2.25rem!important;
  }
}

/* =========================================================
   V227 — FINAL HOMEPAGE CARD ICON + CONTENT POLISH
   ========================================================= */
/* Give every card a predictable internal layout. The icon now lives in a
   dedicated upper-right corner zone instead of competing with the title. */
.page-home .homepage-signature-grid .homepage-feature-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  padding:clamp(30px,3vw,40px)!important;
}
.page-home .homepage-signature-grid .homepage-feature-card strong{
  display:block!important;
  width:calc(100% - 64px)!important;
  max-width:calc(100% - 64px)!important;
  margin:0!important;
  padding:0!important;
}
.page-home .homepage-signature-grid .homepage-feature-card p{
  width:100%!important;
  max-width:34ch!important;
  margin:.78rem 0 1.15rem!important;
  font-size:clamp(1rem,1.08vw,1.12rem)!important;
  line-height:1.48!important;
}
.page-home .homepage-signature-grid .homepage-feature-card em{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  margin-top:auto!important;
  transition:transform .22s ease,text-shadow .22s ease,color .22s ease!important;
}
.page-home .homepage-signature-grid .homepage-feature-card .feature-icon{
  right:clamp(16px,1.7vw,22px)!important;
  top:clamp(15px,1.5vw,20px)!important;
  font-size:clamp(1.7rem,2.45vw,2.75rem)!important;
  line-height:1!important;
  transform-origin:center!important;
  transition:transform .22s ease,filter .22s ease!important;
  pointer-events:none!important;
}
.page-home .homepage-signature-grid .homepage-feature-card:hover .feature-icon,
.page-home .homepage-signature-grid .homepage-feature-card:focus-visible .feature-icon{
  transform:scale(1.06)!important;
  filter:drop-shadow(0 0 16px var(--feature-accent))!important;
}
.page-home .homepage-signature-grid .homepage-feature-card:hover em,
.page-home .homepage-signature-grid .homepage-feature-card:focus-visible em{
  transform:translateX(4px)!important;
  color:#fff!important;
  text-shadow:0 0 9px var(--feature-accent)!important;
}

@media(max-width:900px){
  .page-home .homepage-signature-grid .homepage-feature-card{
    padding:28px!important;
  }
  .page-home .homepage-signature-grid .homepage-feature-card strong{
    width:calc(100% - 56px)!important;
    max-width:calc(100% - 56px)!important;
  }
  .page-home .homepage-signature-grid .homepage-feature-card .feature-icon{
    right:18px!important;
    top:17px!important;
    font-size:2.15rem!important;
  }
}
@media(max-width:600px){
  .page-home .homepage-signature-grid .homepage-feature-card{
    min-height:180px!important;
    padding:22px!important;
  }
  .page-home .homepage-signature-grid .homepage-feature-card strong{
    width:calc(100% - 52px)!important;
    max-width:calc(100% - 52px)!important;
  }
  .page-home .homepage-signature-grid .homepage-feature-card p{
    max-width:100%!important;
    margin:.58rem 0 .9rem!important;
    font-size:.9rem!important;
    line-height:1.42!important;
  }
  .page-home .homepage-signature-grid .homepage-feature-card .feature-icon{
    right:15px!important;
    top:14px!important;
    font-size:1.9rem!important;
  }
}

/* =========================================================
   V228 — FINAL DESKTOP HOMEPAGE FRAME + BOTTOM GALAXY SPACE
   ========================================================= */
/* Match the existing desktop space above the site with a deliberate
   galaxy-background frame below the footer. This is homepage-only so
   the phone layout and all other pages remain unchanged. */
@media (min-width: 901px){
  body.page-home{
    padding-bottom:31px!important;
  }
  body.page-home .site-shell{
    box-shadow:
      0 18px 36px rgba(0,0,0,.48),
      0 0 24px rgba(255,215,0,.08)!important;
  }
}

/* ================================================================
   V229 — OPPOSING STATUS BAR ENERGY LINES
   Bottom highlight travels left-to-right; top highlight travels
   right-to-left for a balanced animated frame around the message.
   ================================================================ */
.asg-status-ticker::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  z-index:2;
  width:100%;
  height:2px;
  pointer-events:none;
  background:currentColor;
  opacity:.34;
  transform:scaleX(0);
  transform-origin:right center;
  animation:asgStatusProgressTop 6s linear infinite;
}

@keyframes asgStatusProgressTop{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}

/* Keep the linked announcement above both decorative energy lines. */
.asg-status-message{
  position:relative;
  z-index:3;
}

/* Soften both moving highlights while a visitor pauses on a message. */
.asg-status-ticker:hover::before,
.asg-status-ticker:hover .asg-status-progress{
  opacity:.2;
}

@media (prefers-reduced-motion:reduce){
  .asg-status-ticker::before,
  .asg-status-progress{
    animation:none!important;
    transform:scaleX(1)!important;
  }
}

/* =========================================================
   V230 — LIVE HOMEPAGE FEATURE TOTALS
   ========================================================= */
.page-home .homepage-live-stat{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:24px!important;
  margin:0 0 12px!important;
  padding:5px 10px!important;
  border:1px solid rgba(245,197,66,.58)!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,rgba(245,197,66,.16),rgba(245,197,66,.04))!important;
  box-shadow:inset 0 0 10px rgba(245,197,66,.08),0 0 8px rgba(245,197,66,.12)!important;
  color:#ffe590!important;
  font-size:clamp(.67rem,.76vw,.78rem)!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:1.15!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}
.page-home .homepage-feature-card:hover .homepage-live-stat,
.page-home .homepage-feature-card:focus-visible .homepage-live-stat{
  border-color:#ffd95a!important;
  color:#fff1b5!important;
  box-shadow:inset 0 0 12px rgba(245,197,66,.14),0 0 12px rgba(245,197,66,.25)!important;
}
@media(max-width:900px){
  .page-home .homepage-live-stat{
    font-size:.68rem!important;
    margin-bottom:10px!important;
  }
}
@media(max-width:600px){
  .page-home .homepage-live-stat{
    min-height:21px!important;
    padding:4px 8px!important;
    margin-bottom:9px!important;
    font-size:.64rem!important;
  }
}


/* V231 — Combined Updates page */
.page-updates { --page-accent:#39ff14; }
.page-updates .site-top nav a.active { color:#39ff14; text-shadow:0 0 12px rgba(57,255,20,.8); }
.updates-navigation-title { min-height:76px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; letter-spacing:.08em; line-height:1; }
.updates-navigation-title span { font-size:.78rem; color:#d9d9d9; }
.updates-navigation-title strong { margin-top:4px; font-size:1.48rem; color:#fff; text-shadow:0 0 10px rgba(57,255,20,.7); }
.updates-navigation-title em { margin-top:5px; font-size:.86rem; font-style:normal; color:#39ff14; font-weight:900; letter-spacing:.28em; }
.hero-updates { background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.2)), var(--updates-hero, url('../images/hero/schedule.png')); }
.updates-page-description { border-color:rgba(57,255,20,.55); }
.updates-section-navigation { position:sticky; top:var(--asg-sticky-stack, 0px); z-index:80; display:flex; justify-content:center; gap:12px; padding:10px 16px; background:rgba(3,10,18,.95); border-top:1px solid rgba(57,255,20,.45); border-bottom:1px solid rgba(57,255,20,.45); backdrop-filter:blur(12px); }
.updates-section-navigation a { color:#fff; text-decoration:none; border:1px solid rgba(57,255,20,.55); border-radius:999px; padding:8px 16px; font-weight:800; font-size:.82rem; text-transform:uppercase; letter-spacing:.05em; }
.updates-section-navigation a:hover { color:#39ff14; box-shadow:0 0 14px rgba(57,255,20,.35); }
.updates-main { padding:32px clamp(16px,4vw,54px) 60px; }
.updates-overview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:1060px; margin:0 auto 34px; }
.updates-overview > div { border:1px solid rgba(57,255,20,.5); background:linear-gradient(145deg,rgba(7,19,31,.94),rgba(2,7,13,.96)); padding:22px; text-align:center; box-shadow:0 0 18px rgba(57,255,20,.1); }
.updates-overview span,.updates-overview small { display:block; color:#b9c3cc; }
.updates-overview strong { display:block; margin:5px 0; color:#39ff14; font-size:1.35rem; text-transform:uppercase; }
.updates-section { scroll-margin-top:220px; max-width:1220px; margin:0 auto; padding:30px 0; }
.updates-section-heading { display:flex; align-items:center; gap:16px; margin-bottom:22px; border-left:4px solid #39ff14; padding:8px 0 8px 16px; }
.updates-section-heading > span { font-size:2rem; }
.updates-section-heading h1 { margin:0; color:#fff; font-size:clamp(1.35rem,3vw,2rem); }
.updates-section-heading p { margin:5px 0 0; color:#b8c1ca; }
.updates-section-divider { text-align:center; margin:14px auto; }
.updates-section-divider a { display:inline-block; color:#39ff14; text-decoration:none; border:1px solid rgba(57,255,20,.55); border-radius:999px; padding:8px 18px; font-weight:800; }
.page-updates .generated-news-grid { margin-top:0; }
@media (max-width:700px) {
 .updates-navigation-title { min-height:64px; }
 .updates-navigation-title span { font-size:.58rem; }
 .updates-navigation-title strong { font-size:1.05rem; }
 .updates-navigation-title em { font-size:.68rem; }
 .updates-section-navigation { gap:6px; padding:8px 6px; overflow-x:auto; justify-content:flex-start; }
 .updates-section-navigation a { flex:0 0 auto; padding:7px 10px; font-size:.68rem; }
 .updates-main { padding:20px 12px 42px; }
 .updates-overview { grid-template-columns:1fr; gap:12px; margin-bottom:20px; }
 .updates-overview > div { padding:16px; }
 .updates-section { padding:22px 0; scroll-margin-top:190px; }
 .updates-section-heading { align-items:flex-start; gap:10px; padding-left:10px; }
 .updates-section-heading > span { font-size:1.45rem; }
 .updates-section-heading p { font-size:.86rem; }
}

/* =========================================================
   V232 — MOBILE HOMEPAGE FINAL + STANDALONE GALAXY SHUFFLE
   ========================================================= */
.page-home .section-navigator,.page-home [data-section-nav]{display:none!important}
.page-home footer .footer-logo img,.page-home footer .footer-social img,.page-home footer .footer-email{filter:drop-shadow(0 0 8px rgba(245,197,66,.9))!important}
@media(max-width:600px){
 body.page-home{overflow-x:hidden!important;padding-bottom:18px!important}
 .page-home .site-top{position:sticky!important;top:0!important;z-index:1000!important}
 .page-home .hero-bar{min-height:82px!important;padding:5px 7px!important;gap:5px!important}
 .page-home .hero-logo img,.page-home .hero-logo-right img{width:58px!important;height:58px!important}
 .page-home .hero-title{min-width:0!important;flex:1!important}
 .page-home .hero-title img{max-height:60px!important;width:100%!important;object-fit:contain!important}
 .page-home nav{gap:3px!important;padding:4px 4px 6px!important;overflow-x:auto!important;scrollbar-width:none!important;justify-content:flex-start!important}
 .page-home nav::-webkit-scrollbar{display:none!important}
 .page-home nav a{flex:0 0 auto!important;min-width:58px!important;padding:7px 8px!important;font-size:.63rem!important}
 .page-home .asg-status-ticker{min-height:42px!important;height:auto!important;overflow:hidden!important}
 .page-home .asg-status-message{min-height:42px!important;padding:6px 8px!important}
 .page-home .asg-status-message strong{font-size:.62rem!important;line-height:1.18!important}
 .page-home .hero-home{height:clamp(205px,57vw,260px)!important;background-size:cover!important;background-position:center 38%!important}
 .page-home .homepage-explore-title-graphic{width:100%!important;max-width:390px!important;height:auto!important}
 .page-home .homepage-feature-hub{padding-top:12px!important}
 .page-home .homepage-signature-grid .homepage-feature-card{min-height:168px!important;padding:20px 20px 18px!important}
 .page-home .homepage-signature-grid .homepage-feature-card .feature-icon{top:10px!important;right:13px!important;font-size:1.7rem!important}
 .page-home .homepage-signature-grid .homepage-feature-card p{margin:.48rem 0 .72rem!important;font-size:.86rem!important}
 .page-home .homepage-live-stat{margin-top:2px!important;margin-bottom:8px!important}
 .page-home .homepage-signature-grid .homepage-feature-card em{font-size:.78rem!important}
 .page-home footer{margin-bottom:0!important}
}
.page-galaxy-shuffle{--page-accent:#8b5cff;background:#02030a}
.page-galaxy-shuffle .site-shell{overflow:visible}
.page-galaxy-shuffle nav a.active{color:#ffd95a;text-shadow:0 0 12px #8b5cff,0 0 18px #ffd95a}
.shuffle-hero{position:relative;min-height:380px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 25%,rgba(139,92,255,.55),transparent 28%),radial-gradient(circle at 18% 68%,rgba(32,191,255,.28),transparent 25%),linear-gradient(150deg,#02030a,#12072e 58%,#261300);border-bottom:1px solid rgba(245,197,66,.55)}
.shuffle-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px);background-size:42px 42px;opacity:.28;animation:shuffleStars 20s linear infinite}
@keyframes shuffleStars{to{background-position:84px -42px}}
.shuffle-hero-overlay{position:relative;text-align:center;padding:42px 20px;z-index:1}.shuffle-hero small{color:#ffd95a;letter-spacing:.26em;font-weight:900}.shuffle-hero h1{margin:8px 0 0;font:clamp(3rem,10vw,8rem)/.9 Impact,"Arial Narrow",sans-serif;letter-spacing:.06em;color:#fff;text-shadow:0 0 18px #8b5cff,0 0 38px #20bfff,0 0 55px rgba(245,197,66,.55)}.shuffle-hero p{margin:12px 0;color:#ffd95a;font-size:clamp(1.1rem,2.4vw,1.8rem);letter-spacing:.18em;text-transform:uppercase}.shuffle-live-totals{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}.shuffle-live-totals span{padding:7px 13px;border:1px solid rgba(245,197,66,.55);border-radius:999px;background:rgba(0,0,0,.5);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.shuffle-page-main{padding:40px clamp(12px,4vw,54px) 70px}.shuffle-experience{max-width:1200px;margin:auto;text-align:center}.shuffle-intro{max-width:760px;margin:0 auto 22px;color:#d8d8e8;line-height:1.6}.shuffle-main-button,.shuffle-again-button{border:1px solid #ffd95a;border-radius:999px;padding:15px 28px;background:linear-gradient(135deg,#33175f,#160d28 55%,#2b1900);color:#fff;font-weight:1000;letter-spacing:.12em;box-shadow:0 0 18px rgba(139,92,255,.65),0 0 22px rgba(245,197,66,.35);cursor:pointer}.shuffle-main-button:hover,.shuffle-again-button:hover{transform:translateY(-2px);box-shadow:0 0 32px #8b5cff,0 0 30px rgba(245,197,66,.65)}.shuffle-main-button:disabled{opacity:.55;cursor:wait}
.shuffle-stage{position:relative;min-height:440px;margin:28px auto 18px;overflow:hidden;border:1px solid rgba(139,92,255,.72);border-radius:24px;background:radial-gradient(circle at center,rgba(139,92,255,.13),transparent 52%),rgba(0,0,0,.56);box-shadow:inset 0 0 60px #000,0 0 24px rgba(139,92,255,.25)}.shuffle-track{height:100%;min-height:440px;display:flex;align-items:center;justify-content:center;gap:24px;padding:30px}.shuffle-art-card{position:absolute;width:min(360px,72vw);aspect-ratio:16/10;border:2px solid rgba(255,255,255,.18);border-radius:20px;background:var(--shuffle-art);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;opacity:.22;transform:translateX(calc((var(--i,0) - 3)*140px)) scale(.7);filter:blur(1px) brightness(.65);transition:transform .16s ease,opacity .16s ease,filter .16s ease,box-shadow .3s ease;cursor:default;overflow:hidden}.shuffle-art-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.18),transparent 58%);transform:translateX(-130%)}.shuffle-art-card span,.shuffle-art-card strong,.shuffle-art-card em{position:relative;z-index:1}.shuffle-art-card span{font-size:.72rem;letter-spacing:.25em;color:#ffd95a;font-weight:900}.shuffle-art-card strong{font:clamp(1.5rem,4vw,2.7rem)/1 Impact,"Arial Narrow",sans-serif;letter-spacing:.05em;text-shadow:0 0 14px #000}.shuffle-art-card em{font-style:normal;font-size:.72rem;letter-spacing:.18em}.shuffle-art-card.is-active{opacity:1;z-index:5;transform:translateX(0) scale(1);filter:none}.shuffle-art-card.is-selected{cursor:pointer;border-color:#ffd95a;box-shadow:0 0 18px #ffd95a,0 0 44px #8b5cff;animation:shuffleWinner 1s ease-in-out infinite alternate}.shuffle-art-card.is-selected:before{animation:shuffleShine 1.8s ease-in-out infinite}@keyframes shuffleWinner{to{transform:translateX(0) scale(1.035);box-shadow:0 0 28px #ffd95a,0 0 62px #8b5cff}}@keyframes shuffleShine{to{transform:translateX(140%)}}
.shuffle-status{color:#ffd95a;font-weight:800;min-height:1.5em}.shuffle-modal{position:fixed;inset:0;z-index:4000;display:none;place-items:center;padding:16px;background:rgba(0,0,0,.88);backdrop-filter:blur(12px)}.shuffle-modal.is-open{display:grid}.shuffle-modal-panel{position:relative;width:min(900px,96vw);max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border:1px solid #8b5cff;border-radius:22px;background:linear-gradient(150deg,#100820,#03050b 65%);box-shadow:0 0 34px rgba(139,92,255,.7);text-align:center}.shuffle-modal-close{position:absolute;right:12px;top:10px;width:42px;height:42px;border:1px solid #ffd95a;border-radius:50%;background:#111;color:#fff;font-size:1.6rem;cursor:pointer}.shuffle-modal-kicker{color:#ffd95a;letter-spacing:.22em;font-weight:900}.shuffle-modal h2{margin:8px 44px 5px;color:#fff;font-size:clamp(1.7rem,4vw,3rem);text-shadow:0 0 15px #8b5cff}.shuffle-modal-details{color:#cfd2e8}.shuffle-video-wrap{aspect-ratio:16/9;margin:18px auto;overflow:hidden;border:1px solid rgba(245,197,66,.65);border-radius:14px;background:#000}.shuffle-video-wrap iframe{width:100%;height:100%;border:0}.shuffle-modal-note{font-size:.78rem;color:#aaa}.modal-open{overflow:hidden}
@media(max-width:600px){.page-galaxy-shuffle .hero-bar{min-height:82px}.page-galaxy-shuffle nav{overflow-x:auto;justify-content:flex-start}.page-galaxy-shuffle nav a{flex:0 0 auto;font-size:.61rem;padding:7px 8px}.shuffle-hero{min-height:270px}.shuffle-hero h1{font-size:3.25rem}.shuffle-hero p{font-size:.86rem}.shuffle-page-main{padding:24px 8px 34px}.shuffle-stage,.shuffle-track{min-height:310px}.shuffle-track{padding:18px}.shuffle-art-card{width:78vw}.shuffle-modal-panel{padding:24px 12px 20px}.shuffle-modal h2{font-size:1.55rem}.shuffle-main-button,.shuffle-again-button{width:min(92%,340px)}}


/* =========================================================
   V233 — ORANGE GALAXY SHUFFLE + MATCHDAY UPDATES HEROES
   ========================================================= */
:root{--shuffle-orange:#ff7a00;--shuffle-gold:#ffd24a;--updates-green:#39ff14}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Central public navigation color identity. */
.site-top nav.site-nav-v3>a[href="galaxy-shuffle.html"]{border-color:rgba(255,122,0,.7)!important}
.site-top nav.site-nav-v3>a[href="galaxy-shuffle.html"]:hover,
.site-top nav.site-nav-v3>a[href="galaxy-shuffle.html"].active{color:#fff!important;background:linear-gradient(180deg,rgba(255,122,0,.42),rgba(62,20,0,.86))!important;box-shadow:0 0 15px rgba(255,122,0,.8)!important;text-shadow:0 0 10px #ff7a00!important}
.page-updates .site-top nav.site-nav-v3>a.active{color:#fff!important;background:linear-gradient(180deg,rgba(57,255,20,.30),rgba(3,48,10,.88))!important;box-shadow:0 0 14px rgba(57,255,20,.72)!important}

/* New page hero artwork. */
.hero-updates{background-image:url('../images/heroes/pages/hero-updates-v233.png')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.shuffle-hero{min-height:clamp(320px,43vw,660px)!important;background-image:linear-gradient(rgba(0,0,0,.02),rgba(0,0,0,.08)),url('../images/heroes/pages/hero-shuffle-v233.png')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;border-color:rgba(255,122,0,.72)!important}
.shuffle-hero:before{display:none!important}
.shuffle-hero-overlay{position:absolute!important;inset:auto 0 18px!important;padding:0 16px!important}
.shuffle-live-totals span{border-color:rgba(255,122,0,.9)!important;background:rgba(0,0,0,.72)!important;box-shadow:0 0 13px rgba(255,122,0,.45)!important}

/* Galaxy Shuffle orange identity. */
.page-galaxy-shuffle{--page-accent:#ff7a00!important;background:#050200!important}
.page-galaxy-shuffle .site-shell{box-shadow:0 0 26px rgba(255,122,0,.14)!important}
.shuffle-main-button,.shuffle-again-button{border-color:#ff9b24!important;background:linear-gradient(135deg,#5c2100,#1b0800 58%,#321800)!important;box-shadow:0 0 18px rgba(255,122,0,.75),0 0 22px rgba(255,210,74,.25)!important}
.shuffle-main-button:hover,.shuffle-again-button:hover{box-shadow:0 0 34px #ff7a00,0 0 28px rgba(255,210,74,.7)!important}
.shuffle-stage{min-height:500px!important;border-color:rgba(255,122,0,.82)!important;background:radial-gradient(circle at center,rgba(255,122,0,.16),transparent 54%),rgba(0,0,0,.72)!important;box-shadow:inset 0 0 70px #000,0 0 28px rgba(255,122,0,.38)!important}
.shuffle-track{min-height:500px!important}
.shuffle-art-card{width:min(430px,76vw)!important;border-color:rgba(255,122,0,.32)!important;transform:translateX(calc((var(--i,0) - 3)*175px)) scale(.72)!important}
.shuffle-art-card.is-active{transform:translateX(0) scale(1.08)!important}
.shuffle-art-card.is-selected{border-color:#ffb13b!important;box-shadow:0 0 20px #ffb13b,0 0 52px #ff6a00!important}
@keyframes shuffleWinner{to{transform:translateX(0) scale(1.12);box-shadow:0 0 32px #ffd24a,0 0 74px #ff6a00}}
.shuffle-status,.shuffle-modal-kicker{color:#ffb13b!important}
.shuffle-modal-panel{border-color:#ff7a00!important;background:linear-gradient(150deg,#221000,#050301 68%)!important;box-shadow:0 0 38px rgba(255,122,0,.72)!important}
.shuffle-modal h2{text-shadow:0 0 15px #ff7a00!important}
.shuffle-modal-close{border-color:#ff9b24!important;box-shadow:0 0 12px rgba(255,122,0,.55)!important}
.shuffle-video-wrap{border-color:rgba(255,122,0,.78)!important}
.page-galaxy-shuffle footer{border-top-color:#ff7a00!important}
.page-galaxy-shuffle footer .footer-logo img,.page-galaxy-shuffle footer .footer-social img,.page-galaxy-shuffle footer .footer-email{filter:drop-shadow(0 0 8px rgba(255,122,0,.9))!important}

/* Homepage gold footer logos. */
.page-home footer .footer-logo img{filter:drop-shadow(0 0 10px rgba(255,210,74,1)) drop-shadow(0 0 18px rgba(255,174,0,.62))!important}

/* Mobile public header refinement. */
@media(max-width:600px){
  .site-top .hero-bar{min-height:74px!important;height:74px!important;padding:5px 8px!important;gap:4px!important;display:grid!important;grid-template-columns:52px minmax(0,1fr) 52px!important;align-items:center!important}
  .site-top .hero-logo,.site-top .hero-logo-right,.site-top .mobile-search-button{width:52px!important;height:52px!important;min-width:52px!important;margin:0!important}
  .site-top .hero-logo img,.site-top .hero-logo-right img{width:52px!important;height:52px!important;object-fit:contain!important}
  .site-top .hero-title{height:52px!important;min-height:52px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
  .site-top .hero-title img{width:100%!important;height:52px!important;max-height:52px!important;object-fit:contain!important}
  .site-top .mobile-search-button{display:flex!important;flex-direction:column!important;border-radius:50%!important;border-width:2px!important;padding:0!important;gap:0!important}
  .site-top .mobile-search-button span{font-size:1.25rem!important;line-height:1!important}
  .site-top .mobile-search-button b{display:block!important;font-size:.49rem!important;line-height:1!important;letter-spacing:.05em!important;text-transform:uppercase!important;margin-top:2px!important}
  .site-top nav.site-nav-v3{min-height:45px!important;gap:3px!important;padding:2px 3px 4px!important;overflow-x:auto!important;justify-content:flex-start!important;scrollbar-width:none!important}
  .site-top nav.site-nav-v3::-webkit-scrollbar{display:none!important}
  .site-top nav.site-nav-v3>a{flex:0 0 auto!important;min-width:64px!important;height:39px!important;padding:5px 7px!important;font-size:.59rem!important;border-radius:7px!important}
  .asg-status-ticker{margin-top:0!important}
  .shuffle-hero{min-height:255px!important;background-position:center!important}
  .shuffle-hero-overlay{bottom:10px!important;padding:0 8px!important}
  .shuffle-live-totals{gap:5px!important;margin:0!important}
  .shuffle-live-totals span{padding:5px 8px!important;font-size:.58rem!important}
  .shuffle-page-main{padding:20px 8px 30px!important}
  .shuffle-stage,.shuffle-track{min-height:360px!important}
  .shuffle-art-card{width:min(86vw,430px)!important;transform:translateX(calc((var(--i,0) - 3)*118px)) scale(.66)!important}
  .shuffle-art-card.is-active{transform:translateX(0) scale(1)!important}
  @keyframes shuffleWinner{to{transform:translateX(0) scale(1.035);box-shadow:0 0 26px #ffd24a,0 0 56px #ff6a00}}
  .shuffle-modal{align-items:start!important;padding:max(10px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom))!important;overflow:hidden!important}
  .shuffle-modal-panel{width:100%!important;max-height:calc(100dvh - max(20px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;margin:0!important;padding:58px 12px 18px!important;overflow-y:auto!important;overscroll-behavior:contain!important;border-radius:18px!important}
  .shuffle-modal-close{position:sticky!important;float:right!important;right:0!important;top:0!important;z-index:20!important;margin-top:-48px!important;margin-right:0!important;width:42px!important;height:42px!important;background:#120700!important}
  .shuffle-modal h2{margin:4px 42px 4px!important;font-size:1.45rem!important}
  .shuffle-modal-details{font-size:.78rem!important;margin:6px 0 10px!important}
  .shuffle-video-wrap{margin:10px auto 14px!important}
  .shuffle-again-button{position:relative!important;width:min(94%,360px)!important;margin-top:4px!important}
  .shuffle-modal-note{margin-bottom:2px!important}
}

/* =========================================================
   V234 — FINAL MOBILE HOME HEADER + SHUFFLE HERO/ORANGE FIX
   ========================================================= */

/* Orange Shuffle navigation identity on every public page. */
.site-top nav > a[href="galaxy-shuffle.html"],
.site-top nav.site-nav-v3 > a[href="galaxy-shuffle.html"]{
  border-color:#ff7a00!important;
  box-shadow:inset 0 0 0 1px rgba(255,122,0,.18),0 0 8px rgba(255,122,0,.18)!important;
}
.site-top nav > a[href="galaxy-shuffle.html"]:hover,
.site-top nav > a[href="galaxy-shuffle.html"].active,
.page-galaxy-shuffle .site-top nav > a[href="galaxy-shuffle.html"]{
  color:#fff7e8!important;
  border-color:#ff9b24!important;
  background:linear-gradient(180deg,rgba(255,137,24,.52),rgba(67,20,0,.92))!important;
  box-shadow:0 0 8px #ff7a00,0 0 18px rgba(255,91,0,.72),inset 0 0 12px rgba(255,194,80,.2)!important;
  text-shadow:0 0 8px #ff8a00!important;
}

/* Homepage footer team logos: remove inherited pulse/filter and force gold. */
.page-home footer a.footer-logo,
.page-home footer a.footer-logo img{
  animation:none!important;
}
.page-home footer a.footer-logo img,
.page-home footer .footer-social-row > a.footer-logo img{
  filter:drop-shadow(0 0 5px #ffd74f) drop-shadow(0 0 11px #ffb000) drop-shadow(0 0 18px rgba(255,145,0,.85))!important;
}

/* Shuffle page uses orange throughout, never purple. */
.page-galaxy-shuffle{
  --page-accent:#ff7a00!important;
  --shuffle-orange:#ff7a00;
  --shuffle-amber:#ffb13b;
}
.page-galaxy-shuffle .shuffle-page-main,
.page-galaxy-shuffle .shuffle-experience{
  background:linear-gradient(180deg,rgba(34,12,2,.22),rgba(4,3,6,.98))!important;
}
.page-galaxy-shuffle .shuffle-main-button,
.page-galaxy-shuffle .shuffle-again-button{
  border-color:#ff9b24!important;
  background:linear-gradient(135deg,#351000,#a43600 55%,#271000)!important;
  box-shadow:0 0 10px #ff7a00,0 0 24px rgba(255,89,0,.55)!important;
}
.page-galaxy-shuffle .shuffle-stage,
.page-galaxy-shuffle .shuffle-track{
  border-color:#ff7a00!important;
  box-shadow:inset 0 0 24px rgba(255,86,0,.12),0 0 18px rgba(255,106,0,.34)!important;
}
.page-galaxy-shuffle .shuffle-art-card.is-active,
.page-galaxy-shuffle .shuffle-art-card.is-selected{
  border-color:#ffb13b!important;
  box-shadow:0 0 13px #ff9a00,0 0 32px #ff5b00,0 0 58px rgba(255,96,0,.55)!important;
}
.page-galaxy-shuffle .shuffle-status,
.page-galaxy-shuffle .shuffle-intro{
  color:#ffd39a!important;
}
.page-galaxy-shuffle .shuffle-modal-panel{
  border-color:#ff7a00!important;
  background:linear-gradient(150deg,#241003,#060407 68%)!important;
  box-shadow:0 0 18px #ff7a00,0 0 42px rgba(255,74,0,.62)!important;
}
.page-galaxy-shuffle .shuffle-modal h2{
  text-shadow:0 0 13px #ff7a00!important;
}
.page-galaxy-shuffle .shuffle-modal-close{
  border-color:#ff9b24!important;
  box-shadow:0 0 10px rgba(255,122,0,.75)!important;
}
.page-galaxy-shuffle footer{
  border-color:#ff7a00!important;
}
.page-galaxy-shuffle footer .footer-logo img,
.page-galaxy-shuffle footer .footer-social img,
.page-galaxy-shuffle footer .footer-email{
  filter:drop-shadow(0 0 7px #ff9b24) drop-shadow(0 0 15px rgba(255,91,0,.8))!important;
}

/* Full, unobstructed Shuffle hero image. No fixed crop, no overlays. */
.page-galaxy-shuffle .shuffle-hero{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
  background:none!important;
  border-top:1px solid rgba(255,122,0,.65)!important;
  border-bottom:1px solid rgba(255,122,0,.75)!important;
}
.page-galaxy-shuffle .shuffle-hero:before,
.page-galaxy-shuffle .shuffle-hero:after,
.page-galaxy-shuffle .shuffle-hero-overlay{
  display:none!important;
}
.page-galaxy-shuffle .shuffle-hero-image{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
}
.page-galaxy-shuffle .shuffle-live-totals-below{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:13px 12px 15px!important;
  background:linear-gradient(180deg,#160800,#070407)!important;
  border-bottom:1px solid rgba(255,122,0,.7)!important;
  box-shadow:0 8px 20px rgba(255,76,0,.12)!important;
}
.page-galaxy-shuffle .shuffle-live-totals-below span{
  padding:7px 14px!important;
  border:1px solid #ff8a13!important;
  border-radius:999px!important;
  background:rgba(20,7,0,.92)!important;
  color:#fff4df!important;
  box-shadow:0 0 10px rgba(255,122,0,.28)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}

/* Mobile homepage/header correction — tightly scoped and intentionally
   stronger than older responsive rules. */
@media(max-width:700px){
  body.page-home .site-top .hero-bar,
  body.page-galaxy-shuffle .site-top .hero-bar,
  body.page-updates .site-top .hero-bar,
  .site-top .hero-bar{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) 56px!important;
    align-items:center!important;
    gap:5px!important;
    width:100%!important;
    min-height:68px!important;
    height:68px!important;
    padding:5px 10px!important;
    margin:0!important;
  }
  .site-top .hero-logo,
  .site-top .hero-logo-right,
  .site-top .mobile-search-button{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
    max-width:54px!important;
    max-height:54px!important;
    margin:0!important;
  }
  .site-top .hero-logo img,
  .site-top .hero-logo-right img{
    width:54px!important;
    height:54px!important;
    object-fit:contain!important;
  }
  .site-top .hero-title{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:58px!important;
    min-height:58px!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
  }
  .site-top .hero-title img{
    display:block!important;
    width:100%!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .site-top .mobile-search-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    padding:0!important;
    border-radius:50%!important;
    line-height:1!important;
  }
  .site-top .mobile-search-button span{font-size:1.05rem!important;line-height:1!important}
  .site-top .mobile-search-button b{font-size:.42rem!important;line-height:1!important;margin-top:2px!important}

  .site-top nav,
  .site-top nav.site-nav-v3{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:3px!important;
    width:100%!important;
    min-height:38px!important;
    height:38px!important;
    padding:1px 3px 2px!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
  }
  .site-top nav::-webkit-scrollbar{display:none!important}
  .site-top nav > a,
  .site-top nav.site-nav-v3 > a{
    flex:0 0 auto!important;
    min-width:55px!important;
    width:auto!important;
    height:34px!important;
    min-height:34px!important;
    padding:3px 7px!important;
    margin:0!important;
    border-radius:6px!important;
    font-size:.52rem!important;
    line-height:1!important;
    letter-spacing:.01em!important;
  }
  .asg-status-ticker{
    margin:0!important;
  }

  /* Full-width hero remains entirely visible on phones. */
  .page-galaxy-shuffle .shuffle-hero,
  .page-galaxy-shuffle .shuffle-hero-image{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .page-galaxy-shuffle .shuffle-live-totals-below{
    gap:6px!important;
    padding:9px 6px 11px!important;
  }
  .page-galaxy-shuffle .shuffle-live-totals-below span{
    padding:5px 8px!important;
    font-size:.55rem!important;
  }
  .page-galaxy-shuffle .shuffle-page-main{
    padding-top:18px!important;
  }

  /* Keep modal fully usable and close control fixed in view. */
  .page-galaxy-shuffle .shuffle-modal{
    display:none;
    align-items:flex-start!important;
    overflow:hidden!important;
    padding:max(8px,env(safe-area-inset-top)) 7px max(8px,env(safe-area-inset-bottom))!important;
  }
  .page-galaxy-shuffle .shuffle-modal.is-open{display:flex!important}
  .page-galaxy-shuffle .shuffle-modal-panel{
    position:relative!important;
    width:100%!important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    padding:54px 10px 16px!important;
    border-radius:17px!important;
  }
  .page-galaxy-shuffle .shuffle-modal-close{
    position:fixed!important;
    top:max(13px,calc(env(safe-area-inset-top) + 5px))!important;
    right:14px!important;
    z-index:5005!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
  }
}

/* =========================================================
   V235 — GLOBAL COMPACT NAVIGATION + FULL SHUFFLE HERO
   ========================================================= */

/* Keep Shuffle orange on every page, including the gold homepage. */
body .site-top nav.site-nav-v3 > a[href="galaxy-shuffle.html"],
body .site-top nav > a[href="galaxy-shuffle.html"]{
  border-color:#ff7a00!important;
  color:#fff7ec!important;
  box-shadow:inset 0 0 0 1px rgba(255,122,0,.30),0 0 9px rgba(255,122,0,.34)!important;
  text-shadow:0 0 7px rgba(255,122,0,.72)!important;
}
body .site-top nav.site-nav-v3 > a[href="galaxy-shuffle.html"]:hover,
body .site-top nav.site-nav-v3 > a[href="galaxy-shuffle.html"].active,
body.page-galaxy-shuffle .site-top nav.site-nav-v3 > a[href="galaxy-shuffle.html"]{
  border-color:#ffad3d!important;
  background:linear-gradient(180deg,rgba(255,132,22,.58),rgba(70,20,0,.94))!important;
  box-shadow:0 0 10px #ff7a00,0 0 20px rgba(255,91,0,.72),inset 0 0 12px rgba(255,198,87,.22)!important;
}

/* The complete Shuffle artwork must always remain visible. */
body.page-galaxy-shuffle .shuffle-hero{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  overflow:visible!important;
  background:#050200!important;
}
body.page-galaxy-shuffle .shuffle-hero-image{
  display:block!important;
  width:98%!important;
  max-width:98%!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center!important;
  clip-path:none!important;
  transform:none!important;
}

@media(max-width:700px){
  /* One compact mobile header/navigation system on every public page.
     These selectors intentionally override older homepage-only rules. */
  body.page-home .site-top .hero-bar,
  body.page-galaxy-shuffle .site-top .hero-bar,
  body.page-updates .site-top .hero-bar,
  body.page-team .site-top .hero-bar,
  body.page-media .site-top .hero-bar,
  body.page-live .site-top .hero-bar,
  body.page-follow .site-top .hero-bar,
  body .site-top .hero-bar{
    grid-template-columns:48px minmax(0,1fr) 48px!important;
    gap:3px!important;
    min-height:58px!important;
    height:58px!important;
    padding:3px 7px!important;
  }
  body .site-top .hero-logo,
  body .site-top .hero-logo-right,
  body .site-top .mobile-search-button{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    max-width:46px!important;
    max-height:46px!important;
  }
  body .site-top .hero-logo img,
  body .site-top .hero-logo-right img{
    width:46px!important;
    height:46px!important;
  }
  body .site-top .hero-title,
  body.page-home .site-top .hero-title,
  body.page-galaxy-shuffle .site-top .hero-title{
    height:50px!important;
    min-height:50px!important;
  }
  body .site-top .hero-title img,
  body.page-home .site-top .hero-title img,
  body.page-galaxy-shuffle .site-top .hero-title img{
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    object-fit:contain!important;
  }
  body .site-top .mobile-search-button span{font-size:.92rem!important}
  body .site-top .mobile-search-button b{font-size:.37rem!important;margin-top:1px!important}

  body.page-home .site-top nav.site-nav-v3,
  body.page-galaxy-shuffle .site-top nav.site-nav-v3,
  body.page-updates .site-top nav.site-nav-v3,
  body.page-team .site-top nav.site-nav-v3,
  body.page-media .site-top nav.site-nav-v3,
  body.page-live .site-top nav.site-nav-v3,
  body.page-follow .site-top nav.site-nav-v3,
  body .site-top nav.site-nav-v3,
  body .site-top nav{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:2px!important;
    width:100%!important;
    min-height:32px!important;
    height:32px!important;
    padding:1px 2px!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
  }
  body .site-top nav.site-nav-v3::-webkit-scrollbar,
  body .site-top nav::-webkit-scrollbar{display:none!important}

  body.page-home .site-top nav.site-nav-v3 > a,
  body.page-galaxy-shuffle .site-top nav.site-nav-v3 > a,
  body.page-updates .site-top nav.site-nav-v3 > a,
  body.page-team .site-top nav.site-nav-v3 > a,
  body.page-media .site-top nav.site-nav-v3 > a,
  body.page-live .site-top nav.site-nav-v3 > a,
  body.page-follow .site-top nav.site-nav-v3 > a,
  body .site-top nav.site-nav-v3 > a,
  body .site-top nav > a{
    flex:0 0 auto!important;
    min-width:48px!important;
    width:auto!important;
    height:28px!important;
    min-height:28px!important;
    padding:2px 5px!important;
    margin:0!important;
    border-radius:5px!important;
    font-size:.45rem!important;
    line-height:1!important;
    letter-spacing:0!important;
  }

  /* Keep the ticker directly below the smaller navigation. */
  body .asg-status-ticker{
    min-height:38px!important;
    margin:0!important;
  }
  body .asg-status-message{padding:4px 7px!important}
  body .asg-status-message strong{font-size:.60rem!important;line-height:1.15!important}

  /* Add a small safety inset so none of the artwork at the edges is clipped. */
  body.page-galaxy-shuffle .shuffle-hero{
    padding:0 4px!important;
    background:#050200!important;
  }
  body.page-galaxy-shuffle .shuffle-hero-image{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
}

/* =========================================================
   V236 — FINAL HOME + SHUFFLE NAVIGATION / HERO CORRECTION
   ========================================================= */

/* Permanent orange identity for Shuffle anywhere in the site navigation. */
body .site-top nav.site-nav-v3 > a[href="galaxy-shuffle.html"],
body .site-top nav > a[href="galaxy-shuffle.html"]{
  border-color:#ff7900!important;
  background:linear-gradient(180deg,rgba(255,117,0,.22),rgba(26,8,0,.92))!important;
  color:#fffaf4!important;
  box-shadow:0 0 8px rgba(255,105,0,.72),inset 0 0 8px rgba(255,152,45,.18)!important;
  text-shadow:0 0 7px #ff7900!important;
}
body .site-top nav.site-nav-v3 > a[href="galaxy-shuffle.html"]:hover,
body .site-top nav > a[href="galaxy-shuffle.html"]:hover,
body.page-galaxy-shuffle .site-top nav.site-nav-v3 > a[href="galaxy-shuffle.html"],
body.page-galaxy-shuffle .site-top nav > a[href="galaxy-shuffle.html"]{
  border-color:#ffc066!important;
  background:linear-gradient(180deg,rgba(255,146,31,.70),rgba(93,27,0,.98))!important;
  box-shadow:0 0 12px #ff7900,0 0 24px rgba(255,88,0,.76),inset 0 0 12px rgba(255,215,139,.24)!important;
}

/* The homepage Shuffle feature belongs to the orange Shuffle destination. */
body.page-home .homepage-feature-card.feature-shuffle{
  border-color:#ff7900!important;
  box-shadow:0 0 10px rgba(255,105,0,.70),inset 0 0 24px rgba(255,105,0,.10)!important;
}
body.page-home .homepage-feature-card.feature-shuffle:hover,
body.page-home .homepage-feature-card.feature-shuffle:focus-visible{
  border-color:#ffc066!important;
  box-shadow:0 0 16px #ff7900,0 0 30px rgba(255,91,0,.55),inset 0 0 28px rgba(255,130,20,.16)!important;
}
body.page-home .homepage-feature-card.feature-shuffle .feature-icon,
body.page-home .homepage-feature-card.feature-shuffle strong{
  color:#ff9b35!important;
  text-shadow:0 0 9px rgba(255,112,0,.85)!important;
}
body.page-home .homepage-feature-card.feature-shuffle .homepage-live-stat{
  border-color:rgba(255,139,35,.90)!important;
  color:#ffd3a1!important;
  box-shadow:0 0 8px rgba(255,105,0,.36)!important;
}

/* Absolutely no cover image, clipping, inset, or over-width padding on Shuffle. */
body.page-galaxy-shuffle .shuffle-hero{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  background-color:#050200!important;
  background-image:none!important;
  border-color:#ff7900!important;
}
body.page-galaxy-shuffle .shuffle-hero::before,
body.page-galaxy-shuffle .shuffle-hero::after{
  display:none!important;
  content:none!important;
}
body.page-galaxy-shuffle .shuffle-hero-image{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  aspect-ratio:auto!important;
  transform:none!important;
  clip-path:none!important;
  box-sizing:border-box!important;
}

/* Orange page accents remain consistent below the hero. */
body.page-galaxy-shuffle .shuffle-live-totals-below,
body.page-galaxy-shuffle .shuffle-stage,
body.page-galaxy-shuffle .shuffle-modal-panel{
  border-color:#ff7900!important;
  box-shadow:0 0 15px rgba(255,105,0,.44)!important;
}

@media (min-width:701px){
  /* Center and evenly distribute the complete desktop navigation group. */
  body .site-top nav.site-nav-v3{
    justify-content:center!important;
    gap:8px!important;
    padding-inline:14px!important;
  }
}

@media (max-width:700px){
  /* Seven equal, centered destinations. They use the available width instead
     of collecting against the left edge or leaving unused side space. */
  body .site-top nav.site-nav-v3,
  body .site-top nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:34px!important;
    min-height:34px!important;
    gap:3px!important;
    padding:1px 5px 2px!important;
    margin:0!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
  body .site-top nav.site-nav-v3 > a,
  body .site-top nav > a{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    max-width:86px!important;
    height:29px!important;
    min-height:29px!important;
    padding:2px 2px!important;
    margin:0!important;
    font-size:clamp(.42rem,1.75vw,.50rem)!important;
    line-height:1!important;
    text-align:center!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }

  /* Search matches the left logo in size and retains both icon and label. */
  body .site-top .hero-bar{
    grid-template-columns:46px minmax(0,1fr) 46px!important;
    gap:4px!important;
    height:57px!important;
    min-height:57px!important;
    padding:2px 7px!important;
  }
  body .site-top .hero-logo,
  body .site-top .hero-logo-right,
  body .site-top .mobile-search-button{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    max-width:44px!important;
    max-height:44px!important;
  }
  body .site-top .hero-logo img,
  body .site-top .hero-logo-right img{
    width:44px!important;
    height:44px!important;
  }
  body .site-top .mobile-search-button{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    padding:0!important;
    overflow:hidden!important;
    color:#fff!important;
    border-radius:50%!important;
  }
  body .site-top .mobile-search-button span{
    display:block!important;
    font-size:.82rem!important;
    line-height:.82!important;
    transform:none!important;
  }
  body .site-top .mobile-search-button b{
    display:block!important;
    margin:2px 0 0!important;
    font-size:.35rem!important;
    line-height:1!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }

  /* Search glow follows the page identity. */
  body.page-home .site-top .mobile-search-button{
    border-color:#ffd34a!important;
    box-shadow:0 0 11px #ffc400,0 0 20px rgba(255,196,0,.48)!important;
  }
  body.page-galaxy-shuffle .site-top .mobile-search-button{
    border-color:#ff7900!important;
    box-shadow:0 0 11px #ff7900,0 0 20px rgba(255,91,0,.55)!important;
  }
  body.page-updates .site-top .mobile-search-button{
    border-color:#39ff59!important;
    box-shadow:0 0 11px #22e84a,0 0 20px rgba(34,232,74,.50)!important;
  }

  /* Reassert the true natural-ratio hero after every old mobile rule. */
  body.page-galaxy-shuffle .shuffle-hero{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    overflow:visible!important;
    background-image:none!important;
  }
  body.page-galaxy-shuffle .shuffle-hero-image{
    position:static!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
    transform:none!important;
  }
}

/* ================================================================
   V238 — FINAL PHONE HOMEPAGE HEADER ALIGNMENT
   Homepage-only polish: balanced seven-button navigation and a
   fully contained, compact Search control. Desktop/content unchanged.
   ================================================================ */
@media (max-width:700px){
  body.page-home .site-top .hero-bar{
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    column-gap:3px!important;
    width:100%!important;
    height:54px!important;
    min-height:54px!important;
    padding:2px 9px!important;
    box-sizing:border-box!important;
  }

  body.page-home .site-top .hero-logo,
  body.page-home .site-top .hero-logo-right,
  body.page-home .site-top .mobile-search-button{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    max-width:40px!important;
    max-height:40px!important;
  }
  body.page-home .site-top .hero-logo img,
  body.page-home .site-top .hero-logo-right img{
    width:40px!important;
    height:40px!important;
  }

  body.page-home .site-top .mobile-search-button{
    justify-self:end!important;
    transform:translateX(-2px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    padding:0!important;
    overflow:visible!important;
    border-radius:50%!important;
    box-sizing:border-box!important;
  }
  body.page-home .site-top .mobile-search-button span{
    display:block!important;
    width:auto!important;
    margin:0!important;
    font-size:.72rem!important;
    line-height:.72!important;
    transform:none!important;
  }
  body.page-home .site-top .mobile-search-button b{
    display:block!important;
    max-width:34px!important;
    margin:3px 0 0!important;
    padding:0!important;
    font-size:.30rem!important;
    line-height:1!important;
    letter-spacing:.035em!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }

  body.page-home .site-top nav.site-nav-v3,
  body.page-home .site-top nav{
    width:calc(100% - 16px)!important;
    max-width:680px!important;
    height:34px!important;
    min-height:34px!important;
    margin:0 auto!important;
    padding:1px 0 2px!important;
    gap:4px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.page-home .site-top nav.site-nav-v3 > a,
  body.page-home .site-top nav > a{
    flex:1 1 0!important;
    width:0!important;
    min-width:0!important;
    max-width:none!important;
    height:29px!important;
    min-height:29px!important;
    margin:0!important;
    padding:2px 1px!important;
    font-size:clamp(.40rem,1.72vw,.49rem)!important;
    line-height:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }
}
