@font-face {
    font-family: Barlow;
    src: url('assets/display.ttf') format('truetype');
    font-weight: 700;
    font-display: swap;
}
:root {
    --bg: #0b1014;
    --panel: #11181e;
    --panel2: #151e25;
    --ink: #f3f5f0;
    --muted: #b8c3cb;
    --lime: #c4f45f;
    --line: #263039;
    --display: Barlow, 'Arial Narrow', Impact, sans-serif;
    --body: 'Segoe UI', Arial, Helvetica, sans-serif;
}
* {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}
body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: var(--body);
    font-size: 16px;
    line-height: 1.7;
}
a {
    color: inherit;
    text-decoration: none;
}
button {
    font: inherit;
    cursor: pointer;
}
button:disabled {
    cursor: not-allowed;
}
a,
button {
    -webkit-tap-highlight-color: transparent;
}
button,
a {
    touch-action: manipulation;
}
a:focus-visible,
button:focus-visible {
    outline: 2px solid var(--lime);
    outline-offset: 6px;
}
img {
    max-width: 100%;
    display: block;
}
h1,
h2,
h3,
p {
    margin: 0;
}
h1,
h2 {
    font-family: var(--display);
    line-height: 1.03;
    letter-spacing: -0.015em;
}
h1 span,
h2 span {
    color: var(--lime);
}
h2 {
    font-size: 48px;
    font-weight: 700;
}
h3 {
    line-height: 1.2;
}
p {
    color: var(--muted);
}
.container {
    width: min(1200px, calc(100% - 96px));
    margin-inline: auto;
}
.icon {
    width: 22px;
    height: 22px;
    flex: none;
}
.eyebrow,
.micro {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1.5;
}
.eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--lime);
    margin-bottom: 22px;
}
.eyebrow i {
    display: block;
    width: 6px;
    height: 6px;
    background: var(--lime);
}
.eyebrow.muted {
    color: #95a2ac;
}
.micro {
    color: #a4afb8;
    display: block;
}
.header {
    height: 94px;
    border-bottom: 1px solid #ffffff0d;
    background: #0b1014f7;
    position: relative;
    z-index: 20;
}
.nav-wrap {
    width: min(1320px, calc(100% - 80px));
    height: 100%;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}
.brand {
    display: flex;
    gap: 11px;
    align-items: center;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.2px;
    flex-shrink: 0;
}
.brand-mark {
    width: 41px;
    height: 43px;
    background: var(--lime);
    color: var(--bg);
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--display);
    font-style: italic;
    font-size: 34px;
    position: relative;
    clip-path: polygon(15% 0, 100% 0, 85% 100%, 0 100%);
}
.brand-mark span {
    font-family: Arial;
    font-size: 19px;
    position: absolute;
    right: 2px;
    top: 0;
}
.brand-light {
    font-weight: 400;
    color: #a7b3bb;
}
.brand small {
    display: block;
    letter-spacing: 3px;
    font-size: 11px;
    margin-top: 6px;
    font-weight: 500;
    color: #83919b;
}
nav {
    display: flex;
    gap: 32px;
    height: 100%;
    align-items: center;
}
nav a {
    font-size: 15px;
    color: #a4afb7;
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
    transition: color 0.2s;
}
nav a:hover,
nav a[aria-current] {
    color: var(--ink);
}
nav a[aria-current]:after {
    content: '';
    height: 2px;
    background: var(--lime);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}
