:root {
    --matchday-primary: #c71920;
    --matchday-secondary: #171717;
    --matchday-accent: #ffffff;
    --matchday-on-primary: #ffffff;
    --matchday-ink: #171717;
    --matchday-muted: #666666;
    --matchday-line: #dddddd;
    --matchday-paper: #ffffff;
    --matchday-soft: #f5f5f5;
}

.matchday-skip-link {
    position: absolute;
    top: -70px;
    left: 14px;
    z-index: 10000;
    padding: 11px 15px;
    background: #ffffff;
    color: #111111;
}

.matchday-skip-link:focus { top: 14px; }

.matchday-site-header {
    border-top: 6px solid var(--matchday-primary);
    border-bottom: 1px solid var(--matchday-line);
    background: #ffffff;
    color: var(--matchday-ink);
    font-family: Arial, Helvetica, sans-serif;
}

.matchday-site-header__brand-row,
.matchday-site-header__nav-row {
    display: flex;
    max-width: 1240px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 auto;
    padding: 14px 28px;
}

.matchday-site-brand {
    display: flex;
    flex-direction: column;
    color: var(--matchday-ink);
    text-decoration: none;
}

.matchday-site-brand strong {
    font-size: clamp(23px, 3vw, 34px);
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: 1;
}

.matchday-site-brand span {
    margin-top: 5px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    color: var(--matchday-primary);
    text-transform: uppercase;
}

