*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  min-height: 100%;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.55;
  overflow-x: clip;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.nav-open {
  overflow: hidden;
}

main {
  display: block;
}

h1,
h2,
h3,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

img,
svg {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

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

button,
input,
select,
textarea {
  font: inherit;
}

button {
  color: inherit;
}

[hidden] {
  display: none !important;
}

[id] {
  scroll-margin-top: calc(var(--header) + 24px);
}

::selection {
  background: var(--red);
  color: var(--paper);
}

:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

.button:focus-visible,
.lang-btn:focus-visible,
.menu-toggle:focus-visible,
.nav-close:focus-visible {
  outline-color: var(--ink);
}

.skip-link:focus-visible {
  outline-color: var(--paper);
}

.hero :focus-visible,
.match-ticker :focus-visible,
.matchday-strip :focus-visible,
.shop :focus-visible,
.academy-notice :focus-visible,
.ticket-strip :focus-visible,
.site-footer :focus-visible {
  outline-color: var(--paper);
}

.match-ticket :focus-visible {
  outline-color: var(--ink);
}

.sr-only {
  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;
}

.skip-link {
  position: fixed;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  z-index: 300;
  padding: 12px 18px;
  background: var(--red);
  color: var(--paper);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transform: translateY(-160%);
  transition: transform var(--dur) var(--ease);
}

.skip-link:focus-visible {
  transform: translateY(0);
}

.container {
  width: 100%;
  max-width: calc(var(--page) + (2 * var(--gutter)));
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-family: var(--body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    background-color var(--dur) var(--ease),
    border-color var(--dur) var(--ease),
    color var(--dur) var(--ease);
}

.button-arrow {
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  transition: transform var(--dur) var(--ease);
}

.button:hover .button-arrow {
  transform: translateX(4px);
}

.button--red {
  border-color: var(--red);
  background: var(--red);
  color: var(--paper);
}

.button--red:hover {
  border-color: var(--ink);
  background: var(--ink);
}

.button--ink {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper);
}

.button--ink:hover {
  border-color: var(--red);
  background: var(--red);
}

.button--light {
  border-color: var(--paper);
  background: var(--paper);
  color: var(--ink);
}

.button--light:hover {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper);
}

.button--block {
  width: 100%;
  justify-content: space-between;
}

.text-link {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  align-items: center;
  gap: 12px;
  padding-block-end: 5px;
  border-block-end: 1px solid var(--ink);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
  transition:
    border-color var(--dur) var(--ease),
    color var(--dur) var(--ease);
}

.text-link:hover {
  border-color: var(--red);
  color: var(--red);
}

.text-link > span[aria-hidden="true"] {
  display: inline-block;
  font-size: 15px;
  transition: transform var(--dur) var(--ease);
}

.text-link:hover > span[aria-hidden="true"] {
  transform: translateX(3px);
}

.tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  background: var(--red);
  color: var(--paper);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.display-title {
  max-width: 15ch;
  font-family: var(--display);
  font-size: clamp(48px, 8.5vw, 88px);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 0.86;
  text-transform: uppercase;
  text-wrap: balance;
}

.display-title > span {
  display: block;
}

.text-red {
  color: var(--red);
}

.section {
  padding-block: clamp(64px, 9vw, 118px);
}

.section--wash,
.section--academy {
  background: var(--wash);
}

.section-head {
  display: grid;
  gap: 20px;
  margin-block-end: 40px;
}

.section-head > .text-link {
  justify-self: start;
}

.section-head--compact {
  margin-block-end: 36px;
}