.nav-cta {
    border: 1px solid #475539;
    padding: 10px 17px;
    color: var(--lime);
    display: flex;
    align-items: center;
    gap: 26px;
    font-size: 14px;
    font-weight: 800;
}
.nav-cta .icon {
    width: 17px;
    height: 17px;
}
.menu-toggle {
    display: none;
}
.skip {
    position: fixed;
    top: -100px;
    z-index: 100;
    padding: 10px;
    background: var(--lime);
    color: var(--bg);
}
.skip:focus {
    top: 5px;
}
.hero {
    height: 650px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #101c27;
}
.hero-art {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 68% 37%;
    z-index: -4;
}
.hero-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            #0b1014 0%,
            #0b1014ee 20%,
            #0b10149c 43%,
            #0b101400 72%
        ),
        linear-gradient(0deg, #0b1014 0%, #0b101400 30%, #0b101425 100%);
    z-index: -2;
}
.hero-grid {
    position: absolute;
    inset: 0;
    opacity: 0.12;
    background-image:
        linear-gradient(#86a5af22 1px, transparent 1px),
        linear-gradient(90deg, #86a5af22 1px, transparent 1px);
    background-size: 80px 80px;
    mask-image: linear-gradient(90deg, black, transparent 65%);
    z-index: -1;
}
.hero-content {
    padding-top: 70px;
}
.hero h1 {
    font-size: clamp(50px, 5.7vw, 80px);
    line-height: 1.02;
    letter-spacing: -0.02em;
    font-weight: 700;
}
.hero .eyebrow {
    font-size: 12px;
    margin-bottom: 24px;
}
.hero-content > p {
    font-size: 16px;
    margin-top: 24px;
    line-height: 1.8;
    color: #b4bdc6;
}
.hero-actions {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 30px;
}
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 15px 22px;
    min-height: 51px;
    font-size: 14px;
    font-weight: 800;
    border: 1px solid transparent;
    transition:
        background 0.2s,
        transform 0.2s,
        color 0.2s;
    line-height: 1.5;
}
.button .icon {
    width: 18px;
    height: 18px;
}
.button.primary {
    background: var(--lime);
    color: #10160b;
}
.button.primary:hover {
    background: #d4ff80;
    transform: translateY(-2px);
}
.button.secondary {
    border-color: #414b51;
    color: var(--ink);
    background: transparent;
}
.button.secondary:hover {
    border-color: var(--lime);
    color: var(--lime);
}
.text-link {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    font-size: 14px;
    font-weight: 700;
}
.text-link .icon {
    width: 17px;
    height: 17px;
}
.text-link:hover {
    color: var(--lime);
}
.hero-actions .text-link span {
    font-size: 21px;
    color: var(--lime);
}
.hero-caption {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-top: 46px;
    color: #91a2ac;
}
.live-dot {
    background: var(--lime);
    width: 5px;
    height: 5px;
    border-radius: 50%;
}
.slash {
    color: #44555e;
    margin: 0 4px;
}
.hero-side {
    position: absolute;
    right: 24px;
    top: 35%;
    writing-mode: vertical-rl;
    color: #e4edf386;
    letter-spacing: 4px;
    font-size: 11px;
}
.image-credit {
    position: absolute;
    right: 5%;
    bottom: 56px;
    color: #ffffff65;
    letter-spacing: 2px;
    font-size: 11px;
}
.status-strip {
    display: flex;
    align-items: center;
    gap: 16px;
    border: 1px solid var(--line);
    background: #10171d;
    min-height: 92px;
    padding: 20px 28px;
    position: relative;
    margin-top: -10px;
    z-index: 2;
}
.status-icon {
    border: 1px solid #35442c;
    color: var(--lime);
    padding: 12px;
    display: flex;
}
.status-strip .micro {
    font-size: 11px;
    letter-spacing: 1.6px;
    margin-bottom: 4px;
}
.status-strip p {
    font-size: 16px;
    font-weight: 700;
    color: #e1e5e7;
}
.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #3e4430;
    background: #c4f45f07;
    padding: 5px 10px;
    color: #b6c99c;
    font-size: 12px;
    white-space: nowrap;
    font-weight: 600;
}
.status-pill i {
    height: 5px;
    width: 5px;
    border-radius: 50%;
    background: #afba88;
}
.status-strip > .status-pill {
    margin-left: auto;
}
.status-strip > a {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 13px;
    margin-left: 22px;
    color: #d9e0e4;
}
.status-strip > a .icon {
    height: 17px;
    width: 17px;
    color: var(--lime);
}
.section {
    padding-top: 100px;
    padding-bottom: 100px;
}
.about {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px 90px;
}
.about h2 {
    font-size: 51px;
}
.about h2 span {
    color: #75838e;
}
.about-copy {
    padding-top: 29px;
}
.about-copy .lead {
    font-size: 19px;
    font-weight: 600;
    line-height: 1.5;
    color: #e9ecee;
    margin-bottom: 20px;
}
.about-copy > p:not(.lead) {
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 15px;
}
.about-copy .text-link {
    margin-top: 8px;
    color: var(--lime);
}
.stats {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 25px;
    border-top: 1px solid var(--line);
    padding-top: 37px;
}
.stats > div {
    padding-left: 40px;
    border-left: 1px solid var(--line);
}
.stats > div:first-child {
    padding-left: 0;
    border-left: 0;
}
.stats strong {
    font-family: var(--display);
    font-size: 59px;
    line-height: 1;
    color: var(--lime);
    font-weight: 700;
}
.stats strong span {
    font-size: 25px;
    color: #f0f3f5;
    letter-spacing: 0.5px;
}
.stats p {
    font-size: 13px;
    margin-top: 9px;
    color: #8c9ba6;
}
.journey {
    background: #10171d;
    border-top: 1px solid #1a242c;
    border-bottom: 1px solid #1a242c;
}
.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 38px;
}
.section-heading .eyebrow {
    margin-bottom: 16px;
}
.section-heading p {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 4px;
}
.stage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.stage {
    background: #141d24;
    border: 1px solid #2b353c;
    padding: 35px;
    position: relative;
    overflow: hidden;
}
.stage-number {
    position: absolute;
    right: 25px;
    top: 18px;
    color: #ffffff07;
    font-size: 130px;
    font-family: var(--display);
    line-height: 1;
}
.stage-symbol {
    display: inline-flex;
    border: 1px solid #4b5c3a;
    padding: 12px;
    color: var(--lime);
    margin-bottom: 28px;
}
.stage .micro {
    font-size: 11px;
    letter-spacing: 1.5px;
}
.stage h3 {
    font-size: 24px;
    font-weight: 650;
    margin: 12px 0 15px;
}
.stage p {
    max-width: 370px;
    font-size: 15px;
    line-height: 1.9;
}
.stage > a {
    border-top: 1px solid #2a343c;
    padding-top: 21px;
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
    color: var(--lime);
    font-size: 13px;
    font-weight: 700;
}
.stage > a .icon {
    width: 17px;
    height: 17px;
}
.stage:hover {
    border-color: #657f3f;
}
.discover-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.discover-card {
    min-height: 340px;
    position: relative;
    padding: 35px;
    overflow: hidden;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--line);
    transition: border-color 0.2s;
}
.discover-card:hover {
    border-color: #6f8b47;
}
.archive-card {
    background: radial-gradient(ellipse at 100% 100%, #253422, #141c21 75%);
}
.card-icon {
    color: var(--lime);
    margin-bottom: 25px;
}
.discover-card .micro {
    font-size: 11px;
    color: #a6b3bd;
}
.discover-card h3 {
    font-size: 29px;
    margin: 14px 0;
    color: #f0f3f4;
    font-weight: 650;
    letter-spacing: -1px;
}
.discover-card p {
    font-size: 14px;
    line-height: 1.9;
}
.card-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--lime);
    font-size: 13px;
    font-weight: 700;
    margin-top: auto;
    padding-top: 25px;
}
.card-link .icon {
    height: 19px;
    width: 19px;
}
.trophy-bg {
    position: absolute;
    right: 15px;
    top: 90px;
    transform: rotate(-12deg);
    color: #bde77710;
    z-index: -1;
}
.trophy-bg .icon {
    width: 230px;
    height: 230px;
    stroke-width: 0.7;
}
.team-card {
    justify-content: flex-end;
}
.team-card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 65% center;
    z-index: -3;
    transition: transform 0.4s;
}
.team-card:hover img {
    transform: scale(1.04);
}
.team-card-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, #0b151ce8, #0b151c22),
        linear-gradient(0deg, #0b151c, #0b151c00 100%);
    z-index: -1;
}
.team-card .card-link {
    margin-top: 0;
}
.contact-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    border-top: 1px solid var(--line);
    padding-top: 38px;
    padding-bottom: 45px;
    margin-bottom: 35px;
}
.contact-banner .micro {
    font-size: 11px;
    margin-bottom: 12px;
}
.contact-banner h2 {
    font-size: 32px;
}
.contact-banner h2 span {
    color: #9aa7b0;
}
.contact-banner .button {
    flex-shrink: 0;
}
footer {
    background: #080d11;
    border-top: 1px solid var(--line);
}
.footer-top {
    display: flex;
    align-items: center;
    gap: 70px;
    padding-top: 43px;
    padding-bottom: 38px;
}
.footer-top p {
    font-size: 13px;
    line-height: 1.8;
}
.footer-mail {
    margin-left: auto;
    display: flex;
    gap: 30px;
    align-items: center;
    font-size: 13px;
}
.footer-mail .icon {
    color: var(--lime);
    width: 17px;
    height: 17px;
}
.footer-bottom {
    border-top: 1px solid #1b252c;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding-top: 19px;
    padding-bottom: 25px;
    color: #667681;
    font-size: 11px;
}
.page-intro {
    padding-top: 72px;
    padding-bottom: 58px;
    position: relative;
}
.page-intro:after {
    content: '+';
    position: absolute;
    right: 5px;
    top: 66px;
    color: #c4f45f30;
    font: 130px var(--display);
}
.page-intro h1 {
    font-size: clamp(44px, 5.2vw, 68px);
}
.page-intro > p {
    max-width: 610px;
    margin-top: 26px;
    font-size: 16px;
    line-height: 1.9;
}
.page-section {
    padding-top: 40px;
    padding-bottom: 80px;
    border-top: 1px solid var(--line);
    min-height: 400px;
}
.archive-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}
.small-title {
    font: 600 22px var(--body);
}
.archive-top p {
    font-size: 14px;
    margin-top: 4px;
}
.filter-group {
    display: flex;
    gap: 4px;
    padding: 5px;
    background: var(--panel);
    border: 1px solid var(--line);
}
.filter {
    border: 0;
    background: transparent;
    color: #a2adb5;
    font-size: 13px;
    padding: 10px 16px;
}
.filter.active {
    background: var(--lime);
    color: #10160d;
    font-weight: 800;
}
.results-empty {
    padding: 52px 24px 55px;
    text-align: center;
    border: 1px solid var(--line);
    background: radial-gradient(ellipse at top, #1b2925, #10171d 65%);
}
.empty-trophy {
    color: var(--lime);
    font-size: 63px;
    display: block;
    line-height: 1.2;
    margin-bottom: 20px;
}
.results-empty h3 {
    font-size: 23px;
    margin: 14px 0;
}
.results-empty p {
    font-size: 15px;
}
.results-empty .text-link {
    color: var(--lime);
    margin-top: 26px;
}
.info-note {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
    padding: 18px 20px;
    background: #10171b;
    border: 1px solid var(--line);
    color: #a4b58f;
}
.info-note p {
    font-size: 13px;
    line-height: 1.8;
}
.hidden {
    display: none !important;
}
.table-wrap {
    overflow-x: auto;
    border: 1px solid var(--line);
}
table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    white-space: nowrap;
}
th {
    padding: 16px 24px;
    color: #8d9ba4;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.3px;
    background: #11191f;
}
td {
    padding: 22px 24px;
    border-top: 1px solid var(--line);
    font-size: 15px;
}
.result-year {
    font: 30px var(--display);
    color: var(--lime);
}
.stage-tag {
    padding: 5px 10px;
    background: #202b31;
    font-size: 13px;
}
.winner {
    font-weight: 700;
}
.winner span {
    color: var(--lime);
    margin-right: 12px;
}
.signup-layout {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 75px;
}
.signup-box {
    padding: 45px 38px;
    background: radial-gradient(ellipse at top left, #233026, #11191f 70%);
    border: 1px solid #354234;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}
.large-icon {
    width: 58px;
    height: 58px;
    border: 1px solid #47563a;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--lime);
    margin-bottom: 26px;
}
.large-icon .icon {
    width: 28px;
    height: 28px;
}
.signup-box .status-pill {
    margin-bottom: 24px;
}
.signup-box h2 {
    font-family: var(--body);
    font-size: 30px;
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: -1px;
}
.signup-box > p {
    font-size: 15px;
    line-height: 1.9;
    margin: 20px 0 27px;
    max-width: 350px;
}
.disabled {
    background: #27312b;
    color: #9da893;
    border: 1px solid #3b4936;
    font-size: 13px;
}
.signup-box .text-link {
    margin-top: 22px;
    font-size: 13px;
    color: #c3ccd2;
}
.signup-aside {
    padding-top: 15px;
}
.steps {
    list-style: none;
    padding: 0;
    margin: 28px 0;
}
.steps li {
    display: flex;
    gap: 22px;
    margin-bottom: 28px;
}
.steps li > span {
    font: 30px var(--display);
    color: var(--lime);
    line-height: 1;
}
.steps h3 {
    font-size: 16px;
    margin-bottom: 9px;
    font-weight: 600;
}
.steps p {
    font-size: 14px;
    line-height: 1.9;
    max-width: 290px;
}
.aside-note {
    display: flex;
    gap: 14px;
    border-top: 1px solid var(--line);
    padding-top: 22px;
    color: var(--lime);
}
.aside-note p {
    font-size: 13px;
    line-height: 1.9;
}
.team-announcement {
    display: flex;
    gap: 28px;
    align-items: center;
    padding: 36px;
    background: linear-gradient(100deg, #1c2925, #11191f);
    border: 1px solid #344236;
    position: relative;
    overflow: hidden;
}
.team-announcement .large-icon {
    margin: 0;
    flex: none;
}
.team-announcement .micro {
    color: var(--lime);
    font-size: 12px;
}
.team-announcement h2 {
    font-family: var(--body);
    font-size: 26px;
    line-height: 1.3;
    letter-spacing: -0.6px;
    margin: 12px 0;
}
.team-announcement p {
    font-size: 14px;
    max-width: 470px;
}
.team-emblem {
    margin-left: auto;
    font-family: var(--display);
    font-size: 150px;
    line-height: 1;
    color: #c4f45f12;
    font-style: italic;
    white-space: nowrap;
}
.team-emblem span {
    font-size: 70px;
}
.roster {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
    margin-top: 35px;
}
.player-card {
    position: relative;
    background: #11191f;
    border: 1px solid var(--line);
    padding: 24px 15px 27px;
    text-align: center;
}
.player-number {
    position: absolute;
    left: 13px;
    top: 10px;
    font-size: 11px;
    color: #60717d;
}
.player-sigil {
    font-size: 47px;
    color: #6b8055;
    height: 95px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.player-card .micro {
    font-size: 11px;
    color: var(--lime);
    letter-spacing: 1.5px;
}
.player-card h3 {
    font-size: 15px;
    line-height: 1.4;
    margin-top: 13px;
}
.player-card p {
    font-size: 11px;
    line-height: 1.8;
    margin-top: 8px;
}
.contact-layout {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 85px;
}
.contact-panel {
    padding: 38px;
    background: var(--panel);
    border: 1px solid var(--line);
}
.contact-panel h2 {
    font-size: 38px;
    margin: 15px 0 20px;
    line-height: 1.1;
}
.contact-panel > p {
    font-size: 15px;
    line-height: 1.9;
    max-width: 370px;
}
.contact-panel label {
    margin-top: 30px;
    font-size: 11px;
}
.email-address {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    overflow-wrap: anywhere;
    font-size: clamp(11px, 1.3vw, 16px);
    font-weight: 600;
    color: var(--lime);
    padding: 10px 0 23px;
}
.email-address .icon {
    width: 17px;
}
.contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.contact-actions .button {
    padding: 13px 17px;
    font-size: 13px;
    gap: 17px;
}
.copy-status {
    min-height: 24px;
    margin-top: 10px;
    font-size: 13px !important;
    color: var(--lime);
}
.contact-topics {
    padding-top: 12px;
}
.contact-topics > div {
    position: relative;
    padding: 26px 0 26px 40px;
    border-bottom: 1px solid var(--line);
}
.contact-topics .icon {
    position: absolute;
    left: 0;
    top: 27px;
    color: var(--lime);
    width: 21px;
}
.contact-topics h3 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
}
.contact-topics p {
    font-size: 14px;
    line-height: 1.9;
    max-width: 280px;
}
.is-open {
    color: var(--lime);
    border-color: #5f8137;
}
@media (min-width: 1550px) {
    .hero {
        height: 720px;
    }
    .hero-content {
        padding-top: 95px;
    }
    .hero h1 {
        font-size: 88px;
    }
    .hero-art {
        object-position: 68% 40%;
    }
}
@media (max-width: 1050px) {
    .container {
        width: calc(100% - 64px);
    }
    .nav-wrap {
        width: calc(100% - 48px);
    }
    nav {
        gap: 22px;
    }
    .nav-cta {
        display: none;
    }
    .hero {
        height: 625px;
    }
    .hero h1 {
        font-size: 67px;
    }
    .hero-art {
        object-position: 60% center;
    }
    .hero-shade {
        background:
            linear-gradient(90deg, #0b1014f7, #0b1014bd 43%, #0b10141a),
            linear-gradient(0deg, #0b1014, transparent 50%);
    }
    .about {
        gap: 30px 50px;
    }
    .about h2 {
        font-size: 45px;
    }
    .section-heading h2 {
        font-size: 40px;
    }
    .status-strip {
        padding: 18px 22px;
    }
    .status-strip > a {
        margin-left: 0;
        font-size: 12px;
        gap: 10px;
    }
    .status-strip .status-pill {
        font-size: 11px;
    }
    .status-strip p {
        font-size: 15px;
    }
    .contact-banner h2 {
        font-size: 26px;
    }
    .contact-layout {
        gap: 35px;
    }
    .signup-layout {
        gap: 40px;
    }
    .roster {
        gap: 10px;
    }
    .footer-top {
        gap: 35px;
    }
    .footer-bottom {
        font-size: 11px;
    }
}
@media (max-width: 960px) {
    .container {
        width: calc(100% - 40px);
    }
    .header {
        height: 78px;
    }
    .nav-wrap {
        width: calc(100% - 40px);
    }
    .brand {
        font-size: 17px;
    }
    .brand-mark {
        width: 35px;
        height: 37px;
        font-size: 29px;
    }
    .brand small {
        font-size: 10px;
    }
    .menu-toggle {
        display: flex;
        width: 40px;
        height: 40px;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 6px;
        border: 1px solid var(--line);
        background: transparent;
        color: var(--ink);
    }
    .menu-toggle span {
        display: block;
        width: 18px;
        height: 1px;
        background: currentColor;
    }
    nav {
        display: none;
        position: absolute;
        top: 77px;
        left: 0;
        right: 0;
        height: auto;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        background: #0e151b;
        border-bottom: 1px solid var(--line);
        padding: 10px 20px 20px;
        box-shadow: 0 20px 30px #0009;
    }
    nav.open {
        display: flex;
    }
    nav a {
        padding: 13px 10px;
        min-height: 48px;
    }
    nav a[aria-current]:after {
        height: 20px;
        width: 2px;
        left: 0;
        top: 14px;
    }
    .hero {
        height: 640px;
    }
    .hero-art {
        object-position: 64% center;
        opacity: 0.75;
    }
    .hero-shade {
        background:
            linear-gradient(90deg, #0b1014e8, #0b10146b),
            linear-gradient(0deg, #0b1014, transparent 60%);
    }
    .hero-content {
        padding-top: 65px;
    }
    .hero h1 {
        font-size: clamp(43px, 8.5vw, 65px);
    }
    .hero .eyebrow {
        font-size: 11px;
        letter-spacing: 1.4px;
    }
    .hero-content > p {
        font-size: 15px;
    }
    .hero-actions {
        gap: 23px;
        flex-wrap: wrap;
    }
    .hero-actions .text-link {
        font-size: 13px;
    }
    .hero-side {
        display: none;
    }
    .hero-caption {
        margin-top: 39px;
    }
    .image-credit {
        bottom: 35px;
        font-size: 10px;
    }
    .button {
        font-size: 13px;
        padding: 14px 19px;
        gap: 19px;
    }
    .status-strip {
        display: grid;
        grid-template-columns: 40px 1fr;
        gap: 12px;
        padding: 21px;
        margin-top: -16px;
    }
    .status-icon {
        padding: 8px;
    }
    .status-strip > .status-pill {
        margin: 0;
        justify-self: start;
        grid-column: 2;
    }
    .status-strip > a {
        grid-column: 2;
        justify-content: space-between;
        margin-top: 7px;
    }
    .section {
        padding-top: 65px;
        padding-bottom: 65px;
    }
    .about {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .eyebrow {
        font-size: 11px;
        letter-spacing: 1.7px;
        margin-bottom: 18px;
    }
    .about h2 {
        font-size: 44px;
    }
    .about-copy {
        padding-top: 8px;
    }
    .about-copy .lead {
        font-size: 18px;
    }
    .about-copy > p:not(.lead) {
        font-size: 15px;
    }
    .stats {
        margin-top: 22px;
        padding-top: 25px;
        gap: 10px;
    }
    .stats > div {
        padding-left: 16px;
    }
    .stats strong {
        font-size: 39px;
    }
    .stats strong span {
        font-size: 16px;
        display: block;
        margin-top: 8px;
    }
    .stats p {
        font-size: 11px;
        line-height: 1.7;
        max-width: 80px;
    }
    .section-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 28px;
    }
    .section-heading h2 {
        font-size: 39px;
    }
    .section-heading p {
        font-size: 14px;
    }
    .stage-grid,
    .discover-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .stage {
        padding: 27px;
    }
    .stage h3 {
        font-size: 23px;
    }
    .stage p {
        max-width: none;
    }
    .stage-number {
        font-size: 115px;
    }
    .discover-card {
        min-height: 330px;
        padding: 28px;
    }
    .team-card {
        min-height: 330px;
    }
    .contact-banner {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 0 35px;
        margin-bottom: 20px;
        gap: 24px;
    }
    .contact-banner h2 {
        font-size: 31px;
        line-height: 1.1;
    }
    .contact-banner .micro {
        font-size: 11px;
        letter-spacing: 1.2px;
    }
    .footer-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 22px;
        padding-top: 35px;
        padding-bottom: 30px;
    }
    .footer-mail {
        margin-left: 0;
    }
    .footer-bottom {
        flex-direction: column;
        gap: 9px;
        font-size: 11px;
        line-height: 1.8;
    }
    .footer-bottom span {
        max-width: 360px;
    }
    .page-intro {
        padding-top: 50px;
        padding-bottom: 35px;
    }
    .page-intro:after {
        display: none;
    }
    .page-intro h1 {
        font-size: clamp(38px, 8vw, 54px);
    }
    .page-intro > p {
        font-size: 15px;
        margin-top: 22px;
    }
    .page-section {
        padding-top: 30px;
        padding-bottom: 50px;
    }
    .archive-top {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }
    .filter-group {
        width: 100%;
    }
    .filter {
        flex: 1;
        font-size: 12px;
        padding: 10px;
    }
    .results-empty {
        padding: 35px 18px;
    }
    .results-empty h3 {
        font-size: 20px;
        line-height: 1.4;
    }
    .results-empty p {
        font-size: 14px;
    }
    .results-empty .micro {
        font-size: 11px;
    }
    .info-note {
        align-items: flex-start;
        padding: 16px;
        gap: 10px;
    }
    .info-note .icon {
        width: 18px;
        height: 18px;
    }
    .info-note p {
        font-size: 12px;
    }
    .signup-layout,
    .contact-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }
    .signup-box {
        padding: 28px 23px;
    }
    .signup-box h2 {
        font-size: 27px;
    }
    .signup-box .button {
        padding: 14px 15px;
        font-size: 12px;
        gap: 12px;
    }
    .signup-aside {
        padding: 5px;
    }
    .steps p {
        max-width: none;
    }
    .team-announcement {
        padding: 25px;
        gap: 20px;
        align-items: flex-start;
    }
    .team-announcement .large-icon {
        display: none;
    }
    .team-announcement h2 {
        font-size: 23px;
    }
    .team-emblem {
        position: absolute;
        right: 8px;
        bottom: 0;
        font-size: 100px;
        pointer-events: none;
    }
    .team-announcement > div {
        position: relative;
        z-index: 1;
    }
    .team-announcement p {
        max-width: 300px;
    }
    .roster {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin-top: 22px;
    }
    .player-card:last-child {
        grid-column: 1/-1;
    }
    .player-sigil {
        height: 75px;
    }
    .player-card h3 {
        font-size: 15px;
    }
    .player-card p {
        font-size: 12px;
    }
    .contact-panel {
        padding: 26px 22px;
    }
    .contact-panel h2 {
        font-size: 35px;
    }
    .email-address {
        font-size: 15px;
        align-items: flex-start;
    }
    .email-address .icon {
        width: 15px;
        height: 15px;
    }
    .contact-actions .button {
        font-size: 12px;
    }
    .contact-topics > div {
        padding-top: 24px;
        padding-bottom: 24px;
    }
    th,
    td {
        padding: 15px 18px;
    }
    .table-wrap {
        margin-inline: 0;
    }
}
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    *,
    *:before,
    *:after {
        transition: none !important;
        animation: none !important;
    }
}

/* Czytelna typografia i centrum bieżących rozgrywek. */
.table-empty-message {
    max-width: 650px;
    margin-inline: auto;
}
@media (max-width: 960px) {
    .table-empty-message {
        max-width: calc(100vw - 100px);
        margin: 0;
        text-align: left;
    }
}
body {
    font-weight: 400;
    line-height: 1.75;
}
p {
    line-height: 1.8;
}
.brand small {
    font-size: 9px;
    letter-spacing: 1.7px;
    color: #b4bec6;
}
.brand-light {
    font-weight: 500;
    color: #c7d0d6;
}
.nav-wrap {
    gap: 20px;
    width: min(1380px, calc(100% - 64px));
}
nav {
    gap: 22px;
}
nav a {
    font-size: 14px;
    font-weight: 600;
    color: #bac5ce;
}
.nav-cta {
    font-size: 13px;
    gap: 18px;
    padding: 11px 14px;
}
.nav-live {
    color: #ff8088 !important;
    gap: 7px;
    white-space: nowrap;
}
.nav-live[aria-current]:after {
    background: #ff5b66;
}
.record-dot {
    font-size: 11px;
    line-height: 1;
}
.nav-live:hover {
    color: #ffb5ba !important;
}
.button,
.text-link,
.card-link {
    font-weight: 650;
}
.hero {
    height: auto;
    min-height: 720px;
}
.hero-content {
    padding-bottom: 65px;
}
.hero-content > p {
    font-size: 17px;
    color: #d3dce3;
    line-height: 1.8;
}
.hero .eyebrow {
    font-size: 12px;
}
.hero-caption {
    font-size: 11px;
    color: #c3cfd6;
}
.hero-side {
    color: #c1cdd6;
}
.image-credit {
    color: #bac8d2;
    font-size: 10px;
}
.hero-shade {
    background:
        linear-gradient(
            90deg,
            #0b1014 0%,
            #0b1014ee 20%,
            #0b10149c 45%,
            #0b101408 78%
        ),
        linear-gradient(0deg, #0b1014, transparent 40%);
}
.eyebrow,
.eyebrow.muted {
    font-size: 12px;
}
.eyebrow.muted {
    color: #bcc7cf;
}
.micro {
    font-size: 12px;
    letter-spacing: 1.5px;
    color: #bdc9d2;
}
.about h2 span {
    color: #aab8c3;
}
.status-strip .micro {
    font-size: 11px;
}
.status-strip p {
    font-size: 16px;
}
.status-pill {
    font-size: 12px;
    color: #d0e3b9;
}
.status-strip > a {
    font-size: 13px;
    gap: 14px;
}
.status-strip {
    flex-wrap: wrap;
}
.about-copy .lead {
    font-size: 22px;
}
.about-copy > p:not(.lead) {
    font-size: 16px;
}
.section-heading p {
    font-size: 15px;
}
.stage .micro,
.discover-card .micro {
    font-size: 11px;
}
.stage p,
.discover-card p {
    font-size: 15px;
}
.stage > a {
    font-size: 14px;
}
.stats p {
    font-size: 13px;
    color: #bac6cf;
}
.contact-banner .micro {
    font-size: 11px;
}
.footer-top {
    gap: 30px;
    flex-wrap: wrap;
}
.footer-top p {
    font-size: 13px;
}
.footer-mail {
    font-size: 14px;
}
.footer-bottom {
    font-size: 12px;
    color: #a3b2be;
}
.page-intro > p {
    font-size: 17px;
    max-width: 710px;
}
.page-intro:after {
    right: 0;
}
.archive-top p {
    font-size: 15px;
}
.filter {
    font-size: 14px;
    font-weight: 600;
    min-height: 44px;
}
.results-empty p {
    font-size: 16px;
}
.info-note p {
    font-size: 14px;
}
.info-note {
    color: #c4d4af;
}
.signup-box > p,
.steps p,
.aside-note p,
.team-announcement p,
.contact-panel > p,
.contact-topics p {
    font-size: 16px;
}
.signup-box > p {
    max-width: none;
}
.signup-box .text-link {
    font-size: 14px;
}
.signup-box .disabled {
    font-size: 13px;
}
.steps p {
    max-width: none;
}
.steps h3 {
    font-size: 18px;
}
.player-number {
    font-size: 12px;
    color: #b4c0c9;
}
.player-card .micro {
    font-size: 12px;
}
.player-card h3 {
    font-size: 16px;
}
.player-card p {
    font-size: 13px;
}
.contact-panel label {
    font-size: 12px;
}
.email-address {
    font-size: 16px;
}
.contact-actions .button {
    font-size: 14px;
}
.contact-topics h3 {
    font-size: 19px;
}
.contact-topics p {
    max-width: none;
}
.copy-status {
    font-size: 14px !important;
}
.school-logo {
    width: 116px;
    height: auto;
    object-fit: contain;
    flex: none;
    background: #fff;
    border-radius: 2px;
}
.school-strip {
    display: flex;
    align-items: center;
    gap: 24px;
    padding-top: 26px;
    padding-bottom: 26px;
    border-bottom: 1px solid var(--line);
}
.school-strip p {
    font-size: 17px;
    color: var(--ink);
    font-weight: 650;
    margin-top: 5px;
}
.school-strip p span {
    font-size: 14px;
    color: var(--muted);
    font-weight: 400;
}
.school-strip .text-link {
    margin-left: auto;
    color: var(--lime);
    white-space: nowrap;
}
.footer-school {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-left: auto;
}
.footer-school .school-logo {
    width: 100px;
}
.footer-school span {
    font-size: 12px;
    color: #c0cad2;
    line-height: 1.6;
}
.footer-school + .footer-mail {
    margin-left: 0;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
.tournament-overview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 30px;
    background: linear-gradient(115deg, #1c2b24, #11191f);
    border: 1px solid #364839;
    margin-bottom: 42px;
}
.tournament-overview .micro {
    color: var(--lime);
}
.tournament-overview h2 {
    font: 700 28px/1.25 var(--body);
    margin-top: 10px;
    letter-spacing: -0.4px;
}
.tournament-overview p {
    font-size: 15px;
    margin-top: 10px;
}
.event-badge {
    border: 1px solid #51633e;
    background: #c4f45f08;
    color: #d4e7ba;
    flex: none;
    padding: 8px 13px;
    font-size: 13px;
    font-weight: 600;
}
.event-badge.ongoing {
    background: #c4f45f;
    color: #11190d;
}
.table-heading,
.matches-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin: 0 0 23px;
}
.table-heading p,
.matches-heading p {
    font-size: 15px;
    margin-top: 6px;
}
.table-hint {
    font-size: 12px;
    color: #b1bec7;
}
.matches-heading {
    margin-top: 48px;
}
.table-wrap {
    background: #11191f;
}
.table-wrap:focus-visible {
    outline: 2px solid var(--lime);
    outline-offset: 3px;
}
th {
    font-size: 12px;
    color: #c0ccd4;
    letter-spacing: 0.8px;
}
td {
    font-size: 16px;
    color: #d9e2e8;
}
.standings-table td:nth-child(2) {
    font-weight: 650;
}
.standings-table td:first-child,
.standings-table td:last-child {
    color: var(--lime);
    font-weight: 700;
}
.standings-table abbr {
    text-decoration: none;
}
.table-empty td {
    text-align: center;
    padding: 38px 24px;
    white-space: normal;
    color: #c3cfd7 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}
.table-empty strong {
    display: block;
    font-weight: 650;
    font-size: 17px;
    color: #ecf1f4;
    margin-bottom: 5px;
}
.match-score {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.match-teams {
    min-width: 190px;
    font-weight: 600;
}
.match-teams span {
    color: #8e9da8;
    font-size: 12px;
    margin: 0 12px;
    font-weight: 400;
}
.match-state {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    padding: 4px 9px;
    font-size: 12px;
    font-weight: 650;
    background: #25313a;
    color: #d0dae1;
    white-space: nowrap;
}
.match-state.live {
    background: #ff576618;
    color: #ff9098;
    border: 1px solid #ff576644;
}
.match-state.live:before {
    content: '';
    width: 6px;
    height: 6px;
    background: #ff6b77;
    border-radius: 50%;
}
.match-state.finished {
    background: #c4f45f12;
    color: #c9e7a3;
}
.match-date {
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}
.broadcast-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 24px;
}
.broadcast-top .micro {
    font-size: 11px;
    margin-bottom: 9px;
    color: #bcc8d0;
}
.broadcast-status {
    display: flex;
    gap: 8px;
    align-items: center;
    color: #c2ccd3;
    border: 1px solid #3c4851;
    padding: 8px 13px;
    font-size: 13px;
    white-space: nowrap;
}
.broadcast-status i {
    width: 7px;
    height: 7px;
    background: #9aa8b1;
    border-radius: 50%;
}
.broadcast-status.is-broadcasting {
    color: #ff9ca3;
    background: #ff576610;
    border-color: #ff57664d;
}
.broadcast-status.is-broadcasting i {
    background: #ff5f6c;
}
.stream-player {
    position: relative;
    aspect-ratio: 16/9;
    min-height: 260px;
    border: 1px solid #354049;
    background: radial-gradient(ellipse at 50% 40%, #24303b, #10171e 65%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.stream-offline {
    text-align: center;
    padding: 35px;
    max-width: 640px;
}
.broadcast-symbol {
    font-size: 65px;
    color: #ff7580;
    line-height: 1;
    display: block;
    margin-bottom: 20px;
}
.stream-offline > .micro {
    color: #d1b0b5;
    font-size: 11px;
}
.stream-offline h2 {
    font: 700 30px/1.25 var(--body);
    letter-spacing: -0.5px;
    margin: 17px 0;
}
.stream-offline p {
    font-size: 16px;
    margin-bottom: 25px;
}
.stream-offline .button {
    font-size: 14px;
}
.stream-player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    min-height: 200px;
}
.stream-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    border: 1px solid var(--line);
    border-top: 0;
    padding: 20px 24px;
    background: #11191f;
}
.stream-toolbar p {
    font-size: 14px;
}
.stream-toolbar .text-link {
    color: #ff9ca3;
    flex: none;
}
.live-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 32px;
}
.live-info-grid article {
    padding: 28px;
    background: var(--panel);
    border: 1px solid var(--line);
}
.live-info-grid h3 {
    font-size: 20px;
    margin: 16px 0 12px;
}
.live-info-grid p {
    font-size: 16px;
}
.live-info-grid .text-link {
    color: var(--lime);
    margin-top: 20px;
}
@media (max-width: 1200px) {
    .nav-cta {
        display: none;
    }
    .nav-wrap {
        width: calc(100% - 48px);
    }
    nav {
        gap: 20px;
    }
    .footer-school {
        margin-left: 0;
    }
    .footer-mail {
        margin-left: auto;
    }
    .matches-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .signup-layout {
        gap: 35px;
    }
    .contact-layout {
        gap: 35px;
    }
    .email-address {
        font-size: 15px;
    }
}
@media (max-width: 960px) {
    .nav-wrap {
        width: calc(100% - 40px);
    }
    nav {
        gap: 0;
    }
    nav a {
        font-size: 16px;
        padding: 14px 10px;
    }
    .nav-live {
        gap: 9px;
    }
    .brand {
        font-size: 18px;
    }
    .brand small {
        font-size: 8px;
        letter-spacing: 1.4px;
    }
    .hero {
        min-height: 650px;
    }
    .hero-content {
        padding-top: 55px;
        padding-bottom: 60px;
    }
    .hero h1 {
        font-size: clamp(43px, 8.5vw, 65px);
    }
    .hero-content > p {
        font-size: 16px;
    }
    .hero .eyebrow {
        font-size: 10px;
        letter-spacing: 1px;
    }
    .hero-actions .text-link {
        font-size: 14px;
    }
    .hero-caption {
        font-size: 10px;
    }
    .hero-shade {
        background:
            linear-gradient(90deg, #0b1014ee, #0b101470),
            linear-gradient(0deg, #0b1014, transparent 65%);
    }
    .image-credit {
        font-size: 9px;
    }
    .button {
        font-size: 14px;
        min-height: 48px;
    }
    .eyebrow,
    .eyebrow.muted {
        font-size: 11px;
    }
    .micro {
        font-size: 11px;
    }
    .about-copy > p:not(.lead) {
        font-size: 16px;
    }
    .section-heading p,
    .stage p,
    .discover-card p {
        font-size: 16px;
    }
    .stage .micro,
    .discover-card .micro {
        font-size: 11px;
    }
    .stage > a {
        font-size: 14px;
    }
    .status-strip {
        flex-wrap: initial;
    }
    .status-strip p {
        font-size: 16px;
    }
    .status-strip .micro {
        font-size: 11px;
    }
    .status-strip .status-pill {
        font-size: 12px;
    }
    .status-strip > a {
        font-size: 14px;
    }
    .stats p {
        font-size: 12px;
        max-width: 100px;
    }
    .school-strip {
        gap: 18px;
        flex-wrap: wrap;
    }
    .school-strip .school-logo {
        width: 105px;
    }
    .school-strip > div {
        flex: 1;
        min-width: 170px;
    }
    .school-strip p {
        font-size: 17px;
        line-height: 1.5;
    }
    .school-strip p span {
        display: block;
        font-size: 14px;
        margin-top: 4px;
    }
    .school-strip .micro {
        font-size: 10px;
        letter-spacing: 1px;
    }
    .school-strip .text-link {
        margin-left: 0;
        font-size: 14px;
    }
    .footer-top p {
        font-size: 14px;
    }
    .footer-school .school-logo {
        width: 110px;
    }
    .footer-school span {
        font-size: 14px;
    }
    .footer-bottom {
        font-size: 12px;
    }
    .footer-mail {
        margin-left: 0;
        font-size: 14px;
    }
    .contact-banner .micro {
        font-size: 11px;
    }
    .page-intro > p {
        font-size: 16px;
    }
    .archive-top p {
        font-size: 15px;
    }
    .filter {
        font-size: 13px;
    }
    .results-empty p {
        font-size: 16px;
    }
    .results-empty .micro {
        font-size: 11px;
    }
    .info-note p {
        font-size: 14px;
    }
    .info-note .icon {
        width: 21px;
        height: 21px;
    }
    .signup-box .button {
        font-size: 13px;
        padding: 14px 16px;
    }
    .signup-box .text-link {
        font-size: 14px;
    }
    .steps p,
    .aside-note p {
        font-size: 16px;
    }
    .team-announcement p {
        font-size: 16px;
        max-width: none;
    }
    .team-announcement h2 {
        font-size: 26px;
    }
    .team-announcement .micro {
        font-size: 11px;
    }
    .player-card h3 {
        font-size: 16px;
    }
    .player-card p {
        font-size: 13px;
    }
    .contact-panel h2 {
        font-size: 35px;
    }
    .contact-panel > p,
    .contact-topics p {
        font-size: 16px;
    }
    .contact-panel label {
        font-size: 12px;
    }
    .email-address {
        font-size: 15px;
        line-height: 1.7;
    }
    .contact-actions .button {
        font-size: 14px;
    }
    .tournament-overview {
        padding: 25px;
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }
    .tournament-overview h2 {
        font-size: 25px;
    }
    .table-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
    .matches-heading {
        gap: 22px;
    }
    .match-filters {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }
    .match-filters .filter {
        padding: 11px 12px;
    }
    .table-empty td {
        min-width: 300px;
    }
    .standings-table {
        min-width: 620px;
    }
    .matches-table {
        min-width: 720px;
    }
    .table-hint {
        font-size: 12px;
    }
    .broadcast-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }
    .broadcast-top .small-title {
        font-size: 21px;
        line-height: 1.4;
    }
    .broadcast-status {
        font-size: 12px;
    }
    .stream-player {
        aspect-ratio: auto;
        min-height: 380px;
    }
    .stream-offline {
        padding: 30px 20px;
    }
    .stream-offline h2 {
        font-size: 25px;
    }
    .stream-offline p {
        font-size: 16px;
    }
    .stream-player.has-stream {
        aspect-ratio: 16/9;
        min-height: 200px;
    }
    .stream-toolbar {
        padding: 18px;
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }
    .stream-toolbar p {
        font-size: 14px;
    }
    .live-info-grid {
        grid-template-columns: 1fr;
    }
    .live-info-grid article {
        padding: 25px;
    }
    .contact-banner h2 {
        font-size: 31px;
    }
    .footer-bottom span {
        max-width: none;
    }
}