.matchday-network-link {
    color: var(--matchday-primary);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.matchday-site-header__nav-row {
    border-top: 1px solid var(--matchday-line);
    padding-top: 0;
    padding-bottom: 0;
}

.matchday-site-header__nav-row nav {
    display: flex;
    overflow-x: auto;
    align-items: stretch;
}

.matchday-site-header__nav-row nav a {
    flex: 0 0 auto;
    border-bottom: 4px solid transparent;
    padding: 15px 13px 11px;
    color: var(--matchday-ink);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.matchday-site-header__nav-row nav a:hover,
.matchday-site-header__nav-row nav a:focus {
    border-color: var(--matchday-primary);
    color: var(--matchday-primary);
}

.matchday-site-header .search-form {
    display: flex;
    flex: 0 1 250px;
    margin: 0;
}

.matchday-site-header .search-field {
    width: 100%;
    min-height: 36px;
    border: 0;
    padding: 7px 10px;
    background: #ffffff;
    color: #111111;
}

.matchday-site-header .search-submit {
    min-height: 36px;
    border: 0;
    padding: 7px 11px;
    background: var(--matchday-primary);
    color: var(--matchday-on-primary);
    font-size: 11px;
    font-weight: 800;
}

.matchday-site-footer {
    border-top: 7px solid var(--matchday-primary);
    background: #101318;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}

.matchday-site-footer__inner {
    display: grid;
    max-width: 1240px;
    grid-template-columns: minmax(280px, 1.25fr) minmax(150px, .55fr) minmax(280px, 1fr);
    gap: clamp(32px, 6vw, 80px);
    margin: 0 auto;
    padding: 52px 28px 44px;
}

.matchday-site-footer strong { display: block; font-size: 21px; line-height: 1.15; }
.matchday-site-footer p { max-width: 580px; margin: 11px 0 0; color: #b8bdc7; font-size: 13px; line-height: 1.6; }
.matchday-site-footer__eyebrow { margin: 0 0 9px !important; color: var(--matchday-primary) !important; font-size: 10px !important; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.matchday-site-footer__sections { display: grid; align-content: start; gap: 10px; }
.matchday-site-footer__sections strong { margin-bottom: 5px; color: #8f96a3; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.matchday-site-footer a { color: #ffffff; font-size: 13px; font-weight: 800; text-decoration: none; }
.matchday-site-footer a:hover, .matchday-site-footer a:focus { color: var(--matchday-primary); text-decoration: underline; text-decoration-thickness: 2px; }
.matchday-site-footer__network { border-left: 3px solid var(--matchday-primary); padding-left: 22px; }
.matchday-site-footer__network > a { display: inline-flex; gap: 12px; align-items: center; margin-top: 20px; border: 1px solid #434954; padding: 11px 14px; }
.matchday-site-footer__network > a:hover, .matchday-site-footer__network > a:focus { border-color: var(--matchday-primary); text-decoration: none; }
.matchday-site-footer__legal { display: flex; max-width: 1240px; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #2b3038; margin: 0 auto; padding: 18px 28px 24px; color: #8f96a3; font-size: 11px; }
.matchday-site-footer__legal p { margin: 0; color: inherit; font-size: inherit; }

.chronicle-matchday .td-header-gradient,
.chronicle-matchday .td-header-menu-wrap-full,
.chronicle-matchday .td-main-menu-logo a {
    background: var(--matchday-primary) !important;
}

.chronicle-matchday .sf-menu > li > a,
.chronicle-matchday .td-header-menu-wrap .td-icon-search,
.chronicle-matchday .td-header-menu-wrap .td-icon-mobile {
    color: var(--matchday-on-primary) !important;
}

.chronicle-matchday .td-logo-text,
.chronicle-matchday .td-tagline-text {
    color: var(--matchday-ink) !important;
}

.matchday-shell,
.matchday-shell * {
    box-sizing: border-box;
}

.matchday-shell {
    position: relative;
    overflow: hidden;
    width: 100%;
    background: #e5e8ec;
    color: var(--matchday-ink);
    font-family: Arial, Helvetica, sans-serif;
}

.matchday-page-column {
    position: relative;
    z-index: 1;
    max-width: 1120px;
    margin: 0 auto;
    background: var(--matchday-paper);
    box-shadow: 0 0 24px rgba(10, 18, 29, .16);
}

.matchday-masthead {
    position: relative;
    overflow: hidden;
    background: linear-gradient(112deg, var(--matchday-primary) 0 76%, var(--matchday-secondary) 76% 100%);
    color: var(--matchday-on-primary);
}

.chronicle-matchday--has-hero .matchday-masthead {
    min-height: 510px;
    background-color: #08111f;
    background-image:
        linear-gradient(90deg, rgba(5, 12, 23, .96) 0%, rgba(5, 12, 23, .8) 35%, rgba(5, 12, 23, .2) 64%, rgba(5, 12, 23, .08) 100%),
        var(--matchday-hero-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.matchday-masthead::after {
    display: none;
}

.matchday-masthead__inner {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    margin: 0 auto;
    padding: 42px 28px 46px;
}

.chronicle-matchday--has-hero .matchday-masthead__inner {
    display: flex;
    min-height: 510px;
    flex-direction: column;
    justify-content: center;
}

.matchday-kicker {
    margin: 0 0 8px;
    color: var(--matchday-on-primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .11em;
    opacity: .86;
    text-transform: uppercase;
}

.matchday-masthead h1 {
    max-width: 780px;
    margin: 0;
    color: var(--matchday-on-primary);
    font-size: clamp(38px, 5.5vw, 68px);
    font-weight: 900;
    letter-spacing: -.045em;
    line-height: .98;
}

.matchday-independence {
    max-width: 760px;
    margin: 17px 0 18px;
    color: var(--matchday-on-primary);
    font-size: 14px;
    line-height: 1.55;
    opacity: .9;
}

.matchday-hero-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.matchday-hero-facts > * {
    border: 1px solid rgba(255, 255, 255, .46);
    border-radius: 999px;
    padding: 8px 12px;
    background: rgba(5, 12, 23, .48);
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .03em;
}

.matchday-fixture {
    display: grid;
    max-width: 1240px;
    grid-template-columns: .8fr 1.35fr 1fr auto;
    align-items: center;
    gap: 28px;
    border-bottom: 1px solid var(--matchday-line);
    margin: 0 auto;
    padding: 22px 28px;
    background: #ffffff;
}

.matchday-fixture__meta,
.matchday-fixture__detail {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.matchday-fixture__meta span,
.matchday-fixture__detail span {
    color: var(--matchday-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.matchday-fixture__meta strong,
.matchday-fixture__detail time { font-size: 13px; font-weight: 900; }
.matchday-fixture__teams { display: flex; align-items: baseline; gap: 13px; font-size: clamp(20px, 2.7vw, 32px); letter-spacing: -.025em; }
.matchday-fixture__teams span { color: var(--matchday-primary); font-size: 14px; font-weight: 900; text-transform: uppercase; }
.matchday-fixture__source { color: var(--matchday-primary); font-size: 12px; font-weight: 900; text-decoration: none; white-space: nowrap; }
.matchday-fixture__source:hover, .matchday-fixture__source:focus { text-decoration: underline; text-decoration-thickness: 2px; }

.matchday-section {
    max-width: 1240px;
    margin: 0 auto;
    padding: 40px 28px 12px;
}

.matchday-content-stage {
    background: var(--matchday-paper);
}

.matchday-content-stage__main {
    min-height: 720px;
    background: var(--matchday-paper);
}

.matchday-margin-art {
    display: none;
}

.matchday-ready {
    max-width: 900px;
    min-height: 360px;
    padding-top: 64px;
    padding-bottom: 74px;
}

.matchday-ready__label {
    margin: 0 0 10px;
    color: var(--matchday-primary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.matchday-ready h2 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 900;
    letter-spacing: -.04em;
    line-height: 1.02;
}

.matchday-ready > p:not(.matchday-ready__label) {
    max-width: 680px;
    margin: 20px 0 25px;
    color: var(--matchday-muted);
    font-size: 16px;
    line-height: 1.6;
}

.matchday-ready ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.matchday-ready li {
    border: 1px solid var(--matchday-line);
    border-radius: 999px;
    padding: 8px 13px;
    background: var(--matchday-soft);
    font-size: 12px;
    font-weight: 800;
}

.matchday-section:last-child {
    padding-bottom: 68px;
}

.matchday-section__heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 5px solid var(--matchday-primary);
    margin-bottom: 19px;
    padding-bottom: 9px;
}

.matchday-section__heading h2 {
    margin: 0;
    color: var(--matchday-ink);
    font-size: clamp(27px, 4vw, 42px);
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: 1;
}

.matchday-section__heading a {
    color: var(--matchday-primary);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.matchday-lead-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(340px, .75fr);
    gap: 24px;
}

.matchday-lead-grid__rail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.matchday-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.matchday-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid var(--matchday-line);
    background: var(--matchday-paper);
}

.matchday-card__image {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--matchday-soft);
}

.matchday-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .2s ease;
}

.matchday-card:hover .matchday-card__image img {
    transform: scale(1.025);
}

.matchday-card__body {
    display: flex;
    min-height: 168px;
    flex: 1;
    flex-direction: column;
    padding: 16px;
}

.matchday-card__category {
    color: var(--matchday-primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.matchday-card h3 {
    margin: 8px 0 10px;
    color: var(--matchday-ink);
    font-size: 19px;
    font-weight: 850;
    letter-spacing: -.015em;
    line-height: 1.18;
}

.matchday-card h3 a {
    color: inherit;
    text-decoration: none;
}

.matchday-card h3 a:hover,
.matchday-card h3 a:focus {
    color: var(--matchday-primary);
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

.matchday-card p {
    margin: 0 0 14px;
    color: var(--matchday-muted);
    font-size: 14px;
    line-height: 1.55;
}

.matchday-card time {
    margin-top: auto;
    color: var(--matchday-muted);
    font-size: 11px;
}

.matchday-card--featured .matchday-card__body {
    min-height: 220px;
    padding: 22px;
}

.matchday-card--featured h3 {
    font-size: clamp(26px, 3.6vw, 44px);
    line-height: 1.04;
}

.matchday-empty {
    border-left: 5px solid var(--matchday-primary);
    margin: 0;
    padding: 22px;
    background: var(--matchday-soft);
    color: var(--matchday-muted);
    font-size: 15px;
}

.matchday-article-shell { padding-bottom: 72px; }
.matchday-article { max-width: 1120px; margin: 0 auto; padding: 48px 28px 0; }
.matchday-article__header { max-width: 900px; margin: 0 auto 34px; }
.matchday-article__back { display: inline-block; margin-bottom: 35px; color: var(--matchday-primary); font-size: 12px; font-weight: 900; text-decoration: none; }
.matchday-article__category { margin: 0 0 11px; color: var(--matchday-primary); font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.matchday-article__header h1 { margin: 0; font-size: clamp(39px, 6.5vw, 76px); font-weight: 900; letter-spacing: -.05em; line-height: .98; }
.matchday-article__meta { display: flex; gap: 18px; margin-top: 22px; color: var(--matchday-muted); font-size: 12px; }
.matchday-article__hero { overflow: hidden; aspect-ratio: 16 / 9; margin: 0; background: var(--matchday-soft); }
.matchday-article__hero img { width: 100%; height: 100%; object-fit: cover; }
.matchday-article__content { max-width: 740px; margin: 40px auto 0; color: #292929; font-size: 18px; line-height: 1.72; }
.matchday-article__content p { margin: 0 0 1.35em; }
.matchday-article__content h2 { margin: 1.6em 0 .55em; font-size: clamp(28px, 4vw, 40px); line-height: 1.08; }
.matchday-article__content a { color: var(--matchday-primary); text-decoration-thickness: 2px; }
.matchday-article__content .matchday-source-note { border-left: 4px solid var(--matchday-primary); margin-top: 36px; padding: 16px 18px; background: var(--matchday-soft); color: var(--matchday-muted); font-size: 13px; line-height: 1.55; }

.matchday-archive { max-width: 1240px; min-height: 560px; margin: 0 auto; padding: 52px 28px 72px; }
.matchday-archive__header { border-bottom: 5px solid var(--matchday-primary); margin-bottom: 28px; padding-bottom: 18px; }
.matchday-archive__header > p { margin: 0 0 7px; color: var(--matchday-primary); font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.matchday-archive__header h1 { margin: 0; font-size: clamp(38px, 6vw, 68px); font-weight: 900; letter-spacing: -.045em; line-height: 1; }
.matchday-archive__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.matchday-pagination { margin-top: 38px; }

.chronicle-matchday .td-post-category,
.chronicle-matchday .td-category a,
.chronicle-matchday .entry-title a:hover {
    color: var(--matchday-primary) !important;
}

.chronicle-matchday .td_block_template_1 .td-block-title > *,
.chronicle-matchday .td-theme-wrap .td_block_template_1 .td-block-title > * {
    background-color: var(--matchday-primary) !important;
}

@media (max-width: 1020px) {
    .matchday-lead-grid { grid-template-columns: 1fr; }
    .matchday-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .matchday-site-footer__inner { grid-template-columns: 1fr 1fr; }
    .matchday-site-footer__network { grid-column: 1 / -1; }
    .matchday-fixture { grid-template-columns: 1fr 1.4fr; }
    .matchday-fixture__source { justify-self: start; }
}

@media (min-width: 1121px) {
    .matchday-margin-art {
        position: absolute;
        top: 0;
        bottom: 0;
        display: flex;
        width: calc((100% - 1120px) / 2);
        flex-direction: column;
        gap: 0;
        padding: 0;
        background: #cfd3d9;
        pointer-events: none;
    }

    .matchday-margin-art--left { left: 0; }
    .matchday-margin-art--right { right: 0; }

    .matchday-margin-art__figure {
        display: block;
        min-height: 0;
        flex: 1 1 0;
        background-position: center top;
        background-repeat: no-repeat;
        background-size: cover;
        filter: saturate(.78) contrast(1.08);
        opacity: .46;
    }

    .matchday-margin-art--left .matchday-margin-art__figure:nth-child(2),
    .matchday-margin-art--right .matchday-margin-art__figure:nth-child(2) {
        background-position: 56% top;
    }
}

@media (max-width: 620px) {
    .matchday-site-header__brand-row { align-items: flex-start; flex-direction: column; gap: 8px; padding: 18px 17px 14px; }
    .matchday-site-header__nav-row { align-items: stretch; flex-direction: column; gap: 0; padding: 0 10px 12px; }
    .matchday-site-header__nav-row nav { margin: 0 -10px; }
    .matchday-site-header .search-form { flex-basis: auto; }
    .matchday-site-footer__inner { grid-template-columns: 1fr; gap: 30px; padding: 38px 17px 32px; }
    .matchday-site-footer__network { grid-column: auto; }
    .matchday-site-footer__legal { align-items: flex-start; flex-direction: column; gap: 8px; padding: 17px; }
    .matchday-fixture { grid-template-columns: 1fr; gap: 12px; padding: 20px 17px; }
    .matchday-fixture__teams { order: -1; }
    .matchday-masthead__inner { padding: 34px 17px 38px; }
    .chronicle-matchday--has-hero .matchday-masthead {
        min-height: 500px;
        background-image:
            linear-gradient(90deg, rgba(5, 12, 23, .92) 0%, rgba(5, 12, 23, .64) 58%, rgba(5, 12, 23, .16) 100%),
            var(--matchday-hero-image);
        background-position: 63% center;
    }
    .chronicle-matchday--has-hero .matchday-masthead__inner {
        min-height: 500px;
        justify-content: flex-end;
    }
    .matchday-section { padding: 32px 17px 8px; }
    .matchday-section__heading { align-items: flex-end; }
    .matchday-lead-grid__rail, .matchday-card-grid { grid-template-columns: 1fr; }
    .matchday-card__body { min-height: auto; }
    .matchday-card--featured .matchday-card__body { min-height: auto; }
    .matchday-article { padding: 34px 17px 0; }
    .matchday-article__content { margin-top: 28px; font-size: 17px; }
    .matchday-archive { padding: 38px 17px 52px; }
    .matchday-archive__grid { grid-template-columns: 1fr; }
}