.section-rail {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.section-number {
  color: var(--red);
  font-family: var(--display);
  font-size: 36px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 0.8;
}

.section-label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.masthead {
  position: sticky;
  inset-block-start: 0;
  z-index: 100;
  background: var(--paper);
  border-block-end: 1px solid var(--line);
}

.masthead-inner {
  display: flex;
  width: 100%;
  max-width: calc(var(--page) + (2 * var(--gutter)));
  height: var(--header);
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  text-decoration: none;
}

.brand-mark {
  display: grid;
  flex: none;
  width: 36px;
  height: 44px;
  place-items: center;
  border-inline-end: 1px solid var(--line);
  padding-inline-end: 10px;
}

.brand-mark img {
  width: auto;
  height: 40px;
  object-fit: contain;
}

.brand-type {
  display: flex;
  min-width: 0;
  flex-direction: column;
  line-height: 1;
}

.brand-type strong {
  font-family: var(--display);
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 0.9;
}

.brand-type span {
  margin-block-start: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.masthead-tools {
  display: flex;
  align-items: center;
  gap: 8px;
}

.masthead-tools > .lang-switch {
  display: none;
}

.lang-switch {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--line-strong);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

.lang-btn {
  position: relative;
  padding: 6px 1px;
  border: 0;
  background: none;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

.lang-btn::after {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  height: 2px;
  background: var(--red);
  content: "";
  opacity: 0;
  transform: scaleX(0.4);
  transition:
    opacity var(--dur) var(--ease),
    transform var(--dur) var(--ease);
}

.lang-btn:hover {
  color: var(--ink);
}

.lang-btn.is-active {
  color: var(--red);
}

.lang-btn.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.masthead-ticket {
  display: none;
  min-height: 38px;
  padding: 9px 14px;
  font-size: 12px;
}

.menu-toggle {
  display: inline-flex;
  width: 44px;
  height: 44px;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 5px;
  padding: 11px;
  border: 1px solid var(--ink);
  background: transparent;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--ink);
  transition:
    opacity var(--dur) var(--ease),
    transform var(--dur) var(--ease),
    width var(--dur) var(--ease);
}

.menu-toggle span:last-child {
  width: 70%;
  margin-inline-start: auto;
}

.menu-toggle[aria-expanded="true"] span:first-child {
  transform: translateY(7px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.menu-toggle[aria-expanded="true"] span:last-child {
  width: 100%;
  transform: translateY(-7px) rotate(-45deg);
}

.site-nav {
  position: fixed;
  inset-block: 0;
  inset-inline-end: 0;
  z-index: 200;
  display: flex;
  width: min(100%, 430px);
  height: 100dvh;
  flex-direction: column;
  padding: 18px 20px 24px;
  border-inline-start: 1px solid var(--line);
  background: var(--paper);
  overflow-y: auto;
  transform: translateX(100%);
  visibility: hidden;
  transition:
    transform 300ms var(--ease),
    visibility 0s linear 300ms;
}

html[dir="rtl"] .site-nav {
  transform: translateX(-100%);
}

.site-nav.is-open,
html[dir="rtl"] .site-nav.is-open {
  transform: translateX(0);
  visibility: visible;
  transition:
    transform 300ms var(--ease),
    visibility 0s linear 0s;
}

.nav-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-block-end: 14px;
  border-block-end: 2px solid var(--ink);
}

.nav-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  font-family: var(--display);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.nav-brand img {
  width: auto;
  height: 32px;
}

.nav-close {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--ink);
  background: transparent;
  cursor: pointer;
}

.nav-close svg {
  width: 20px;
  height: 20px;
}

.nav-list {
  display: block;
  margin-block-start: 4px;
}

.nav-item {
  border-block-end: 1px solid var(--line);
}

.nav-link {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 0;
  border: 0;
  background: none;
  color: var(--ink);
  cursor: pointer;
  font-family: var(--display);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1;
  text-align: start;
  text-transform: uppercase;
}

.nav-link:hover,
.nav-link.is-active,
.nav-item.is-open > .nav-link {
  color: var(--red);
}

.chev {
  width: 12px;
  height: 12px;
  flex: none;
  transition: transform var(--dur) var(--ease);
}

.nav-item.is-open .chev {
  transform: rotate(180deg);
}

.menu-panel {
  display: none;
  padding-block-end: 16px;
}

.nav-item.is-open .menu-panel {
  display: block;
}

.menu-grid {
  display: grid;
  gap: 18px;
  padding-block: 4px 12px;
}

.menu-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.menu-eyebrow {
  margin-block-end: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.menu-link {
  display: block;
  width: 100%;
  padding-block: 7px;
  border-block-end: 1px solid var(--line);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.35;
  transition: color var(--dur) var(--ease);
}

.menu-link:hover {
  color: var(--red);
}

.menu-feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 18px;
  border-inline-start: 4px solid var(--red);
  background: var(--wash);
}

.menu-number {
  color: var(--red);
  font-family: var(--display);
  font-size: 44px;
  font-weight: 700;
  line-height: 0.9;
}

.menu-feature-title {
  font-family: var(--display);
  font-size: 24px;
  font-weight: 700;
  line-height: 0.98;
  text-transform: uppercase;
}

.menu-feature-text {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.menu-feature-link {
  margin-block-start: 2px;
  border-block-end: 1px solid var(--ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.menu-feature-link:hover {
  color: var(--red);
  border-color: var(--red);
}

.menu-feature--product {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.menu-feature--product > img {
  width: 62px;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.menu-feature--product > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.nav-foot {
  display: grid;
  gap: 18px;
  margin-block-start: auto;
  padding-block-start: 22px;
  border-block-start: 1px solid var(--line);
}

.nav-foot > .lang-switch,
.nav-foot .lang-btn {
  font-size: 13px;
}

.nav-socials {
  display: flex;
  gap: 8px;
}

.nav-socials a {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid var(--line);
  transition:
    background-color var(--dur) var(--ease),
    border-color var(--dur) var(--ease);
}

.nav-socials a:hover {
  border-color: var(--red);
  background: var(--red);
  color: var(--paper);
}

.nav-socials svg {
  width: 17px;
  height: 17px;
}

.nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(21, 17, 16, 0.58);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 300ms var(--ease),
    visibility 300ms var(--ease);
}

.nav-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

.match-ticker {
  position: fixed;
  inset-block-start: var(--header);
  inset-inline: 0;
  z-index: 70;
  background: var(--ink);
  color: var(--paper);
  opacity: 0;
  transform: translateY(-120%);
  visibility: hidden;
  transition:
    transform 280ms var(--ease),
    opacity 280ms var(--ease),
    visibility 280ms var(--ease);
}

.match-ticker.is-visible {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.match-ticker-inner {
  display: flex;
  min-height: 46px;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ticker-label {
  display: none;
  flex: none;
  color: var(--red-tint);
}

.ticker-fixture {
  min-width: 0;
  overflow: hidden;
  flex: 1;
  color: var(--paper);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ticker-meta {
  display: none;
  flex: none;
  color: rgba(255, 255, 255, 0.65);
  font-variant-numeric: tabular-nums;
}

.ticker-link {
  flex: none;
  margin-inline-start: auto;
  padding-block: 4px;
  border-block-end: 1px solid var(--red);
  color: var(--paper);
  transition: color var(--dur) var(--ease);
}

.ticker-link:hover {
  color: var(--red-tint);
}

.hero {
  position: relative;
  display: flex;
  min-height: calc(100svh - var(--header));
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  background: var(--ink);
  color: var(--paper);
}

.hero-photo {
  position: absolute;
  inset: 0;
}

.hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  filter: saturate(0.82) contrast(1.06);
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(21, 17, 16, 0.18) 0%, rgba(21, 17, 16, 0.68) 58%, rgba(21, 17, 16, 0.96) 100%),
    linear-gradient(90deg, rgba(21, 17, 16, 0.78) 0%, rgba(21, 17, 16, 0.2) 72%);
}

.hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  width: 100%;
  max-width: calc(var(--page) + (2 * var(--gutter)));
  gap: 30px;
  margin-inline: auto;
  padding: clamp(44px, 9vh, 100px) var(--gutter) 30px;
}

.hero-copy {
  min-width: 0;
  max-width: 780px;
}

.issue-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin-block-end: 20px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.issue-line span + span::before {
  margin-inline-end: 10px;
  color: var(--red);
  content: "/";
}

.hero-title {
  margin-block-end: 24px;
  font-family: var(--display);
  font-size: clamp(84px, 25vw, 150px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 0.78;
  text-transform: uppercase;
  text-wrap: balance;
}

.hero-line {
  display: block;
}

.hero-line--red {
  color: var(--red);
}

.hero-dek {
  max-width: 45ch;
  margin-block-end: 26px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 16px;
  line-height: 1.55;
  text-wrap: pretty;
}

.hero-scroll {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 16px;
  padding-block-end: 5px;
  border-block-end: 1px solid rgba(255, 255, 255, 0.45);
  color: var(--paper);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.hero-scroll-arrow {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.42);
  font-size: 14px;
  transition:
    background-color var(--dur) var(--ease),
    border-color var(--dur) var(--ease);
}

.hero-scroll:hover .hero-scroll-arrow {
  border-color: var(--red);
  background: var(--red);
}

.match-ticket {
  position: relative;
  width: 100%;
  max-width: 430px;
  padding: 20px;
  border-block-start: 6px solid var(--red);
  background: var(--paper);
  box-shadow: var(--shadow-ticket);
  color: var(--ink);
}

.ticket-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-block-end: 11px;
  border-block-end: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
}

.ticket-head span:first-child {
  color: var(--red);
}

.ticket-teams {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding-block: 18px;
  border-block-end: 1px dashed var(--line);
}

.ticket-team {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

.ticket-team--away {
  align-items: flex-end;
  text-align: end;
}

.ticket-crest {
  display: grid;
  width: 42px;
  height: 52px;
  place-items: center;
  margin-block-end: 4px;
}

.ticket-crest img {
  width: auto;
  height: 100%;
  object-fit: contain;
}

.ticket-away {
  display: grid;
  width: 42px;
  height: 52px;
  place-items: center;
  margin-block-end: 4px;
  border: 1px dashed var(--muted);
  color: var(--muted);
  font-family: var(--display);
  font-size: 26px;
}

.ticket-team strong {
  max-width: 100%;
  font-family: var(--display);
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.ticket-team > span:last-child {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.ticket-versus {
  color: var(--red);
  font-family: var(--display);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.ticket-facts {
  display: grid;
  gap: 9px;
  padding-block: 14px;
  border-block-end: 1px dashed var(--line);
}

.ticket-facts > div {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 10px;
}

.ticket-facts dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.ticket-facts dd {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

.countdown {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-block: 16px;
  border-block-end: 1px dashed var(--line);
  text-align: center;
}

.countdown > div + div {
  border-inline-start: 1px solid var(--line);
}

.countdown-value {
  display: block;
  font-family: var(--display);
  font-size: 38px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  line-height: 1;
}

.countdown-label {
  display: block;
  margin-block-start: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
}

.match-ticket .button {
  margin-block-start: 16px;
}

.ticket-note {
  margin-block-start: 9px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}

.hero-rail {
  position: relative;
  z-index: 2;
  display: flex;
  width: 100%;
  max-width: calc(var(--page) + (2 * var(--gutter)));
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 18px;
  margin-inline: auto;
  padding: 16px var(--gutter) 20px;
  border-block-start: 1px solid rgba(255, 255, 255, 0.24);
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.matchday-strip {
  background: var(--red);
  color: var(--paper);
}

.strip-grid {
  display: grid;
  grid-template-columns: 1fr;
}

.strip-cell {
  display: grid;
  gap: 4px;
  padding-block: 20px;
  border-block-end: 1px solid rgba(255, 255, 255, 0.28);
}

.strip-cell:first-child {
  padding-block-start: 26px;
}

.strip-label {
  color: var(--paper);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.strip-cell strong {
  font-family: var(--display);
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.strip-cell > span:last-child {
  color: var(--paper);
  font-size: 12px;
  line-height: 1.4;
}

.strip-position strong {
  font-size: 40px;
}

.strip-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 18px;
  background: var(--ink);
  color: var(--paper);
  transition: background-color var(--dur) var(--ease);
}

.strip-link:hover {
  background: var(--ink-2);
}

.strip-link-label {
  color: var(--red-tint);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.strip-link > span:nth-child(2) {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}

.strip-link > span[aria-hidden="true"] {
  display: inline-block;
  font-size: 16px;
}

.strip-demo {
  padding-block: 6px;
  background: var(--red-deep);
  color: var(--paper);
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
}

.section-grid {
  display: grid;
  gap: 28px;
}

.club-copy {
  min-width: 0;
}

.club-copy .display-title {
  margin-block-end: 22px;
}

.lead {
  max-width: 46ch;
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 500;
  line-height: 1.4;
  text-wrap: pretty;
}

.club-copy .lead {
  margin-block-end: 14px;
}

.body-copy {
  max-width: 50ch;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  text-wrap: pretty;
}

.club-copy .body-copy {
  margin-block-end: 26px;
}

.club-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block-end: 26px;
  border-block-start: 2px solid var(--ink);
}

.club-facts > div {
  padding-block: 12px;
  border-block-end: 1px solid var(--line);
}

.club-facts > div:nth-child(odd) {
  padding-inline-end: 14px;
  border-inline-end: 1px solid var(--line);
}

.club-facts > div:nth-child(even) {
  padding-inline-start: 14px;
}

.club-facts dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}

.club-facts dd {
  margin-block-start: 4px;
  font-family: var(--display);
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.club-figure {
  position: relative;
  align-self: start;
  margin: 0;
}

.club-figure img {
  width: 100%;
  aspect-ratio: 1400 / 820;
  border-inline-start: 7px solid var(--red);
  object-fit: cover;
  filter: saturate(0.78) contrast(1.04);
}

.club-figure figcaption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 12px;
  padding-block: 9px;
  border-block-end: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
}

.club-figure figcaption a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.club-figure figcaption a:hover {
  color: var(--red);
}

.club-stamp {
  position: absolute;
  inset-block-start: 12px;
  inset-inline-end: 12px;
  padding: 6px 10px;
  border: 2px solid var(--red);
  background: var(--paper);
  color: var(--red);
  font-family: var(--display);
  font-size: 46px;
  font-weight: 800;
  line-height: 1;
  transform: rotate(-4deg);
}

.news-layout {
  display: grid;
  gap: 32px;
}

.lead-story {
  min-width: 0;
  padding-block-start: 14px;
  border-block-start: 3px solid var(--ink);
}

.story-figure {
  margin-block-end: 18px;
}

.story-figure img {
  width: 100%;
  aspect-ratio: 1400 / 569;
  object-fit: cover;
  filter: saturate(0.82) contrast(1.03);
}

.story-figure figcaption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 3px 12px;
  padding-block: 8px;
  border-block-end: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
}

.story-figure figcaption a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.story-figure figcaption a:hover {
  color: var(--red);
}

.story-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-block-end: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.story-meta time {
  font-variant-numeric: tabular-nums;
}

.story-title {
  max-width: 22ch;
  margin-block-end: 10px;
  font-family: var(--display);
  font-size: clamp(30px, 4.3vw, 48px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.95;
  text-transform: uppercase;
  text-wrap: balance;
}

.story-body > p {
  max-width: 58ch;
  margin-block-end: 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
  text-wrap: pretty;
}

.news-side {
  display: grid;
  gap: 0;
  align-content: start;
}

.news-brief {
  padding-block: 16px 20px;
  border-block-start: 2px solid var(--ink);
}

.news-brief h3 {
  margin-block-end: 8px;
  font-family: var(--display);
  font-size: 27px;
  font-weight: 700;
  line-height: 0.98;
  text-transform: uppercase;
  text-wrap: balance;
}

.news-brief > p {
  margin-block-end: 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
  text-wrap: pretty;
}

.news-quote {
  display: flex;
  min-height: 210px;
  flex-direction: column;
  margin-block-start: 18px;
  padding: 20px;
  background: var(--red);
  color: var(--paper);
}

.quote-mark {
  color: rgba(255, 255, 255, 0.32);
  font-family: var(--display);
  font-size: 76px;
  font-weight: 800;
  line-height: 0.55;
}

.news-quote p {
  margin-block: 8px 18px;
  font-family: var(--display);
  font-size: 34px;
  font-weight: 700;
  line-height: 0.95;
  text-transform: uppercase;
  text-wrap: balance;
}

.news-quote > span:last-child {
  margin-block-start: auto;
  color: var(--paper);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.league-layout {
  display: grid;
  gap: 28px;
}

.standings-board,
.fixtures-board {
  min-width: 0;
  border: 1px solid var(--ink);
  background: var(--paper);
}

.board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  background: var(--ink);
  color: var(--paper);
}

.board-head h3 {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.board-head span {
  color: rgba(255, 255, 255, 0.64);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
  white-space: nowrap;
}

.standings {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.standings th {
  padding: 9px 8px;
  border-block-end: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-align: start;
  text-transform: uppercase;
}

.standings th:nth-child(n + 3),
.standings td:nth-child(n + 3) {
  text-align: center;
}

.standings td {
  padding: 11px 8px;
  border-block-end: 1px solid var(--line);
  font-size: 12px;
  line-height: 1.3;
}

.standings tbody tr:last-child td {
  border-block-end: 0;
}

.standings td:nth-child(2) {
  font-weight: 600;
  text-align: start;
}

.club-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-inline-end: 7px;
  background: var(--ink);
  vertical-align: 1px;
}

.club-dot--red {
  background: var(--red);
}

.standings tr.is-club {
  background: var(--red);
  color: var(--paper);
  font-weight: 700;
}

.standings tr.is-club td {
  border-color: rgba(255, 255, 255, 0.22);
}

.standings tr.is-club .club-dot--red {
  background: var(--paper);
}

.board-note {
  padding: 9px 15px;
  border-block-start: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.fixtures-board .board-head {
  background: var(--red);
}

.fixtures-board .board-head span {
  color: var(--paper);
}

.fixture {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 13px;
  border-block-end: 1px solid var(--line);
  background: var(--paper);
}

.fixture.is-next {
  background: var(--red-tint);
}

.fixture-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  padding-inline-end: 8px;
  border-inline-end: 1px solid var(--line);
  font-variant-numeric: tabular-nums;
}

.fixture-date strong {
  font-family: var(--display);
  font-size: 27px;
  font-weight: 700;
  line-height: 1;
}

.fixture-date span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fixture-body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.fixture-body > span:first-child {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
}

.fixture-body strong {
  font-family: var(--display);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.fixture-body em {
  color: var(--red-dark);
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  text-transform: lowercase;
}

.fixture-body > span:last-child {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.fixture-status {
  padding: 4px 5px;
  border: 1px solid var(--ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.is-next .fixture-status {
  border-color: var(--red);
  background: var(--red);
  color: var(--paper);
}

.fixtures-board > .text-link {
  margin: 14px;
}

.academy-layout {
  display: grid;
  gap: 28px;
}

.academy-copy {
  min-width: 0;
}

.academy-copy .display-title {
  margin-block-end: 20px;
}

.academy-copy .lead {
  margin-block-end: 28px;
}

.academy-steps {
  border-block-start: 2px solid var(--ink);
}

.academy-steps li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  padding-block: 14px;
  border-block-end: 1px solid var(--line);
}

.step-number {
  color: var(--red);
  font-family: var(--display);
  font-size: 23px;
  font-weight: 700;
  line-height: 1;
}

.academy-steps strong {
  display: block;
  margin-block-end: 3px;
  font-size: 13px;
  line-height: 1.4;
}

.academy-steps p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.academy-notice {
  align-self: start;
  padding: 22px;
  border-block-start: 6px solid var(--red);
  background: var(--ink);
  color: var(--paper);
}

.notice-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-block-end: 11px;
  border-block-end: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.notice-head span:last-child {
  color: var(--red-tint);
  font-family: var(--display);
  font-size: 20px;
  letter-spacing: 0.02em;
}

.academy-notice h3 {
  margin-block: 18px 10px;
  font-family: var(--display);
  font-size: clamp(36px, 5vw, 48px);
  font-weight: 700;
  line-height: 0.9;
  text-transform: uppercase;
  text-wrap: balance;
}

.academy-notice > p {
  margin-block-end: 18px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  line-height: 1.6;
}

.academy-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block-end: 20px;
  border-block: 1px solid rgba(255, 255, 255, 0.2);
}

.academy-stats > div {
  padding: 12px 4px;
  text-align: center;
}

.academy-stats > div + div {
  border-inline-start: 1px solid rgba(255, 255, 255, 0.2);
}

.academy-stats dt {
  color: var(--red);
  font-family: var(--display);
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}

.academy-stats dd {
  margin-block-start: 3px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.07em;
  line-height: 1.35;
  text-transform: uppercase;
}

.shop {
  position: relative;
  padding-block: clamp(64px, 9vw, 112px);
  background: var(--red);
  color: var(--paper);
  overflow: hidden;
}

.shop-layout {
  display: grid;
  gap: 34px;
}

.section-rail--light .section-number {
  color: var(--paper);
}

.section-rail--light .section-label {
  color: var(--paper);
}

.shop .display-title {
  max-width: 10ch;
  margin-block: 18px 20px;
  font-size: clamp(52px, 9vw, 96px);
  color: var(--paper);
}

.shop .display-title span:last-child {
  color: var(--ink);
}

.shop-lead {
  max-width: 46ch;
  margin-block-end: 22px;
  color: var(--paper);
  font-size: 15px;
  line-height: 1.6;
  text-wrap: pretty;
}

.shop-points {
  max-width: 48ch;
  margin-block-end: 26px;
  border-block-start: 1px solid rgba(255, 255, 255, 0.34);
}

.shop-points li {
  position: relative;
  padding-block: 10px;
  padding-inline: 20px 0;
  border-block-end: 1px solid rgba(255, 255, 255, 0.34);
  font-size: 12px;
  line-height: 1.45;
}

.shop-points li::before {
  position: absolute;
  inset-block-start: 17px;
  inset-inline-start: 0;
  width: 9px;
  height: 2px;
  background: var(--paper);
  content: "";
}

.product-plate {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 400px;
  align-self: start;
  justify-self: start;
  margin: 0;
  padding: 20px;
  background: var(--paper);
  color: var(--ink);
}

.product-plate::before {
  position: absolute;
  inset-block: 10px -10px;
  inset-inline: 10px -10px;
  z-index: -1;
  border: 2px solid var(--ink);
  content: "";
}

.product-badge {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  padding: 6px 11px;
  background: var(--ink);
  color: var(--paper);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
}

.product-plate > img {
  width: 100%;
  max-height: 390px;
  margin-inline: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.product-plate figcaption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-block-start: 11px;
  border-block-start: 2px solid var(--ink);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.product-plate figcaption strong {
  font-family: var(--display);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.product-meta {
  display: block;
  margin-block-start: 6px;
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
}

.ticket-strip {
  display: grid;
  gap: 16px;
  padding: 20px;
  border-block-start: 5px solid var(--paper);
  background: var(--ink);
  color: var(--paper);
}

.ticket-strip-label {
  display: block;
  margin-block-end: 5px;
  color: var(--red-tint);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}

.ticket-strip strong {
  display: block;
  font-family: var(--display);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.05;
  text-transform: uppercase;
}

.ticket-strip .button {
  justify-self: start;
}

.section--partners {
  padding-block-end: 0;
}

.partners-head {
  display: grid;
  gap: 20px;
  margin-block-end: 38px;
}

.partners-lead {
  max-width: 38ch;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
  text-wrap: pretty;
}

.partners-marquee {
  border-block: 2px solid var(--ink);
  background: var(--paper);
  overflow: hidden;
}

.partners-track {
  display: flex;
  width: max-content;
  animation: marquee 42s linear infinite;
  will-change: transform;
}

.partners-marquee:hover .partners-track,
.partners-marquee:focus-within .partners-track {
  animation-play-state: paused;
}

.partners-group {
  display: flex;
  align-items: stretch;
}

.partners-group li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 24px;
  border-inline-end: 1px solid var(--line);
  white-space: nowrap;
}

.partners-group li span {
  color: var(--red);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}

.partners-group strong {
  font-family: var(--display);
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  text-transform: uppercase;
}

.partners-foot {
  display: grid;
  gap: 16px;
  align-items: center;
  padding-block: 24px 30px;
}

.partners-foot > p:first-child {
  font-size: 13px;
  line-height: 1.5;
}

.partners-foot .button {
  justify-self: start;
}

.partners-note {
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

@keyframes marquee {
  to {
    transform: translateX(-33.3333%);
  }
}

@keyframes marquee-rtl {
  to {
    transform: translateX(33.3333%);
  }
}

.site-footer {
  padding-block: 48px 22px;
  border-block-start: 6px solid var(--red);
  background: var(--ink);
  color: var(--paper);
}

.footer-top {
  display: grid;
  gap: 28px;
}

.brand--footer {
  color: var(--paper);
}

.brand--footer .brand-mark {
  border-color: rgba(255, 255, 255, 0.24);
}

.brand--footer .brand-type span {
  color: rgba(255, 255, 255, 0.56);
}

.footer-tagline {
  max-width: 28ch;
  margin-block: 14px 18px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
  line-height: 1.5;
}

.footer-socials {
  display: flex;
  gap: 7px;
}

.footer-socials a {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.24);
  transition:
    background-color var(--dur) var(--ease),
    border-color var(--dur) var(--ease);
}

.footer-socials a:hover {
  border-color: var(--red);
  background: var(--red);
}

.footer-socials svg {
  width: 17px;
  height: 17px;
}

.footer-col h2 {
  margin-block-end: 12px;
  color: rgba(255, 255, 255, 0.5);
  font-family: var(--body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.footer-col ul {
  display: grid;
  gap: 7px;
}

.footer-col a {
  color: var(--paper);
  font-size: 12px;
  line-height: 1.5;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition:
    color var(--dur) var(--ease),
    text-decoration-color var(--dur) var(--ease);
}

.footer-col a:hover {
  color: var(--red-tint);
  text-decoration-color: var(--red-tint);
}

.footer-contact address {
  display: grid;
  gap: 7px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
  font-style: normal;
  line-height: 1.5;
}

.footer-contact address a {
  color: var(--paper);
}

.footer-contact address a:hover {
  color: var(--red-tint);
}

.footer-partners {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 22px;
  margin-block-start: 34px;
  padding-block-start: 18px;
  border-block-start: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-partners > span {
  color: rgba(255, 255, 255, 0.48);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.footer-partners ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
}

.footer-partners li {
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  line-height: 1.4;
}

.footer-bottom {
  display: grid;
  gap: 9px;
  margin-block-start: 18px;
  padding-block-start: 16px;
  border-block-start: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  line-height: 1.5;
}

.footer-bottom p {
  margin: 0;
}

.credits {
  color: rgba(255, 255, 255, 0.56);
  font-size: 12px;
  line-height: 1.5;
}

.credits summary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  list-style: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

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

.credits summary::after {
  color: var(--red);
  content: "+";
  font-size: 12px;
  font-weight: 700;
}

.credits[open] summary::after {
  content: "−";
}

.credits ul {
  display: grid;
  gap: 5px;
  margin-block-start: 8px;
  padding-inline-start: 14px;
  list-style: disc;
}

.credits a {
  color: var(--paper);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.credits a:hover {
  color: var(--red-tint);
}

html[dir="rtl"] body {
  font-family: var(--arabic);
  line-height: 1.7;
}

html[dir="rtl"] .display-title,
html[dir="rtl"] .story-title,
html[dir="rtl"] .news-brief h3,
html[dir="rtl"] .academy-notice h3,
html[dir="rtl"] .menu-feature-title,
html[dir="rtl"] .partners-group strong,
html[dir="rtl"] .ticket-strip strong,
html[dir="rtl"] .product-plate figcaption strong,
html[dir="rtl"] .fixture-body strong {
  font-family: var(--arabic);
  letter-spacing: 0;
  line-height: 1.08;
  text-transform: none;
}

html[dir="rtl"] .hero-title {
  font-family: var(--arabic);
  letter-spacing: 0;
  line-height: 1.02;
  text-transform: none;
}

html[dir="rtl"] .hero-line:first-child {
  direction: ltr;
  font-family: var(--display);
  letter-spacing: 0.02em;
  text-align: right;
  text-transform: uppercase;
}

html[dir="rtl"] .menu-number,
html[dir="rtl"] .section-number,
html[dir="rtl"] .countdown-value,
html[dir="rtl"] .fixture-date strong,
html[dir="rtl"] .academy-stats dt,
html[dir="rtl"] .club-facts dd,
html[dir="rtl"] .strip-cell strong,
html[dir="rtl"] .club-stamp {
  font-family: var(--arabic);
  letter-spacing: 0;
  text-transform: none;
}

html[dir="rtl"] .ticket-team strong {
  font-family: var(--arabic);
  letter-spacing: 0;
  text-transform: none;
}

html[dir="rtl"] .ticket-team:first-child strong {
  direction: ltr;
  font-family: var(--display);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

html[dir="rtl"] .button,
html[dir="rtl"] .text-link,
html[dir="rtl"] .section-label,
html[dir="rtl"] .story-meta,
html[dir="rtl"] .tag,
html[dir="rtl"] .ticket-head,
html[dir="rtl"] .ticket-facts dt,
html[dir="rtl"] .countdown-label,
html[dir="rtl"] .menu-eyebrow,
html[dir="rtl"] .menu-feature-link,
html[dir="rtl"] .issue-line,
html[dir="rtl"] .hero-scroll,
html[dir="rtl"] .hero-rail,
html[dir="rtl"] .strip-label,
html[dir="rtl"] .strip-demo,
html[dir="rtl"] .fixture-status,
html[dir="rtl"] .board-head span,
html[dir="rtl"] .board-note,
html[dir="rtl"] .notice-head,
html[dir="rtl"] .academy-stats dd,
html[dir="rtl"] .product-badge,
html[dir="rtl"] .product-meta,
html[dir="rtl"] .ticket-strip-label,
html[dir="rtl"] .footer-col h2,
html[dir="rtl"] .footer-partners > span,
html[dir="rtl"] .partners-note,
html[dir="rtl"] .credits {
  letter-spacing: 0;
  text-transform: none;
}

html[dir="rtl"] .button-arrow,
html[dir="rtl"] .text-link > span[aria-hidden="true"],
html[dir="rtl"] .strip-link > span[aria-hidden="true"] {
  display: inline-block;
  transform: scaleX(-1);
}

html[dir="rtl"] .button:hover .button-arrow {
  transform: scaleX(-1) translateX(4px);
}

html[dir="rtl"] .text-link:hover > span[aria-hidden="true"] {
  transform: scaleX(-1) translateX(3px);
}

html[dir="rtl"] .partners-track {
  animation-name: marquee-rtl;
}

html[dir="rtl"] .hero-overlay {
  background:
    linear-gradient(180deg, rgba(21, 17, 16, 0.18) 0%, rgba(21, 17, 16, 0.68) 58%, rgba(21, 17, 16, 0.96) 100%),
    linear-gradient(270deg, rgba(21, 17, 16, 0.78) 0%, rgba(21, 17, 16, 0.2) 72%);
}

html[dir="rtl"] .shop-points li {
  padding-inline: 20px 0;
}

@media (min-width: 480px) {
  .match-ticker-inner {
    font-size: 12px;
  }

  .fixture {
    grid-template-columns: 52px minmax(0, 1fr) auto;
    padding: 15px;
  }

  .fixture-body strong {
    font-size: 16px;
  }
}

@media (min-width: 640px) {
  .masthead-tools > .lang-switch {
    display: flex;
  }

  .ticker-meta {
    display: inline;
  }

  .hero-title {
    font-size: clamp(110px, 19vw, 160px);
  }

  .hero-dek {
    font-size: 18px;
  }

  .match-ticket {
    padding: 24px;
  }

  .countdown-value {
    font-size: 44px;
  }

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

  .strip-cell:nth-child(2n) {
    padding-inline-start: 18px;
    border-inline-start: 1px solid rgba(255, 255, 255, 0.28);
  }

  .strip-link {
    padding: 22px 18px;
  }

  .standings th,
  .standings td {
    padding-inline: 12px;
  }

  .shop-layout {
    gap: 40px;
  }

  .partners-group li {
    padding: 18px 30px;
  }

  .partners-group strong {
    font-size: 26px;
  }

  .footer-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (min-width: 760px) {
  .hero-title {
    font-size: clamp(120px, 16vw, 170px);
  }

  .news-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
  }

  .news-quote {
    grid-column: 1 / -1;
  }

  .ticket-strip {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .academy-notice {
    max-width: 560px;
  }
}

@media (min-width: 900px) {
  .ticker-label {
    display: inline;
  }

  .hero-inner {
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: end;
    gap: 36px;
  }

  .hero-title {
    font-size: clamp(100px, 13vw, 168px);
  }

  .match-ticket {
    justify-self: end;
  }

  .strip-grid {
    grid-template-columns: 1.1fr 1fr 0.55fr 0.9fr;
  }

  .strip-cell,
  .strip-cell:first-child,
  .strip-cell:nth-child(2n) {
    padding: 24px 18px;
    border-block-end: 0;
    border-inline-start: 1px solid rgba(255, 255, 255, 0.28);
  }

  .strip-cell:first-child {
    border-inline-start: 0;
  }

  .strip-link {
    height: 100%;
    padding: 24px 18px;
  }

  .partners-foot {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px 24px;
  }

  .partners-note {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px 24px;
  }

  .credits {
    grid-column: 1 / -1;
  }
}

@media (min-width: 1024px) {
  .masthead-inner {
    gap: 22px;
  }

  .masthead-ticket {
    display: inline-flex;
  }

  .masthead-tools {
    gap: 14px;
  }

  .menu-toggle,
  .nav-head,
  .nav-foot {
    display: none;
  }

  .site-nav,
  html[dir="rtl"] .site-nav {
    position: static;
    inset: auto;
    z-index: auto;
    display: block;
    width: auto;
    height: auto;
    flex: none;
    margin-inline-start: auto;
    padding: 0;
    border: 0;
    background: none;
    overflow: visible;
    transform: none;
    visibility: visible;
    transition: none;
  }

  .nav-list {
    display: flex;
    align-items: stretch;
    margin: 0;
  }

  .nav-item {
    position: static;
    border: 0;
  }

  .nav-link {
    position: relative;
    width: auto;
    padding: 11px 10px;
    font-size: 16px;
    white-space: nowrap;
  }

  .nav-link.is-active::after,
  .nav-item.is-open > .nav-link::after {
    position: absolute;
    inset-inline: 10px;
    inset-block-end: 0;
    height: 3px;
    background: var(--red);
    content: "";
  }

  .chev {
    width: 10px;
    height: 10px;
  }

  .menu-panel {
    position: fixed;
    inset-block-start: var(--header);
    inset-inline: 0;
    z-index: 95;
    width: 100%;
    max-height: calc(100dvh - var(--header));
    padding: 0;
    border: 0;
    border-block-end: 1px solid var(--ink);
    background: var(--paper);
    box-shadow: 0 28px 60px rgba(21, 17, 16, 0.18);
    overflow-y: auto;
  }

  .menu-grid {
    width: 100%;
    max-width: calc(var(--page) + (2 * var(--gutter)));
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 32px;
    margin-inline: auto;
    padding: 26px var(--gutter) 30px;
  }

  .menu-eyebrow {
    padding-block-end: 8px;
    font-size: 12px;
  }

  .menu-link {
    padding-block: 8px;
    font-size: 14px;
  }

  .menu-feature {
    grid-column: span 2;
    min-height: 100%;
    padding: 22px;
  }

  #menu-teams .menu-feature {
    grid-column: span 1;
  }

  #menu-news .menu-feature,
  #menu-shop .menu-feature {
    grid-column: span 3;
  }

  #menu-shop .menu-feature--product {
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 22px;
  }

  #menu-shop .menu-feature--product > img {
    width: 80px;
  }

  .hero-inner {
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 48px;
    padding-block: 94px 34px;
  }

  .hero-title {
    font-size: clamp(112px, 12vw, 180px);
  }

  .hero-dek {
    max-width: 41ch;
  }

  .hero-rail {
    padding-block: 18px 22px;
  }

  .section-grid {
    grid-template-columns: 150px minmax(0, 1.15fr) minmax(300px, 0.85fr);
    align-items: start;
    gap: 40px 48px;
  }

  .section-rail {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding-block-start: 6px;
  }

  .section-head {
    grid-template-columns: 150px minmax(0, 1fr) auto;
    align-items: end;
    gap: 28px 36px;
    margin-block-end: 48px;
  }

  .section-head > .text-link {
    justify-self: end;
    margin-block-end: 7px;
  }

  .section-head .section-rail {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .display-title {
    font-size: clamp(54px, 6.3vw, 90px);
  }

  .news-layout {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
    gap: 48px;
  }

  .news-side {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .news-quote {
    grid-column: auto;
    margin-block-start: 22px;
  }

  .league-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    align-items: start;
    gap: 30px;
  }

  .academy-layout {
    grid-template-columns: 150px minmax(0, 1.25fr) 380px;
    align-items: start;
    gap: 40px 48px;
  }

  .academy-layout .section-rail {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding-block-start: 6px;
  }

  .academy-notice {
    max-width: none;
    padding: 24px;
  }

  .shop-layout {
    grid-template-columns: minmax(0, 1fr) 400px;
    align-items: start;
    gap: 48px 56px;
  }

  .shop .display-title {
    font-size: clamp(62px, 7.5vw, 98px);
  }

  .product-plate {
    justify-self: end;
  }

  .ticket-strip {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: 24px 28px;
  }

  .partners-head {
    grid-template-columns: 150px minmax(0, 1fr) 290px;
    align-items: end;
    gap: 28px 36px;
    margin-block-end: 44px;
  }

  .partners-head .section-rail {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .partners-lead {
    margin-block-end: 6px;
  }

  .partners-foot {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 24px;
    padding-block: 26px 34px;
  }

  .partners-note {
    grid-column: auto;
    text-align: end;
  }

  .footer-top {
    grid-template-columns: minmax(0, 1.25fr) 0.55fr 0.55fr minmax(0, 1fr);
    gap: 36px;
  }

  .footer-brand {
    grid-column: auto;
  }

  .footer-bottom {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 28px;
    margin-block-start: 22px;
    padding-block-start: 18px;
  }

  .credits {
    grid-column: 1 / -1;
  }
}

@media (min-width: 1280px) {
  .nav-link {
    padding-inline: 12px;
    font-size: 17px;
  }

  .nav-link.is-active::after,
  .nav-item.is-open > .nav-link::after {
    inset-inline: 12px;
  }

  .hero-inner {
    grid-template-columns: minmax(0, 1fr) 440px;
    gap: 56px;
  }

  .hero-title {
    font-size: clamp(140px, 11vw, 190px);
  }

  .match-ticket {
    max-width: 440px;
  }

  .section-grid {
    grid-template-columns: 175px minmax(0, 1.15fr) minmax(340px, 0.85fr);
    gap: 48px 56px;
  }

  .section-head {
    grid-template-columns: 175px minmax(0, 1fr) auto;
    gap: 32px 44px;
  }

  .academy-layout {
    grid-template-columns: 175px minmax(0, 1.25fr) 400px;
    gap: 48px 56px;
  }

  .shop-layout {
    grid-template-columns: minmax(0, 1fr) 430px;
    gap: 54px 64px;
  }

  .partners-head {
    grid-template-columns: 175px minmax(0, 1fr) 300px;
    gap: 32px 44px;
  }

  .partners-group li {
    padding-inline: 34px;
  }

  .partners-group strong {
    font-size: 28px;
  }

  .footer-top {
    grid-template-columns: minmax(0, 1.35fr) 0.55fr 0.55fr minmax(0, 1fr);
    gap: 44px;
  }
}

@media (max-width: 369px) {
  .brand-type span {
    display: none;
  }

  .brand-mark {
    padding-inline-end: 8px;
  }

  .hero-title {
    font-size: 76px;
  }
}

@media (max-width: 479px) {
  .hero-rail {
    gap: 8px 12px;
    letter-spacing: 0.08em;
  }

  .standings th:nth-child(4),
  .standings td:nth-child(4) {
    display: none;
  }

  .fixture {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .fixture-status {
    grid-column: 2;
    justify-self: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .partners-track {
    animation: none;
    transform: none;
  }

  .partners-group:not(:first-child) {
    display: none;
  }
}
