:root {
  --yellow: #fdd103;
  --yellow2: #fad821;
  --black: #111111;
  --graphite: #fbfbf7;
  --silver: #fae04c;
  --mid: #111111;
  --off: #fbfbf7;
  --white: #ffffff;
  --max: 1320px;
  --edge: clamp(20px, 4vw, 64px);
  --radius: 6px;
  --display:
    Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif;
  --body:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  background: var(--black);
}
body {
  margin: 0;
  font-family: var(--body);
  background: var(--black);
  color: var(--off);
  line-height: 1.5;
  overflow-x: hidden;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  display: block;
}
button,
input,
select {
  font: inherit;
}
::selection {
  background: var(--yellow);
  color: var(--black);
}
.container {
  width: min(var(--max), calc(100% - 2 * var(--edge)));
  margin-inline: auto;
}
.eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 850;
  color: var(--yellow);
}
.display {
  font-family: var(--display);
  letter-spacing: 0.01em;
  text-transform: uppercase;
  line-height: 0.9;
  margin: 0;
}
.section-title {
  font-size: clamp(3rem, 7vw, 7.8rem);
}
.muted {
  color: #b7b5b7;
}
.small {
  font-size: 0.86rem;
}
.section {
  position: relative;
  padding: clamp(72px, 9vw, 138px) 0;
  overflow: hidden;
}
.section.dark {
  background: #0c0c0f;
}
.section.graphite {
  background: #161619;
}
.section.light {
  background: var(--off);
  color: #111;
}
.section.yellow {
  background: var(--yellow);
  color: var(--black);
}
.slash {
  position: absolute;
  background: var(--yellow);
  height: 12px;
  width: min(32vw, 430px);
  transform: rotate(-11deg);
  filter: drop-shadow(0 0 18px rgba(253, 210, 2, 0.16));
  pointer-events: none;
}
.slash.silver {
  background: linear-gradient(90deg, #777, #f3f3f3, #888);
}
.halftone {
  position: absolute;
  width: 260px;
  height: 260px;
  opacity: 0.18;
  background-image: radial-gradient(
    circle,
    currentColor 1.2px,
    transparent 1.4px
  );
  background-size: 11px 11px;
  mask-image: linear-gradient(135deg, #000, transparent 72%);
  pointer-events: none;
}
.big90 {
  position: absolute;
  font-family: var(--display);
  font-size: min(44vw, 720px);
  line-height: 0.7;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.1);
  right: -0.05em;
  top: 0.05em;
  letter-spacing: -0.04em;
  pointer-events: none;
  user-select: none;
}
.yellow .big90 {
  color: rgba(0, 0, 0, 0.04);
  -webkit-text-stroke: 1px rgba(0, 0, 0, 0.12);
}
/* nav */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  transition: 0.3s;
  background: linear-gradient(#070709dd, transparent);
  border-bottom: 1px solid transparent;
}
.site-header.scrolled {
  background: rgba(11, 11, 13, 0.92);
  backdrop-filter: blur(14px);
  border-bottom-color: rgba(253, 210, 2, 0.18);
}
.nav {
  height: 86px;
  display: flex;
  align-items: center;
  gap: 26px;
}
.brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.brand img {
  width: 122px;
  height: 64px;
  object-fit: contain;
  object-position: center;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 30px);
  margin-left: auto;
}
.nav-links a {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #f7f7f7;
  position: relative;
  white-space: nowrap;
}
.nav-links a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -9px;
  width: 0;
  height: 2px;
  background: var(--yellow);
  transition: 0.24s;
}
.nav-links a:hover:after,
.nav-links a.active:after {
  width: 100%;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid transparent;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-size: 0.76rem;
  clip-path: polygon(
    0 0,
    calc(100% - 12px) 0,
    100% 12px,
    100% 100%,
    12px 100%,
    0 calc(100% - 12px)
  );
  transition: 0.25s;
  cursor: pointer;
}
.btn span {
  transition: 0.25s;
}
.btn:hover span {
  transform: translateX(4px);
}
.btn.primary {
  background: var(--yellow);
  color: #0a0a0b;
}
.btn.primary:hover {
  background: #ffe138;
}
.btn.secondary {
  border-color: #7e7d80;
  color: #fff;
  background: rgba(255, 255, 255, 0.03);
}
.btn.secondary:hover {
  border-color: var(--yellow);
}
.menu-btn {
  display: none;
  margin-left: auto;
  background: none;
  border: 0;
  color: #fff;
  width: 48px;
  height: 48px;
}
.menu-btn i,
.menu-btn i:before,
.menu-btn i:after {
  display: block;
  width: 25px;
  height: 2px;
  background: currentColor;
  content: "";
  position: relative;
}
.menu-btn i:before {
  position: absolute;
  top: -8px;
}
.menu-btn i:after {
  position: absolute;
  top: 8px;
}
.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: #0b0b0d;
  transform: translateX(100%);
  transition: 0.38s cubic-bezier(0.65, 0, 0.35, 1);
  padding: 100px 28px 40px;
}
.mobile-menu.open {
  transform: none;
}
.mobile-menu:before {
  content: "";
  position: absolute;
  inset: -20% 48% -20% -10%;
  background: var(--yellow);
  transform: skewX(-12deg);
  z-index: -1;
}
.mobile-menu a {
  display: block;
  font-family: var(--display);
  font-size: clamp(2.4rem, 12vw, 5rem);
  line-height: 1;
  text-transform: uppercase;
  margin: 10px 0;
  color: #fff;
  text-shadow: 0 2px 0 #000;
}
.mobile-close {
  position: absolute;
  right: 24px;
  top: 22px;
  color: #fff;
  background: none;
  border: 1px solid #555;
  width: 48px;
  height: 48px;
  font-size: 1.4rem;
}
/* hero */
.hero {
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  padding: 150px 0 72px;
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(
      circle at 80% 32%,
      rgba(253, 210, 2, 0.11),
      transparent 27%
    ),
    linear-gradient(115deg, #08080a 0%, #101014 55%, #09090b 100%);
}
.hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.1),
      transparent 55%,
      rgba(0, 0, 0, 0.2)
    ),
    linear-gradient(0deg, #0b0b0d 0%, transparent 18%);
  z-index: -1;
}
.hero-art {
  position: absolute;
  right: -1vw;
  bottom: 0;
  width: min(52vw, 920px);
  height: min(84vh, 820px);
  z-index: -1;
  overflow: visible;
  pointer-events: none;
  isolation: isolate;
}
.hero-backplate,
.hero-gridlines,
.hero-halo,
.hero-swoosh,
.hero-orbit,
.hero-art-number,
.hero-figure,
.hero-figure-shadow,
.hero-cutout {
  position: absolute;
  display: block;
}
.hero-art-number {
  right: -2%;
  top: 3%;
  font-family: var(--display);
  font-size: min(33vw, 520px);
  line-height: 0.8;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.1);
  letter-spacing: -0.03em;
  z-index: 0;
}
.hero-backplate {
  inset: 14% 8% 8% 6%;
  background: linear-gradient(
    140deg,
    rgba(255, 255, 255, 0.07),
    rgba(255, 255, 255, 0.015) 40%,
    rgba(255, 255, 255, 0.05) 100%
  );
  clip-path: polygon(16% 0, 100% 10%, 88% 100%, 0 92%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow:
    0 44px 90px rgba(0, 0, 0, 0.32),
    inset 0 0 0 1px rgba(255, 255, 255, 0.03);
  z-index: 1;
}
.hero-backplate:after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(253, 210, 2, 0.1), transparent 42%),
    url("assets/super90-theme.webp") center/cover no-repeat;
  mix-blend-mode: screen;
  opacity: 0.16;
}
.hero-gridlines {
  inset: 11% 9% 8% 10%;
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(135deg, #000 35%, transparent 92%);
  opacity: 0.25;
  z-index: 2;
}
.hero-halo {
  border-radius: 50%;
  filter: blur(12px);
  z-index: 2;
}
.hero-halo-main {
  right: 11%;
  top: 16%;
  width: 58%;
  height: 58%;
  background: radial-gradient(
    circle,
    rgba(253, 210, 2, 0.2) 0%,
    rgba(253, 210, 2, 0.08) 38%,
    rgba(253, 210, 2, 0) 72%
  );
}
.hero-halo-left {
  left: 7%;
  top: 30%;
  width: 28%;
  height: 28%;
  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.1) 0%,
    rgba(253, 210, 2, 0.06) 48%,
    rgba(253, 210, 2, 0) 76%
  );
}
.hero-halo-right {
  right: 1%;
  top: 28%;
  width: 34%;
  height: 34%;
  background: radial-gradient(
    circle,
    rgba(253, 210, 2, 0.1) 0%,
    rgba(253, 210, 2, 0.05) 44%,
    rgba(253, 210, 2, 0) 76%
  );
}
.hero-swoosh {
  border-radius: 999px;
  z-index: 4;
}
.hero-swoosh-a {
  left: 24%;
  bottom: 19%;
  width: 46%;
  height: 6px;
  background: linear-gradient(
    90deg,
    rgba(253, 210, 2, 0),
    rgba(253, 210, 2, 0.72) 35%,
    #ffe46a 75%,
    rgba(255, 255, 255, 0.92)
  );
  transform: rotate(-12deg);
  box-shadow: 0 0 18px rgba(253, 210, 2, 0.2);
}
.hero-swoosh-a:after {
  content: "";
  position: absolute;
  right: -7px;
  top: 50%;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 35% 30%,
    #fff7b4 0%,
    #fdd202 45%,
    #c98500 100%
  );
  transform: translateY(-50%);
  box-shadow:
    0 0 0 5px rgba(253, 210, 2, 0.07),
    0 0 20px rgba(253, 210, 2, 0.26);
}
.hero-swoosh-b {
  right: 14%;
  top: 20%;
  width: 18%;
  height: 2px;
  opacity: 0.5;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0.65),
    rgba(253, 210, 2, 0)
  );
  transform: rotate(-24deg);
}
.hero-orbit {
  border: 1px dashed rgba(253, 210, 2, 0.18);
  border-left-color: transparent;
  border-bottom-color: transparent;
  border-radius: 50%;
  z-index: 3;
  opacity: 0.58;
}
.hero-orbit-a {
  right: 7%;
  top: 10%;
  width: 46%;
  height: 46%;
  transform: rotate(10deg);
}
.hero-orbit-b {
  right: 0%;
  top: 25%;
  width: 25%;
  height: 25%;
  transform: rotate(-8deg);
  opacity: 0.32;
}
.hero-figure {
  z-index: 6;
}
.hero-figure-shadow {
  left: 12%;
  right: 12%;
  bottom: 0;
  height: 24px;
  background: radial-gradient(circle, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 72%);
  filter: blur(7px);
}
.hero-cutout {
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(0 22px 40px rgba(0, 0, 0, 0.35))
    drop-shadow(0 0 18px rgba(253, 210, 2, 0.1));
}
.hero-figure-center {
  right: 23%;
  bottom: 0;
  width: min(34%, 280px);
  height: 92%;
}
.hero-figure-center .hero-figure-shadow {
  left: 18%;
  right: 18%;
  height: 34px;
}
.hero-figure-left {
  left: 5%;
  bottom: 2%;
  width: min(34%, 310px);
  height: 64%;
  z-index: 5;
}
.hero-figure-right {
  right: 0%;
  bottom: 1%;
  width: min(36%, 320px);
  height: 68%;
  z-index: 5;
}
.hero-theme {
  position: absolute;
  right: -8%;
  top: 14%;
  width: 42%;
  height: 36%;
  background: url("assets/super90-theme.webp") center/cover no-repeat;
  mix-blend-mode: screen;
  opacity: 0.07;
  transform: rotate(-8deg);
  clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);
  filter: blur(0.2px);
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.55fr);
  gap: 50px;
  align-items: end;
}
.hero-copy {
  max-width: 820px;
}
.hero-logo {
  width: 180px;
  margin-bottom: 22px;
  filter: drop-shadow(0 12px 30px rgba(0, 0, 0, 0.5));
}
.hero h1 {
  font-size: clamp(3.9rem, 8.6vw, 8.8rem);
}
.hero h1 .outline {
  color: transparent;
  -webkit-text-stroke: 1px #d7d5d6;
}
.hero-sub {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  max-width: 610px;
  color: #dbd9da;
  margin: 26px 0;
}
.hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.meta-strip {
  grid-column: 1/-1;
  margin-top: 30px;
  border-top: 1px solid #3c3c42;
  border-bottom: 1px solid #3c3c42;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  background: #0c0c10cc;
}
.meta-item {
  padding: 18px 18px;
  border-right: 1px solid #303035;
}
.meta-item:last-child {
  border-right: 0;
}
.meta-item b {
  display: block;
  color: #fff;
  font-size: 0.9rem;
}
.meta-item span {
  display: block;
  color: #88888e;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-top: 3px;
}
/* format */
.format-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 70px;
  align-items: end;
}
.format-intro p {
  max-width: 530px;
}
.number-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #3b3b40;
  background: #111115;
}
.num {
  padding: 32px 26px;
  min-height: 190px;
  border-right: 1px solid #34343a;
  position: relative;
}
.num:last-child {
  border-right: 0;
}
.num strong {
  font-family: var(--display);
  font-size: clamp(4.5rem, 8vw, 8rem);
  line-height: 0.8;
  color: var(--yellow);
}
.num span {
  display: block;
  margin-top: 16px;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #ccc;
}
.num:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 42%;
  height: 3px;
  background: var(--yellow);
}
/* match */
.match-wrap {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 34px;
  align-items: stretch;
}
.match-lead {
  border-left: 5px solid var(--yellow);
  padding: 10px 0 10px 28px;
}
.match-card {
  background: linear-gradient(135deg, #29272a, #151518 72%);
  border: 1px solid #4a484b;
  position: relative;
  padding: 30px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
}
.match-card:before {
  content: "";
  position: absolute;
  right: -70px;
  top: -80px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(253, 210, 2, 0.25);
  transform: rotate(35deg);
}
.match-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #464448;
  padding-bottom: 18px;
  margin-bottom: 24px;
}
.status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #d9d9d9;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 800;
}
.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 0 0 6px rgba(253, 210, 2, 0.08);
}
.teams-vs {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  align-items: center;
}
.team {
  text-align: center;
}
.crest {
  width: 90px;
  height: 90px;
  margin: 0 auto 12px;
  border: 1px solid #56555a;
  display: grid;
  place-items: center;
  font-family: var(--display);
  font-size: 2.5rem;
  color: var(--yellow);
  background: #0e0e11;
  clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
}
.team h3 {
  margin: 0;
  font-size: 1.1rem;
}
.vs {
  font-family: var(--display);
  font-size: 3rem;
  color: #777;
}
.match-info {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #454348;
  margin-top: 28px;
}
.match-info div {
  background: #17171a;
  padding: 15px;
}
.match-info span {
  display: block;
  color: #85858a;
  font-size: 0.66rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.match-info b {
  font-size: 0.82rem;
}
.match-actions {
  margin-top: 24px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
/* teams */
.section-head {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: end;
  margin-bottom: 42px;
}
.section-head p {
  max-width: 470px;
  margin: 0;
}
.team-rail {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.team-card {
  min-height: 390px;
  background: linear-gradient(160deg, #2a282b, #111114);
  border: 1px solid #39383c;
  position: relative;
  padding: 24px;
  overflow: hidden;
  transition: 0.28s;
}
.team-card:before {
  content: "";
  position: absolute;
  inset: auto -35% -35% 10%;
  height: 70%;
  background: linear-gradient(135deg, transparent, var(--team, #fdd202));
  opacity: 0.12;
  transform: skewX(-10deg);
  transition: 0.3s;
}
.team-card:hover {
  transform: translateY(-7px);
  border-color: #777;
}
.team-card:hover:before {
  opacity: 0.25;
}
.team-card .crest {
  margin: 12px 0 0;
  width: 105px;
  height: 105px;
}
.team-card .team-index {
  position: absolute;
  right: -4px;
  top: 8px;
  font-family: var(--display);
  font-size: 8rem;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.08);
}
.team-card .team-bottom {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
}
.team-card h3 {
  font-family: var(--display);
  font-size: 2rem;
  text-transform: uppercase;
  margin: 0;
}
.team-card .link {
  margin-top: 16px;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 900;
  color: var(--yellow);
}
/* players */
.player-stage {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  min-height: 570px;
  border: 1px solid #38383d;
  background: radial-gradient(circle at 30% 25%, #2b2b31, #0e0e11 58%);
  position: relative;
  overflow: hidden;
}
.player-visual {
  position: relative;
}
.player-visual:before {
  content: "";
  position: absolute;
  width: 55%;
  height: 96%;
  bottom: 0;
  left: 20%;
  background: linear-gradient(160deg, #56565d, #151519 58%);
  clip-path: polygon(
    44% 0,
    63% 5%,
    67% 18%,
    59% 31%,
    77% 43%,
    66% 57%,
    81% 79%,
    75% 100%,
    27% 100%,
    31% 74%,
    17% 58%,
    28% 42%,
    25% 24%
  );
  filter: grayscale(1);
}
.player-visual:after {
  content: "90";
  position: absolute;
  left: 0;
  top: 1%;
  font-family: var(--display);
  font-size: min(25vw, 360px);
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(253, 210, 2, 0.28);
}
.player-info {
  padding: 44px;
  background: #111115dd;
  border-left: 1px solid #37373b;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
.player-info h3 {
  font-family: var(--display);
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: 0.9;
  text-transform: uppercase;
  margin: 12px 0 24px;
}
.stat-line {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #39393e;
  padding: 14px 0;
}
.stat-line span {
  font-size: 0.67rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #85858b;
}
.stat-line b {
  text-align: right;
  font-size: 0.83rem;
  color: #eee;
}
/* fixtures */
.tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 24px;
}
.tab {
  background: #1c1c20;
  border: 1px solid #39393d;
  color: #aaa;
  padding: 12px 18px;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  font-weight: 900;
}
.tab.active {
  background: var(--yellow);
  color: #111;
  border-color: var(--yellow);
}
.fixture-list {
  border-top: 1px solid #3a3a3f;
}
.fixture-row {
  display: grid;
  grid-template-columns: 110px 1fr auto 1fr 180px;
  gap: 20px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid #303035;
}
.fixture-row .f-meta {
  font-size: 0.68rem;
  text-transform: uppercase;
  color: #888;
  letter-spacing: 0.1em;
}
.fixture-row .f-team {
  font-weight: 850;
}
.fixture-row .f-team.right {
  text-align: right;
}
.fixture-row .mini-crest {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: #222228;
  border: 1px solid #49494f;
  color: var(--yellow);
  margin: 0 9px;
}
.fixture-row .f-vs {
  font-family: var(--display);
  font-size: 1.6rem;
  color: #666;
}
.fixture-row .f-action {
  text-align: right;
  font-size: 0.72rem;
  color: var(--yellow);
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
/* story */
.story-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 60px;
  align-items: center;
}
.story-copy h2 {
  font-size: clamp(4rem, 9vw, 9.8rem);
}
.story-copy .heritage {
  font-weight: 900;
  font-size: 1.05rem;
  margin: 24px 0;
}
.story-art {
  min-height: 450px;
  position: relative;
  background: url("assets/super90-theme.webp") center/cover no-repeat;
  clip-path: polygon(11% 0, 100% 0, 88% 100%, 0 100%);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
}
.story-art:after {
  content: "90";
  position: absolute;
  inset: auto 4% -5% auto;
  font-family: var(--display);
  font-size: 15rem;
  line-height: 0.8;
  color: rgba(0, 0, 0, 0.11);
}
/* content grid */
.content-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 14px;
}
.feature-card,
.mini-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #38383d;
  background: #17171b;
}
.feature-card {
  min-height: 500px;
}
.mini-stack {
  display: grid;
  gap: 14px;
}
.mini-card {
  min-height: 243px;
}
.media-art {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #2f3036, #111114 62%);
  transition: 0.3s;
}
.media-art:before {
  content: "";
  position: absolute;
  inset: 12% 16%;
  background: linear-gradient(135deg, #5a5a62, #17171b);
  clip-path: polygon(0 30%, 60% 0, 100% 24%, 84% 100%, 18% 82%);
}
.feature-card:hover .media-art,
.mini-card:hover .media-art {
  transform: scale(1.03);
}
.card-overlay {
  position: absolute;
  inset: auto 0 0;
  padding: 30px;
  background: linear-gradient(transparent, #070709 55%);
}
.card-overlay .category {
  color: var(--yellow);
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 900;
}
.card-overlay h3 {
  margin: 8px 0 0;
  font-size: clamp(1.4rem, 2.4vw, 2.6rem);
  line-height: 1.05;
}
.play {
  position: absolute;
  left: 28px;
  top: 28px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--yellow);
  color: #111;
  font-weight: 900;
}
/* news light */
.news-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 0.8fr;
  gap: 18px;
}
.news-card {
  border-top: 4px solid #111;
  padding-top: 18px;
}
.news-card.big {
  grid-row: span 2;
}
.news-thumb {
  height: 210px;
  background: linear-gradient(135deg, #dadada, #a7a7a7);
  position: relative;
  overflow: hidden;
  margin-bottom: 18px;
}
.news-thumb:before {
  content: "90";
  position: absolute;
  font-family: var(--display);
  font-size: 10rem;
  right: -5px;
  bottom: -45px;
  color: #bdbdbd;
}
.news-card.big .news-thumb {
  height: 460px;
}
.news-card .category {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 900;
  color: #6a5a00;
}
.news-card h3 {
  font-size: 1.18rem;
  line-height: 1.2;
  margin: 8px 0;
}
.news-card.big h3 {
  font-size: 2rem;
}
.news-card p {
  color: #606065;
  font-size: 0.9rem;
}
/* stats */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid #111;
  margin-top: 42px;
}
.stat-box {
  min-height: 210px;
  padding: 28px;
  border-right: 1px solid rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  justify-content: end;
}
.stat-box:last-child {
  border-right: 0;
}
.stat-box strong {
  font-family: var(--display);
  font-size: clamp(3.8rem, 7vw, 7rem);
  line-height: 0.8;
}
.stat-box span {
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 900;
  margin-top: 18px;
}
/* gallery */
.gallery-rail {
  display: grid;
  grid-template-columns: 1.25fr 0.8fr 0.95fr 0.75fr;
  gap: 10px;
  align-items: end;
}
.gallery-item {
  height: 410px;
  background: linear-gradient(135deg, #37373c, #131316);
  position: relative;
  overflow: hidden;
}
.gallery-item:nth-child(2) {
  height: 330px;
}
.gallery-item:nth-child(3) {
  height: 470px;
}
.gallery-item:nth-child(4) {
  height: 360px;
}
.gallery-item:before {
  content: "";
  position: absolute;
  inset: 10%;
  background: linear-gradient(145deg, #5b5b62, #151518);
  clip-path: polygon(13% 0, 100% 10%, 87% 100%, 0 82%);
}
.gallery-item span {
  position: absolute;
  left: 18px;
  bottom: 15px;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: var(--yellow);
  font-weight: 900;
}
/* partners */
.partner-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1px;
  background: #d2d2d2;
  border: 1px solid #d2d2d2;
}
.partner {
  min-height: 115px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #777;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.7rem;
}
.cta-panel {
  margin-top: 60px;
  background: #101013;
  color: #fff;
  padding: 50px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.cta-panel:after {
  content: "90";
  position: absolute;
  right: 15%;
  bottom: -70px;
  font-family: var(--display);
  font-size: 14rem;
  color: rgba(255, 255, 255, 0.03);
}
.cta-panel h3 {
  font-family: var(--display);
  font-size: clamp(2.6rem, 5vw, 5.2rem);
  line-height: 0.9;
  text-transform: uppercase;
  margin: 0;
}
/* footer */
.footer {
  padding: 84px 0 26px;
  background: #070708;
  position: relative;
  overflow: hidden;
  border-top: 1px solid #25252a;
}
.footer .big90 {
  top: auto;
  bottom: -80px;
  right: -20px;
  font-size: 360px;
}
.footer-top {
  display: grid;
  grid-template-columns: 1.2fr repeat(4, 0.7fr);
  gap: 42px;
}
.footer-logo {
  width: 160px;
}
.footer-tag {
  font-family: var(--display);
  font-size: 2.8rem;
  line-height: 0.9;
  text-transform: uppercase;
  margin-top: 20px;
}
.footer h4 {
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--yellow);
  margin: 0 0 15px;
}
.footer a {
  display: block;
  color: #aaa;
  font-size: 0.86rem;
  margin: 8px 0;
}
.footer a:hover {
  color: #fff;
}
.footer-bottom {
  border-top: 1px solid #242428;
  margin-top: 58px;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  color: #6f6f74;
  font-size: 0.72rem;
}
/* internal pages */
.page-hero {
  padding: 170px 0 86px;
  background:
    radial-gradient(
      circle at 75% 40%,
      rgba(253, 210, 2, 0.12),
      transparent 24%
    ),
    #0b0b0d;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #2f2f33;
}
.page-hero h1 {
  font-size: clamp(4.2rem, 10vw, 10rem);
  max-width: 1000px;
}
.page-hero p {
  max-width: 680px;
  color: #bbb;
}
.page-hero .big90 {
  font-size: min(34vw, 520px);
}
.toolbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 24px 0 34px;
}
.field {
  background: #151519;
  color: #ddd;
  border: 1px solid #3b3b40;
  min-height: 46px;
  padding: 0 14px;
}
.directory-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.profile-card {
  border: 1px solid #37373c;
  background: #151519;
  min-height: 350px;
  padding: 20px;
  position: relative;
  overflow: hidden;
}
.profile-card:before {
  content: "";
  position: absolute;
  right: -20%;
  bottom: 0;
  width: 80%;
  height: 66%;
  background: linear-gradient(135deg, #45454c, #18181c);
  clip-path: polygon(30% 0, 100% 17%, 82% 100%, 0 92%);
}
.profile-card .content {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 1;
}
.profile-card h3 {
  font-family: var(--display);
  font-size: 2rem;
  text-transform: uppercase;
  margin: 0;
}
.profile-card .meta {
  color: #aaa;
  font-size: 0.75rem;
  margin-top: 6px;
}
.article-grid {
  display: grid;
  grid-template-columns: 1.5fr 0.5fr;
  gap: 50px;
}
.article-body {
  font-size: 1.03rem;
  color: #d0cfd0;
  max-width: 760px;
}
.article-body h2 {
  font-family: var(--display);
  font-size: 3rem;
  line-height: 0.95;
  color: #fff;
  text-transform: uppercase;
  margin-top: 48px;
}
.aside-box {
  border: 1px solid #38383d;
  background: #151519;
  padding: 22px;
  position: sticky;
  top: 110px;
  height: max-content;
}
.placeholder-note {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #232327;
  border: 1px solid #3e3e43;
  color: #c7c7ca;
  padding: 7px 10px;
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.placeholder-note:before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--yellow);
}
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: 0.6s ease;
}
.reveal.visible {
  opacity: 1;
  transform: none;
}
@media (max-width: 1100px) {
  .nav-links {
    display: none;
  }
  .menu-btn {
    display: block;
  }
  .hero-grid,
  .format-grid,
  .story-grid {
    grid-template-columns: 1fr;
  }
  .hero-art {
    width: min(76vw, 760px);
    height: 60vh;
    right: -13vw;
    bottom: 5%;
  }
  .hero-player-stage {
    width: min(48%, 320px);
  }
  .hero-copy {
    position: relative;
    z-index: 2;
  }
  .match-wrap {
    grid-template-columns: 1fr;
  }
  .team-rail,
  .directory-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .stat-box:nth-child(3) {
    border-right: 0;
  }
  .news-grid {
    grid-template-columns: 1fr 1fr;
  }
  .news-card.big {
    grid-column: 1/-1;
    grid-row: auto;
  }
  .partner-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .footer-top {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .content-grid {
    grid-template-columns: 1fr;
  }
  .mini-stack {
    grid-template-columns: 1fr 1fr;
  }
  .article-grid {
    grid-template-columns: 1fr;
  }
  .aside-box {
    position: static;
  }
}
@media (max-width: 720px) {
  :root {
    --edge: 20px;
  }
  .nav {
    height: 72px;
  }
  .brand img {
    width: 102px;
    height: 54px;
  }
  .hero {
    padding-top: 122px;
    min-height: 850px;
  }
  .hero-grid {
    display: block;
  }
  .hero h1 {
    font-size: clamp(3.6rem, 18vw, 6.2rem);
  }
  .hero-logo {
    width: 140px;
  }
  .hero-art {
    width: 108vw;
    right: -48vw;
    bottom: 2%;
    height: 48%;
  }
  .hero-backplate {
    inset: 12% 10% 12% 14%;
  }
  .hero-gridlines {
    inset: 10% 7% 10% 16%;
  }
  .hero-halo {
    right: 18%;
    top: 17%;
    width: 38%;
    height: 38%;
  }
  .hero-swoosh {
    left: 20%;
    bottom: 24%;
    width: 48%;
    height: 10px;
  }
  .hero-orbit-a {
    right: 13%;
    top: 15%;
    width: 38%;
    height: 38%;
  }
  .hero-orbit-b {
    right: 6%;
    top: 26%;
    width: 22%;
    height: 22%;
  }
  .hero-player-stage {
    right: 8%;
    bottom: 0;
    width: 42%;
    height: 88%;
  }
  .hero-art-number {
    font-size: 80vw;
    right: -8%;
    top: 4%;
    opacity: 0.78;
  }
  .hero-theme {
    width: 90%;
    right: -36%;
    top: 16%;
    opacity: 0.08;
  }
  .meta-strip {
    grid-template-columns: 1fr 1fr;
    margin-top: 38px;
  }
  .meta-item {
    border-bottom: 1px solid #303035;
  }
  .meta-item:last-child {
    grid-column: 1/-1;
  }
  .section {
    padding: 72px 0;
  }
  .section-title {
    font-size: clamp(3.2rem, 18vw, 5.4rem);
  }
  .number-grid {
    grid-template-columns: 1fr;
  }
  .num {
    min-height: 135px;
    border-right: 0;
    border-bottom: 1px solid #34343a;
  }
  .teams-vs {
    grid-template-columns: 1fr auto 1fr;
    gap: 8px;
  }
  .crest {
    width: 70px;
    height: 70px;
  }
  .match-card {
    padding: 20px;
  }
  .match-info {
    grid-template-columns: 1fr;
  }
  .section-head {
    display: block;
  }
  .section-head p {
    margin-top: 18px;
  }
  .team-rail,
  .directory-grid {
    display: flex;
    overflow: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px;
  }
  .team-card,
  .profile-card {
    min-width: 82vw;
    scroll-snap-align: start;
  }
  .player-stage {
    grid-template-columns: 1fr;
    min-height: 690px;
  }
  .player-visual {
    min-height: 430px;
  }
  .player-info {
    border-left: 0;
    border-top: 1px solid #37373b;
  }
  .fixture-row {
    grid-template-columns: 1fr auto 1fr;
    padding: 20px 0;
  }
  .fixture-row .f-meta,
  .fixture-row .f-action {
    grid-column: 1/-1;
    text-align: left;
  }
  .fixture-row .f-team.right {
    text-align: right;
  }
  .story-art {
    min-height: 330px;
    order: -1;
  }
  .content-grid {
    display: block;
  }
  .feature-card {
    min-height: 430px;
    margin-bottom: 12px;
  }
  .mini-stack {
    display: block;
  }
  .mini-card {
    margin-bottom: 12px;
  }
  .news-grid {
    display: block;
  }
  .news-card {
    margin-bottom: 34px;
  }
  .news-card.big .news-thumb {
    height: 320px;
  }
  .stats-grid {
    grid-template-columns: 1fr 1fr;
  }
  .stat-box:nth-child(2n) {
    border-right: 0;
  }
  .stat-box:nth-child(3) {
    border-right: 1px solid rgba(0, 0, 0, 0.25);
  }
  .gallery-rail {
    display: flex;
    overflow: auto;
  }
  .gallery-item,
  .gallery-item:nth-child(n) {
    min-width: 78vw;
    height: 390px;
  }
  .partner-grid {
    grid-template-columns: 1fr 1fr;
  }
  .cta-panel {
    grid-template-columns: 1fr;
    padding: 34px 24px;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
  }
  .footer-top > div:first-child {
    grid-column: 1/-1;
  }
  .footer-bottom {
    display: block;
  }
  .footer-bottom span {
    display: block;
    margin-top: 8px;
  }
  .page-hero {
    padding-top: 135px;
  }
  .page-hero h1 {
    font-size: clamp(4rem, 20vw, 7rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
  .reveal {
    opacity: 1;
    transform: none;
  }
}

/* === STATIC V2: alignment & overflow hardening === */
html,
body {
  width: 100%;
  max-width: 100%;
}
body.menu-open {
  overflow: hidden;
}
main {
  min-width: 0;
  overflow: clip;
}
.container,
.hero-grid,
.format-grid,
.match-wrap,
.section-head,
.content-grid,
.story-grid,
.news-grid,
.footer-top,
.article-grid,
.team-profile-layout {
  min-width: 0;
}
.container > * {
  min-width: 0;
}
h1,
h2,
h3,
p {
  overflow-wrap: break-word;
}
.nav-links {
  min-width: 0;
}
.btn {
  max-width: 100%;
  text-align: center;
}
.match-card,
.team-card,
.profile-card,
.feature-card,
.mini-card,
.cta-panel {
  isolation: isolate;
}
.crest.has-logo,
.mini-crest.has-logo {
  padding: 5px;
}
.crest.has-logo img,
.mini-crest.has-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.team-logo {
  width: 112px;
  height: 112px;
  object-fit: contain;
  object-position: center;
  margin-top: 0px;
  position: relative;
  z-index: 2;
}
.fixture-row {
  grid-template-columns:
    minmax(105px, 135px) minmax(150px, 1fr) auto minmax(150px, 1fr)
    minmax(135px, 180px);
  gap: clamp(10px, 1.5vw, 20px);
}
.fixture-row > * {
  min-width: 0;
}
.fixture-row .f-meta {
  display: grid;
  gap: 2px;
}
.fixture-row .f-meta strong {
  color: #d7d7da;
}
.fixture-row .f-meta span {
  display: block;
}
.fixture-row .f-team {
  display: flex;
  align-items: center;
  gap: 8px;
}
.fixture-row .f-team.right {
  justify-content: flex-end;
}
.fixture-row .mini-crest {
  flex: 0 0 38px;
  margin: 0;
}
.fixture-row .f-team > span:not(.mini-crest) {
  min-width: 0;
  overflow-wrap: anywhere;
}
.fixture-row .f-action {
  display: grid;
  justify-items: end;
  gap: 3px;
}
.fixture-row .f-action small {
  display: block;
  color: #777;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
  line-height: 1.2;
  max-width: 170px;
}
.field:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.section-head.compact {
  margin-bottom: 20px;
}
.section-head.compact h3 {
  font-size: clamp(2.8rem, 5vw, 5rem);
}
.team-profile-layout {
  display: grid;
  gap: 52px;
}
.team-profile-identity {
  display: grid;
  grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
  min-height: 520px;
  border: 1px solid #38383d;
  background: linear-gradient(135deg, #202024, #0e0e11);
  position: relative;
  overflow: hidden;
}
.team-profile-identity:after {
  content: "90";
  position: absolute;
  right: -0.02em;
  bottom: -0.25em;
  font-family: var(--display);
  font-size: min(32vw, 440px);
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.07);
  pointer-events: none;
}
.team-profile-art {
  display: grid;
  place-items: center;
  min-height: 420px;
  background: radial-gradient(circle, rgba(253, 210, 2, 0.12), transparent 56%);
  border-right: 1px solid #343439;
  position: relative;
  z-index: 1;
}
.team-profile-art:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 72%;
  height: 6px;
  background: var(--team, #fdd202);
}
.team-profile-logo {
  width: min(72%, 260px);
  max-height: 270px;
  object-fit: contain;
}
.team-profile-fallback {
  width: 170px;
  height: 170px;
  display: grid;
  place-items: center;
  border: 1px solid #55555b;
  font-family: var(--display);
  font-size: 5rem;
  color: var(--yellow);
  background: #101014;
  clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
}
.team-profile-copy {
  padding: clamp(30px, 5vw, 70px);
  align-self: center;
  position: relative;
  z-index: 1;
}
.team-profile-copy h2 {
  font-size: clamp(4rem, 8vw, 8rem);
  margin: 10px 0 28px;
}
.profile-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #39393f;
  border-bottom: 1px solid #39393f;
  margin-bottom: 24px;
}
.profile-facts > div {
  padding: 16px 14px 16px 0;
}
.profile-facts > div + div {
  border-left: 1px solid #39393f;
  padding-left: 18px;
}
.profile-facts span {
  display: block;
  color: #85858b;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.13em;
}
.profile-facts b {
  font-size: 0.9rem;
}
@media (max-width: 900px) {
  .fixture-row {
    grid-template-columns: 100px minmax(120px, 1fr) auto minmax(120px, 1fr);
  }
  .fixture-row .f-action {
    grid-column: 1/-1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    padding-left: 0;
  }
  .fixture-row .f-action small {
    max-width: none;
  }
  .team-profile-identity {
    grid-template-columns: 1fr;
  }
  .team-profile-art {
    min-height: 300px;
    border-right: 0;
    border-bottom: 1px solid #343439;
  }
}
@media (max-width: 720px) {
  .mobile-menu {
    overflow: auto;
  }
  .hero {
    min-height: max(760px, 100svh);
    padding-bottom: 48px;
  }
  .hero h1 {
    font-size: clamp(3.45rem, 17vw, 5.9rem);
  }
  .meta-strip {
    grid-template-columns: 1fr 1fr;
  }
  .meta-item {
    min-width: 0;
    padding: 14px;
  }
  .meta-item b {
    font-size: 0.78rem;
  }
  .match-top {
    align-items: flex-start;
  }
  .teams-vs {
    gap: 7px;
  }
  .team h3 {
    font-size: 0.9rem;
    overflow-wrap: anywhere;
  }
  .vs {
    font-size: 2rem;
  }
  .fixture-list {
    width: 100%;
  }
  .fixture-row {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 10px;
    padding: 19px 0;
  }
  .fixture-row .f-meta {
    grid-column: 1/-1;
    grid-template-columns: auto 1fr auto;
    gap: 8px;
    align-items: center;
  }
  .fixture-row .f-meta span:last-child {
    text-align: right;
  }
  .fixture-row .f-team {
    gap: 6px;
    font-size: 0.86rem;
  }
  .fixture-row .f-team.right {
    justify-content: flex-end;
  }
  .fixture-row .f-action {
    grid-column: 1/-1;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
  }
  .fixture-row .f-action small {
    text-align: right;
    max-width: 55%;
    font-size: 0.68rem;
  }
  .fixture-row .mini-crest {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }
  .team-card {
    min-width: min(82vw, 360px);
  }
  .team-profile-copy {
    padding: 28px 22px;
  }
  .team-profile-copy h2 {
    font-size: clamp(3.6rem, 16vw, 5.5rem);
  }
  .profile-facts {
    grid-template-columns: 1fr;
  }
  .profile-facts > div + div {
    border-left: 0;
    border-top: 1px solid #39393f;
    padding-left: 0;
  }
  .footer-top {
    gap: 28px 20px;
  }
  .footer-tag {
    font-size: 2.2rem;
  }
  .cta-panel h3 {
    font-size: clamp(2.5rem, 13vw, 4.3rem);
  }
  .page-hero h1 {
    font-size: clamp(3.6rem, 18vw, 6.6rem);
  }
}
@media (max-width: 420px) {
  :root {
    --edge: 16px;
  }
  .hero-actions {
    display: grid;
  }
  .hero-actions .btn {
    width: 100%;
  }
  .meta-strip {
    grid-template-columns: 1fr;
  }
  .meta-item:last-child {
    grid-column: auto;
  }
  .match-actions {
    display: grid;
  }
  .match-actions .btn {
    width: 100%;
  }
  .teams-vs {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
  .crest {
    width: 62px;
    height: 62px;
    font-size: 2rem;
  }
  .footer-top {
    grid-template-columns: 1fr;
  }
  .footer-top > div:first-child {
    grid-column: auto;
  }
  .partner-grid {
    grid-template-columns: 1fr;
  }
  .stats-grid {
    grid-template-columns: 1fr;
  }
  .stat-box,
  .stat-box:nth-child(3) {
    border-right: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  }
  .stat-box:last-child {
    border-bottom: 0;
  }
  .fixture-row .f-meta {
    grid-template-columns: 1fr 1fr;
  }
  .fixture-row .f-meta strong {
    grid-column: 1/-1;
  }
  .fixture-row .f-meta span:last-child {
    text-align: right;
  }
  .fixture-row .f-action {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fixture-row .f-action small {
    text-align: left;
    max-width: 100%;
  }
}
/* Prevent the off-canvas mobile menu artwork from leaking into the closed page. */
.mobile-menu {
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
}
.mobile-menu.open {
  visibility: visible;
  pointer-events: auto;
  overflow: auto;
}
@media (min-width: 1101px) {
  .mobile-menu {
    display: none !important;
  }
}
.fixture-empty {
  padding: 28px 0;
  border-bottom: 1px solid #303035;
  color: #85858b;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* Season-aware team archive */
.season-bar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 0 0 28px;
  margin-bottom: 30px;
  border-bottom: 1px solid #35353a;
}
.season-bar > div {
  display: grid;
  gap: 5px;
}
.season-bar strong {
  font-family: var(--display);
  font-size: clamp(2rem, 4vw, 3.7rem);
  line-height: 0.9;
}
.season-switcher {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.season-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 15px;
  border: 1px solid #45454b;
  background: #18181c;
  color: #a7a7ad;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  transition: 0.22s ease;
}
.season-chip:hover,
.season-chip.active {
  background: var(--yellow);
  border-color: var(--yellow);
  color: #111;
  transform: translateY(-2px);
}
.season-team-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0;
}
.team-card {
  min-width: 0;
}
.team-card .team-logo {
  width: min(46%, 150px);
  height: 150px;
  object-fit: contain;
  filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.38));
}
.team-card .team-bottom h3 {
  overflow-wrap: anywhere;
}
.team-card:before {
  background: linear-gradient(135deg, rgba(253, 210, 2, 0.08), transparent 55%);
}
.schedule-pending {
  min-height: 330px;
  display: grid;
  place-items: start;
  align-content: center;
  gap: 14px;
  position: relative;
  z-index: 1;
}
.schedule-pending .pending-90 {
  font-family: var(--display);
  font-size: clamp(5rem, 13vw, 10rem);
  line-height: 0.72;
  color: transparent;
  -webkit-text-stroke: 1px rgba(253, 210, 2, 0.45);
}
.schedule-pending h3 {
  font-family: var(--display);
  font-size: clamp(2.5rem, 5vw, 4.7rem);
  line-height: 0.9;
  margin: 0;
}
.schedule-pending p {
  max-width: 650px;
  color: #999;
  line-height: 1.7;
  margin: 0 0 4px;
}
.fixture-empty-card {
  display: grid;
  gap: 8px;
  padding: 32px 4px;
}
.fixture-empty-card strong {
  font-family: var(--display);
  font-size: 1.8rem;
  color: #d9d9dc;
}
.fixture-empty-card span {
  font-size: 0.78rem;
  letter-spacing: 0.03em;
  text-transform: none;
  max-width: 700px;
  line-height: 1.65;
}
.match-centre-empty {
  padding: 12px 4px;
}
@media (max-width: 1100px) {
  .season-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .season-bar {
    display: grid;
    align-items: start;
  }
  .season-switcher {
    justify-content: flex-start;
  }
  .season-chip {
    flex: 1 1 calc(50% - 8px);
  }
  .season-team-grid {
    display: flex;
    overflow: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px;
  }
  .season-team-grid .team-card {
    min-width: min(82vw, 360px);
  }
  .team-card .team-logo {
    height: 130px;
  }
  .schedule-pending {
    min-height: 300px;
  }
}
@media (max-width: 420px) {
  .season-chip {
    flex-basis: 100%;
  }
}

/* Copy-pass responsive safeguards */
@media (max-width: 720px) {
  .team-rail .team-card {
    min-width: min(82vw, 360px);
    scroll-snap-align: start;
  }
  .directory-grid > .mini-card {
    min-width: min(82vw, 360px);
    scroll-snap-align: start;
  }
  .match-card .toolbar {
    grid-template-columns: 1fr !important;
  }
}

/* === V6: completed seasons, champions, launch event, highlights & galleries === */
.team-card.is-champion {
  border-color: var(--yellow);
  box-shadow:
    0 0 0 1px rgba(253, 210, 2, 0.18),
    0 24px 55px rgba(0, 0, 0, 0.3);
}
.team-card.is-champion:before {
  opacity: 0.28;
  background: linear-gradient(135deg, rgba(253, 210, 2, 0.28), transparent 60%);
}
.champion-badge,
.profile-champion-badge {
  position: absolute;
  z-index: 4;
  top: 18px;
  right: 18px;
  background: var(--yellow);
  color: #111;
  padding: 7px 10px;
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  clip-path: polygon(
    0 0,
    calc(100% - 8px) 0,
    100% 8px,
    100% 100%,
    8px 100%,
    0 calc(100% - 8px)
  );
}
.champion-line {
  color: var(--yellow);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 5px 0 9px;
}
.season-champion-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  border: 1px solid rgba(253, 210, 2, 0.55);
  background: linear-gradient(120deg, rgba(253, 210, 2, 0.12), #141417 62%);
  padding: 26px 30px;
  margin: 0 0 22px;
  position: relative;
  overflow: hidden;
}
.season-champion-panel:after {
  content: "CHAMPIONS";
  position: absolute;
  right: 100px;
  bottom: -0.18em;
  font-family: var(--display);
  font-size: clamp(4rem, 9vw, 9rem);
  color: transparent;
  -webkit-text-stroke: 1px rgba(253, 210, 2, 0.12);
  pointer-events: none;
}
.season-champion-copy {
  position: relative;
  z-index: 2;
}
.season-champion-copy h2 {
  font-size: clamp(3rem, 6vw, 6rem);
  margin: 8px 0 10px;
}
.season-champion-copy p {
  max-width: 620px;
  color: #bcbcc0;
  margin: 0;
}
.season-champion-mark {
  position: relative;
  z-index: 2;
}
.season-champion-mark .crest {
  width: 120px;
  height: 120px;
  margin: 0;
  padding: 8px;
  border-color: var(--yellow);
}
.is-champion-profile {
  border-color: rgba(253, 210, 2, 0.62);
}
.is-champion-profile .team-profile-art:before {
  width: 100%;
  height: 8px;
}
.profile-champion-badge {
  left: 18px;
  right: auto;
}

.champions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.champion-card {
  background: #111;
  border: 1px solid #d6d6d6;
  overflow: hidden;
  min-width: 0;
}
.champion-card img {
  width: 100%;
  aspect-ratio: 16/7;
  object-fit: cover;
  background: #111;
}
.champion-card > div {
  padding: 22px;
}
.champion-card span {
  display: block;
  color: #7a6500;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.champion-card h3 {
  font-family: var(--display);
  font-size: clamp(2rem, 3vw, 3.4rem);
  line-height: 0.95;
  text-transform: uppercase;
  margin: 8px 0 14px;
}
.champion-card a {
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--yellow);
  padding-bottom: 3px;
}

.launch-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: clamp(34px, 6vw, 80px);
  align-items: center;
}
.launch-copy p {
  max-width: 590px;
  line-height: 1.75;
}
.launch-collage {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  grid-template-rows: 1fr 1fr;
  gap: 10px;
  min-height: 520px;
}
.launch-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 0;
  border: 1px solid #444;
}
.launch-photo-main {
  grid-row: 1/3;
}
.launch-section {
  border-top: 1px solid #29292e;
  border-bottom: 1px solid #29292e;
}

.video-embed-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.video-embed-card {
  min-width: 0;
  background: #141417;
  border: 1px solid #37373c;
  overflow: hidden;
}
.video-frame {
  position: relative;
  aspect-ratio: 16/9;
  background: #050506;
}
.video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.video-caption {
  padding: 18px;
}
.video-caption h3 {
  font-size: 1rem;
  margin: 6px 0 0;
  text-transform: uppercase;
}
.video-caption .category {
  color: var(--yellow);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 900;
}

.home-photo-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.825fr 0.825fr;
  gap: 12px;
}
.photo-card {
  position: relative;
  display: block;
  overflow: hidden;
  background: #161619;
  border: 1px solid #34343a;
  min-height: 260px;
}
.photo-card img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: transform 0.35s ease;
}
.photo-card:hover img {
  transform: scale(1.035);
}
.photo-card:after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.82));
  pointer-events: none;
}
.photo-card span {
  position: absolute;
  z-index: 2;
  left: 18px;
  bottom: 16px;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.home-photo-grid .wide img {
  aspect-ratio: 16/10;
}
.gallery-season {
  scroll-margin-top: 90px;
}
.photo-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
.photo-grid .photo-card {
  min-height: 220px;
}
.photo-grid .photo-card:nth-child(5n + 1) {
  grid-column: span 2;
}
.photo-grid .photo-card:nth-child(5n + 1) img {
  aspect-ratio: 16/8;
}
.photo-grid .photo-card img {
  aspect-ratio: 4/3;
}

.journey-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #d0d0d0;
}
.journey-card {
  padding: 28px 24px;
  border-right: 1px solid #d0d0d0;
  min-height: 210px;
  position: relative;
}
.journey-card:last-child {
  border-right: 0;
}
.journey-card:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 56%;
  height: 5px;
  background: #111;
}
.journey-card.upcoming {
  background: var(--yellow);
}
.journey-card.upcoming:before {
  width: 100%;
}
.journey-card span {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-weight: 900;
  color: #6d6d72;
}
.journey-card h3 {
  font-family: var(--display);
  font-size: clamp(2rem, 3.2vw, 3.7rem);
  line-height: 0.92;
  text-transform: uppercase;
  margin: 26px 0 10px;
}
.journey-card p {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.news-image {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  margin-bottom: 18px;
  background: #111;
}
.news-card.big .news-image {
  aspect-ratio: 16/8;
}

@media (max-width: 1000px) {
  .champions-grid {
    grid-template-columns: 1fr 1fr;
  }
  .champion-card:last-child {
    grid-column: 1/-1;
  }
  .launch-grid {
    grid-template-columns: 1fr;
  }
  .launch-collage {
    min-height: 460px;
  }
  .video-embed-grid {
    grid-template-columns: 1fr 1fr;
  }
  .video-embed-card:first-child {
    grid-column: 1/-1;
  }
  .photo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .journey-grid {
    grid-template-columns: 1fr 1fr;
  }
  .journey-card:nth-child(2) {
    border-right: 0;
  }
  .journey-card:nth-child(-n + 2) {
    border-bottom: 1px solid #d0d0d0;
  }
  .home-photo-grid {
    grid-template-columns: 1fr 1fr;
  }
  .home-photo-grid .wide {
    grid-column: 1/-1;
  }
}
@media (max-width: 720px) {
  .season-champion-panel {
    grid-template-columns: 1fr;
    padding: 22px;
  }
  .season-champion-mark .crest {
    width: 96px;
    height: 96px;
  }
  .champions-grid {
    display: flex;
    overflow: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
  }
  .champion-card {
    min-width: min(84vw, 380px);
    scroll-snap-align: start;
  }
  .champion-card:last-child {
    grid-column: auto;
  }
  .launch-collage {
    min-height: 390px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1.2fr 0.8fr;
  }
  .launch-photo-main {
    grid-column: 1/-1;
    grid-row: auto;
  }
  .video-embed-grid {
    display: grid;
    grid-template-columns: 1fr;
  }
  .video-embed-card:first-child {
    grid-column: auto;
  }
  .photo-grid {
    grid-template-columns: 1fr 1fr;
  }
  .photo-grid .photo-card:nth-child(5n + 1) {
    grid-column: span 2;
  }
  .home-photo-grid {
    grid-template-columns: 1fr;
  }
  .home-photo-grid .wide {
    grid-column: auto;
  }
  .journey-grid {
    grid-template-columns: 1fr;
  }
  .journey-card {
    border-right: 0;
    border-bottom: 1px solid #d0d0d0;
  }
  .journey-card:last-child {
    border-bottom: 0;
  }
}
@media (max-width: 460px) {
  .launch-collage {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    min-height: 0;
  }
  .launch-photo-main {
    grid-column: auto;
  }
  .launch-photo {
    height: 240px;
  }
  .photo-grid {
    grid-template-columns: 1fr;
  }
  .photo-grid .photo-card:nth-child(5n + 1) {
    grid-column: auto;
  }
  .photo-grid .photo-card:nth-child(5n + 1) img {
    aspect-ratio: 4/3;
  }
}

[hidden] {
  display: none !important;
}

/* === V7 EXPERIENCE UPGRADE: cinematic motion, champions, lightbox === */
:root {
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-sport: cubic-bezier(0.76, 0, 0.24, 1);
}
body:before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
.site-header {
  will-change: transform, background;
}
.nav {
  height: 108px;
}
.brand img {
  width: 196px;
  height: 94px;
  transition:
    transform 0.45s var(--ease-out),
    filter 0.45s;
}
.brand:hover img {
  transform: scale(1.055);
  filter: drop-shadow(0 8px 22px rgba(253, 210, 2, 0.18));
}
.nav-links {
  gap: clamp(13px, 1.65vw, 25px);
}
.site-header.scrolled .nav {
  height: 92px;
  transition: height 0.35s var(--ease-out);
}
.site-header.scrolled .brand img {
  transform: scale(0.92);
}
.hero {
  overflow: hidden;
}
.hero:before {
  content: "";
  position: absolute;
  width: 52vw;
  height: 52vw;
  right: -14vw;
  top: -16vw;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(253, 210, 2, 0.19),
    rgba(253, 210, 2, 0) 67%
  );
  filter: blur(18px);
  animation: heroPulse 7s ease-in-out infinite alternate;
  z-index: -1;
}
.hero-theme {
  animation: heroDrift 11s ease-in-out infinite alternate;
}
.hero-art-number {
  animation: hero90 8s ease-in-out infinite alternate;
}
.hero-backplate {
  animation: heroPlateFloat 9s ease-in-out infinite alternate;
}
.hero-swoosh-a {
  animation: heroSwoosh 5.5s ease-in-out infinite alternate;
}
.hero-figure-center {
  animation: heroPlayerFloat 6.5s ease-in-out infinite alternate;
}
.hero-figure-left {
  animation: heroSideLeft 7.5s ease-in-out infinite alternate;
}
.hero-figure-right {
  animation: heroSideRight 7.5s ease-in-out infinite alternate;
}
.hero-orbit-a {
  animation: heroOrbit 10s linear infinite;
}
.hero-copy > .eyebrow {
  margin-bottom: 18px;
}
.hero-copy {
  animation: heroEnter 0.9s var(--ease-out) both;
}
.meta-strip {
  backdrop-filter: blur(8px);
}
@keyframes heroPulse {
  to {
    transform: translate(-5vw, 7vh) scale(1.12);
    opacity: 0.72;
  }
}
@keyframes heroDrift {
  to {
    transform: rotate(-4deg) translate3d(-2vw, 2vh, 0) scale(1.05);
  }
}
@keyframes hero90 {
  to {
    transform: translate3d(-2vw, 1vh, 0);
    -webkit-text-stroke-color: rgba(253, 210, 2, 0.18);
  }
}
@keyframes heroPlateFloat {
  to {
    transform: translate3d(-1vw, -1.2vh, 0) rotate(-1.4deg);
  }
}
@keyframes heroPlayerFloat {
  to {
    transform: translate3d(0, -12px, 0);
  }
}
@keyframes heroSideLeft {
  to {
    transform: translate3d(-4px, -8px, 0);
  }
}
@keyframes heroSideRight {
  to {
    transform: translate3d(6px, -10px, 0);
  }
}
@keyframes heroSwoosh {
  to {
    transform: rotate(-12deg) translateX(20px);
  }
}
@keyframes heroOrbit {
  to {
    transform: rotate(370deg);
  }
}
@keyframes heroEnter {
  from {
    opacity: 0;
    transform: translateY(32px);
    clip-path: inset(0 0 16% 0);
  }
  to {
    opacity: 1;
    transform: none;
    clip-path: inset(0);
  }
}
.reveal {
  opacity: 0;
  transform: translateY(42px);
  clip-path: inset(0 0 12% 0);
  transition:
    opacity 0.78s var(--ease-out),
    transform 0.9s var(--ease-out),
    clip-path 0.95s var(--ease-out);
}
.reveal.visible {
  opacity: 1;
  transform: none;
  clip-path: inset(0);
}
.btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  will-change: transform;
}
.btn:before {
  content: "";
  position: absolute;
  inset: -40% auto -40% -35%;
  width: 26%;
  background: rgba(255, 255, 255, 0.36);
  transform: skewX(-18deg);
  transition: left 0.58s var(--ease-out);
  z-index: -1;
}
.btn:hover:before {
  left: 118%;
}
.btn.primary {
  box-shadow: 0 10px 32px rgba(253, 210, 2, 0.08);
}
.team-card,
.photo-card,
.video-embed-card,
.news-card {
  will-change: transform;
}
.team-card:hover {
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.4);
}
.team-card:hover .team-logo {
  transform: scale(1.055) translateY(-4px);
}
.team-logo {
  transition: transform 0.5s var(--ease-out);
}
.section-title {
  filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.08));
}

/* Champions: one season owns the viewport */
.champions-section {
  padding: 0 !important;
  background: #050506 !important;
  color: #fff !important;
  overflow: hidden;
}
.champion-showcase {
  position: relative;
  height: clamp(700px, 92svh, 1000px);
  min-height: 700px;
  background: #050506;
}
.champion-slides {
  position: absolute;
  inset: 0;
}
.champion-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.75s var(--ease-sport),
    visibility 0.75s;
  overflow: hidden;
  isolation: isolate;
  background: #050506;
}
.champion-slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}
.champion-slide-bg {
  position: absolute;
  left: 50%;
  top: 24px;
  transform: translateX(-50%) scale(1.03);
  width: min(94vw, 1600px);
  height: calc(100% - 250px);
  object-fit: contain;
  object-position: center top;
  filter: saturate(0.98) contrast(1.03);
  transition: transform 6.5s linear;
}
.champion-slide.is-active .champion-slide-bg {
  transform: translateX(-50%) scale(1);
}
.champion-shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 50% 14%,
      rgba(253, 210, 2, 0.08),
      transparent 32%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.2) 0%,
      rgba(0, 0, 0, 0) 22%,
      rgba(0, 0, 0, 0) 72%,
      rgba(0, 0, 0, 0.96) 100%
    );
  z-index: 1;
}
.champion-slide:after {
  content: "CHAMPIONS";
  position: absolute;
  right: -0.04em;
  bottom: 132px;
  font-family: var(--display);
  font-size: clamp(8rem, 24vw, 26rem);
  line-height: 0.75;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.11);
  z-index: 1;
  pointer-events: none;
}
.champion-slide-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  z-index: 3;
  padding-top: 80px;
  padding-bottom: 148px;
}
.champion-content-dock,
.champion-slide-inner {
  --dock-bg: linear-gradient(
    180deg,
    rgba(11, 11, 13, 0.18),
    rgba(11, 11, 13, 0.75) 12%,
    rgba(11, 11, 13, 0.96) 100%
  );
}
.champion-slide-inner > * {
  position: relative;
}
.champion-kicker {
  display: inline-flex;
  align-self: flex-start;
  color: var(--yellow);
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  transform: translateY(24px);
  opacity: 0;
  transition: 0.65s 0.18s var(--ease-out);
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(8, 8, 10, 0.58);
  backdrop-filter: blur(10px);
}
.champion-lockup {
  display: flex;
  align-items: flex-end;
  gap: clamp(24px, 4vw, 60px);
  margin: 18px 0 14px;
  transform: translateY(42px);
  opacity: 0;
  transition: 0.78s 0.24s var(--ease-out);
  padding: 24px 28px 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  background: linear-gradient(
    180deg,
    rgba(12, 12, 14, 0.18),
    rgba(12, 12, 14, 0.74) 24%,
    rgba(12, 12, 14, 0.98) 100%
  );
  backdrop-filter: blur(10px);
}
.champion-lockup > img {
  width: clamp(104px, 11vw, 180px);
  height: clamp(104px, 11vw, 180px);
  object-fit: contain;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.42));
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  padding: 14px;
  clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
}
.champion-lockup h2 {
  font-size: clamp(3.8rem, 8vw, 8rem);
  text-shadow: 0 14px 36px rgba(0, 0, 0, 0.35);
}
.champion-season {
  font-family: var(--display);
  display: block;
  color: var(--yellow);
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 0.8;
  margin-bottom: 12px;
}
.champion-foot {
  max-width: 820px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  transform: translateY(32px);
  opacity: 0;
  transition: 0.72s 0.34s var(--ease-out);
  padding: 0 28px 0;
  background: rgba(0, 0, 0, 0);
}
.champion-foot p {
  margin: 0;
  color: #d2d2d4;
  font-size: clamp(0.9rem, 1.2vw, 1.05rem);
  max-width: 430px;
}
.champion-slide.is-active .champion-kicker,
.champion-slide.is-active .champion-lockup,
.champion-slide.is-active .champion-foot {
  transform: none;
  opacity: 1;
}
.champion-controls {
  position: absolute;
  left: 50%;
  bottom: 34px;
  transform: translateX(-50%);
  z-index: 10;
  display: grid;
  grid-template-columns: 56px 1fr 56px;
  gap: 14px;
  align-items: center;
}
.champion-arrow {
  width: 56px;
  height: 56px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(10, 10, 12, 0.55);
  backdrop-filter: blur(12px);
  color: #fff;
  font-size: 1.4rem;
  cursor: pointer;
  transition: 0.25s var(--ease-out);
}
.champion-arrow:hover {
  background: var(--yellow);
  color: #111;
  border-color: var(--yellow);
  transform: scale(1.06);
}
.champion-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: rgba(10, 10, 12, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(14px);
}
.champion-tab {
  position: relative;
  min-height: 56px;
  padding: 0 24px;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
  background: transparent;
  color: #9c9ca1;
  text-transform: uppercase;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  cursor: pointer;
  overflow: hidden;
}
.champion-tab:last-child {
  border-right: 0;
}
.champion-tab.is-active {
  color: #fff;
}
.champion-tab i {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 0;
  background: var(--yellow);
}
.champion-tab.is-active i {
  animation: champProgress 6s linear forwards;
}
@keyframes champProgress {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

/* Gallery lightbox */
.photo-card[data-lightbox] {
  cursor: zoom-in;
}
.photo-card[data-lightbox]:before {
  content: "VIEW";
  position: absolute;
  z-index: 4;
  right: 14px;
  top: 14px;
  background: rgba(11, 11, 13, 0.72);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 7px 9px;
  color: #fff;
  font-size: 0.58rem;
  font-weight: 950;
  letter-spacing: 0.14em;
  opacity: 0;
  transform: translateY(-6px);
  transition: 0.25s;
}
.photo-card[data-lightbox]:hover:before {
  opacity: 1;
  transform: none;
}
.s90-lightbox {
  position: fixed;
  inset: 0;
  z-index: 5000;
  background: rgba(4, 4, 5, 0.97);
  display: grid;
  grid-template-columns: 84px 1fr 84px;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.32s var(--ease-out),
    visibility 0.32s;
}
.s90-lightbox.open {
  opacity: 1;
  visibility: visible;
}
.s90-lightbox-stage {
  position: relative;
  height: 100svh;
  display: grid;
  place-items: center;
  padding: 72px 18px 74px;
}
.s90-lightbox-img {
  max-width: min(1220px, 100%);
  max-height: calc(100svh - 150px);
  width: auto;
  height: auto;
  object-fit: contain;
  box-shadow: 0 35px 90px rgba(0, 0, 0, 0.55);
  transform: scale(0.96);
  opacity: 0;
  transition: 0.38s var(--ease-out);
}
.s90-lightbox.open .s90-lightbox-img {
  transform: scale(1);
  opacity: 1;
}
.s90-lightbox-nav {
  width: 58px;
  height: 72px;
  justify-self: center;
  border: 1px solid #3b3b40;
  background: #101014;
  color: #fff;
  font-size: 1.8rem;
  cursor: pointer;
  transition: 0.24s;
}
.s90-lightbox-nav:hover {
  background: var(--yellow);
  color: #111;
  border-color: var(--yellow);
}
.s90-lightbox-close {
  position: absolute;
  right: 22px;
  top: 20px;
  width: 52px;
  height: 52px;
  border: 1px solid #4d4d52;
  background: rgba(10, 10, 12, 0.72);
  color: #fff;
  font-size: 1.5rem;
  cursor: pointer;
  z-index: 3;
}
.s90-lightbox-meta {
  position: absolute;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #a8a8ad;
  white-space: nowrap;
}
.s90-lightbox-meta b {
  color: var(--yellow);
}
body.lightbox-open {
  overflow: hidden;
}

/* motion polish */
[data-depth] {
  transition: transform 0.25s ease-out;
}
.launch-photo,
.home-photo-grid .photo-card img {
  transition:
    transform 0.7s var(--ease-out),
    filter 0.7s;
}
.launch-collage:hover .launch-photo:not(:hover) {
  filter: brightness(0.65) saturate(0.75);
}
.launch-photo:hover {
  transform: scale(1.025);
  z-index: 2;
}
.video-embed-card {
  transition:
    transform 0.4s var(--ease-out),
    border-color 0.4s,
    box-shadow 0.4s;
}
.video-embed-card:hover {
  transform: translateY(-8px);
  border-color: rgba(253, 210, 2, 0.5);
  box-shadow: 0 28px 65px rgba(0, 0, 0, 0.35);
}

@media (max-width: 1100px) {
  .brand img {
    width: 168px;
  }
  .nav-links {
    gap: 13px;
  }
  .champion-lockup h2 {
    font-size: clamp(4.6rem, 9vw, 8rem);
  }
}
@media (max-width: 720px) {
  .nav {
    height: 88px;
  }
  .brand img {
    width: 148px !important;
    height: 72px !important;
  }
  .site-header.scrolled .nav {
    height: 80px;
  }
  .hero {
    padding-top: 128px;
  }
  .champion-showcase {
    height: 760px;
    min-height: 720px;
  }
  .champion-slide-bg {
    top: 18px;
    width: min(96vw, 720px);
    height: calc(100% - 300px);
    object-position: center top;
  }
  .champion-slide-inner {
    justify-content: flex-end;
    padding-top: 110px;
    padding-bottom: 160px;
  }
  .champion-shade {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.12) 0%,
      rgba(0, 0, 0, 0) 28%,
      rgba(0, 0, 0, 0.95) 100%
    );
  }
  .champion-slide:after {
    bottom: 168px;
    font-size: clamp(6rem, 26vw, 10rem);
  }
  .champion-kicker {
    font-size: 0.58rem;
    padding: 8px 10px;
  }
  .champion-lockup {
    gap: 18px;
    align-items: flex-end;
    padding: 18px 16px 20px;
  }
  .champion-lockup > img {
    width: 88px;
    height: 88px;
    padding: 10px;
    flex: 0 0 88px;
  }
  .champion-lockup h2 {
    font-size: clamp(3rem, 14vw, 4.6rem);
  }
  .champion-season {
    font-size: 1.6rem;
  }
  .champion-foot {
    display: block;
    padding: 0 16px;
  }
  .champion-foot .btn {
    margin-top: 16px;
  }
  .champion-controls {
    bottom: 24px;
    grid-template-columns: 46px 1fr 46px;
    gap: 8px;
  }
  .champion-arrow {
    width: 46px;
    height: 50px;
  }
  .champion-tab {
    min-height: 50px;
    padding: 0 6px;
    font-size: 0.56rem;
  }
  .s90-lightbox {
    grid-template-columns: 1fr;
  }
  .s90-lightbox-stage {
    padding: 74px 12px 110px;
  }
  .s90-lightbox-nav {
    position: absolute;
    bottom: 34px;
    width: 54px;
    height: 54px;
    z-index: 3;
  }
  .s90-lightbox-nav.prev {
    left: 18px;
  }
  .s90-lightbox-nav.next {
    right: 18px;
  }
  .s90-lightbox-img {
    max-height: calc(100svh - 190px);
  }
  .s90-lightbox-close {
    top: 14px;
    right: 14px;
  }
  .s90-lightbox-meta {
    bottom: 49px;
  }
  .photo-card[data-lightbox]:before {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .hero:before,
  .hero-theme,
  .hero-art-number,
  .hero-backplate,
  .hero-swoosh-a,
  .hero-figure-center,
  .hero-figure-left,
  .hero-figure-right,
  .hero-orbit-a,
  .champion-tab.is-active i {
    animation: none !important;
  }
  .reveal,
  .champion-slide,
  .champion-slide-bg,
  .champion-kicker,
  .champion-lockup,
  .champion-foot,
  .s90-lightbox,
  .s90-lightbox-img,
  .btn,
  .team-card,
  .video-embed-card {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
  .champion-tab.is-active i {
    width: 100%;
  }
}
.s90-scroll-progress {
  position: fixed;
  z-index: 1400;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  transform-origin: left;
  transform: scaleX(0);
  background: linear-gradient(90deg, var(--yellow), #fff, var(--yellow));
  box-shadow: 0 0 16px rgba(253, 210, 2, 0.5);
  pointer-events: none;
}
.s90-page-wipe {
  position: fixed;
  inset: -12% -24%;
  z-index: 6000;
  background: var(--yellow);
  transform: translateX(-115%) skewX(-11deg);
  pointer-events: none;
  animation: s90Wipe 0.9s var(--ease-sport) both;
}
@keyframes s90Wipe {
  0% {
    transform: translateX(-115%) skewX(-11deg);
  }
  42% {
    transform: translateX(0) skewX(-11deg);
  }
  100% {
    transform: translateX(118%) skewX(-11deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .s90-page-wipe {
    display: none;
  }
}
.champion-showcase:hover .champion-tab.is-active i,
.champion-showcase:focus-within .champion-tab.is-active i {
  animation-play-state: paused;
}

/* === V7.2 CHAMPION VISIBILITY — artwork is never obstructed === */
.champion-showcase {
  height: clamp(760px, 94svh, 1040px);
  min-height: 760px;
}
.champion-slide {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  background: #050506;
}
.champion-media {
  position: relative;
  z-index: 2;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 24px 18px;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(253, 210, 2, 0.055),
      transparent 42%
    ),
    #050506;
}
.champion-media::after {
  content: "";
  position: absolute;
  inset: auto 6% 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.22),
    transparent
  );
  pointer-events: none;
}
.champion-slide-bg {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  transform: scale(1.018) !important;
  width: min(94vw, 1600px) !important;
  height: auto !important;
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 20/9;
  object-fit: contain !important;
  object-position: center !important;
  filter: none !important;
  background: #050506;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
  transition:
    transform 6s linear,
    opacity 0.6s ease !important;
}
.champion-slide.is-active .champion-slide-bg {
  transform: scale(1) !important;
}
.champion-slide::after,
.champion-shade {
  display: none !important;
}
.champion-info {
  position: relative;
  z-index: 4;
  background: linear-gradient(180deg, #111114 0%, #08080a 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.champion-slide-inner {
  height: auto !important;
  min-height: 222px;
  padding: 24px 0 98px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "kicker kicker kicker"
    "lockup lockup foot";
  align-items: center;
  justify-content: initial !important;
  gap: 12px 34px;
}
.champion-kicker {
  grid-area: kicker;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  backdrop-filter: none !important;
}
.champion-lockup {
  grid-area: lockup;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  backdrop-filter: none !important;
  align-items: center !important;
  gap: 22px !important;
}
.champion-lockup > img {
  width: 96px !important;
  height: 96px !important;
  flex: 0 0 96px;
  padding: 8px !important;
  background: rgba(255, 255, 255, 0.055) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
.champion-lockup h2 {
  font-size: clamp(2.8rem, 5.1vw, 5.8rem) !important;
  margin: 0;
}
.champion-season {
  font-size: clamp(1.4rem, 2.2vw, 2.2rem) !important;
  margin-bottom: 7px !important;
}
.champion-foot {
  grid-area: foot;
  max-width: 390px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  gap: 14px !important;
}
.champion-foot p {
  max-width: 390px !important;
}
.champion-controls {
  bottom: 24px !important;
}

@media (max-width: 900px) {
  .champion-showcase {
    height: clamp(730px, 92svh, 900px);
    min-height: 730px;
  }
  .champion-media {
    padding: 22px 16px 12px;
  }
  .champion-slide-inner {
    min-height: 250px;
    grid-template-columns: 1fr;
    grid-template-areas: "kicker" "lockup" "foot";
    gap: 12px;
    padding: 20px 20px 92px !important;
  }
  .champion-foot {
    max-width: none !important;
    display: flex !important;
    flex-direction: row;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100%;
  }
  .champion-foot p {
    max-width: 60% !important;
  }
}
@media (max-width: 720px) {
  .champion-showcase {
    height: auto !important;
    min-height: 680px !important;
  }
  .champion-slide {
    grid-template-rows: auto 1fr;
  }
  .champion-media {
    padding: 18px 10px 12px;
    min-height: 205px;
  }
  .champion-slide-bg {
    width: 100% !important;
    max-height: none !important;
    aspect-ratio: 20/9;
  }
  .champion-slide-inner {
    min-height: 400px;
    padding: 18px 16px 96px !important;
  }
  .champion-lockup > img {
    width: 76px !important;
    height: 76px !important;
    flex-basis: 76px !important;
  }
  .champion-lockup h2 {
    font-size: clamp(2.8rem, 13vw, 4.2rem) !important;
  }
  .champion-season {
    font-size: 1.35rem !important;
  }
  .champion-foot {
    display: block !important;
  }
  .champion-foot p {
    max-width: 100% !important;
  }
  .champion-foot .btn {
    margin-top: 14px !important;
  }
  .champion-controls {
    bottom: 22px !important;
  }
}

/* === Season 4 full-bleed announcement === */
.season4-announcement {
  background: #050506;
  color: #fff;
  overflow: hidden;
  border-top: 1px solid rgba(253, 210, 2, 0.35);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.season4-newsbar {
  background: #0b0b0d;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.season4-newsbar-inner {
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 18px;
}
.season4-news-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--yellow);
  color: #0b0b0d;
  padding: 9px 13px;
  font-size: 0.66rem;
  font-weight: 950;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  clip-path: polygon(
    0 0,
    calc(100% - 8px) 0,
    100% 8px,
    100% 100%,
    8px 100%,
    0 calc(100% - 8px)
  );
  white-space: nowrap;
}
.season4-newsbar p {
  margin: 0;
  color: #d9d9dc;
  font-size: clamp(0.86rem, 1.15vw, 1rem);
}
.season4-newsbar strong {
  color: #fff;
}
.season4-banner-stage {
  position: relative;
  width: 100%;
  background: #f5f5f2;
  line-height: 0;
  overflow: hidden;
}
.season4-banner-stage:before,
.season4-banner-stage:after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, var(--yellow), transparent);
}
.season4-banner-stage:before {
  top: 0;
}
.season4-banner-stage:after {
  bottom: 0;
}
.season4-banner-stage img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  background: #fff;
  transform: scale(1);
  transition:
    transform 1.2s var(--ease-out),
    filter 0.5s ease;
}
.season4-announcement:hover .season4-banner-stage img {
  transform: scale(1.008);
}
.season4-announcement-foot {
  background: linear-gradient(110deg, #09090b, #151519 64%, #09090b);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.season4-announcement-foot-inner {
  min-height: 142px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  padding-top: 26px;
  padding-bottom: 26px;
}
.season4-announcement-foot-inner > div:first-child > span {
  display: block;
  color: var(--yellow);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.season4-announcement-foot h2 {
  font-size: clamp(2.25rem, 4vw, 4.6rem);
  line-height: 0.84;
  margin: 0;
}
.season4-announcement-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 900px) {
  .season4-announcement-foot-inner {
    display: block;
  }
  .season4-announcement-actions {
    justify-content: flex-start;
    margin-top: 20px;
  }
  .season4-newsbar-inner {
    padding-top: 12px;
    padding-bottom: 12px;
  }
}
@media (max-width: 600px) {
  .season4-newsbar-inner {
    align-items: flex-start;
    gap: 10px;
    flex-direction: column;
  }
  .season4-newsbar {
    padding: 4px 0;
  }
  .season4-banner-stage img {
    width: 100%;
    height: auto;
  }
  .season4-announcement-foot-inner {
    min-height: auto;
    padding-top: 24px;
    padding-bottom: 28px;
  }
  .season4-announcement-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .season4-announcement-actions .btn {
    width: 100%;
    justify-content: space-between;
  }
  .season4-announcement:hover .season4-banner-stage img {
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .season4-banner-stage img {
    transition: none !important;
    transform: none !important;
  }
}

/* V7.8 — stronger navigation brand presence */
@media (min-width: 1101px) {
  .brand {
    min-width: 196px;
  }
  .nav-links {
    margin-left: auto;
  }
}

/* === V7.9 COMBINED POLISH: larger brand, dominant PNG hero, uniform press coverage === */
/* Brand scale */
.nav {
  height: 124px;
}
.brand img {
  width: 226px;
  height: 112px;
  object-fit: contain;
}
.site-header.scrolled .nav {
  height: 104px;
}
.site-header.scrolled .brand img {
  transform: scale(0.9);
}
.hero {
  padding-top: 174px;
}

/* Homepage hero: keep the supplied PNG dominant and the cricket graphics secondary */
.hero-art {
  right: -1vw;
  bottom: -1%;
  width: min(58vw, 980px);
  height: min(86vh, 840px);
}
.hero-art-number {
  right: -1%;
  top: 2%;
  font-size: min(34vw, 540px);
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.095);
}
.hero-backplate {
  inset: 13% 7% 8% 7%;
  opacity: 0.84;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.055),
    rgba(255, 255, 255, 0.01) 45%,
    rgba(253, 210, 2, 0.04)
  );
  border-color: rgba(255, 255, 255, 0.09);
}
.hero-gridlines {
  inset: 17% 8% 7% 17%;
  opacity: 0.22;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0 72px,
      rgba(255, 255, 255, 0.045) 73px 74px
    ),
    repeating-linear-gradient(
      0deg,
      transparent 0 72px,
      rgba(255, 255, 255, 0.025) 73px 74px
    );
  mask-image: linear-gradient(135deg, #000 20%, transparent 88%);
}
.hero-halo-main {
  right: 3%;
  top: 11%;
  width: 64%;
  height: 64%;
  background: radial-gradient(
    circle at 52% 52%,
    rgba(253, 210, 2, 0.2) 0%,
    rgba(253, 210, 2, 0.09) 28%,
    rgba(253, 210, 2, 0.025) 50%,
    rgba(253, 210, 2, 0) 72%
  );
  filter: blur(11px);
}
.hero-swoosh-a {
  left: 18%;
  bottom: 16%;
  width: 54%;
  height: 6px;
  opacity: 0.88;
  background: linear-gradient(
    90deg,
    rgba(253, 210, 2, 0),
    rgba(253, 210, 2, 0.72) 35%,
    #ffe46a 75%,
    rgba(255, 255, 255, 0.92)
  );
  box-shadow: 0 0 18px rgba(253, 210, 2, 0.2);
}
.hero-swoosh-a:after {
  content: "";
  position: absolute;
  right: -7px;
  top: 50%;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 35% 30%,
    #fff7b4 0%,
    #fdd202 45%,
    #c98500 100%
  );
  transform: translateY(-50%);
  box-shadow:
    0 0 0 5px rgba(253, 210, 2, 0.07),
    0 0 20px rgba(253, 210, 2, 0.26);
}
.hero-orbit {
  opacity: 0.62;
  border-color: rgba(253, 210, 2, 0.17);
  border-left-color: transparent;
  border-bottom-color: transparent;
}
.hero-orbit-a {
  right: 4%;
  top: 9%;
  width: 49%;
  height: 49%;
}
.hero-orbit-b {
  right: -1%;
  top: 25%;
  width: 27%;
  height: 27%;
  opacity: 0.38;
}
.hero-figure-left {
  left: 4%;
  bottom: 3%;
  width: min(31%, 300px);
  height: 62%;
  z-index: 5;
}
.hero-figure-center {
  right: 24%;
  bottom: 0;
  width: min(33%, 290px);
  height: 94%;
  z-index: 6;
}
.hero-figure-right {
  right: -1%;
  bottom: 2%;
  width: min(34%, 310px);
  height: 70%;
  z-index: 5;
}
.hero-cutout {
  filter: drop-shadow(0 28px 48px rgba(0, 0, 0, 0.42))
    drop-shadow(0 0 16px rgba(253, 210, 2, 0.1));
}
.hero-figure-shadow {
  opacity: 0.8;
}

.hero-copy {
  max-width: 700px;
}

/* Uniform press/news cards */
.press-section {
  background: linear-gradient(180deg, #f5f5f3 0%, #eeeeeb 100%) !important;
}
.press-eyebrow {
  color: #756100 !important;
}
.press-intro {
  color: #646468 !important;
  max-width: 480px;
}
.press-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}
.press-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border: 1px solid #d9d8d3;
  color: #111;
  overflow: hidden;
  position: relative;
  box-shadow: 0 12px 34px rgba(10, 10, 12, 0.055);
  transition:
    transform 0.4s var(--ease-out),
    box-shadow 0.4s var(--ease-out),
    border-color 0.4s var(--ease-out);
}
.press-card:after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 4px;
  background: var(--yellow);
  transition: right 0.45s var(--ease-out);
}
.press-card:hover {
  transform: translateY(-8px);
  border-color: #bdbbb3;
  box-shadow: 0 24px 56px rgba(10, 10, 12, 0.13);
}
.press-card:hover:after {
  right: 0;
}
.press-media {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #171719;
}
.press-media:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(0, 0, 0, 0.34));
  pointer-events: none;
}
.press-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    transform 0.65s var(--ease-out),
    filter 0.65s var(--ease-out);
}
.press-card:hover .press-media img {
  transform: scale(1.045);
  filter: saturate(1.05) contrast(1.03);
}
.press-index {
  position: absolute;
  left: 16px;
  top: 15px;
  z-index: 2;
  display: grid;
  place-items: center;
  min-width: 42px;
  height: 30px;
  padding: 0 9px;
  background: var(--yellow);
  color: #0b0b0d;
  font-size: 0.67rem;
  font-weight: 950;
  letter-spacing: 0.13em;
}
.press-open {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 2;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  background: rgba(9, 9, 11, 0.76);
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: #fff;
  font-size: 1rem;
  backdrop-filter: blur(9px);
  transition: 0.3s var(--ease-out);
}
.press-card:hover .press-open {
  background: var(--yellow);
  color: #111;
  border-color: var(--yellow);
  transform: rotate(6deg);
}
.press-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 22px 22px 20px;
}
.press-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 13px;
  color: #8a8985;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.press-source {
  color: #6c5900;
  font-weight: 950;
}
.press-body h3 {
  margin: 0;
  font-size: clamp(1.04rem, 1.25vw, 1.22rem);
  line-height: 1.28;
  font-weight: 850;
  letter-spacing: -0.015em;
  overflow-wrap: anywhere;
}
.press-read {
  margin-top: auto;
  padding-top: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #e5e4df;
  color: #111;
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.press-read b {
  font-size: 1rem;
  color: #806900;
  transition: transform 0.3s var(--ease-out);
}
.press-card:hover .press-read b {
  transform: translate(3px, -3px);
}
.press-view-all {
  margin-top: 34px;
  display: flex;
  justify-content: center;
}
.press-all-btn {
  min-width: 220px;
  box-shadow: 0 10px 28px rgba(253, 210, 2, 0.18) !important;
}
.press-archive-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 38px;
  margin-bottom: 44px;
}
.press-archive-head h2 {
  font-size: clamp(3.2rem, 7vw, 7rem);
}
.press-archive-head p {
  color: #68686c;
  max-width: 480px;
  margin: 0;
}
.press-grid-archive {
  row-gap: 28px;
}

@media (max-width: 1100px) {
  .brand img {
    width: 196px;
    height: 98px;
  }
  .nav {
    height: 114px;
  }
  .site-header.scrolled .nav {
    height: 96px;
  }
  .hero {
    padding-top: 164px;
  }
  .hero-art {
    width: min(82vw, 900px);
    height: 66vh;
    right: -18vw;
    bottom: 3%;
  }
  .hero-figure-left {
    width: min(28%, 220px);
    height: 48%;
    left: 10%;
  }
  .hero-figure-center {
    width: min(34%, 260px);
    height: 84%;
    right: 26%;
  }
  .hero-figure-right {
    width: min(30%, 240px);
    height: 52%;
    right: 6%;
  }
  .press-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .press-grid-home .press-card:last-child {
    grid-column: 1/-1;
    max-width: calc(50% - 11px);
    width: 100%;
    justify-self: center;
  }
}
@media (max-width: 720px) {
  .nav {
    height: 96px !important;
  }
  .brand img {
    width: 166px !important;
    height: 84px !important;
  }
  .site-header.scrolled .nav {
    height: 86px !important;
  }
  .hero {
    padding-top: 144px !important;
  }
  .hero-art {
    width: 116vw;
    right: -56vw;
    bottom: 1%;
    height: 52%;
    opacity: 1;
  }
  .hero-figure-left {
    left: 8%;
    bottom: 6%;
    width: 34%;
    height: 34%;
  }
  .hero-figure-center {
    right: 28%;
    bottom: 0;
    width: 32%;
    height: 72%;
  }
  .hero-figure-right {
    right: 2%;
    bottom: 5%;
    width: 35%;
    height: 38%;
  }
  .hero-halo-main {
    right: 6%;
    top: 14%;
    width: 52%;
    height: 52%;
  }
  .hero-art-number {
    font-size: 72vw;
    right: -8%;
    top: 6%;
  }
  .hero-swoosh-a {
    left: 18%;
    bottom: 17%;
    width: 46%;
    height: 5px;
  }
  .hero-swoosh-b {
    display: none;
  }
  .hero-swoosh-a:after {
    width: 12px;
    height: 12px;
  }
  .press-grid,
  .press-grid-home,
  .press-grid-archive {
    grid-template-columns: 1fr;
  }
  .press-grid-home .press-card:last-child {
    grid-column: auto;
    max-width: none;
  }
  .press-card {
    margin: 0 !important;
  }
  .press-media {
    aspect-ratio: 16/10;
  }
  .press-body {
    padding: 20px;
  }
  .press-archive-head {
    display: block;
    margin-bottom: 30px;
  }
  .press-archive-head p {
    margin-top: 18px;
  }
  .press-view-all {
    justify-content: stretch;
  }
  .press-all-btn {
    width: 100%;
    justify-content: space-between;
  }
}

/* === V7.10 HERO REFINEMENT: three supplied PNGs + smaller headline === */
.hero-copy {
  max-width: 680px;
}
.hero-sub {
  max-width: 560px;
}
@media (min-width: 1101px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.72fr);
    gap: 34px;
  }
}
@media (max-width: 1100px) {
  .hero-figure-left {
    left: 8%;
    bottom: 5%;
    width: min(31%, 230px);
    height: 50%;
  }
  .hero-figure-center {
    right: 25%;
    bottom: 0;
    width: min(35%, 270px);
    height: 86%;
  }
  .hero-figure-right {
    right: 4%;
    bottom: 4%;
    width: min(31%, 245px);
    height: 56%;
  }
  .hero-halo-left {
    left: 7%;
    top: 33%;
    width: 24%;
    height: 24%;
  }
  .hero-halo-right {
    right: 4%;
    top: 30%;
    width: 28%;
    height: 28%;
  }
  .hero-swoosh-b {
    right: 11%;
    top: 20%;
    width: 16%;
  }
}
@media (max-width: 720px) {
  .hero-grid {
    display: block;
  }
  .hero-copy {
    max-width: 100%;
    padding-right: 0;
  }
  .hero-art {
    width: 116vw;
    right: -56vw;
    bottom: 0;
    height: 52%;
    opacity: 1;
  }
  .hero-backplate {
    inset: 12% 10% 10% 12%;
  }
  .hero-gridlines {
    inset: 13% 10% 10% 14%;
  }
  .hero-halo-left {
    left: 8%;
    top: 35%;
    width: 22%;
    height: 22%;
  }
  .hero-halo-main {
    right: 6%;
    top: 14%;
    width: 52%;
    height: 52%;
  }
  .hero-halo-right {
    right: 3%;
    top: 28%;
    width: 24%;
    height: 24%;
  }
  .hero-figure-left {
    left: 7%;
    bottom: 7%;
    width: 34%;
    height: 34%;
  }
  .hero-figure-center {
    right: 27%;
    bottom: 0;
    width: 33%;
    height: 72%;
  }
  .hero-figure-right {
    right: 2%;
    bottom: 7%;
    width: 35%;
    height: 38%;
  }
  .hero-swoosh-a {
    left: 17%;
    bottom: 17%;
    width: 46%;
    height: 5px;
  }
  .hero-swoosh-b {
    display: none;
  }
  .hero-art-number {
    font-size: 72vw;
    right: -8%;
    top: 6%;
  }
}

/* === V7.11 GALLERY REFINEMENT: face-visible editorial masonry previews === */
.gallery-season .section-head {
  align-items: end;
  margin-bottom: 28px;
}
.gallery-season .section-head p {
  max-width: 520px;
}
.gallery-season .photo-grid {
  display: block;
  column-count: 4;
  column-gap: 18px;
}
.gallery-season .photo-card {
  display: inline-flex;
  width: 100%;
  margin: 0 0 18px;
  break-inside: avoid;
  min-height: 0 !important;
  padding: 10px;
  background: linear-gradient(180deg, #151518 0%, #0c0c0f 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
  flex-direction: column;
  gap: 12px;
  transition:
    transform 0.35s var(--ease-out),
    border-color 0.35s var(--ease-out),
    box-shadow 0.35s var(--ease-out);
}
.gallery-season .photo-card:hover {
  transform: translateY(-6px);
  border-color: rgba(253, 210, 2, 0.38);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.34);
}
.gallery-season .photo-card:after {
  display: none;
}
.gallery-season .photo-card img {
  display: block;
  width: 100%;
  height: auto !important;
  min-height: 0;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #08080a;
}
.gallery-season .photo-card span {
  position: static;
  display: inline-flex;
  align-self: flex-start;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
  color: var(--yellow);
  font-size: 0.66rem;
  line-height: 1;
  letter-spacing: 0.14em;
}
.gallery-season .photo-card[data-lightbox]:before {
  right: 18px;
  top: 18px;
  z-index: 5;
}
.gallery-season .photo-card[data-lightbox]:hover:before {
  background: rgba(253, 210, 2, 0.9);
  color: #111;
  border-color: rgba(253, 210, 2, 0.9);
}
@media (max-width: 1200px) {
  .gallery-season .photo-grid {
    column-count: 3;
  }
}
@media (max-width: 820px) {
  .gallery-season .photo-grid {
    column-count: 2;
    column-gap: 14px;
  }
  .gallery-season .photo-card {
    margin-bottom: 14px;
    padding: 8px;
    gap: 10px;
  }
}
@media (max-width: 560px) {
  .gallery-season .photo-grid {
    column-count: 1;
  }
}

/* === V7.12 SCALE PASS: larger nav brand + genuinely larger three-figure hero === */
.nav {
  height: 146px;
}
.brand {
  min-width: 276px;
}
.brand img {
  width: 170px;
  height: auto;
}
.site-header.scrolled .nav {
  height: 118px;
}
.site-header.scrolled .brand img {
  transform: scale(0.9);
}
.hero {
  padding-top: 194px;
}

@media (min-width: 1101px) {
  .hero-grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(500px, 0.82fr);
    gap: 22px;
  }
  .hero-copy {
    max-width: 650px;
  }
  .hero-art {
    right: -3vw;
    bottom: -1%;
    width: min(64vw, 1120px);
    height: min(88vh, 900px);
  }
  .hero-figure-left {
    left: 0;
    bottom: 2%;
    width: 38%;
    height: 82%;
    z-index: 5;
  }
  .hero-figure-center {
    right: 24%;
    bottom: 0;
    width: 60%;
    height: 100%;
    z-index: 7;
  }
  .hero-figure-right {
    right: -1%;
    bottom: 1%;
    width: 39%;
    height: 84%;
    z-index: 6;
  }
  .hero-halo-main {
    right: 5%;
    top: 7%;
    width: 72%;
    height: 72%;
    opacity: 0.95;
  }
  .hero-halo-left {
    left: 1%;
    top: 22%;
    width: 34%;
    height: 34%;
  }
  .hero-halo-right {
    right: -1%;
    top: 20%;
    width: 38%;
    height: 38%;
  }
  .hero-backplate {
    inset: 8% 4% 5% 2%;
  }
  .hero-gridlines {
    inset: 10% 5% 7% 4%;
  }
  .hero-art-number {
    font-size: min(37vw, 610px);
    right: -1%;
    top: -1%;
  }
  .hero-swoosh-a {
    left: 12%;
    bottom: 14%;
    width: 64%;
  }
}

@media (max-width: 1100px) and (min-width: 721px) {
  .nav {
    height: 132px;
  }
  .brand {
    min-width: 230px;
  }
  .brand img {
    width: 230px !important;
    height: 114px !important;
  }
  .site-header.scrolled .nav {
    height: 108px;
  }
  .hero {
    padding-top: 178px;
  }
  .hero-art {
    width: min(92vw, 960px);
    height: 69vh;
    right: -23vw;
    bottom: 1%;
  }
  .hero-figure-left {
    left: 1%;
    bottom: 4%;
    width: 37%;
    height: 67%;
  }
  .hero-figure-center {
    right: 31%;
    bottom: 0;
    width: 36%;
    height: 94%;
  }
  .hero-figure-right {
    right: 0%;
    bottom: 3%;
    width: 38%;
    height: 70%;
  }
  .hero-halo-main {
    right: 4%;
    top: 10%;
    width: 68%;
    height: 68%;
  }
}

@media (max-width: 720px) {
  .nav {
    height: 108px !important;
  }
  .brand {
    min-width: 194px;
  }
  .brand img {
    width: 194px !important;
    height: 96px !important;
  }
  .site-header.scrolled .nav {
    height: 94px !important;
  }
  .hero {
    padding-top: 158px !important;
    min-height: max(820px, 100svh);
  }
  .hero-art {
    width: 132vw;
    right: -67vw;
    bottom: 0;
    height: 55%;
    opacity: 1;
  }
  .hero-figure-left {
    left: -1%;
    bottom: 6%;
    width: 40%;
    height: 48%;
  }
  .hero-figure-center {
    right: 30%;
    bottom: 0;
    width: 39%;
    height: 88%;
  }
  .hero-figure-right {
    right: -1%;
    bottom: 5%;
    width: 42%;
    height: 52%;
  }
  .hero-halo-main {
    right: 2%;
    top: 9%;
    width: 70%;
    height: 70%;
  }
  .hero-halo-left {
    left: 0;
    top: 29%;
    width: 30%;
    height: 30%;
  }
  .hero-halo-right {
    right: -2%;
    top: 27%;
    width: 32%;
    height: 32%;
  }
  .hero-backplate {
    inset: 7% 3% 6% 1%;
  }
  .hero-gridlines {
    inset: 9% 4% 7% 3%;
  }
  .hero-art-number {
    font-size: 86vw;
    right: -9%;
    top: -1%;
  }
  .hero-swoosh-a {
    left: 9%;
    bottom: 14%;
    width: 64%;
    height: 5px;
  }
}

/* === V7.13 LIGHT REBRAND: white + yellow theme and redesigned homepage hero === */
:root {
  --paper: #fffef9;
  --paper-2: #fff8de;
  --paper-3: #fff3b7;
  --ink: #111111;
  --ink-soft: #4f4a3a;
  --line-soft: rgba(160, 129, 0, 0.18);
  --panel: rgba(255, 255, 255, 0.86);
}
html {
  background: var(--paper);
}
body {
  background: linear-gradient(180deg, #ffffff 0%, #fffef9 52%, #fff8e7 100%);
  color: var(--ink);
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: url("assets/yellow-white-theme.webp") center top / cover no-repeat;
  opacity: 0.085;
  pointer-events: none;
  z-index: -2;
}
.muted {
  color: var(--ink-soft);
}
.big90 {
  -webkit-text-stroke: 1px rgba(253, 210, 2, 0.22);
}
.section,
.section.dark,
.section.graphite,
.section.light {
  color: var(--ink);
}
.section.dark {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.94) 0%,
    rgba(255, 249, 228, 0.98) 100%
  );
}
.section.graphite {
  background: linear-gradient(
    180deg,
    rgba(255, 249, 228, 0.92) 0%,
    rgba(255, 255, 255, 0.98) 100%
  );
}
.section.light {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(255, 252, 242, 0.98) 100%
  );
}
.section.yellow {
  background: linear-gradient(135deg, #fff7cc 0%, #fdd202 100%);
  color: var(--ink);
}
.site-header {
  background: linear-gradient(
    rgba(255, 255, 255, 0.96),
    rgba(255, 255, 255, 0.82)
  );
  border-bottom: 1px solid rgba(253, 210, 2, 0.18);
  box-shadow: 0 12px 36px rgba(29, 29, 29, 0.04);
}
.site-header.scrolled {
  background: rgba(255, 255, 255, 0.92);
  border-bottom-color: rgba(253, 210, 2, 0.42);
  box-shadow: 0 18px 50px rgba(29, 29, 29, 0.08);
}
.nav {
  height: 94px;
}
.brand img {
  width: 140px;
  height: 72px;
}
.nav-links a,
.menu-btn,
.mobile-close {
  color: var(--ink);
}
.nav-links a.btn.primary {
  color: #111;
}
.menu-btn {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  width: 50px;
  height: 50px;
}
.mobile-menu {
  background: linear-gradient(180deg, #ffffff 0%, #fff4c4 100%);
}
.mobile-menu:before {
  background: rgba(253, 210, 2, 0.45);
}
.mobile-menu a {
  color: var(--ink);
  text-shadow: none;
}
.mobile-close {
  border-color: rgba(0, 0, 0, 0.16);
  background: rgba(255, 255, 255, 0.72);
}
.btn.primary {
  box-shadow: 0 16px 34px rgba(253, 210, 2, 0.22);
}
.btn.secondary {
  border-color: rgba(115, 97, 26, 0.25);
  color: var(--ink);
  background: rgba(255, 255, 255, 0.84);
}
.btn.secondary:hover {
  border-color: var(--yellow);
  background: #fff8d0;
}
.hero {
  min-height: 100svh;
  align-items: center;
  padding: 148px 0 56px;
  background:
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(255, 255, 255, 0.92) 42%,
      rgba(255, 250, 230, 0.76) 70%,
      rgba(255, 255, 255, 0.24) 100%
    ),
    url("assets/yellow-white-theme.webp") center / cover no-repeat;
}
.hero::after {
  background:
    linear-gradient(
      0deg,
      rgba(255, 255, 255, 0.88) 0%,
      rgba(255, 255, 255, 0.08) 26%,
      rgba(255, 255, 255, 0.58) 100%
    ),
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.16) 0%,
      transparent 52%,
      rgba(255, 255, 255, 0.22) 100%
    );
}
.hero::before {
  content: "";
  position: absolute;
  inset: auto auto 8% 5%;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(253, 210, 2, 0.26) 0%,
    rgba(253, 210, 2, 0.1) 40%,
    rgba(253, 210, 2, 0) 72%
  );
  filter: blur(14px);
  z-index: -1;
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
  gap: 26px;
  align-items: center;
}
.hero-copy {
  max-width: 700px;
  padding: clamp(26px, 3vw, 34px);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.84) 0%,
    rgba(255, 255, 255, 0.66) 100%
  );
  backdrop-filter: blur(10px);
  border: 1px solid rgba(253, 210, 2, 0.28);
  box-shadow: 0 30px 70px rgba(122, 95, 0, 0.1);
  clip-path: polygon(
    0 0,
    calc(100% - 22px) 0,
    100% 22px,
    100% 100%,
    22px 100%,
    0 calc(100% - 22px)
  );
}
.hero .eyebrow {
  color: #9a7500;
}
.hero h1 {
  color: #111;
  font-size: clamp(3.7rem, 7.4vw, 7.8rem);
  line-height: 0.88;
  text-shadow: 0 3px 0 rgba(255, 255, 255, 0.55);
}
.hero h1 .outline {
  color: transparent;
  -webkit-text-stroke: 1px rgba(26, 26, 26, 0.42);
}
.hero-sub {
  color: #433d2d;
  max-width: 560px;
  font-size: clamp(1rem, 1.4vw, 1.18rem);
}
.hero-art {
  right: 0;
  bottom: -1%;
  width: min(56vw, 1020px);
  height: min(84vh, 820px);
  z-index: -1;
}
.hero-theme {
  right: -4%;
  top: 10%;
  width: 44%;
  height: 50%;
  background: url("assets/yellow-white-theme.webp") center/cover no-repeat;
  opacity: 0.14;
  mix-blend-mode: multiply;
}
.hero-backplate {
  inset: 12% 2% 7% 8%;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.84),
    rgba(255, 252, 239, 0.56)
  );
  border: 1px solid rgba(253, 210, 2, 0.34);
  box-shadow:
    0 44px 84px rgba(135, 106, 0, 0.12),
    inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}
.hero-backplate::after {
  background:
    linear-gradient(
      135deg,
      rgba(253, 210, 2, 0.18),
      rgba(255, 255, 255, 0) 42%
    ),
    url("assets/yellow-white-theme.webp") center/cover no-repeat;
  mix-blend-mode: multiply;
  opacity: 0.34;
}
.hero-gridlines {
  inset: 11% 5% 7% 11%;
  background:
    linear-gradient(rgba(17, 17, 17, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 17, 17, 0.05) 1px, transparent 1px);
  opacity: 0.24;
}
.hero-art-number {
  right: -1%;
  top: 2%;
  -webkit-text-stroke: 1px rgba(253, 210, 2, 0.3);
}
.hero-halo-main {
  right: 10%;
  top: 15%;
  width: 62%;
  height: 62%;
  background: radial-gradient(
    circle,
    rgba(253, 210, 2, 0.24) 0%,
    rgba(253, 210, 2, 0.1) 36%,
    rgba(253, 210, 2, 0) 72%
  );
}
.hero-halo-left {
  background: radial-gradient(
    circle,
    rgba(253, 210, 2, 0.1) 0%,
    rgba(253, 210, 2, 0.05) 44%,
    rgba(253, 210, 2, 0) 76%
  );
}
.hero-halo-right {
  background: radial-gradient(
    circle,
    rgba(253, 210, 2, 0.14) 0%,
    rgba(253, 210, 2, 0.06) 44%,
    rgba(253, 210, 2, 0) 76%
  );
}
.hero-swoosh-a {
  box-shadow: 0 0 22px rgba(253, 210, 2, 0.26);
}
.hero-orbit {
  border-color: rgba(253, 210, 2, 0.26);
}
.hero-figure-shadow {
  height: 28px;
  background: radial-gradient(
    circle,
    rgba(126, 98, 0, 0.28),
    rgba(126, 98, 0, 0) 72%
  );
}
.hero-cutout {
  filter: drop-shadow(0 24px 36px rgba(105, 78, 0, 0.22))
    drop-shadow(0 0 22px rgba(253, 210, 2, 0.14));
}
.hero-figure-left {
  left: 2%;
  bottom: 3%;
  width: min(37%, 345px);
  height: 71%;
}
.hero-figure-center {
  right: 24%;
  width: min(39%, 340px);
  height: 98%;
}
.hero-figure-right {
  right: -1%;
  bottom: 2%;
  width: min(39%, 350px);
  height: 76%;
}
.meta-strip {
  margin-top: 28px;
  background: rgba(255, 255, 255, 0.78);
  border-top: 1px solid rgba(253, 210, 2, 0.28);
  border-bottom: 1px solid rgba(253, 210, 2, 0.28);
  box-shadow: 0 24px 60px rgba(135, 106, 0, 0.08);
}
.meta-item {
  border-right-color: rgba(0, 0, 0, 0.08);
}
.meta-item b {
  color: var(--ink);
}
.meta-item span {
  color: #6f6749;
}
.number-grid,
.match-card,
.team-card,
.player-stage,
.profile-card,
.news-card,
.gallery-season .photo-card,
.toolbar .field,
.field,
.directory-grid .profile-card {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(255, 251, 238, 0.98) 100%
  );
  color: var(--ink);
  border-color: rgba(160, 129, 0, 0.16);
  box-shadow: 0 20px 48px rgba(83, 67, 0, 0.08);
}
.match-card::before,
.team-card::before,
.player-visual::before,
.profile-card::before {
  opacity: 0.16;
}
.num,
.match-info div,
.player-info,
.tab,
.fixture-row .mini-crest,
.crest {
  background: rgba(255, 255, 255, 0.86);
  color: var(--ink);
  border-color: rgba(160, 129, 0, 0.18);
}
.match-top,
.fixture-list,
.fixture-row,
.match-info,
.meta-item,
.stat-line,
.player-info,
.number-grid,
.num,
.team-card,
.profile-card {
  border-color: rgba(160, 129, 0, 0.16);
}
.match-info {
  background: rgba(160, 129, 0, 0.14);
}
.team h3,
.team-card h3,
.profile-card h3,
.player-info h3,
.news-card h3,
.fixture-row .f-team,
.vs,
.fixture-row .f-vs,
.match-info b,
.stat-line b {
  color: var(--ink);
}
.fixture-row .f-meta,
.match-info span,
.stat-line span,
.num span,
.profile-card p,
.news-card p,
.page-hero p,
.footer-bottom,
.footer a {
  color: #655e49;
}
.tab.active,
.champion-tab.is-active {
  background: var(--yellow);
  color: #111;
  border-color: var(--yellow);
}
.page-hero {
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94) 0%,
      rgba(255, 250, 233, 0.96) 100%
    ),
    url("assets/yellow-white-theme.webp") center/cover no-repeat;
  border-bottom-color: rgba(253, 210, 2, 0.24);
}
.page-hero .big90 {
  -webkit-text-stroke: 1px rgba(253, 210, 2, 0.24);
}
.footer {
  background: linear-gradient(
    180deg,
    rgba(255, 248, 218, 0.96) 0%,
    rgba(255, 255, 255, 0.98) 100%
  );
  color: var(--ink);
  border-top-color: rgba(253, 210, 2, 0.22);
}
.footer h4 {
  color: #8d6b00;
}
.footer .big90 {
  -webkit-text-stroke: 1px rgba(253, 210, 2, 0.18);
}
.footer-tag,
.footer-logo + .footer-tag,
.footer-bottom strong {
  color: var(--ink);
}
.champion-arrow {
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
  border: 1px solid rgba(253, 210, 2, 0.28);
}
.champion-arrow:hover {
  background: var(--yellow);
}
.news-card .category,
.team-card .link,
.fixture-row .f-action {
  color: #926d00;
}
.gallery-season .photo-card img {
  background: rgba(255, 255, 255, 0.64);
}
.gallery-season .photo-card span {
  background: rgba(253, 210, 2, 0.1);
  border-color: rgba(253, 210, 2, 0.26);
  color: #7f6100;
}
@media (max-width: 1100px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr);
  }
  .hero h1 {
    font-size: clamp(3.4rem, 7.8vw, 6.8rem);
  }
  .hero-art {
    width: min(60vw, 860px);
  }
}
@media (max-width: 720px) {
  .nav {
    height: 86px;
  }
  .brand img {
    width: 126px;
    height: 64px;
  }
  .hero {
    padding: 126px 0 24px;
    min-height: 100svh;
  }
  .hero-copy {
    max-width: 100%;
    padding: 24px 22px;
  }
  .hero h1 {
    font-size: clamp(3.1rem, 15vw, 5.4rem);
  }
  .hero-art {
    width: 114vw;
    right: -54vw;
    bottom: -2%;
    height: 50%;
  }
  .hero-backplate {
    inset: 10% 8% 7% 13%;
  }
  .hero-gridlines {
    inset: 11% 10% 8% 16%;
  }
  .hero-figure-left {
    left: 6%;
    bottom: 6%;
    width: 35%;
    height: 35%;
  }
  .hero-figure-center {
    right: 27%;
    width: 34%;
    height: 76%;
  }
  .hero-figure-right {
    right: 1%;
    bottom: 6%;
    width: 35%;
    height: 39%;
  }
  .hero-swoosh-b {
    display: none;
  }
  .meta-strip {
    background: rgba(255, 255, 255, 0.9);
  }
}

/* === V7.13 additional light-surface refinements === */
.status {
  color: #6d6447;
}
.footer a:hover {
  color: #111;
}
.champion-controls {
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(253, 210, 2, 0.18);
  box-shadow: 0 18px 40px rgba(112, 88, 0, 0.1);
}
.champion-tab {
  background: rgba(255, 255, 255, 0.86);
  color: #6c6447;
  border-color: rgba(253, 210, 2, 0.18);
}
.champion-tab i {
  background: rgba(253, 210, 2, 0.16);
}
.season4-announcement {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(255, 249, 228, 0.96) 100%
  );
  color: #111;
  border-top-color: rgba(253, 210, 2, 0.28);
  border-bottom-color: rgba(253, 210, 2, 0.14);
}
.season4-newsbar {
  background: rgba(255, 255, 255, 0.94);
  border-bottom-color: rgba(253, 210, 2, 0.16);
}
.season4-newsbar p {
  color: #625c49;
}
.season4-newsbar strong {
  color: #111;
}
.season4-announcement-foot {
  background: linear-gradient(
    180deg,
    rgba(255, 250, 236, 0.98),
    rgba(255, 255, 255, 0.98)
  );
  border-top-color: rgba(253, 210, 2, 0.14);
}
.season4-announcement-foot-inner > div:first-child > span {
  color: #8e6d00;
}
.season4-announcement-foot h2 {
  color: #111;
}

/* === V7.14 SEASON 4 TEAMS REVEAL STATE === */
.teams-reveal-card {
  grid-column: 1/-1;
  min-height: 360px;
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 12px;
  padding: clamp(30px, 5vw, 70px);
  background:
    linear-gradient(
      110deg,
      rgba(255, 255, 255, 0.96),
      rgba(255, 249, 221, 0.9)
    ),
    url("assets/yellow-white-theme.webp") center/cover no-repeat;
  border: 1px solid rgba(253, 210, 2, 0.35);
  box-shadow: 0 28px 70px rgba(118, 91, 0, 0.11);
  color: #111;
  isolation: isolate;
}
.teams-reveal-card:after {
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  right: -70px;
  top: -90px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(253, 210, 2, 0.22),
    rgba(253, 210, 2, 0) 70%
  );
  z-index: -1;
}
.teams-reveal-kicker,
.teams-reveal-venue {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(151, 117, 0, 0.2);
  background: rgba(255, 255, 255, 0.72);
  color: #846500;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.teams-reveal-90 {
  position: absolute;
  right: 4%;
  bottom: -0.18em;
  font-family: var(--display);
  font-size: clamp(10rem, 28vw, 25rem);
  line-height: 0.72;
  color: transparent;
  -webkit-text-stroke: 1px rgba(253, 210, 2, 0.28);
  pointer-events: none;
  z-index: -1;
}
.teams-reveal-card h3 {
  max-width: 720px;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(3.2rem, 5vw, 3rem);
  line-height: 0.86;
  text-transform: uppercase;
}
.teams-reveal-card p {
  max-width: 620px;
  margin: 0;
  color: #5d563e;
  font-size: 1rem;
}

/* Keep the champions showcase aligned with the white/yellow site direction. */
.champions-section {
  background: #fffaf0 !important;
  color: #111 !important;
}
.champion-showcase,
.champion-slide,
.champion-media {
  background: #fffaf0 !important;
}
.champion-media {
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(253, 210, 2, 0.08),
      transparent 44%
    ),
    #fffaf0 !important;
}
.champion-slide-bg {
  background: #fffaf0 !important;
  box-shadow: 0 24px 70px rgba(87, 67, 0, 0.16) !important;
}
.champion-info {
  background: linear-gradient(180deg, #fffaf0 0%, #ffffff 100%) !important;
  border-top: 1px solid rgba(253, 210, 2, 0.22) !important;
  color: #111 !important;
}
.champion-kicker {
  color: #846500 !important;
}
.champion-lockup h2 {
  color: #111 !important;
  text-shadow: none !important;
}
.champion-lockup > img {
  background: rgba(255, 255, 255, 0.88) !important;
  border-color: rgba(253, 210, 2, 0.24) !important;
}
.champion-foot p {
  color: #625b43 !important;
}
.champion-tabs {
  background: rgba(255, 255, 255, 0.94) !important;
  border-color: rgba(253, 210, 2, 0.22) !important;
}
.champion-tab {
  background: rgba(255, 255, 255, 0.94) !important;
  color: #6c6447 !important;
  border-color: rgba(253, 210, 2, 0.16) !important;
}
.champion-tab.is-active {
  color: #111 !important;
}

/* === V7.14 MOBILE-FIRST STABILITY PASS === */
@media (max-width: 767px) {
  :root {
    --edge: 16px;
  }
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }
  body {
    font-size: 15px;
  }
  .container {
    width: calc(100% - 32px);
    min-width: 0;
  }
  .section {
    padding: 56px 0;
  }
  .slash,
  .halftone,
  .page-hero .big90,
  .footer .big90 {
    display: none !important;
  }
  .section-head {
    display: block;
    margin-bottom: 26px;
  }
  .section-head p {
    max-width: none;
    margin-top: 14px;
  }
  .section-title {
    font-size: clamp(2.8rem, 14vw, 4.8rem);
    line-height: 0.9;
  }
  .eyebrow {
    font-size: 0.66rem;
    letter-spacing: 0.16em;
  }
  .btn {
    min-height: 50px;
    padding: 0 17px;
    font-size: 0.7rem;
  }

  /* Navigation */
  .site-header,
  .site-header.scrolled {
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(12px);
  }
  .nav,
  .site-header.scrolled .nav {
    height: 82px !important;
    gap: 10px;
  }
  .brand img,
  .site-header.scrolled .brand img {
    width: 132px !important;
    height: 66px !important;
    transform: none !important;
  }
  .menu-btn {
    display: grid !important;
    place-items: center;
    margin-left: auto;
    color: #111;
  }
  .mobile-menu {
    padding: 92px 22px 30px;
    overflow: auto;
  }
  .mobile-menu:before {
    inset: -15% 58% -15% -25%;
    opacity: 0.28;
  }
  .mobile-menu a {
    font-size: clamp(2.25rem, 12vw, 4.1rem);
    margin: 8px 0;
    line-height: 0.96;
  }
  .mobile-close {
    right: 18px;
    top: 18px;
  }

  /* Internal page heroes */
  .page-hero {
    padding: 118px 0 54px !important;
    min-height: 0;
  }
  .page-hero h1 {
    font-size: clamp(3.1rem, 16vw, 5.6rem) !important;
    line-height: 0.88;
  }
  .page-hero p {
    font-size: 0.96rem;
    line-height: 1.65;
    max-width: 100%;
  }

  /* Homepage hero becomes a deliberate stacked mobile composition. */
  .hero {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    padding: 106px 0 0 !important;
    background:
      linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.96) 0%,
        rgba(255, 255, 255, 0.9) 52%,
        rgba(255, 249, 223, 0.82) 100%
      ),
      url("assets/yellow-white-theme.webp") center top/cover no-repeat !important;
  }
  .hero > .container.hero-grid {
    order: 1;
    display: block !important;
  }
  .hero-copy {
    max-width: none !important;
    padding: 22px 18px !important;
    clip-path: none !important;
    border-radius: 16px;
    box-shadow: 0 18px 46px rgba(118, 91, 0, 0.09);
  }
  .hero h1 {
    font-size: clamp(3rem, 15.4vw, 5.2rem) !important;
    line-height: 0.88;
  }
  .hero-sub {
    font-size: 0.98rem !important;
    margin: 18px 0 !important;
  }
  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .hero-actions .btn {
    width: 100%;
    justify-content: space-between;
  }
  .hero-art {
    order: 2;
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 410px !important;
    margin-top: -6px;
    z-index: 0 !important;
    overflow: hidden !important;
  }
  .hero-theme,
  .hero-backplate,
  .hero-gridlines,
  .hero-orbit,
  .hero-swoosh,
  .hero-halo-left,
  .hero-halo-right,
  .hero-art-number {
    display: none !important;
  }
  .hero-halo-main {
    display: block !important;
    right: 10% !important;
    top: 8% !important;
    width: 80% !important;
    height: 80% !important;
    filter: blur(18px) !important;
  }
  .hero-figure-left,
  .hero-figure-right {
    display: none !important;
  }
  .hero-figure-center {
    display: block !important;
    right: 16% !important;
    bottom: 0 !important;
    width: 68% !important;
    height: 100% !important;
    animation: none !important;
  }
  .hero-figure-shadow {
    bottom: 1% !important;
  }
  .meta-strip {
    display: none !important;
  }

  /* Season 4 announcement */
  .season4-newsbar-inner {
    min-height: 0;
    padding: 15px 0;
    display: grid !important;
    gap: 9px !important;
  }
  .season4-newsbar p {
    font-size: 0.84rem;
    line-height: 1.5;
  }
  .season4-banner-stage img {
    width: 100%;
    height: auto;
    transform: none !important;
  }
  .season4-announcement-foot-inner {
    display: block !important;
    min-height: 0 !important;
    padding: 24px 0 !important;
  }
  .season4-announcement-foot h2 {
    font-size: clamp(2.2rem, 11vw, 3.8rem) !important;
    margin-bottom: 18px;
  }
  .season4-announcement-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100%;
  }
  .season4-announcement-actions .btn {
    width: 100%;
    justify-content: space-between;
  }

  /* Format / fixtures / team archive */
  .format-grid,
  .match-wrap,
  .story-grid,
  .launch-grid,
  .article-grid,
  .team-profile-identity {
    display: block !important;
  }
  .number-grid {
    grid-template-columns: 1fr !important;
    margin-top: 28px;
  }
  .num {
    min-height: 118px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(160, 129, 0, 0.16) !important;
    padding: 24px 20px;
  }
  .num:last-child {
    border-bottom: 0 !important;
  }
  .num strong {
    font-size: 4.8rem;
  }
  .match-lead {
    padding-left: 18px;
    margin-bottom: 22px;
  }
  .match-card {
    padding: 20px !important;
    min-width: 0;
  }
  .match-card:before {
    display: none;
  }
  .match-info {
    grid-template-columns: 1fr !important;
  }
  .match-info div {
    padding: 13px;
  }
  .match-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .match-actions .btn {
    width: 100%;
    justify-content: space-between;
  }
  .season-bar {
    display: block !important;
    margin-bottom: 24px;
    padding-bottom: 20px;
  }
  .season-switcher {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    padding: 12px 0 4px;
    justify-content: flex-start !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  .season-chip {
    flex: 0 0 auto !important;
    min-width: 108px;
    scroll-snap-align: start;
  }
  .season-team-grid,
  .team-rail {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
  }
  .season-team-grid .team-card,
  .team-card {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 330px;
  }
  .team-card .team-logo {
    height: 118px !important;
  }
  .teams-reveal-card {
    min-height: 320px;
    padding: 28px 22px;
  }
  .teams-reveal-card h3 {
    font-size: clamp(1.8rem, 1vw, 4.8rem);
  }
  .teams-reveal-90 {
    font-size: 11rem;
    right: -4%;
    opacity: 0.55;
  }
  .teams-reveal-card p {
    font-size: 0.94rem;
  }

  /* Champions: preserve banner visibility, simplify controls/content. */
  .champion-showcase {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 18px;
  }
  .champion-slides {
    position: relative !important;
    inset: auto !important;
  }
  .champion-slide {
    position: relative !important;
    inset: auto !important;
    display: none !important;
    grid-template-rows: auto auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }
  .champion-slide.is-active {
    display: grid !important;
  }
  .champion-media {
    min-height: 0 !important;
    padding: 12px 10px !important;
  }
  .champion-slide-bg {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 20/9 !important;
    object-fit: contain !important;
    transform: none !important;
  }
  .champion-slide-inner {
    min-height: 0 !important;
    padding: 18px 16px 18px !important;
    display: block !important;
  }
  .champion-kicker {
    margin-bottom: 12px !important;
  }
  .champion-lockup {
    gap: 14px !important;
    align-items: center !important;
  }
  .champion-lockup > img {
    width: 66px !important;
    height: 66px !important;
    flex-basis: 66px !important;
  }
  .champion-lockup h2 {
    font-size: clamp(2.4rem, 12vw, 3.8rem) !important;
  }
  .champion-season {
    font-size: 1.25rem !important;
  }
  .champion-foot {
    display: block !important;
    margin-top: 14px !important;
  }
  .champion-foot p {
    font-size: 0.9rem !important;
    margin-bottom: 14px !important;
  }
  .champion-foot .btn {
    width: 100%;
    justify-content: space-between;
    margin: 0 !important;
  }
  .champion-controls {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: calc(100% - 32px) !important;
    margin: 14px auto 0 !important;
    display: grid !important;
    grid-template-columns: 44px 1fr 44px !important;
    gap: 6px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  .champion-arrow {
    width: 44px !important;
    height: 46px !important;
  }
  .champion-tabs {
    min-width: 0 !important;
  }
  .champion-tab {
    min-height: 46px !important;
    padding: 0 6px !important;
    font-size: 0.55rem !important;
    letter-spacing: 0.06em !important;
  }

  /* Media sections */
  .video-embed-grid {
    grid-template-columns: 1fr !important;
  }
  .video-embed-card:first-child {
    grid-column: auto !important;
  }
  .video-embed-card {
    margin: 0 !important;
  }
  .home-photo-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px;
  }
  .home-photo-grid .photo-card {
    min-height: 0 !important;
  }
  .home-photo-grid .photo-card:nth-child(n + 3) {
    display: none !important;
  }
  .launch-collage {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
    min-height: 0 !important;
    margin-top: 24px;
  }
  .launch-photo-main {
    grid-column: 1/-1 !important;
    grid-row: auto !important;
  }
  .launch-photo {
    height: auto !important;
    aspect-ratio: 4/3;
    object-fit: cover;
  }
  .launch-photo-main {
    aspect-ratio: 16/10;
  }
  .press-grid,
  .press-grid-home,
  .press-grid-archive,
  .news-grid {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  .press-card,
  .news-card {
    margin: 0 !important;
    min-width: 0;
  }
  .press-media {
    aspect-ratio: 16/10;
  }

  /* Gallery page */
  .gallery-season .photo-grid {
    column-count: 1 !important;
  }
  .gallery-season .photo-card {
    margin-bottom: 14px !important;
  }

  /* Forms / CTAs / footer */
  body[data-page="get"] form .toolbar {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .field,
  textarea.field {
    width: 100%;
    min-width: 0;
    font-size: 16px;
  }
  .cta-panel {
    display: block !important;
    padding: 28px 22px !important;
    margin-top: 36px !important;
  }
  .cta-panel:after {
    display: none;
  }
  .cta-panel .btn {
    width: 100%;
    margin-top: 18px;
    justify-content: space-between;
  }
  .partner-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .footer {
    padding: 56px 0 24px;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 20px !important;
  }
  .footer-top > div:first-child {
    grid-column: 1/-1 !important;
  }
  .footer-logo {
    width: 132px;
  }
  .footer-tag {
    font-size: 2.25rem !important;
  }
  .footer-bottom {
    display: block !important;
    margin-top: 36px !important;
  }
  .footer-bottom span {
    display: block;
    margin-top: 6px;
  }
}

@media (max-width: 420px) {
  .container {
    width: calc(100% - 28px);
  }
  .hero-art {
    height: 370px !important;
  }
  .hero-figure-center {
    right: 12% !important;
    width: 76% !important;
  }
  .home-photo-grid {
    grid-template-columns: 1fr !important;
  }
  .home-photo-grid .photo-card:nth-child(n + 2) {
    display: none !important;
  }
  .partner-grid {
    grid-template-columns: 1fr !important;
  }
  .footer-top {
    grid-template-columns: 1fr !important;
  }
  .footer-top > div:first-child {
    grid-column: auto !important;
  }
  .champion-controls {
    width: calc(100% - 28px) !important;
  }
  .champion-tab span {
    font-size: 0.5rem;
  }
}

/* === V7.15 RESEARCH-BASED VISIBILITY & UX SYSTEM ===
   Built around WCAG contrast, visible focus, consistent hierarchy, whitespace,
   scannable content, and mobile-first target sizing. */
:root {
  --ui-ink: #111111;
  --ui-body: #111111;
  --ui-gold: #111111;
  --ui-yellow: #fdd103;
  --ui-paper: #ffffff;
  --ui-cream: #fbfbf7;
  --ui-line: #fad821;
  --ui-line-soft: #fae04c;
  --ui-shadow: 0 18px 48px rgba(88, 68, 0, 0.1);
}

/* Global legibility */
body {
  color: var(--ui-ink);
  font-size: 16px;
  line-height: 1.62;
}
p {
  color: var(--ui-body);
}
.muted,
.small {
  color: var(--ui-body) !important;
}
.eyebrow {
  color: var(--ui-gold) !important;
  font-weight: 900;
}
.display {
  color: var(--ui-ink);
}
.section-title {
  letter-spacing: -0.015em;
}

/* Text should never sit on a busy image without a readable surface. */
.hero-copy,
.page-hero .container,
.season4-newsbar-inner,
.season4-announcement-foot-inner {
  position: relative;
  z-index: 2;
}
.hero-copy {
  background: #fff !important;
  border: 1px solid var(--ui-line-soft) !important;
  box-shadow: 0 24px 72px rgba(85, 64, 0, 0.13) !important;
  backdrop-filter: none !important;
}
.hero h1,
.hero h1 .outline {
  filter: none !important;
  text-shadow: none !important;
}
.hero h1 {
  color: var(--ui-ink) !important;
}
.hero h1 .outline {
  -webkit-text-stroke: 1.5px #4c4328 !important;
  color: transparent !important;
}
.hero-sub {
  color: var(--ui-body) !important;
  line-height: 1.62 !important;
}

/* Simplify competing decoration so information gets first priority. */
.hero-gridlines {
  opacity: 0.12 !important;
}
.hero-orbit {
  opacity: 0.28 !important;
}
.hero-theme {
  opacity: 0.08 !important;
}
.hero-backplate {
  opacity: 0.78 !important;
}
.hero-swoosh-b {
  opacity: 0.25 !important;
}

/* More disciplined spacing and grouping */
.section {
  padding-block: clamp(72px, 8vw, 118px);
}
.section-head {
  gap: clamp(24px, 4vw, 58px);
  margin-bottom: clamp(30px, 4vw, 48px);
}
.section-head p {
  line-height: 1.7;
  color: var(--ui-body) !important;
}
.format-intro p,
.story-copy p,
.launch-copy p,
.article-body {
  line-height: 1.72;
}

/* Strong surface hierarchy */
.section.dark,
.section.graphite,
.section.light {
  background: #fff !important;
  color: var(--ui-ink) !important;
}
.section.graphite {
  background: var(--ui-cream) !important;
}
.number-grid,
.match-card,
.team-card,
.profile-card,
.player-stage,
.press-card,
.gallery-season .photo-card,
.cta-panel,
.aside-box {
  background: #fff !important;
  color: var(--ui-ink) !important;
  border-color: var(--ui-line-soft) !important;
  box-shadow: var(--ui-shadow) !important;
}
.number-grid {
  overflow: hidden;
}
.num {
  background: #fff !important;
  border-color: var(--ui-line-soft) !important;
}
.num strong {
  color: #6c5500 !important;
}
.num span {
  color: var(--ui-body) !important;
  font-weight: 800;
}

/* Cards: one clear title, one support layer, one action layer */
.team-card h3,
.profile-card h3,
.press-body h3,
.news-card h3,
.champion-lockup h2,
.team-profile-copy h2 {
  color: var(--ui-ink) !important;
}
.team-card .link,
.press-source,
.press-read,
.fixture-row .f-action,
.news-card .category {
  color: var(--ui-gold) !important;
}
.team-card .team-index {
  -webkit-text-stroke: 1px rgba(107, 86, 0, 0.16) !important;
}
.team-card:hover,
.press-card:hover,
.gallery-season .photo-card:hover {
  border-color: #c5a900 !important;
  box-shadow: 0 26px 64px rgba(88, 68, 0, 0.16) !important;
}

/* Buttons and links: unmistakable interactive states */
.btn {
  min-height: 48px;
  font-weight: 900;
}
.btn.primary {
  background: var(--ui-yellow) !important;
  color: #111 !important;
  border-color: #d9b600 !important;
}
.btn.primary:hover {
  background: #ffe45b !important;
}
.btn.secondary {
  background: #fff !important;
  color: var(--ui-ink) !important;
  border: 1.5px solid #8a761f !important;
}
.btn.secondary:hover {
  background: #fff7cc !important;
  border-color: #6b5600 !important;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.season-chip:focus-visible,
.champion-tab:focus-visible {
  outline: 3px solid #111 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px var(--ui-yellow) !important;
}

/* Navigation stays readable over every page state */
.site-header,
.site-header.scrolled {
  background: rgba(255, 255, 255, 0.97) !important;
  border-bottom: 1px solid var(--ui-line-soft) !important;
  box-shadow: 0 8px 30px rgba(83, 64, 0, 0.08) !important;
}
.nav-links a {
  color: var(--ui-ink) !important;
}
.nav-links a:after {
  height: 3px !important;
}
.menu-btn {
  color: var(--ui-ink) !important;
}
.mobile-menu {
  background: #fff !important;
  color: var(--ui-ink) !important;
}
.mobile-menu a {
  color: var(--ui-ink) !important;
}

/* Page hero text visibility */
.page-hero {
  background:
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.97),
      rgba(255, 255, 255, 0.88)
    ),
    url("assets/yellow-white-theme.webp") center/cover no-repeat !important;
}
.page-hero h1 {
  color: var(--ui-ink) !important;
}
.page-hero p {
  color: var(--ui-body) !important;
  max-width: 62ch;
}
.page-hero .eyebrow {
  color: var(--ui-gold) !important;
}

/* Match and fixture readability */
.match-card {
  background: #fff !important;
}
.match-top {
  border-color: var(--ui-line-soft) !important;
}
.status {
  color: var(--ui-body) !important;
}
.crest,
.mini-crest,
.match-info div,
.fixture-row .mini-crest {
  background: #fffdf3 !important;
  color: var(--ui-ink) !important;
  border-color: var(--ui-line) !important;
}
.team h3,
.fixture-row .f-team,
.match-info b {
  color: var(--ui-ink) !important;
}
.vs,
.fixture-row .f-vs {
  color: #756b50 !important;
}
.match-info {
  background: var(--ui-line-soft) !important;
}
.match-info span,
.fixture-row .f-meta {
  color: #655d47 !important;
}
.fixture-list,
.fixture-row {
  border-color: var(--ui-line-soft) !important;
}

/* Tabs and filters */
.tab,
.season-chip,
.field,
textarea.field {
  background: #fff !important;
  color: var(--ui-ink) !important;
  border: 1.5px solid #a99335 !important;
}
.tab.active,
.season-chip.active {
  background: var(--ui-yellow) !important;
  color: #111 !important;
  border-color: #b89700 !important;
}
.field::placeholder,
textarea.field::placeholder {
  color: #77705d;
  opacity: 1;
}

/* Champion controls: readable in every state */
.champion-info {
  background: #fff !important;
  color: var(--ui-ink) !important;
}
.champion-kicker {
  color: var(--ui-gold) !important;
}
.champion-foot p {
  color: var(--ui-body) !important;
}
.champion-controls,
.champion-tabs {
  background: #fff !important;
  border-color: var(--ui-line-soft) !important;
}
.champion-tab {
  background: #fff !important;
  color: #5b533d !important;
  border-color: var(--ui-line-soft) !important;
  font-weight: 900;
}
.champion-tab.is-active {
  background: #fff7c8 !important;
  color: #111 !important;
}
.champion-arrow {
  background: #fff !important;
  color: #111 !important;
  border: 1.5px solid #8a761f !important;
}

/* News: uniform and high contrast */
.press-section {
  background: #fff !important;
}
.press-card {
  background: #fff !important;
  border: 1px solid var(--ui-line-soft) !important;
}
.press-meta {
  color: #6b6452 !important;
}
.press-body h3 {
  line-height: 1.35 !important;
}
.press-read {
  border-top-color: var(--ui-line-soft) !important;
  color: var(--ui-ink) !important;
}

/* Gallery: labels and controls stay visible without obscuring faces */
.gallery-season .photo-card {
  background: #fff !important;
}
.gallery-season .photo-card span {
  background: #fff7c8 !important;
  color: #5f4a00 !important;
  border-color: #d1b82f !important;
}
.photo-card[data-lightbox]:before {
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #77650e !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}
.s90-lightbox {
  background: rgba(255, 255, 255, 0.98) !important;
}
.s90-lightbox-nav,
.s90-lightbox-close {
  background: #fff !important;
  color: #111 !important;
  border: 1.5px solid #77650e !important;
}
.s90-lightbox-meta {
  color: #4f493a !important;
}

/* Footer: no low-contrast grey-on-dark leftovers */
.footer {
  background: #fff8de !important;
  color: var(--ui-ink) !important;
  border-top: 1px solid var(--ui-line-soft) !important;
}
.footer h4 {
  color: var(--ui-gold) !important;
}
.footer a {
  color: #514b3b !important;
}
.footer a:hover {
  color: #111 !important;
}
.footer-bottom {
  color: #655d47 !important;
  border-top-color: var(--ui-line-soft) !important;
}

/* Mobile-first readability and interaction */
@media (max-width: 767px) {
  body {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
  .container {
    width: calc(100% - 32px) !important;
  }
  .section {
    padding-block: 54px !important;
  }
  .section-title {
    font-size: clamp(2.65rem, 13vw, 4.4rem) !important;
    line-height: 0.92 !important;
  }
  .section-head p {
    font-size: 0.96rem !important;
    line-height: 1.65 !important;
  }
  .nav,
  .site-header.scrolled .nav {
    height: 78px !important;
  }
  .brand img,
  .site-header.scrolled .brand img {
    width: 126px !important;
    height: 62px !important;
  }
  .menu-btn {
    width: 50px !important;
    height: 50px !important;
  }
  .mobile-menu a {
    min-height: 48px;
    display: flex !important;
    align-items: center !important;
  }

  /* Mobile hero prioritizes text first, one clear visual second. */
  .hero {
    padding-top: 96px !important;
    background: #fff !important;
  }
  .hero-copy {
    padding: 22px 18px !important;
    border-radius: 0 !important;
    border-width: 1px !important;
  }
  .hero h1 {
    font-size: clamp(2.9rem, 14vw, 4.8rem) !important;
    line-height: 0.9 !important;
  }
  .hero-sub {
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }
  .hero-art {
    height: 350px !important;
    background: linear-gradient(180deg, #fff, #fff8de) !important;
    margin-top: 12px !important;
  }
  .hero-halo-main {
    opacity: 0.7 !important;
  }
  .hero-figure-center {
    right: 14% !important;
    width: 72% !important;
    height: 100% !important;
  }
  .hero-figure-center .hero-cutout {
    filter: drop-shadow(0 18px 28px rgba(83, 64, 0, 0.18)) !important;
  }

  /* Eliminate secondary visual noise on narrow screens. */
  .hero-theme,
  .hero-backplate,
  .hero-gridlines,
  .hero-orbit,
  .hero-swoosh,
  .hero-art-number,
  .hero-figure-left,
  .hero-figure-right,
  .slash,
  .halftone,
  .footer .big90,
  .page-hero .big90 {
    display: none !important;
  }

  .btn,
  .tab,
  .season-chip,
  .champion-arrow,
  .champion-tab,
  .menu-btn,
  .mobile-close {
    min-height: 48px !important;
  }
  .hero-actions,
  .match-actions,
  .season4-announcement-actions {
    gap: 12px !important;
  }
  .hero-actions .btn,
  .match-actions .btn,
  .season4-announcement-actions .btn,
  .cta-panel .btn {
    width: 100% !important;
    justify-content: space-between !important;
  }

  /* Don't rely on tiny text. */
  .eyebrow,
  .press-meta,
  .press-read,
  .news-card .category,
  .team-card .link,
  .fixture-row .f-meta,
  .match-info span,
  .meta-item span {
    font-size: 0.72rem !important;
    letter-spacing: 0.1em !important;
  }
  .press-body h3,
  .news-card h3 {
    font-size: 1.08rem !important;
    line-height: 1.38 !important;
  }

  /* Clear single-column flows */
  .format-grid,
  .match-wrap,
  .story-grid,
  .launch-grid,
  .article-grid,
  .team-profile-identity,
  .cta-panel {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  .team-profile-art {
    border-right: 0 !important;
    border-bottom: 1px solid var(--ui-line-soft) !important;
  }
  .partner-grid,
  .stats-grid {
    grid-template-columns: 1fr !important;
  }
  .season-team-grid,
  .team-rail,
  .press-grid,
  .press-grid-home,
  .press-grid-archive,
  .news-grid,
  .video-embed-grid {
    grid-template-columns: 1fr !important;
  }
  .season-team-grid,
  .team-rail {
    display: grid !important;
    overflow: visible !important;
  }

  /* Keep content widths predictable. */
  .team-card,
  .press-card,
  .news-card,
  .profile-card,
  .match-card,
  .gallery-season .photo-card {
    width: 100% !important;
    min-width: 0 !important;
  }
  .match-card {
    padding: 18px !important;
  }
  .fixture-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .fixture-row .f-team.right {
    text-align: left !important;
    justify-content: flex-start !important;
  }
  .fixture-row .f-action {
    grid-column: auto !important;
    text-align: left !important;
  }
  .fixture-row .f-meta {
    grid-column: auto !important;
  }

  /* Champion banner remains primary; controls simplify. */
  .champion-controls {
    grid-template-columns: 46px 1fr 46px !important;
    padding: 0 !important;
  }
  .champion-tab {
    font-size: 0.58rem !important;
    letter-spacing: 0.04em !important;
    padding-inline: 4px !important;
  }
  .champion-lockup {
    align-items: center !important;
  }

  /* Mobile gallery = one full-width image per row, original aspect visible. */
  .gallery-season .photo-grid {
    column-count: 1 !important;
  }
  .gallery-season .photo-card {
    padding: 8px !important;
  }
  .gallery-season .photo-card img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .footer-top {
    grid-template-columns: 1fr !important;
  }
  .footer-top > div:first-child {
    grid-column: auto !important;
  }
}

@media (max-width: 420px) {
  .container {
    width: calc(100% - 28px) !important;
  }
  .hero h1 {
    font-size: clamp(2.75rem, 13.6vw, 4.2rem) !important;
  }
  .hero-art {
    height: 330px !important;
  }
  .hero-figure-center {
    right: 10% !important;
    width: 80% !important;
  }
}

/* === V7.16 OFFICIAL SUPER 90 BRAND PALETTE + MAXIMUM VISIBILITY ===
   Official palette only:
   Primary Yellow #FDD103
   Secondary Yellow #FAD821
   Light Yellow #FAE04C
   White #FFFFFF
   Off White #FBFBF7
   Dark Text #111111
*/
:root {
  --s90-primary: #fdd103;
  --s90-secondary: #fad821;
  --s90-light: #fae04c;
  --s90-white: #ffffff;
  --s90-off: #fbfbf7;
  --s90-ink: #111111;
  --yellow: #fdd103;
  --yellow2: #fad821;
  --white: #ffffff;
  --off: #fbfbf7;
  --black: #111111;
  --graphite: #fbfbf7;
  --silver: #fae04c;
  --mid: #111111;
  --ui-ink: #111111;
  --ui-body: #111111;
  --ui-gold: #111111;
  --ui-yellow: #fdd103;
  --ui-paper: #ffffff;
  --ui-cream: #fbfbf7;
  --ui-line: #fad821;
  --ui-line-soft: #fae04c;
  --ui-shadow: 0 18px 48px rgba(17, 17, 17, 0.1);
}
html,
body {
  background: var(--s90-off) !important;
  color: var(--s90-ink) !important;
}
body {
  line-height: 1.62;
}
body::before {
  opacity: 0.07 !important;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
b,
strong,
small,
label,
li {
  color: inherit;
}
p,
.muted,
.small,
.section-head p,
.hero-sub,
.page-hero p,
.champion-foot p,
.press-meta,
.fixture-row .f-meta,
.match-info span,
.stat-line span,
.footer a,
.footer-bottom {
  color: var(--s90-ink) !important;
}
.eyebrow,
.category,
.team-card .link,
.press-source,
.press-read,
.fixture-row .f-action,
.news-card .category {
  color: var(--s90-ink) !important;
}

/* Primary surfaces */
.section,
.section.light,
.section.dark {
  background: var(--s90-white) !important;
  color: var(--s90-ink) !important;
}
.section.graphite,
.footer,
.page-hero {
  background: var(--s90-off) !important;
  color: var(--s90-ink) !important;
}
.section.yellow {
  background: var(--s90-primary) !important;
  color: var(--s90-ink) !important;
}

/* Navigation */
.site-header,
.site-header.scrolled {
  background: rgba(255, 255, 255, 0.98) !important;
  border-bottom: 1px solid var(--s90-secondary) !important;
  box-shadow: 0 8px 28px rgba(17, 17, 17, 0.08) !important;
}
.nav-links a,
.menu-btn,
.mobile-menu a,
.mobile-close {
  color: var(--s90-ink) !important;
}
.nav-links a:after {
  background: var(--s90-primary) !important;
}
.mobile-menu {
  background: var(--s90-white) !important;
}
.mobile-menu:before {
  background: var(--s90-light) !important;
  opacity: 0.48;
}

/* Buttons: dark text on all yellow fills for contrast */
.btn.primary,
.season4-news-tag,
.tab.active,
.season-chip.active,
.press-index {
  background: var(--s90-primary) !important;
  color: var(--s90-ink) !important;
  border-color: var(--s90-primary) !important;
}
.btn.primary:hover {
  background: var(--s90-secondary) !important;
  color: var(--s90-ink) !important;
}
.btn.secondary,
.tab,
.season-chip,
.champion-arrow,
.champion-tab,
.s90-lightbox-nav,
.s90-lightbox-close {
  background: var(--s90-white) !important;
  color: var(--s90-ink) !important;
  border: 1.5px solid var(--s90-secondary) !important;
}
.btn.secondary:hover,
.champion-arrow:hover,
.s90-lightbox-nav:hover {
  background: var(--s90-light) !important;
  color: var(--s90-ink) !important;
  border-color: var(--s90-primary) !important;
}

/* Hero */
.hero {
  color: var(--s90-ink) !important;
  background:
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.96),
      rgba(255, 255, 255, 0.87) 45%,
      rgba(251, 251, 247, 0.68)
    ),
    url("assets/yellow-white-theme.webp") center/cover no-repeat !important;
}
.hero-copy {
  background: var(--s90-white) !important;
  color: var(--s90-ink) !important;
  border: 1.5px solid var(--s90-secondary) !important;
  box-shadow: 0 26px 64px rgba(17, 17, 17, 0.11) !important;
}
.hero h1,
.hero-sub,
.hero .eyebrow {
  color: var(--s90-ink) !important;
}
.hero h1 .outline {
  color: transparent !important;
  -webkit-text-stroke: 1.5px var(--s90-ink) !important;
}
.hero-backplate {
  background: rgba(255, 255, 255, 0.78) !important;
  border-color: var(--s90-secondary) !important;
}
.hero-gridlines {
  opacity: 0.1 !important;
}
.hero-halo-main {
  background: radial-gradient(
    circle,
    rgba(253, 209, 3, 0.23),
    rgba(250, 216, 33, 0.09) 40%,
    rgba(250, 224, 76, 0) 72%
  ) !important;
}
.meta-strip {
  background: rgba(255, 255, 255, 0.94) !important;
  border-color: var(--s90-secondary) !important;
}
.meta-item {
  border-color: rgba(17, 17, 17, 0.12) !important;
}
.meta-item b,
.meta-item span {
  color: var(--s90-ink) !important;
}

/* Cards and content panels */
.number-grid,
.num,
.match-card,
.team-card,
.profile-card,
.player-stage,
.press-card,
.news-card,
.gallery-season .photo-card,
.cta-panel,
.aside-box,
.team-profile-identity,
.team-profile-art,
.team-profile-copy,
.match-info div,
.crest,
.mini-crest,
.fixture-row .mini-crest,
.field,
textarea.field {
  background: var(--s90-white) !important;
  color: var(--s90-ink) !important;
  border-color: var(--s90-secondary) !important;
}
.num,
.team-card,
.profile-card,
.press-card,
.news-card,
.gallery-season .photo-card,
.match-card,
.cta-panel {
  box-shadow: 0 16px 38px rgba(17, 17, 17, 0.08) !important;
}
.num strong {
  color: var(--s90-ink) !important;
}
.num:after,
.team-profile-art:before {
  background: var(--s90-primary) !important;
}
.team-card:hover,
.press-card:hover,
.gallery-season .photo-card:hover {
  border-color: var(--s90-primary) !important;
  box-shadow: 0 24px 54px rgba(17, 17, 17, 0.13) !important;
}
.team-card .team-index,
.big90,
.page-hero .big90,
.footer .big90 {
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.34) !important;
  color: transparent !important;
}

/* Match/fixture structures */
.match-info {
  background: var(--s90-light) !important;
}
.match-top,
.fixture-list,
.fixture-row,
.stat-line,
.profile-facts,
.press-read {
  border-color: var(--s90-secondary) !important;
}
.vs,
.fixture-row .f-vs,
.status {
  color: var(--s90-ink) !important;
}
.dot {
  background: var(--s90-primary) !important;
  box-shadow: 0 0 0 6px rgba(253, 209, 3, 0.18) !important;
}

/* Season 4 announcement */
.season4-announcement,
.season4-newsbar,
.season4-announcement-foot {
  background: var(--s90-white) !important;
  color: var(--s90-ink) !important;
  border-color: var(--s90-secondary) !important;
}
.season4-newsbar p,
.season4-newsbar strong,
.season4-announcement-foot h2,
.season4-announcement-foot-inner > div:first-child > span {
  color: var(--s90-ink) !important;
}
.season4-banner-stage {
  background: var(--s90-white) !important;
}
.season4-banner-stage:before,
.season4-banner-stage:after {
  background: linear-gradient(
    90deg,
    transparent,
    var(--s90-primary),
    transparent
  ) !important;
}

/* Champions: image can stay photographic; information and controls stay high contrast */
.champion-info,
.champion-controls,
.champion-tabs {
  background: var(--s90-white) !important;
  color: var(--s90-ink) !important;
  border-color: var(--s90-secondary) !important;
}
.champion-kicker,
.champion-season,
.champion-lockup h2,
.champion-foot p {
  color: var(--s90-ink) !important;
}
.champion-tab.is-active {
  background: var(--s90-light) !important;
  color: var(--s90-ink) !important;
}
.champion-tab i {
  background: var(--s90-primary) !important;
}

/* News */
.press-section {
  background: var(--s90-white) !important;
}
.press-card {
  background: var(--s90-white) !important;
  border-color: var(--s90-secondary) !important;
}
.press-card:after {
  background: var(--s90-primary) !important;
}
.press-open {
  background: var(--s90-white) !important;
  color: var(--s90-ink) !important;
  border-color: var(--s90-secondary) !important;
}
.press-card:hover .press-open {
  background: var(--s90-primary) !important;
  color: var(--s90-ink) !important;
}
.press-source,
.press-meta,
.press-body h3,
.press-read,
.press-read b {
  color: var(--s90-ink) !important;
}

/* Gallery */
.gallery-season .photo-card {
  background: var(--s90-white) !important;
  border-color: var(--s90-secondary) !important;
}
.gallery-season .photo-card span {
  background: var(--s90-light) !important;
  color: var(--s90-ink) !important;
  border-color: var(--s90-secondary) !important;
}
.photo-card[data-lightbox]:before {
  background: var(--s90-white) !important;
  color: var(--s90-ink) !important;
  border-color: var(--s90-secondary) !important;
}
.gallery-season .photo-card[data-lightbox]:hover:before {
  background: var(--s90-primary) !important;
  color: var(--s90-ink) !important;
}
.s90-lightbox {
  background: rgba(255, 255, 255, 0.985) !important;
}
.s90-lightbox-meta,
.s90-lightbox-meta b {
  color: var(--s90-ink) !important;
}

/* Forms */
.field,
textarea.field {
  color: var(--s90-ink) !important;
  background: var(--s90-white) !important;
  border: 1.5px solid var(--s90-secondary) !important;
}
.field::placeholder,
textarea.field::placeholder {
  color: var(--s90-ink) !important;
  opacity: 0.65 !important;
}

/* Footer */
.footer {
  background: var(--s90-off) !important;
  color: var(--s90-ink) !important;
  border-top-color: var(--s90-secondary) !important;
}
.footer h4,
.footer a,
.footer-bottom,
.footer-tag,
.footer-tag span {
  color: var(--s90-ink) !important;
}
.footer-bottom {
  border-top-color: var(--s90-secondary) !important;
}

/* Visible keyboard focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.season-chip:focus-visible,
.champion-tab:focus-visible {
  outline: 3px solid var(--s90-ink) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px var(--s90-light) !important;
}

/* Mobile: maximum clarity */
@media (max-width: 767px) {
  body {
    background: var(--s90-white) !important;
  }
  .hero {
    background: var(--s90-white) !important;
  }
  .hero-art {
    background: linear-gradient(
      180deg,
      var(--s90-white),
      var(--s90-off)
    ) !important;
  }
  .hero-copy {
    background: var(--s90-white) !important;
  }
  .mobile-menu {
    background: var(--s90-white) !important;
  }
  .section,
  .section.light,
  .section.dark {
    background: var(--s90-white) !important;
  }
  .section.graphite,
  .footer,
  .page-hero {
    background: var(--s90-off) !important;
  }
}

/* === V7.17 HERO REDESIGN: remove PNG figures, abstract cricket visual with subtle motion === */
.hero-theme {
  opacity: 0.08 !important;
  mix-blend-mode: multiply !important;
}
.hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr) !important;
  gap: 28px !important;
  align-items: center !important;
}
.hero-copy {
  max-width: 720px !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.96),
    rgba(251, 251, 247, 0.92)
  ) !important;
  border: 1.5px solid rgba(253, 209, 3, 0.32) !important;
  box-shadow: 0 22px 60px rgba(17, 17, 17, 0.08) !important;
}
.hero h1 {
  font-size: clamp(3.8rem, 7vw, 7.2rem) !important;
  line-height: 0.9 !important;
}
.hero-sub {
  max-width: 620px !important;
}
.hero-art {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  width: min(54vw, 920px) !important;
  height: min(82vh, 760px) !important;
  overflow: visible !important;
  z-index: -1 !important;
  isolation: isolate !important;
  background: none !important;
}
.hero-figure,
.hero-cutout,
.hero-figure-shadow {
  display: none !important;
}
.hero-surface-main,
.hero-gridlines,
.hero-halo,
.hero-beam,
.hero-orbit,
.hero-art-number,
.hero-score-card,
.hero-format-card,
.hero-pitch-stage,
.hero-pitch-glow,
.hero-pitch,
.hero-stumps,
.hero-stumps i,
.hero-ball,
.hero-score-stats,
.hero-score-stats span,
.hero-card-kicker,
.hero-format-pill {
  position: absolute;
  display: block;
}
.hero-backplate.hero-surface-main {
  inset: 14% 4% 10% 10% !important;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.92),
    rgba(251, 251, 247, 0.82)
  ) !important;
  clip-path: polygon(10% 0, 100% 8%, 90% 100%, 0 93%) !important;
  border: 1px solid rgba(253, 209, 3, 0.28) !important;
  box-shadow:
    0 36px 90px rgba(17, 17, 17, 0.1),
    inset 0 0 0 1px rgba(255, 255, 255, 0.5) !important;
}
.hero-backplate.hero-surface-main::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      135deg,
      rgba(250, 216, 33, 0.2),
      rgba(255, 255, 255, 0) 48%
    ),
    url("assets/yellow-white-theme.webp") center/cover no-repeat;
  opacity: 0.3;
  mix-blend-mode: multiply;
}
.hero-gridlines {
  inset: 17% 10% 12% 14% !important;
  background:
    linear-gradient(rgba(17, 17, 17, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 17, 17, 0.04) 1px, transparent 1px) !important;
  background-size: 34px 34px !important;
  opacity: 0.65 !important;
  mask-image: linear-gradient(145deg, #000 45%, transparent 98%);
}
.hero-halo-main {
  right: 10% !important;
  top: 14% !important;
  width: 56% !important;
  height: 56% !important;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(253, 209, 3, 0.24) 0%,
    rgba(250, 216, 33, 0.12) 34%,
    rgba(250, 224, 76, 0) 72%
  ) !important;
  filter: blur(8px);
  animation: heroGlow 6s ease-in-out infinite alternate;
}
.hero-halo-left {
  left: 10% !important;
  top: 32% !important;
  width: 24% !important;
  height: 24% !important;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(250, 216, 33, 0.1),
    rgba(250, 216, 33, 0) 72%
  ) !important;
  filter: blur(6px);
}
.hero-halo-right {
  right: 4% !important;
  top: 26% !important;
  width: 22% !important;
  height: 22% !important;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(250, 224, 76, 0.14),
    rgba(250, 224, 76, 0) 72%
  ) !important;
  filter: blur(6px);
}
.hero-art-number {
  right: 2% !important;
  top: 4% !important;
  font-size: min(30vw, 420px) !important;
  line-height: 0.82 !important;
  font-family: var(--display) !important;
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.34) !important;
  opacity: 1 !important;
  animation: hero90float 8s ease-in-out infinite alternate;
}
.hero-beam {
  border-radius: 999px;
  opacity: 0.9;
}
.hero-beam-a {
  left: 28%;
  bottom: 22%;
  width: 34%;
  height: 6px;
  background: linear-gradient(
    90deg,
    rgba(253, 209, 3, 0),
    rgba(253, 209, 3, 0.75) 38%,
    rgba(250, 224, 76, 0.95) 72%,
    rgba(255, 255, 255, 0.95)
  );
  transform: rotate(-12deg);
  box-shadow: 0 0 22px rgba(253, 209, 3, 0.26);
  animation: heroBeam 6.2s ease-in-out infinite alternate;
}
.hero-beam-a::after {
  content: "";
  position: absolute;
  right: -8px;
  top: 50%;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: radial-gradient(
    circle at 34% 34%,
    #fff 0%,
    #fae04c 24%,
    #fdd103 52%,
    #d69d00 100%
  );
  box-shadow:
    0 0 0 6px rgba(250, 224, 76, 0.14),
    0 0 20px rgba(253, 209, 3, 0.28);
}
.hero-beam-b {
  right: 13%;
  top: 24%;
  width: 16%;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0),
    rgba(17, 17, 17, 0.16),
    rgba(250, 216, 33, 0)
  );
  transform: rotate(-22deg);
}
.hero-orbit {
  border: 1px dashed rgba(250, 216, 33, 0.34) !important;
  border-left-color: transparent !important;
  border-bottom-color: transparent !important;
  border-radius: 50%;
  opacity: 0.7;
}
.hero-orbit-a {
  right: 8%;
  top: 9%;
  width: 42%;
  height: 42%;
  animation: heroOrbitSpin 14s linear infinite;
}
.hero-orbit-b {
  right: 2%;
  top: 24%;
  width: 24%;
  height: 24%;
  opacity: 0.45;
  animation: heroOrbitSpin 18s linear infinite reverse;
}
.hero-score-card {
  left: 9%;
  top: 23%;
  width: min(45%, 330px);
  padding: 22px 22px 18px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.95),
    rgba(251, 251, 247, 0.94)
  );
  border: 1px solid rgba(253, 209, 3, 0.28);
  border-radius: 22px;
  box-shadow: 0 26px 54px rgba(17, 17, 17, 0.1);
  z-index: 5;
  animation: heroCardFloat 6.8s ease-in-out infinite alternate;
}
.hero-card-kicker {
  position: static;
  display: inline-flex;
  padding: 7px 11px;
  margin-bottom: 14px;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  color: #111111;
  background: rgba(250, 216, 33, 0.2);
  border: 1px solid rgba(253, 209, 3, 0.28);
  border-radius: 999px;
}
.hero-score-card strong {
  display: block;
  font-family: var(--display);
  font-size: 1.5rem;
  line-height: 0.95;
  color: #111111;
  letter-spacing: 0.01em;
}
.hero-score-card p {
  margin: 12px 0 0;
  color: rgba(17, 17, 17, 0.78);
  font-size: 0.95rem;
  line-height: 1.5;
}
.hero-score-stats {
  position: static;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.hero-score-stats span {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 10px;
  border-radius: 16px;
  background: #fbfbf7;
  border: 1px solid rgba(250, 216, 33, 0.24);
}
.hero-score-stats b {
  font-family: var(--display);
  font-size: 1.2rem;
  color: #111111;
}
.hero-score-stats small {
  color: rgba(17, 17, 17, 0.68);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.hero-format-card {
  right: 8%;
  bottom: 18%;
  width: min(31%, 220px);
  padding: 18px 16px;
  border-radius: 20px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.92),
    rgba(251, 251, 247, 0.9)
  );
  border: 1px solid rgba(250, 216, 33, 0.3);
  box-shadow: 0 22px 48px rgba(17, 17, 17, 0.08);
  z-index: 5;
  animation: heroCardFloat 7.8s ease-in-out infinite alternate-reverse;
}
.hero-format-pill {
  position: static;
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fdd103;
  color: #111111;
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  font-weight: 700;
}
.hero-format-card b {
  display: block;
  margin-top: 12px;
  font-size: 1.12rem;
  color: #111111;
}
.hero-format-card span {
  display: block;
  margin-top: 5px;
  color: rgba(17, 17, 17, 0.68);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.hero-pitch-stage {
  left: 28%;
  bottom: 11%;
  width: 46%;
  height: 24%;
  z-index: 4;
}
.hero-pitch-glow {
  left: 10%;
  right: 8%;
  bottom: 4%;
  height: 52%;
  background: radial-gradient(
    ellipse at center,
    rgba(250, 224, 76, 0.3),
    rgba(250, 224, 76, 0) 72%
  );
  filter: blur(10px);
}
.hero-pitch {
  left: 10%;
  right: 8%;
  bottom: 10%;
  height: 46%;
  border-radius: 26px;
  background: linear-gradient(180deg, #fff9dd 0%, #fad821 100%);
  border: 1px solid rgba(253, 209, 3, 0.34);
  box-shadow:
    0 18px 30px rgba(17, 17, 17, 0.08),
    inset 0 0 0 2px rgba(255, 255, 255, 0.24);
  overflow: hidden;
}
.hero-pitch::before,
.hero-pitch::after {
  content: "";
  position: absolute;
  top: 12%;
  bottom: 12%;
  width: 2px;
  background: rgba(17, 17, 17, 0.1);
}
.hero-pitch::before {
  left: 20%;
}
.hero-pitch::after {
  right: 20%;
}
.hero-stumps {
  left: 50%;
  bottom: 27%;
  width: 48px;
  height: 76px;
  transform: translateX(-50%);
}
.hero-stumps i {
  top: 0;
  bottom: 0;
  width: 8px;
  border-radius: 6px;
  background: #111111;
  box-shadow: 0 0 0 3px rgba(250, 216, 33, 0.22);
}
.hero-stumps i:nth-child(1) {
  left: 0;
}
.hero-stumps i:nth-child(2) {
  left: 20px;
}
.hero-stumps i:nth-child(3) {
  left: 40px;
}
.hero-stumps::before,
.hero-stumps::after {
  content: "";
  position: absolute;
  left: 2px;
  width: 42px;
  height: 4px;
  border-radius: 4px;
  background: #111111;
}
.hero-stumps::before {
  top: 8px;
}
.hero-stumps::after {
  top: 18px;
}
.hero-ball {
  right: 12%;
  bottom: 48%;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 34% 34%,
    #ffffff 0%,
    #fae04c 20%,
    #fdd103 50%,
    #d69d00 100%
  );
  box-shadow:
    0 0 0 8px rgba(250, 224, 76, 0.12),
    0 0 20px rgba(253, 209, 3, 0.24);
  animation: heroBallArc 5.5s cubic-bezier(0.43, 0.03, 0.31, 1) infinite;
}
.meta-strip {
  background: rgba(255, 255, 255, 0.88) !important;
  border-top: 1px solid rgba(253, 209, 3, 0.3) !important;
  border-bottom: 1px solid rgba(253, 209, 3, 0.2) !important;
}
@keyframes heroGlow {
  from {
    transform: scale(0.98);
    opacity: 0.9;
  }
  to {
    transform: scale(1.08);
    opacity: 1;
  }
}
@keyframes hero90float {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-12px, 8px, 0);
  }
}
@keyframes heroBeam {
  from {
    transform: rotate(-12deg) translateX(0);
  }
  to {
    transform: rotate(-10deg) translateX(18px);
  }
}
@keyframes heroOrbitSpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes heroCardFloat {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10px);
  }
}
@keyframes heroBallArc {
  0% {
    transform: translate(0, 0) scale(0.96);
  }
  18% {
    transform: translate(-28px, -36px) scale(1);
  }
  38% {
    transform: translate(-70px, -74px) scale(1.02);
  }
  60% {
    transform: translate(-122px, -82px) scale(1);
  }
  78% {
    transform: translate(-170px, -56px) scale(0.98);
  }
  100% {
    transform: translate(-204px, -10px) scale(0.96);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-halo-main,
  .hero-art-number,
  .hero-beam-a,
  .hero-orbit-a,
  .hero-orbit-b,
  .hero-score-card,
  .hero-format-card,
  .hero-ball {
    animation: none !important;
  }
}
@media (max-width: 1100px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.78fr) !important;
  }
  .hero-art {
    width: min(62vw, 760px) !important;
    height: min(72vh, 660px) !important;
  }
  .hero-score-card {
    left: 8%;
    top: 24%;
    width: min(48%, 300px);
  }
  .hero-format-card {
    right: 8%;
    bottom: 16%;
    width: min(34%, 210px);
  }
  .hero-pitch-stage {
    left: 24%;
    width: 52%;
  }
}
@media (max-width: 840px) {
  .hero-grid {
    display: block !important;
  }
  .hero-copy {
    max-width: none !important;
    padding: 22px 18px !important;
  }
  .hero h1 {
    font-size: clamp(3.2rem, 13vw, 5.6rem) !important;
  }
  .hero-art {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 360px !important;
    margin-top: 18px;
    z-index: 0 !important;
  }
  .hero-backplate.hero-surface-main {
    inset: 8% 4% 9% 4% !important;
  }
  .hero-gridlines {
    inset: 12% 8% 12% 8% !important;
  }
  .hero-art-number {
    font-size: min(42vw, 280px) !important;
    right: 4% !important;
    top: 8% !important;
  }
  .hero-score-card {
    left: 8%;
    top: 16%;
    width: 56%;
    padding: 18px 16px 14px;
  }
  .hero-score-card strong {
    font-size: 1.24rem;
  }
  .hero-format-card {
    right: 7%;
    bottom: 18%;
    width: 34%;
    padding: 14px 12px;
  }
  .hero-pitch-stage {
    left: 18%;
    bottom: 10%;
    width: 64%;
    height: 28%;
  }
}
@media (max-width: 560px) {
  .hero {
    padding-top: 122px !important;
  }
  .hero-copy {
    border-radius: 18px !important;
    clip-path: none !important;
  }
  .hero-sub {
    font-size: 1rem !important;
  }
  .hero-art {
    height: 300px !important;
    margin-top: 16px !important;
  }
  .hero-theme,
  .hero-gridlines,
  .hero-orbit-b,
  .hero-halo-left,
  .hero-halo-right {
    display: none !important;
  }
  .hero-backplate.hero-surface-main {
    inset: 4% 0 7% 0 !important;
    clip-path: none !important;
    border-radius: 24px !important;
  }
  .hero-art-number {
    font-size: 42vw !important;
    right: 6% !important;
    top: 10% !important;
  }
  .hero-score-card {
    left: 5%;
    top: 12%;
    width: 64%;
    padding: 16px 14px 12px;
    border-radius: 18px;
  }
  .hero-score-card p {
    display: none;
  }
  .hero-score-stats {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }
  .hero-score-stats span {
    padding: 10px 8px;
    border-radius: 14px;
  }
  .hero-score-stats b {
    font-size: 1rem;
  }
  .hero-score-stats small {
    font-size: 0.62rem;
  }
  .hero-format-card {
    display: none !important;
  }
  .hero-pitch-stage {
    left: 6%;
    right: 6%;
    width: auto;
    height: 34%;
    bottom: 7%;
  }
  .hero-ball {
    width: 18px;
    height: 18px;
    right: 18%;
  }
  .hero-beam-a {
    left: 26%;
    width: 38%;
    bottom: 34%;
    height: 4px;
  }
}

/* ========================================================================
   V7.18 — COMPLETE SPORTS-BROADCAST / EDITORIAL REDESIGN
   Brand system: #FDD103 / #FAD821 / #FAE04C / #FFFFFF / #FBFBF7 / #111111
   ======================================================================== */
:root {
  --s90-yellow: #fdd103;
  --s90-yellow-2: #fad821;
  --s90-yellow-3: #fae04c;
  --s90-white: #ffffff;
  --s90-off: #fbfbf7;
  --s90-dark: #111111;
}
html {
  background: var(--s90-dark) !important;
}
body {
  background: var(--s90-off) !important;
  color: var(--s90-dark) !important;
}
::selection {
  background: var(--s90-yellow) !important;
  color: var(--s90-dark) !important;
}

/* Navigation — compact sports broadcast bar */
.site-header {
  background: linear-gradient(
    180deg,
    rgba(17, 17, 17, 0.92),
    rgba(17, 17, 17, 0.5) 64%,
    rgba(17, 17, 17, 0)
  ) !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
}
.site-header.scrolled {
  background: rgba(17, 17, 17, 0.96) !important;
  border-bottom-color: rgba(253, 209, 3, 0.38) !important;
  backdrop-filter: blur(14px);
  box-shadow: 0 14px 36px rgba(17, 17, 17, 0.22) !important;
}
.nav {
  height: 110px !important;
}
.brand img {
  width: 150px !important;
  height: auto;
  object-fit: contain !important;
}
.nav-links a {
  color: var(--s90-white) !important;
  font-weight: 850 !important;
}
.nav-links a::after {
  background: var(--s90-yellow) !important;
}
.nav-links .btn.primary {
  color: var(--s90-dark) !important;
}
.menu-btn {
  color: var(--s90-white) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}
.mobile-menu {
  background: var(--s90-dark) !important;
  color: var(--s90-white) !important;
}
.mobile-menu:before {
  background: var(--s90-yellow) !important;
  opacity: 0.1 !important;
}
.mobile-menu a {
  color: var(--s90-white) !important;
  text-shadow: none !important;
}
.mobile-close {
  color: var(--s90-white) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  background: rgba(17, 17, 17, 0.5) !important;
}

/* Buttons */
.btn {
  min-height: 50px !important;
  padding: 0 22px !important;
  border-radius: 0 !important;
  clip-path: polygon(
    0 0,
    calc(100% - 12px) 0,
    100% 12px,
    100% 100%,
    12px 100%,
    0 calc(100% - 12px)
  ) !important;
  transition:
    transform 0.28s ease,
    background 0.28s ease,
    border-color 0.28s ease,
    color 0.28s ease !important;
}
.btn:hover {
  transform: translateY(-2px);
}
.btn.primary {
  background: var(--s90-yellow) !important;
  color: var(--s90-dark) !important;
  border-color: var(--s90-yellow) !important;
  box-shadow: none !important;
}
.btn.primary:hover {
  background: var(--s90-yellow-3) !important;
}
.btn.secondary {
  background: transparent !important;
  color: var(--s90-dark) !important;
  border-color: rgba(17, 17, 17, 0.36) !important;
}
.btn.secondary:hover {
  background: var(--s90-dark) !important;
  color: var(--s90-white) !important;
  border-color: var(--s90-dark) !important;
}
.hero-ghost {
  background: transparent !important;
  color: var(--s90-white) !important;
  border: 1px solid rgba(255, 255, 255, 0.42) !important;
}
.hero-ghost:hover {
  background: var(--s90-white) !important;
  color: var(--s90-dark) !important;
}
.dark-cta {
  background: var(--s90-dark) !important;
  color: var(--s90-white) !important;
  border-color: var(--s90-dark) !important;
}
.dark-outline {
  background: transparent !important;
  color: var(--s90-dark) !important;
  border: 1px solid rgba(17, 17, 17, 0.45) !important;
}
.dark-outline:hover {
  background: var(--s90-dark) !important;
  color: var(--s90-white) !important;
}

/* Typography */
.eyebrow {
  color: var(--s90-yellow) !important;
  font-weight: 900 !important;
  letter-spacing: 0.19em !important;
}
.display {
  letter-spacing: -0.015em !important;
}
.section-title {
  font-size: clamp(3.4rem, 7vw, 7.6rem) !important;
}
.muted {
  color: rgba(17, 17, 17, 0.7) !important;
}
.text-link {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  margin-top: 24px;
  font-weight: 950;
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  border-bottom: 2px solid var(--s90-yellow);
  padding-bottom: 6px;
  color: inherit;
}
.text-link span {
  transition: transform 0.25s ease;
}
.text-link:hover span {
  transform: translate(4px, -2px);
}

/* HERO — cinematic, cricket-first, no floating PNGs */
.broadcast-hero {
  min-height: 100svh !important;
  padding: 136px 0 82px !important;
  display: flex !important;
  align-items: flex-end !important;
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
  background:
    radial-gradient(
      circle at 78% 18%,
      rgba(253, 209, 3, 0.16),
      rgba(253, 209, 3, 0) 26%
    ),
    radial-gradient(
      circle at 82% 76%,
      rgba(250, 216, 33, 0.08),
      rgba(250, 216, 33, 0) 30%
    ),
    linear-gradient(118deg, #111111 0%, #111111 58%, #1a180f 100%) !important;
  color: var(--s90-white) !important;
}
.broadcast-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(17, 17, 17, 0.1),
      rgba(17, 17, 17, 0.38) 74%,
      rgba(17, 17, 17, 0.62)
    ),
    linear-gradient(180deg, rgba(17, 17, 17, 0) 74%, #111111 100%) !important;
  z-index: -1 !important;
}
.broadcast-hero::after {
  content: "" !important;
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--s90-yellow),
    var(--s90-yellow-3),
    rgba(253, 209, 3, 0)
  );
  z-index: 5;
}
.broadcast-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.55fr);
  gap: clamp(40px, 7vw, 110px);
  align-items: end;
  position: relative;
  z-index: 4;
}
.broadcast-copy {
  max-width: 820px;
  position: relative;
}
.broadcast-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--s90-yellow) !important;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 22px;
}
.broadcast-kicker::before {
  content: "";
  width: 42px;
  height: 2px;
  background: var(--s90-yellow);
}
.hero-mask {
  font-size: clamp(5rem, 10.4vw, 11rem) !important;
  line-height: 0.78 !important;
  color: var(--s90-white) !important;
  max-width: 920px;
}
.hero-mask span {
  display: block;
  overflow: hidden;
  animation: v18HeroLine 0.78s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
.hero-mask span:nth-child(2) {
  animation-delay: 0.08s;
}
.hero-mask span:nth-child(3) {
  animation-delay: 0.16s;
}
.hero-mask .yellow-line {
  color: var(--s90-yellow) !important;
  -webkit-text-stroke: 0 !important;
}
.broadcast-sub {
  max-width: 580px;
  margin: 26px 0 30px;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.65;
}
.broadcast-score {
  align-self: end;
  background: rgba(17, 17, 17, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-top: 4px solid var(--s90-yellow);
  padding: 24px;
  backdrop-filter: blur(12px);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.3);
  position: relative;
  overflow: hidden;
}
.broadcast-score::after {
  content: "90";
  position: absolute;
  right: -0.08em;
  bottom: -0.23em;
  font-family: var(--display);
  font-size: 11rem;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.07);
  pointer-events: none;
}
.score-top {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  padding-bottom: 14px;
  font-size: 0.68rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.64);
}
.score-top b {
  color: var(--s90-yellow);
}
.score-main {
  display: flex;
  align-items: end;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
.score-main strong {
  font-family: var(--display);
  font-size: 6.7rem;
  line-height: 0.72;
  color: var(--s90-yellow);
}
.score-main span {
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  margin-bottom: 6px;
}
.score-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
.score-row > span {
  padding: 16px 0;
}
.score-row > span + span {
  border-left: 1px solid rgba(255, 255, 255, 0.16);
  padding-left: 18px;
}
.score-row b {
  display: block;
  font-family: var(--display);
  font-size: 2.2rem;
  line-height: 0.8;
  color: var(--s90-white);
}
.score-row small {
  display: block;
  margin-top: 7px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
}
.score-location {
  padding-top: 16px;
  position: relative;
  z-index: 2;
}
.score-location > span,
.score-location small {
  display: block;
  color: rgba(255, 255, 255, 0.56);
  font-size: 0.62rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.score-location b {
  display: block;
  margin: 5px 0;
  color: var(--s90-white);
  font-size: 1.05rem;
}
.broadcast-90 {
  position: absolute;
  right: -1vw;
  top: 4vh;
  display: flex;
  gap: 0;
  font-family: var(--display);
  font-size: min(39vw, 590px);
  line-height: 0.74;
  color: transparent;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.22);
  letter-spacing: -0.08em;
  z-index: 0;
  transform: translate3d(0, var(--hero90-shift, 0), 0);
  transition: transform 0.08s linear;
  pointer-events: none;
}
.broadcast-90 span:first-child {
  transform: translateY(4%);
}
.broadcast-field {
  position: absolute;
  right: -6vw;
  bottom: -10vh;
  width: min(62vw, 940px);
  height: min(62vw, 940px);
  border: 1px solid rgba(250, 216, 33, 0.12);
  border-radius: 50%;
  transform: perspective(900px) rotateX(67deg) rotateZ(-7deg);
  z-index: 0;
  opacity: 0.68;
}
.broadcast-field::before,
.broadcast-field::after {
  content: "";
  position: absolute;
  inset: 13%;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 50%;
}
.broadcast-field::after {
  inset: 32%;
}
.field-line {
  position: absolute;
  background: rgba(255, 255, 255, 0.08);
  height: 1px;
  left: 18%;
  right: 18%;
}
.field-line-a {
  top: 42%;
  transform: rotate(15deg);
}
.field-line-b {
  top: 56%;
  transform: rotate(-17deg);
}
.field-line-c {
  top: 68%;
  transform: rotate(2deg);
}
.field-dot {
  width: 7px;
  height: 7px;
  background: var(--s90-yellow);
  border-radius: 50%;
  box-shadow: 0 0 0 7px rgba(253, 209, 3, 0.06);
}
.dot-a {
  left: 28%;
  top: 34%;
}
.dot-b {
  right: 23%;
  top: 47%;
}
.dot-c {
  left: 46%;
  bottom: 26%;
}
.dot-d {
  right: 37%;
  bottom: 17%;
}
.broadcast-trajectory {
  position: absolute;
  right: 1vw;
  top: 12vh;
  width: min(60vw, 920px);
  height: auto;
  z-index: 2;
  overflow: visible;
  opacity: 0.66;
}
.broadcast-trajectory path {
  fill: none;
  stroke: var(--s90-yellow);
  stroke-width: 1.4;
  stroke-dasharray: 8 8;
  stroke-dashoffset: 190;
  animation: v18Path 5s ease-in-out infinite;
}
.broadcast-trajectory circle {
  fill: var(--s90-yellow);
  filter: drop-shadow(0 0 7px rgba(253, 209, 3, 0.55));
  animation: v18Point 5s ease-in-out infinite;
}
.broadcast-lights {
  position: absolute;
  right: 11%;
  top: 9%;
  display: flex;
  gap: 8px;
  z-index: 1;
  transform: rotate(-4deg);
  opacity: 0.38;
}
.broadcast-lights i {
  display: block;
  width: 6px;
  height: 6px;
  background: var(--s90-white);
  box-shadow: 0 0 16px 4px rgba(255, 255, 255, 0.35);
}
.broadcast-noise {
  position: absolute;
  inset: 0;
  opacity: 0.05;
  pointer-events: none;
  background-image: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.8) 0.55px,
    transparent 0.7px
  );
  background-size: 5px 5px;
  mix-blend-mode: soft-light;
}
.hero-scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 17px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.58rem;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.55);
  z-index: 6;
}
.hero-scroll-cue i {
  width: 44px;
  height: 1px;
  background: linear-gradient(90deg, var(--s90-yellow), rgba(253, 209, 3, 0));
  animation: v18Cue 1.8s ease-in-out infinite;
}
@keyframes v18HeroLine {
  from {
    opacity: 0;
    transform: translateY(35px);
    clip-path: inset(0 0 100% 0);
  }
  to {
    opacity: 1;
    transform: none;
    clip-path: inset(0);
  }
}
@keyframes v18Path {
  0%,
  100% {
    stroke-dashoffset: 190;
    opacity: 0.35;
  }
  50% {
    stroke-dashoffset: 0;
    opacity: 0.85;
  }
}
@keyframes v18Point {
  0%,
  100% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
}
@keyframes v18Cue {
  0%,
  100% {
    transform: scaleX(0.55);
    transform-origin: left;
  }
  50% {
    transform: scaleX(1);
    transform-origin: left;
  }
}

/* Why 90 — signature format section */
.why90-section {
  position: relative;
  z-index: 5;
  margin-top: -28px;
  background: var(--s90-off);
  color: var(--s90-dark);
  padding: clamp(90px, 11vw, 150px) 0;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}
.why90-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: clamp(46px, 7vw, 110px);
  align-items: start;
}
.why90-sticky {
  position: sticky;
  top: 135px;
  padding-top: 10px;
}
.why90-sticky .eyebrow {
  color: rgba(17, 17, 17, 0.72) !important;
}
.why90-sticky h2 {
  font-size: clamp(4rem, 7vw, 7.5rem);
  color: var(--s90-dark);
}
.why90-sticky p {
  max-width: 480px;
  color: rgba(17, 17, 17, 0.72);
  font-size: 1.04rem;
  line-height: 1.8;
}
.why90-numbers {
  border-top: 2px solid var(--s90-dark);
}
.why-stat {
  display: grid;
  grid-template-columns: minmax(150px, 0.5fr) 1fr;
  gap: 28px;
  align-items: center;
  padding: 32px 0;
  border-bottom: 1px solid rgba(17, 17, 17, 0.18);
}
.why-stat strong {
  font-family: var(--display);
  font-size: clamp(6rem, 11vw, 11rem);
  line-height: 0.72;
  color: var(--s90-yellow);
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.28);
}
.why-stat b {
  display: block;
  font-family: var(--display);
  font-size: clamp(2.2rem, 4vw, 4.4rem);
  line-height: 0.82;
  color: var(--s90-dark);
}
.why-stat span {
  display: block;
  margin-top: 8px;
  color: rgba(17, 17, 17, 0.68);
  max-width: 380px;
}

/* Energy strip */
.energy-marquee {
  overflow: hidden;
  background: var(--s90-yellow);
  color: var(--s90-dark);
  border-top: 1px solid var(--s90-dark);
  border-bottom: 1px solid var(--s90-dark);
  padding: 13px 0;
}
.marquee-track {
  display: flex;
  gap: 22px;
  width: max-content;
  align-items: center;
  font-family: var(--display);
  font-size: 1.42rem;
  letter-spacing: 0.04em;
  animation: v18Marquee 24s linear infinite;
}
.marquee-track i {
  font-style: normal;
  font-family: var(--body);
  font-size: 0.8rem;
}
@keyframes v18Marquee {
  to {
    transform: translateX(-50%);
  }
}

/* Identity / legends */
.identity-section {
  position: relative;
  background: var(--s90-dark);
  color: var(--s90-white);
  padding: clamp(90px, 11vw, 155px) 0;
  overflow: hidden;
}
.identity-back90 {
  position: absolute;
  left: -0.04em;
  bottom: -0.2em;
  font-family: var(--display);
  font-size: min(42vw, 630px);
  line-height: 0.7;
  color: transparent;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.12);
  pointer-events: none;
}
.identity-grid {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: clamp(45px, 7vw, 100px);
  align-items: center;
  position: relative;
  z-index: 2;
}
.identity-copy h2 {
  font-size: clamp(4rem, 7.5vw, 8.2rem);
  color: var(--s90-white);
}
.identity-copy h2 span {
  color: var(--s90-yellow);
}
.identity-copy p {
  max-width: 520px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.03rem;
  line-height: 1.75;
}
.identity-copy .text-link {
  color: var(--s90-white);
}
.identity-visual {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  border-left: 4px solid var(--s90-yellow);
}
.identity-visual img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.9) contrast(1.06);
  transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.identity-visual:hover img {
  transform: scale(1.035);
}
.identity-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 48%,
    rgba(17, 17, 17, 0.88) 100%
  );
}
.identity-caption {
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 24px;
  z-index: 2;
}
.identity-caption span,
.identity-caption strong {
  display: block;
  font-family: var(--display);
  font-size: clamp(2.1rem, 4vw, 4.4rem);
  line-height: 0.82;
}
.identity-caption strong {
  color: var(--s90-yellow);
}
.identity-caption small {
  display: block;
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.7);
}

/* Legacy journey */
.legacy-section {
  background: var(--s90-off);
  padding: clamp(96px, 11vw, 160px) 0;
  color: var(--s90-dark);
  overflow: hidden;
}
.legacy-head {
  display: grid;
  grid-template-columns: 1fr 0.55fr;
  gap: 50px;
  align-items: end;
  margin-bottom: 55px;
}
.legacy-head .eyebrow {
  color: rgba(17, 17, 17, 0.72) !important;
}
.legacy-head h2 {
  font-size: clamp(4rem, 7vw, 7.8rem);
}
.legacy-head p {
  margin: 0;
  color: rgba(17, 17, 17, 0.68);
  max-width: 500px;
}
.legacy-timeline {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(17, 17, 17, 0.18);
}
.legacy-card {
  display: grid;
  grid-template-columns: 150px minmax(260px, 0.9fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: center;
  padding: 28px 0;
  border-bottom: 1px solid rgba(17, 17, 17, 0.18);
  position: relative;
}
.legacy-year {
  font-family: var(--display);
  font-size: clamp(3.2rem, 5vw, 5.4rem);
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.48);
  line-height: 0.8;
}
.legacy-image {
  height: 230px;
  overflow: hidden;
  position: relative;
  background: #111;
}
.legacy-image img {
  width: 100%;
  object-fit: cover;
  transition: transform 0.65s ease;
}
.legacy-card:hover .legacy-image img {
  transform: scale(1.04);
}
.legacy-copy > span {
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  color: rgba(17, 17, 17, 0.62);
}
.legacy-copy h3 {
  font-family: var(--display);
  font-size: clamp(2.4rem, 4vw, 4.4rem);
  line-height: 0.82;
  margin: 9px 0 12px;
}
.legacy-copy p {
  margin: 0 0 14px;
  color: rgba(17, 17, 17, 0.68);
  max-width: 530px;
}
.legacy-copy b {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  border-bottom: 3px solid var(--s90-yellow);
  padding-bottom: 4px;
}
.legacy-next {
  background: var(--s90-yellow);
  margin-top: 26px;
  padding: 34px 28px;
  border: 0;
}
.legacy-next .legacy-year {
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.56);
}
.legacy-next-90 {
  font-family: var(--display);
  font-size: 12rem;
  line-height: 0.65;
  color: rgba(17, 17, 17, 0.08);
  text-align: center;
}
.legacy-next .legacy-copy p {
  color: rgba(17, 17, 17, 0.75);
}

/* Teams teaser */
.teams-home-section {
  background: var(--s90-white);
  padding: clamp(88px, 10vw, 145px) 0;
  color: var(--s90-dark);
}
.teams-home-grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: clamp(44px, 8vw, 120px);
  align-items: center;
}
.teams-home-copy .eyebrow {
  color: rgba(17, 17, 17, 0.7) !important;
}
.teams-home-copy h2 {
  font-size: clamp(4.2rem, 8vw, 8.4rem);
  line-height: 0.78;
}
.teams-home-copy p {
  max-width: 600px;
  color: rgba(17, 17, 17, 0.7);
  font-size: 1.03rem;
  line-height: 1.75;
}
.teams-reveal-graphic {
  min-height: 480px;
  border: 1px solid rgba(17, 17, 17, 0.16);
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, var(--s90-off), #fff);
  display: grid;
  place-items: center;
  text-align: center;
}
.teams-reveal-graphic::before {
  content: "90";
  position: absolute;
  right: -0.05em;
  top: -0.08em;
  font-family: var(--display);
  font-size: 24rem;
  line-height: 0.8;
  color: transparent;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.34);
}
.teams-reveal-graphic strong {
  font-family: var(--display);
  font-size: 15rem;
  line-height: 0.65;
  color: var(--s90-yellow);
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.16);
  position: relative;
  z-index: 2;
}
.teams-reveal-graphic > div {
  position: absolute;
  bottom: 34px;
  font-family: var(--display);
  font-size: 2.6rem;
  z-index: 2;
}
.teams-reveal-label {
  position: absolute;
  left: 22px;
  top: 22px;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.16em;
}
.teams-reveal-graphic i {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 42%;
  height: 6px;
  background: var(--s90-yellow);
}

/* Champions — image unobstructed; info dock below */
.v18-champions {
  background: var(--s90-dark) !important;
  color: var(--s90-white) !important;
  padding: 0 !important;
  overflow: hidden;
}
.v18-champions .champion-showcase {
  height: clamp(820px, 96svh, 1020px) !important;
  min-height: 820px !important;
  background: var(--s90-dark) !important;
}
.v18-champions .champion-slide {
  background: var(--s90-dark) !important;
}
.v18-champions .champion-media {
  position: absolute !important;
  inset: 22px 0 auto !important;
  height: 58% !important;
  display: grid !important;
  place-items: start center !important;
  background: var(--s90-dark) !important;
  overflow: hidden !important;
}
.v18-champions .champion-slide-bg {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  width: min(94vw, 1560px) !important;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center top !important;
  filter: none !important;
  background: var(--s90-dark) !important;
  box-shadow: none !important;
}
.v18-champions .champion-media::after {
  display: none !important;
}
.v18-champions .champion-shade,
.v18-champions .champion-slide::after {
  display: none !important;
}
.v18-champions .champion-info {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 42% !important;
  background: linear-gradient(
    180deg,
    rgba(17, 17, 17, 0),
    #111111 18%
  ) !important;
  z-index: 3 !important;
}
.v18-champions .champion-slide-inner {
  height: 100% !important;
  justify-content: flex-end !important;
  padding: 36px var(--edge) 138px !important;
}
.v18-champions .champion-kicker {
  background: var(--s90-yellow) !important;
  color: var(--s90-dark) !important;
  border: 0 !important;
  backdrop-filter: none !important;
  padding: 8px 12px !important;
}
.v18-champions .champion-lockup {
  margin: 15px 0 10px !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  backdrop-filter: none !important;
  align-items: end !important;
}
.v18-champions .champion-lockup > img {
  width: 112px !important;
  height: 112px !important;
  padding: 9px !important;
  background: var(--s90-white) !important;
  border: 0 !important;
  clip-path: none !important;
}
.v18-champions .champion-season {
  color: var(--s90-yellow) !important;
}
.v18-champions .champion-lockup h2 {
  color: var(--s90-white) !important;
  font-size: clamp(4rem, 7.5vw, 7.6rem) !important;
}
.v18-champions .champion-foot {
  padding: 0 !important;
  max-width: 900px !important;
}
.v18-champions .champion-foot p {
  color: rgba(255, 255, 255, 0.72) !important;
}
.v18-champions .champion-controls {
  bottom: 30px !important;
  background: rgba(17, 17, 17, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: none !important;
}
.v18-champions .champion-arrow {
  background: var(--s90-dark) !important;
  color: var(--s90-white) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}
.v18-champions .champion-arrow:hover {
  background: var(--s90-yellow) !important;
  color: var(--s90-dark) !important;
}
.v18-champions .champion-tabs {
  background: var(--s90-dark) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}
.v18-champions .champion-tab {
  background: var(--s90-dark) !important;
  color: rgba(255, 255, 255, 0.55) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}
.v18-champions .champion-tab.is-active {
  color: var(--s90-white) !important;
}
.v18-champions .champion-tab i {
  background: var(--s90-yellow) !important;
}

/* Media / watch the action */
.action-section {
  background: var(--s90-off);
  padding: clamp(90px, 10vw, 150px) 0;
  color: var(--s90-dark);
}
.action-head {
  display: grid;
  grid-template-columns: 1fr 0.52fr;
  gap: 50px;
  align-items: end;
  margin-bottom: 40px;
}
.action-head .eyebrow {
  color: rgba(17, 17, 17, 0.72) !important;
}
.action-head h2 {
  font-size: clamp(4rem, 7vw, 7.8rem);
}
.action-head p {
  margin: 0;
  color: rgba(17, 17, 17, 0.68);
}
.action-grid {
  display: grid;
  grid-template-columns: 1.42fr 0.58fr;
  gap: 16px;
}
.action-feature,
.action-small {
  background: var(--s90-dark);
  color: var(--s90-white);
  overflow: hidden;
}
.video-frame {
  position: relative;
  aspect-ratio: 16/9;
  background: #111;
  overflow: hidden;
}
.video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.action-caption {
  padding: 20px;
  border-top: 4px solid var(--s90-yellow);
}
.action-caption span,
.action-small span {
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  color: var(--s90-yellow);
  font-weight: 900;
}
.action-caption h3 {
  font-family: var(--display);
  font-size: 2.5rem;
  margin: 8px 0 0;
}
.action-stack {
  display: grid;
  gap: 16px;
}
.action-small > div:last-child {
  padding: 16px;
}
.action-small b {
  display: block;
  margin-top: 6px;
  font-size: 0.86rem;
}

/* Gallery storytelling */
.gallery-story-section {
  background: var(--s90-white);
  padding: clamp(92px, 10vw, 150px) 0;
  color: var(--s90-dark);
}
.gallery-story-head {
  max-width: 900px;
  margin-bottom: 40px;
}
.gallery-story-head .eyebrow {
  color: rgba(17, 17, 17, 0.72) !important;
}
.gallery-story-head h2 {
  font-size: clamp(4.1rem, 8vw, 8.5rem);
}
.gallery-story-head p {
  max-width: 650px;
  color: rgba(17, 17, 17, 0.68);
}
.editorial-gallery {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr 0.72fr;
  grid-template-rows: 270px 270px;
  gap: 12px;
}
.editorial-photo {
  position: relative;
  overflow: hidden;
  background: var(--s90-dark);
}
.editorial-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
    filter 0.7s ease;
}
.editorial-photo:hover img {
  transform: scale(1.045);
  filter: saturate(1.06);
}
.editorial-photo::after {
  content: "";
  position: absolute;
  inset: 48% 0 0;
  background: linear-gradient(transparent, rgba(17, 17, 17, 0.82));
}
.editorial-photo span {
  position: absolute;
  left: 16px;
  bottom: 14px;
  color: var(--s90-white);
  z-index: 2;
  font-size: 0.66rem;
  font-weight: 950;
  letter-spacing: 0.14em;
}
.photo-tall {
  grid-row: 1/3;
}
.photo-wide {
  grid-column: 2/4;
}
.gallery-story-cta {
  grid-column: 2/4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 28px;
  background: var(--s90-yellow);
  color: var(--s90-dark);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  font-weight: 950;
}
.gallery-story-cta span {
  font-size: 2rem;
  transition: transform 0.25s;
}
.gallery-story-cta:hover span {
  transform: translateX(6px);
}

/* Press — editorial rather than generic cards */
.v18-press {
  background: var(--s90-off) !important;
  color: var(--s90-dark) !important;
  padding: clamp(90px, 10vw, 145px) 0 !important;
}
.v18-press .press-eyebrow {
  color: rgba(17, 17, 17, 0.72) !important;
}
.v18-press .press-intro {
  color: rgba(17, 17, 17, 0.68) !important;
}
.v18-press .press-grid {
  gap: 0 !important;
  border-top: 1px solid rgba(17, 17, 17, 0.18) !important;
}
.v18-press .press-card {
  border: 0 !important;
  border-right: 1px solid rgba(17, 17, 17, 0.16) !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.16) !important;
  background: var(--s90-white) !important;
  box-shadow: none !important;
}
.v18-press .press-card:last-child {
  border-right: 0 !important;
}
.v18-press .press-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 45px rgba(17, 17, 17, 0.08) !important;
}
.v18-press .press-body {
  padding: 22px !important;
}
.v18-press .press-source {
  color: rgba(17, 17, 17, 0.72) !important;
}
.v18-press .press-index {
  background: var(--s90-yellow) !important;
  color: var(--s90-dark) !important;
}
.v18-press .press-open {
  background: var(--s90-dark) !important;
}
.v18-press .press-read {
  color: var(--s90-dark) !important;
}
.v18-press .press-read b {
  color: var(--s90-dark) !important;
}
.v18-press .press-all-btn {
  box-shadow: none !important;
}

/* Season 4 — full artwork unobstructed */
.season4-next-section {
  background: var(--s90-yellow);
  color: var(--s90-dark);
}
.season4-next-top {
  padding: clamp(78px, 8vw, 120px) 0;
  background: var(--s90-yellow);
}
.season4-next-top .eyebrow {
  color: rgba(17, 17, 17, 0.72) !important;
}
.season4-next-top h2 {
  font-size: clamp(4rem, 8vw, 8.5rem);
  max-width: 1000px;
}
.season4-shift {
  margin-top: 22px;
  font-family: var(--display);
  font-size: clamp(2.6rem, 5vw, 5.7rem);
  line-height: 0.82;
}
.season4-shift span {
  color: var(--s90-white);
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.28);
}
.season4-banner-full {
  background: var(--s90-white);
  line-height: 0;
  border-top: 1px solid rgba(17, 17, 17, 0.18);
  border-bottom: 1px solid rgba(17, 17, 17, 0.18);
}
.season4-banner-full img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain !important;
  object-position: center !important;
}
.season4-next-bottom {
  padding: 46px 0 52px;
  background: var(--s90-yellow);
}
.season4-bottom-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 50px;
  align-items: center;
}
.season4-bottom-grid > div > span {
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.16em;
}
.season4-bottom-grid h3 {
  font-size: clamp(3.2rem, 6vw, 6.4rem);
  margin: 7px 0;
}
.season4-bottom-grid p {
  max-width: 650px;
  margin: 0;
  color: rgba(17, 17, 17, 0.72);
}
.season4-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* Final CTA */
.final-cta-section {
  position: relative;
  background: var(--s90-dark);
  color: var(--s90-white);
  padding: clamp(100px, 12vw, 175px) 0;
  overflow: hidden;
}
.final-cta-90 {
  position: absolute;
  right: -0.03em;
  bottom: -0.2em;
  font-family: var(--display);
  font-size: min(45vw, 700px);
  line-height: 0.72;
  color: transparent;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.14);
}
.final-cta-inner {
  position: relative;
  z-index: 2;
  max-width: 1100px;
}
.final-cta-inner h2 {
  font-size: clamp(4.4rem, 8.4vw, 9rem);
  color: var(--s90-white);
}
.final-cta-inner h2 span {
  color: var(--s90-yellow);
}
.final-cta-inner p {
  color: rgba(255, 255, 255, 0.68);
  font-size: 1.08rem;
}

/* Footer — final brand statement */
.footer {
  background: var(--s90-dark) !important;
  color: var(--s90-white) !important;
  border-top: 1px solid rgba(253, 209, 3, 0.24) !important;
}
.footer-tag {
  color: var(--s90-white) !important;
}
.footer-tag span {
  color: var(--s90-yellow) !important;
}
.footer h4 {
  color: var(--s90-yellow) !important;
}
.footer a {
  color: rgba(255, 255, 255, 0.64) !important;
}
.footer a:hover {
  color: var(--s90-white) !important;
}
.footer-bottom {
  color: rgba(255, 255, 255, 0.48) !important;
  border-top-color: rgba(255, 255, 255, 0.12) !important;
}
.footer .big90 {
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.1) !important;
}

/* Internal pages — deliberate dark intro, clean editorial bodies */
.page-hero {
  background:
    radial-gradient(
      circle at 78% 26%,
      rgba(253, 209, 3, 0.12),
      transparent 26%
    ),
    var(--s90-dark) !important;
  color: var(--s90-white) !important;
  border-bottom: 3px solid var(--s90-yellow) !important;
  padding: 165px 0 90px !important;
}
.page-hero h1 {
  color: var(--s90-white) !important;
}
.page-hero p {
  color: rgba(255, 255, 255, 0.72) !important;
  max-width: 700px !important;
}
.page-hero .big90 {
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.16) !important;
}
.page-hero .eyebrow {
  color: var(--s90-yellow) !important;
}
body:not([data-page="home"]) .section.light {
  background: var(--s90-off) !important;
  color: var(--s90-dark) !important;
}
body:not([data-page="home"]) .section.dark {
  background: var(--s90-white) !important;
  color: var(--s90-dark) !important;
}
body:not([data-page="home"]) .section.graphite {
  background: var(--s90-off) !important;
  color: var(--s90-dark) !important;
}
body:not([data-page="home"]) .section .eyebrow {
  color: rgba(17, 17, 17, 0.72) !important;
}
body:not([data-page="home"]) .section .muted {
  color: rgba(17, 17, 17, 0.68) !important;
}
.field {
  background: var(--s90-white) !important;
  color: var(--s90-dark) !important;
  border: 1px solid rgba(17, 17, 17, 0.22) !important;
  min-height: 50px !important;
}
.field:focus {
  outline: 3px solid rgba(253, 209, 3, 0.42) !important;
  outline-offset: 2px !important;
  border-color: var(--s90-dark) !important;
}
.team-card,
.profile-card,
.match-card,
.journey-card,
.teams-reveal-card {
  background: var(--s90-white) !important;
  color: var(--s90-dark) !important;
  border: 1px solid rgba(17, 17, 17, 0.14) !important;
  box-shadow: none !important;
}
.team-card:hover,
.profile-card:hover {
  border-color: var(--s90-dark) !important;
  transform: translateY(-5px) !important;
}
.team-card .team-index {
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.45) !important;
}
.team-card .link,
.champion-line {
  color: var(--s90-dark) !important;
}
.champion-badge,
.profile-champion-badge {
  background: var(--s90-yellow) !important;
  color: var(--s90-dark) !important;
}
.crest,
.mini-crest {
  background: var(--s90-off) !important;
  color: var(--s90-dark) !important;
  border-color: rgba(17, 17, 17, 0.18) !important;
}
.tabs .tab {
  background: var(--s90-white) !important;
  color: var(--s90-dark) !important;
  border-color: rgba(17, 17, 17, 0.18) !important;
}
.tabs .tab.active {
  background: var(--s90-yellow) !important;
  color: var(--s90-dark) !important;
  border-color: var(--s90-yellow) !important;
}
.season-switcher a,
.season-switcher button {
  color: var(--s90-dark) !important;
}
.season-switcher .active {
  background: var(--s90-yellow) !important;
  color: var(--s90-dark) !important;
}
.gallery-season {
  background: var(--s90-off) !important;
  color: var(--s90-dark) !important;
}
.gallery-season:nth-of-type(even) {
  background: var(--s90-white) !important;
}
.gallery-season .photo-card {
  background: var(--s90-white) !important;
  border-color: rgba(17, 17, 17, 0.14) !important;
}
.gallery-season .photo-card span {
  color: var(--s90-dark) !important;
  background: var(--s90-yellow) !important;
  border: 0 !important;
}
.s90-lightbox {
  background: rgba(17, 17, 17, 0.98) !important;
}
.article-body {
  color: rgba(17, 17, 17, 0.78) !important;
}
.article-body h2 {
  color: var(--s90-dark) !important;
}
.aside-box {
  background: var(--s90-yellow) !important;
  color: var(--s90-dark) !important;
  border: 0 !important;
  box-shadow: none !important;
}
.aside-box .num {
  background: transparent !important;
  border-color: rgba(17, 17, 17, 0.18) !important;
}
.aside-box .num strong {
  color: var(--s90-dark) !important;
}
.aside-box .num span {
  color: rgba(17, 17, 17, 0.68) !important;
}

/* Accessibility focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--s90-yellow) !important;
  outline-offset: 4px !important;
}

/* Scroll progress */
.s90-scroll-progress {
  background: var(--s90-yellow) !important;
  height: 3px !important;
  transform-origin: left !important;
}

/* Responsive */
@media (max-width: 1100px) {
  .broadcast-grid {
    grid-template-columns: 1fr minmax(270px, 0.42fr);
    gap: 34px;
  }
  .hero-mask {
    font-size: clamp(4.8rem, 10vw, 8rem) !important;
  }
  .broadcast-90 {
    font-size: min(48vw, 520px);
    right: -9vw;
  }
  .broadcast-field {
    right: -20vw;
    width: 80vw;
    height: 80vw;
  }
  .broadcast-trajectory {
    right: -10vw;
    width: 72vw;
  }
  .score-main strong {
    font-size: 5.2rem;
  }
  .why90-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .why90-sticky {
    position: static;
  }
  .why90-numbers {
    margin-top: 10px;
  }
  .identity-grid {
    grid-template-columns: 1fr 1fr;
    gap: 38px;
  }
  .identity-visual {
    min-height: 500px;
  }
  .identity-visual img {
    min-height: 500px;
  }
  .legacy-card {
    grid-template-columns: 120px minmax(220px, 0.8fr) minmax(0, 1.2fr);
  }
  .teams-home-grid {
    grid-template-columns: 1fr 1fr;
  }
  .action-grid {
    grid-template-columns: 1fr;
  }
  .action-stack {
    grid-template-columns: 1fr 1fr;
  }
  .editorial-gallery {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 330px 260px 90px;
  }
  .photo-tall {
    grid-row: 1/3;
  }
  .photo-wide {
    grid-column: 2;
    grid-row: 1;
  }
  .editorial-gallery .editorial-photo:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
  }
  .gallery-story-cta {
    grid-column: 1/3;
    grid-row: 3;
  }
  .season4-bottom-grid {
    grid-template-columns: 1fr;
  }
  .season4-actions {
    justify-content: flex-start;
  }
}
@media (max-width: 820px) {
  .nav {
    height: 82px !important;
  }
  .brand img {
    width: 142px !important;
    height: 66px !important;
  }
  .broadcast-hero {
    min-height: auto !important;
    padding: 126px 0 72px !important;
    align-items: flex-start !important;
  }
  .broadcast-grid {
    display: block;
  }
  .broadcast-copy {
    max-width: none;
  }
  .hero-mask {
    font-size: clamp(4.1rem, 16vw, 6.3rem) !important;
  }
  .broadcast-sub {
    max-width: 520px;
  }
  .broadcast-score {
    margin-top: 42px;
    max-width: 520px;
  }
  .broadcast-90 {
    font-size: 75vw;
    top: 10%;
    right: -22vw;
    opacity: 0.7;
  }
  .broadcast-field {
    right: -45vw;
    bottom: -20vw;
    width: 120vw;
    height: 120vw;
    opacity: 0.36;
  }
  .broadcast-trajectory {
    right: -33vw;
    top: 30%;
    width: 115vw;
    opacity: 0.35;
  }
  .hero-scroll-cue {
    display: none;
  }
  .why90-section {
    margin-top: 0;
  }
  .why-stat {
    grid-template-columns: 130px 1fr;
  }
  .identity-grid {
    grid-template-columns: 1fr;
  }
  .identity-visual {
    min-height: 420px;
  }
  .identity-visual img {
    min-height: 420px;
  }
  .legacy-head {
    grid-template-columns: 1fr;
  }
  .legacy-card {
    grid-template-columns: 100px 1fr;
  }
  .legacy-image {
    grid-column: 2;
    height: 270px;
  }
  .legacy-copy {
    grid-column: 2;
  }
  .legacy-next {
    grid-template-columns: 100px 1fr;
  }
  .legacy-next-90 {
    display: none;
  }
  .teams-home-grid {
    grid-template-columns: 1fr;
  }
  .teams-reveal-graphic {
    min-height: 400px;
  }
  .v18-champions .champion-showcase {
    height: 780px !important;
    min-height: 760px !important;
  }
  .v18-champions .champion-media {
    height: 52% !important;
  }
  .v18-champions .champion-info {
    height: 48% !important;
  }
  .v18-champions .champion-slide-inner {
    padding: 28px var(--edge) 132px !important;
  }
  .v18-champions .champion-lockup > img {
    width: 88px !important;
    height: 88px !important;
  }
  .v18-champions .champion-lockup h2 {
    font-size: clamp(3.2rem, 11vw, 5.2rem) !important;
  }
  .action-head {
    grid-template-columns: 1fr;
  }
  .action-stack {
    grid-template-columns: 1fr;
  }
  .editorial-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 300px 240px 86px;
  }
  .season4-next-top h2 {
    font-size: clamp(3.8rem, 13vw, 6rem);
  }
  .final-cta-inner h2 {
    font-size: clamp(4rem, 13vw, 6.4rem);
  }
}
@media (max-width: 560px) {
  .nav {
    height: 76px !important;
  }
  .brand img {
    width: 128px !important;
    height: 60px !important;
  }
  .broadcast-hero {
    padding: 112px 0 58px !important;
  }
  .broadcast-kicker {
    font-size: 0.62rem;
    letter-spacing: 0.12em;
  }
  .broadcast-kicker::before {
    width: 24px;
  }
  .hero-mask {
    font-size: clamp(3.7rem, 17vw, 5rem) !important;
  }
  .broadcast-sub {
    font-size: 0.98rem;
    line-height: 1.55;
  }
  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .hero-actions .btn {
    width: 100% !important;
    justify-content: space-between !important;
  }
  .broadcast-score {
    padding: 18px;
    margin-top: 30px;
  }
  .score-main strong {
    font-size: 4.5rem;
  }
  .score-row small {
    font-size: 0.56rem;
  }
  .broadcast-90 {
    font-size: 92vw;
    right: -34vw;
    top: 17%;
  }
  .broadcast-trajectory {
    display: none;
  }
  .broadcast-field {
    right: -72vw;
    bottom: -10vw;
    width: 150vw;
    height: 150vw;
    opacity: 0.24;
  }
  .why90-section {
    padding: 76px 0;
  }
  .why90-sticky h2 {
    font-size: clamp(3.7rem, 17vw, 5.4rem);
  }
  .why-stat {
    grid-template-columns: 92px 1fr;
    gap: 16px;
    padding: 24px 0;
  }
  .why-stat strong {
    font-size: 5rem;
  }
  .why-stat b {
    font-size: 2rem;
  }
  .marquee-track {
    font-size: 1.15rem;
  }
  .identity-section {
    padding: 82px 0;
  }
  .identity-copy h2 {
    font-size: clamp(3.7rem, 16vw, 5.5rem);
  }
  .identity-visual {
    min-height: 360px;
  }
  .identity-visual img {
    min-height: 360px;
  }
  .identity-caption span,
  .identity-caption strong {
    font-size: 2.3rem;
  }
  .legacy-section {
    padding: 80px 0;
  }
  .legacy-head h2 {
    font-size: clamp(3.7rem, 15vw, 5.6rem);
  }
  .legacy-card {
    display: block;
    padding: 24px 0;
  }
  .legacy-year {
    font-size: 3rem;
    margin-bottom: 14px;
  }
  .legacy-image {
    height: 240px;
    margin-bottom: 20px;
  }
  .legacy-next {
    padding: 26px 20px;
  }
  .teams-home-section {
    padding: 80px 0;
  }
  .teams-home-copy h2 {
    font-size: clamp(3.8rem, 16vw, 5.7rem);
  }
  .teams-reveal-graphic {
    min-height: 330px;
  }
  .teams-reveal-graphic strong {
    font-size: 11rem;
  }
  .teams-reveal-graphic::before {
    font-size: 18rem;
  }
  .v18-champions .champion-showcase {
    height: 730px !important;
    min-height: 710px !important;
  }
  .v18-champions .champion-media {
    top: 16px !important;
    height: 44% !important;
  }
  .v18-champions .champion-info {
    height: 56% !important;
  }
  .v18-champions .champion-slide-inner {
    padding: 22px 18px 124px !important;
  }
  .v18-champions .champion-lockup {
    gap: 15px !important;
  }
  .v18-champions .champion-lockup > img {
    width: 72px !important;
    height: 72px !important;
  }
  .v18-champions .champion-foot {
    display: block !important;
  }
  .v18-champions .champion-foot .btn {
    margin-top: 14px !important;
  }
  .v18-champions .champion-controls {
    grid-template-columns: 42px 1fr 42px !important;
    gap: 6px !important;
    bottom: 20px !important;
  }
  .v18-champions .champion-arrow {
    width: 42px !important;
    height: 48px !important;
  }
  .v18-champions .champion-tab {
    min-height: 48px !important;
    padding: 0 5px !important;
    font-size: 0.54rem !important;
  }
  .action-section {
    padding: 80px 0;
  }
  .action-head h2 {
    font-size: clamp(3.7rem, 16vw, 5.5rem);
  }
  .editorial-gallery {
    display: flex;
    overflow: auto;
    gap: 10px;
    padding-bottom: 10px;
    scroll-snap-type: x mandatory;
  }
  .editorial-photo {
    min-width: 82vw;
    height: 380px;
    scroll-snap-align: start;
  }
  .gallery-story-cta {
    min-width: 72vw;
    height: 90px;
    flex: 0 0 auto;
  }
  .gallery-story-head h2 {
    font-size: clamp(3.8rem, 16vw, 5.8rem);
  }
  .v18-press .press-grid {
    display: block !important;
  }
  .v18-press .press-card {
    border-right: 0 !important;
    margin-bottom: 14px !important;
  }
  .season4-next-top {
    padding: 72px 0;
  }
  .season4-shift {
    font-size: 2.5rem;
  }
  .season4-next-bottom {
    padding: 32px 0 38px;
  }
  .season4-actions {
    display: grid;
  }
  .season4-actions .btn {
    width: 100%;
    justify-content: space-between;
  }
  .final-cta-section {
    padding: 88px 0;
  }
  .final-cta-inner h2 {
    font-size: clamp(3.8rem, 15vw, 5.5rem);
  }
  .page-hero {
    padding: 132px 0 70px !important;
  }
  .page-hero h1 {
    font-size: clamp(3.8rem, 17vw, 6rem) !important;
  }
  .section-title {
    font-size: clamp(3.5rem, 15vw, 5.5rem) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  .hero-mask span,
  .broadcast-trajectory path,
  .broadcast-trajectory circle,
  .hero-scroll-cue i,
  .marquee-track {
    animation: none !important;
  }
  .broadcast-90 {
    transform: none !important;
  }
  .identity-visual img,
  .editorial-photo img,
  .team-card,
  .profile-card,
  .btn {
    transition-duration: 0.01ms !important;
  }
}

/* V7.18 internal content refinements */
body[data-page="about"] #format {
  background: var(--s90-dark) !important;
  color: var(--s90-white) !important;
}
body[data-page="about"] #format .eyebrow {
  color: var(--s90-yellow) !important;
}
body[data-page="about"] #format .muted,
body[data-page="about"] #format p {
  color: rgba(255, 255, 255, 0.72) !important;
}
.about-v18-grid {
  display: grid;
  grid-template-columns: 1fr 0.62fr;
  gap: clamp(50px, 8vw, 110px);
  align-items: start;
}
.about-v18-copy p {
  max-width: 650px;
  font-size: 1.04rem;
  line-height: 1.78;
}
.about-v18-stats {
  border-top: 2px solid var(--s90-yellow);
}
.about-v18-stats > div {
  display: grid;
  grid-template-columns: 130px 1fr;
  align-items: end;
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
.about-v18-stats strong {
  font-family: var(--display);
  font-size: 4.5rem;
  line-height: 0.75;
  color: var(--s90-yellow);
}
.about-v18-stats span {
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.68);
  padding-bottom: 6px;
}
.contact-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 24px 0;
}
.contact-form-grid label {
  display: grid;
  gap: 8px;
}
.contact-form-grid label > span {
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(17, 17, 17, 0.72);
}
.contact-form-grid .field {
  width: 100%;
}
.contact-message {
  grid-column: 1/-1;
}
.contact-message textarea {
  min-height: 170px;
  padding: 14px;
  resize: vertical;
}
body[data-page="get"] .match-card {
  padding: clamp(24px, 4vw, 42px) !important;
  border-top: 4px solid var(--s90-yellow) !important;
}
body[data-page="get"] .news-grid {
  grid-template-columns: 1.2fr 0.9fr 0.9fr !important;
  gap: 16px !important;
}
body[data-page="get"] .news-card {
  padding: 24px !important;
  border: 1px solid rgba(17, 17, 17, 0.14) !important;
  background: var(--s90-white) !important;
}
body[data-page="get"] .news-card.big {
  grid-row: auto !important;
}
body[data-page="get"] .news-card .category {
  color: rgba(17, 17, 17, 0.65) !important;
}
body[data-page="get"] .news-card h3 {
  font-family: var(--display);
  font-size: clamp(2rem, 3.4vw, 3.7rem) !important;
  line-height: 0.88 !important;
}
@media (max-width: 820px) {
  .about-v18-grid {
    grid-template-columns: 1fr;
  }
  .contact-form-grid {
    grid-template-columns: 1fr;
  }
  .contact-message {
    grid-column: auto;
  }
  body[data-page="get"] .news-grid {
    grid-template-columns: 1fr !important;
  }
}

/* === V7.19 HEADING TYPEFACE ===
   External display font supplied by the project owner.
   Body copy remains on the existing sans-serif stack for readability. */
:root {
  --heading:
    "Helvetica NeueLTW0693BlkExtObl", Impact, Haettenschweiler,
    "Arial Narrow Bold", "Arial Narrow", sans-serif;
}

/* Primary editorial / sports headings */
h1,
h2,
h3,
.display,
.section-title,
.page-hero h1,
.hero h1,
.champion-lockup h2,
.champion-season,
.action-caption h3,
.legacy-copy h3,
.identity-caption span,
.identity-caption strong,
.season4-shift,
.final-cta-inner h2,
.footer-tag {
  font-family: var(--heading) !important;
}

/* Preserve clean sans-serif typography for readable UI, body copy and controls. */
body,
p,
li,
small,
label,
input,
select,
textarea,
button,
.nav-links a,
.mobile-menu a,
.eyebrow,
.btn,
.meta-item,
.fixture-row,
.press-meta,
.press-read {
  font-family: var(--body);
}

/* === V7.20 CLIENT PASS: no black section backgrounds + smaller, clearer typography === */
:root {
  --v20-primary: #fdd103;
  --v20-secondary: #fad821;
  --v20-light: #fae04c;
  --v20-white: #ffffff;
  --v20-off: #fbfbf7;
  --v20-ink: #111111;
}

/* Black is intentionally reserved for the header/navigation and footer only. */
html,
body {
  background: var(--v20-off) !important;
  color: var(--v20-ink) !important;
}
main {
  background: var(--v20-off) !important;
  color: var(--v20-ink) !important;
}

/* Strong but more readable global type scale. */
.display {
  line-height: 0.92 !important;
  letter-spacing: -0.01em !important;
}
.section-title {
  font-size: clamp(2.65rem, 5vw, 5.6rem) !important;
  line-height: 0.94 !important;
}
h1,
h2,
h3 {
  overflow-wrap: normal;
  word-break: normal;
}
p,
.muted,
.small,
.section-head p,
.hero-sub,
.broadcast-sub,
.page-hero p,
.identity-copy p,
.legacy-head p,
.legacy-copy p,
.teams-home-copy p,
.action-head p,
.gallery-story-head p,
.season4-bottom-grid p,
.final-cta-inner p {
  color: var(--v20-ink) !important;
  line-height: 1.66 !important;
}
p {
  max-width: 68ch;
}
.eyebrow {
  color: var(--v20-ink) !important;
  font-size: 0.72rem !important;
  line-height: 1.4 !important;
  letter-spacing: 0.16em !important;
}

/* HEADER: black is allowed here. */
.site-header {
  background: linear-gradient(
    180deg,
    rgba(17, 17, 17, 0.97),
    rgba(17, 17, 17, 0.9)
  ) !important;
  border-bottom: 1px solid rgba(253, 209, 3, 0.22) !important;
  box-shadow: 0 10px 30px rgba(17, 17, 17, 0.1) !important;
}
.site-header.scrolled {
  background: #111111 !important;
  border-bottom-color: var(--v20-primary) !important;
}
.nav-links a {
  color: #ffffff !important;
}
.menu-btn {
  color: #ffffff !important;
}
.nav-links a:after {
  background: var(--v20-primary) !important;
}

/* HOME HERO: light editorial/broadcast treatment instead of black. */
.broadcast-hero {
  min-height: clamp(720px, 92svh, 900px) !important;
  padding: 132px 0 76px !important;
  color: var(--v20-ink) !important;
  background:
    radial-gradient(
      circle at 78% 22%,
      rgba(253, 209, 3, 0.34),
      rgba(253, 209, 3, 0) 28%
    ),
    radial-gradient(
      circle at 90% 78%,
      rgba(250, 224, 76, 0.28),
      rgba(250, 224, 76, 0) 32%
    ),
    linear-gradient(118deg, #ffffff 0%, #fbfbf7 58%, #fff7cf 100%) !important;
}
.broadcast-hero::before {
  background:
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.12),
      rgba(255, 255, 255, 0.3) 60%,
      rgba(250, 216, 33, 0.1)
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 78%,
      rgba(251, 251, 247, 0.92) 100%
    ) !important;
}
.broadcast-hero::after {
  background: linear-gradient(
    90deg,
    var(--v20-primary),
    var(--v20-secondary),
    rgba(253, 209, 3, 0)
  ) !important;
}
.broadcast-kicker {
  color: var(--v20-ink) !important;
}
.broadcast-kicker::before {
  background: var(--v20-primary) !important;
}
.hero-mask {
  font-size: clamp(4rem, 7.8vw, 7.8rem) !important;
  line-height: 0.84 !important;
  color: var(--v20-ink) !important;
  max-width: 820px !important;
}
.hero-mask .yellow-line {
  color: var(--v20-primary) !important;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.18) !important;
}
.broadcast-sub {
  max-width: 560px !important;
  font-size: clamp(0.98rem, 1.15vw, 1.08rem) !important;
}
.broadcast-90 {
  font-size: min(34vw, 500px) !important;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.48) !important;
  opacity: 0.84 !important;
}
.broadcast-field {
  border-color: rgba(17, 17, 17, 0.1) !important;
  opacity: 0.48 !important;
}
.broadcast-field::before,
.broadcast-field::after {
  border-color: rgba(17, 17, 17, 0.08) !important;
}
.field-line {
  background: rgba(17, 17, 17, 0.1) !important;
}
.field-dot {
  background: var(--v20-primary) !important;
  box-shadow: 0 0 0 7px rgba(253, 209, 3, 0.12) !important;
}
.broadcast-trajectory path {
  stroke: #b28e00 !important;
  opacity: 0.72;
}
.broadcast-trajectory circle {
  fill: var(--v20-primary) !important;
}
.broadcast-lights i {
  background: var(--v20-primary) !important;
  box-shadow: 0 0 14px 3px rgba(253, 209, 3, 0.24) !important;
}
.broadcast-noise {
  opacity: 0.025 !important;
  mix-blend-mode: multiply !important;
  background-image: radial-gradient(
    circle,
    rgba(17, 17, 17, 0.7) 0.5px,
    transparent 0.7px
  ) !important;
}
.hero-scroll-cue {
  color: rgba(17, 17, 17, 0.6) !important;
}

/* Scoreboard becomes a highly legible white card. */
.broadcast-score {
  background: #ffffff !important;
  color: var(--v20-ink) !important;
  border: 1px solid rgba(17, 17, 17, 0.14) !important;
  border-top: 4px solid var(--v20-primary) !important;
  box-shadow: 0 24px 60px rgba(17, 17, 17, 0.09) !important;
  backdrop-filter: none !important;
}
.broadcast-score::after {
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.3) !important;
}
.score-top {
  color: rgba(17, 17, 17, 0.7) !important;
  border-bottom-color: rgba(17, 17, 17, 0.12) !important;
}
.score-top b {
  color: var(--v20-ink) !important;
}
.score-main {
  border-bottom-color: rgba(17, 17, 17, 0.12) !important;
}
.score-main strong {
  font-size: 5.5rem !important;
  color: var(--v20-primary) !important;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.14);
}
.score-main span {
  color: var(--v20-ink) !important;
}
.score-row {
  border-bottom-color: rgba(17, 17, 17, 0.12) !important;
}
.score-row > span + span {
  border-left-color: rgba(17, 17, 17, 0.12) !important;
}
.score-row b {
  color: var(--v20-ink) !important;
  font-size: 1.9rem !important;
}
.score-row small,
.score-location > span,
.score-location small {
  color: rgba(17, 17, 17, 0.66) !important;
}
.score-location b {
  color: var(--v20-ink) !important;
}
.hero-ghost {
  background: #ffffff !important;
  color: var(--v20-ink) !important;
  border-color: rgba(17, 17, 17, 0.35) !important;
}
.hero-ghost:hover {
  background: var(--v20-light) !important;
  color: var(--v20-ink) !important;
}

/* WHY 90 */
.why90-section {
  background: var(--v20-off) !important;
  color: var(--v20-ink) !important;
  padding: clamp(78px, 9vw, 124px) 0 !important;
}
.why90-sticky h2 {
  font-size: clamp(3.15rem, 5.4vw, 5.6rem) !important;
  color: var(--v20-ink) !important;
}
.why90-sticky p {
  font-size: 1rem !important;
  color: var(--v20-ink) !important;
}
.why90-numbers {
  border-top-color: var(--v20-ink) !important;
}
.why-stat {
  border-bottom-color: rgba(17, 17, 17, 0.16) !important;
}
.why-stat strong {
  font-size: clamp(4.8rem, 8vw, 8rem) !important;
  color: var(--v20-primary) !important;
}
.why-stat b {
  font-size: clamp(1.9rem, 3.1vw, 3.25rem) !important;
  color: var(--v20-ink) !important;
}
.why-stat span {
  color: var(--v20-ink) !important;
}
.energy-marquee {
  background: var(--v20-primary) !important;
  color: var(--v20-ink) !important;
}
.marquee-track {
  font-size: 1.15rem !important;
}

/* Identity: white section, no black background. */
.identity-section {
  background: #ffffff !important;
  color: var(--v20-ink) !important;
  padding: clamp(78px, 9vw, 126px) 0 !important;
  border-top: 1px solid rgba(17, 17, 17, 0.08) !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08) !important;
}
.identity-back90 {
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.24) !important;
}
.identity-copy h2 {
  font-size: clamp(3.15rem, 5.6vw, 5.9rem) !important;
  color: var(--v20-ink) !important;
}
.identity-copy h2 span {
  color: var(--v20-primary) !important;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.12) !important;
}
.identity-copy p {
  color: var(--v20-ink) !important;
}
.identity-copy .text-link {
  color: var(--v20-ink) !important;
}
.identity-visual {
  border-left-color: var(--v20-primary) !important;
}
.identity-caption span {
  color: #ffffff !important;
  font-size: clamp(1.8rem, 3vw, 3.25rem) !important;
}
.identity-caption strong {
  color: var(--v20-light) !important;
  font-size: clamp(1.8rem, 3vw, 3.25rem) !important;
}
.identity-caption small {
  color: #ffffff !important;
}

/* Legacy + teams */
.legacy-section {
  background: var(--v20-off) !important;
  padding: clamp(78px, 9vw, 126px) 0 !important;
}
.legacy-head h2 {
  font-size: clamp(3.1rem, 5.2vw, 5.4rem) !important;
}
.legacy-head p,
.legacy-copy p {
  color: var(--v20-ink) !important;
}
.legacy-copy h3 {
  font-size: clamp(1.7rem, 2.6vw, 2.55rem) !important;
  line-height: 0.96 !important;
}
.legacy-year {
  font-size: clamp(2.2rem, 3.6vw, 3.8rem) !important;
}
.teams-home-section {
  background: #ffffff !important;
  padding: clamp(76px, 9vw, 122px) 0 !important;
}
.teams-home-copy h2 {
  font-size: clamp(3.15rem, 5.7vw, 5.9rem) !important;
  line-height: 0.86 !important;
}
.teams-home-copy p {
  color: var(--v20-ink) !important;
}

/* Champions: premium light/yellow treatment instead of black. */
.v18-champions {
  background: var(--v20-off) !important;
  color: var(--v20-ink) !important;
  border-top: 1px solid rgba(17, 17, 17, 0.08) !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08) !important;
}
.v18-champions .champion-showcase,
.v18-champions .champion-slide,
.v18-champions .champion-media,
.v18-champions .champion-slide-bg {
  background: var(--v20-off) !important;
}
.v18-champions .champion-info {
  background: linear-gradient(
    180deg,
    rgba(251, 251, 247, 0),
    #fbfbf7 18%
  ) !important;
  color: var(--v20-ink) !important;
}
.v18-champions .champion-lockup h2 {
  color: var(--v20-ink) !important;
  font-size: clamp(3.05rem, 5.4vw, 5.5rem) !important;
  line-height: 0.88 !important;
}
.v18-champions .champion-season {
  color: var(--v20-ink) !important;
}
.v18-champions .champion-foot p {
  color: var(--v20-ink) !important;
}
.v18-champions .champion-controls {
  background: #ffffff !important;
  border: 1px solid rgba(17, 17, 17, 0.15) !important;
  box-shadow: 0 12px 34px rgba(17, 17, 17, 0.08) !important;
}
.v18-champions .champion-arrow,
.v18-champions .champion-tabs,
.v18-champions .champion-tab {
  background: #ffffff !important;
  color: var(--v20-ink) !important;
  border-color: rgba(17, 17, 17, 0.14) !important;
}
.v18-champions .champion-arrow:hover,
.v18-champions .champion-tab.is-active {
  background: var(--v20-primary) !important;
  color: var(--v20-ink) !important;
}

/* Watch the action: section and captions stay light. Video canvases remain native. */
.action-section {
  background: var(--v20-off) !important;
  color: var(--v20-ink) !important;
  padding: clamp(76px, 9vw, 122px) 0 !important;
}
.action-head h2 {
  font-size: clamp(3.05rem, 5.2vw, 5.4rem) !important;
}
.action-head p {
  color: var(--v20-ink) !important;
}
.action-feature,
.action-small {
  background: #ffffff !important;
  color: var(--v20-ink) !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
}
.action-caption span,
.action-small span {
  color: var(--v20-ink) !important;
}
.action-caption h3 {
  font-size: 2rem !important;
  color: var(--v20-ink) !important;
}
.action-small b {
  color: var(--v20-ink) !important;
}

/* Gallery / press */
.gallery-story-section {
  background: #ffffff !important;
  padding: clamp(76px, 9vw, 122px) 0 !important;
}
.gallery-story-head h2 {
  font-size: clamp(3.05rem, 5.5vw, 5.7rem) !important;
}
.gallery-story-head p {
  color: var(--v20-ink) !important;
}
.v18-press {
  background: var(--v20-off) !important;
  padding: clamp(76px, 9vw, 118px) 0 !important;
}
.v18-press .section-title {
  font-size: clamp(2.8rem, 4.9vw, 5rem) !important;
}
.v18-press .press-intro,
.v18-press .press-meta {
  color: var(--v20-ink) !important;
}
.v18-press .press-open {
  background: var(--v20-primary) !important;
  color: var(--v20-ink) !important;
  border-color: var(--v20-primary) !important;
}

/* Season 4: keep yellow, make the typography more compact. */
.season4-next-section,
.season4-next-top,
.season4-next-bottom {
  background: var(--v20-primary) !important;
  color: var(--v20-ink) !important;
}
.season4-next-top {
  padding: clamp(68px, 7vw, 100px) 0 !important;
}
.season4-next-top h2 {
  font-size: clamp(3.1rem, 5.5vw, 5.7rem) !important;
}
.season4-shift {
  font-size: clamp(2rem, 3.5vw, 3.7rem) !important;
  color: var(--v20-ink) !important;
}
.season4-shift span {
  color: var(--v20-ink) !important;
  -webkit-text-stroke: 0 !important;
}
.season4-bottom-grid h3 {
  font-size: clamp(2.6rem, 4.5vw, 4.7rem) !important;
}
.season4-bottom-grid p {
  color: var(--v20-ink) !important;
}
.dark-cta {
  background: #ffffff !important;
  color: var(--v20-ink) !important;
  border-color: #ffffff !important;
}
.dark-cta:hover {
  background: var(--v20-light) !important;
  color: var(--v20-ink) !important;
}
.dark-outline {
  background: transparent !important;
  color: var(--v20-ink) !important;
  border-color: rgba(17, 17, 17, 0.45) !important;
}
.dark-outline:hover {
  background: #ffffff !important;
  color: var(--v20-ink) !important;
}

/* Final CTA is off-white/yellow, not black. */
.final-cta-section {
  background: var(--v20-off) !important;
  color: var(--v20-ink) !important;
  padding: clamp(78px, 9vw, 126px) 0 !important;
  border-top: 8px solid var(--v20-primary) !important;
}
.final-cta-90 {
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.32) !important;
}
.final-cta-inner h2 {
  font-size: clamp(3.2rem, 5.8vw, 6rem) !important;
  color: var(--v20-ink) !important;
  line-height: 0.9 !important;
}
.final-cta-inner h2 span {
  color: var(--v20-primary) !important;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.1) !important;
}
.final-cta-inner p {
  color: var(--v20-ink) !important;
  font-size: 1rem !important;
}
.final-cta-section .hero-ghost {
  border-color: rgba(17, 17, 17, 0.35) !important;
  color: var(--v20-ink) !important;
}

/* Internal page heroes are now light, not black. */
.page-hero {
  background:
    radial-gradient(
      circle at 78% 26%,
      rgba(253, 209, 3, 0.28),
      rgba(253, 209, 3, 0) 28%
    ),
    linear-gradient(135deg, #ffffff 0%, #fbfbf7 68%, #fff6c8 100%) !important;
  color: var(--v20-ink) !important;
  border-bottom: 3px solid var(--v20-primary) !important;
  padding: 148px 0 74px !important;
}
.page-hero h1 {
  font-size: clamp(3rem, 6vw, 5.8rem) !important;
  color: var(--v20-ink) !important;
  line-height: 0.9 !important;
  max-width: 960px !important;
}
.page-hero p {
  color: var(--v20-ink) !important;
  font-size: 1rem !important;
  max-width: 64ch !important;
}
.page-hero .eyebrow {
  color: var(--v20-ink) !important;
}
.page-hero .big90 {
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.32) !important;
}

/* Internal content: explicit white/off-white/yellow rhythm. */
body:not([data-page="home"]) .section.light {
  background: var(--v20-off) !important;
  color: var(--v20-ink) !important;
}
body:not([data-page="home"]) .section.dark {
  background: #ffffff !important;
  color: var(--v20-ink) !important;
}
body:not([data-page="home"]) .section.graphite {
  background: var(--v20-off) !important;
  color: var(--v20-ink) !important;
}
body[data-page="about"] #format {
  background: var(--v20-light) !important;
  color: var(--v20-ink) !important;
}
body[data-page="about"] #format .eyebrow,
body[data-page="about"] #format .muted,
body[data-page="about"] #format p {
  color: var(--v20-ink) !important;
}
.about-v18-stats {
  border-top-color: var(--v20-ink) !important;
}
.about-v18-stats > div {
  border-bottom-color: rgba(17, 17, 17, 0.18) !important;
}
.about-v18-stats strong,
.about-v18-stats span {
  color: var(--v20-ink) !important;
}

/* Cards and form text: never low-contrast. */
.team-card,
.profile-card,
.match-card,
.journey-card,
.teams-reveal-card,
.press-card,
.champion-card,
.aside-box,
.field,
textarea,
input,
select {
  color: var(--v20-ink) !important;
}
.field,
textarea,
input,
select {
  background: #ffffff !important;
  border-color: rgba(17, 17, 17, 0.28) !important;
}
.contact-form-grid label > span {
  color: var(--v20-ink) !important;
}
.press-body h3,
.team-card h3,
.profile-card h3,
.match-card h3,
.article-body h2 {
  color: var(--v20-ink) !important;
}

/* Footer: black is allowed and intentionally retained. */
.footer {
  background: #111111 !important;
  color: #ffffff !important;
  border-top: 1px solid var(--v20-primary) !important;
}
.footer-tag {
  color: #ffffff !important;
}
.footer-tag span,
.footer h4 {
  color: var(--v20-primary) !important;
}
.footer a {
  color: rgba(255, 255, 255, 0.78) !important;
}
.footer a:hover {
  color: #ffffff !important;
}
.footer-bottom {
  color: rgba(255, 255, 255, 0.66) !important;
  border-top-color: rgba(255, 255, 255, 0.16) !important;
}

/* Tablet/mobile: intentionally smaller headings and no text clipping. */
@media (max-width: 820px) {
  .broadcast-hero {
    padding: 118px 0 64px !important;
    min-height: auto !important;
  }
  .hero-mask {
    font-size: clamp(3.2rem, 11.5vw, 5.1rem) !important;
    line-height: 0.88 !important;
  }
  .broadcast-score {
    max-width: 100% !important;
    margin-top: 32px !important;
  }
  .score-main strong {
    font-size: 4.4rem !important;
  }
  .section-title {
    font-size: clamp(2.5rem, 8vw, 4rem) !important;
  }
  .why90-sticky h2,
  .identity-copy h2,
  .legacy-head h2,
  .teams-home-copy h2,
  .action-head h2,
  .gallery-story-head h2,
  .season4-next-top h2,
  .final-cta-inner h2 {
    font-size: clamp(2.75rem, 9.2vw, 4.5rem) !important;
    line-height: 0.92 !important;
  }
  .why-stat strong {
    font-size: 4.6rem !important;
  }
  .why-stat b {
    font-size: 2rem !important;
  }
  .v18-champions .champion-lockup h2 {
    font-size: clamp(2.7rem, 9.5vw, 4.4rem) !important;
  }
  .page-hero {
    padding: 124px 0 62px !important;
  }
  .page-hero h1 {
    font-size: clamp(2.8rem, 10.5vw, 4.8rem) !important;
  }
}
@media (max-width: 560px) {
  .broadcast-hero {
    padding: 108px 0 54px !important;
  }
  .hero-mask {
    font-size: clamp(2.75rem, 12.5vw, 4.2rem) !important;
    line-height: 0.9 !important;
  }
  .broadcast-sub {
    font-size: 0.96rem !important;
    line-height: 1.62 !important;
  }
  .broadcast-90 {
    font-size: 78vw !important;
    opacity: 0.58 !important;
  }
  .broadcast-score {
    padding: 16px !important;
  }
  .score-main strong {
    font-size: 3.8rem !important;
  }
  .score-row b {
    font-size: 1.55rem !important;
  }
  .section-title {
    font-size: clamp(2.35rem, 10.8vw, 3.8rem) !important;
    line-height: 0.94 !important;
  }
  .why90-sticky h2,
  .identity-copy h2,
  .legacy-head h2,
  .teams-home-copy h2,
  .action-head h2,
  .gallery-story-head h2,
  .season4-next-top h2,
  .final-cta-inner h2 {
    font-size: clamp(2.45rem, 11vw, 3.95rem) !important;
    line-height: 0.93 !important;
  }
  .identity-caption span,
  .identity-caption strong {
    font-size: 1.9rem !important;
  }
  .legacy-copy h3 {
    font-size: 1.75rem !important;
  }
  .action-caption h3 {
    font-size: 1.65rem !important;
  }
  .season4-shift {
    font-size: 2rem !important;
    line-height: 0.95 !important;
  }
  .season4-bottom-grid h3 {
    font-size: 2.7rem !important;
  }
  .v18-champions .champion-lockup h2 {
    font-size: clamp(2.4rem, 10vw, 3.7rem) !important;
    line-height: 0.9 !important;
  }
  .page-hero {
    padding: 112px 0 52px !important;
  }
  .page-hero h1 {
    font-size: clamp(2.6rem, 11.5vw, 4rem) !important;
    line-height: 0.92 !important;
  }
  .page-hero p,
  p {
    font-size: 0.96rem !important;
    line-height: 1.64 !important;
  }
  .eyebrow {
    font-size: 0.66rem !important;
    letter-spacing: 0.13em !important;
  }
}

/* V7.20 contrast hardening on light surfaces: yellow highlights, dark readable text. */
.hero-mask .yellow-line,
.identity-copy h2 span,
.final-cta-inner h2 span {
  color: var(--v20-ink) !important;
  -webkit-text-stroke: 0 !important;
  background: linear-gradient(
    180deg,
    transparent 58%,
    rgba(253, 209, 3, 0.78) 58%,
    rgba(253, 209, 3, 0.78) 92%,
    transparent 92%
  );
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.score-main strong,
.why-stat strong {
  color: var(--v20-ink) !important;
  -webkit-text-stroke: 0 !important;
}
.why-stat strong {
  position: relative;
}
.why-stat strong::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 52px;
  height: 6px;
  background: var(--v20-primary);
}
.btn.secondary:hover {
  background: var(--v20-light) !important;
  color: var(--v20-ink) !important;
  border-color: var(--v20-primary) !important;
}
.text-link {
  color: var(--v20-ink) !important;
}

/* === V7.21 — seamless marquee, champion visibility, contact redesign, alignment pass === */
:root {
  --v21-section-space: clamp(76px, 8vw, 118px);
  --v21-gap: clamp(18px, 2.2vw, 30px);
  --v21-line: rgba(17, 17, 17, 0.14);
}

/* 1. Truly continuous marquee: two identical groups, no terminal gap. */
.energy-marquee {
  overflow: hidden !important;
  white-space: nowrap;
}
.marquee-track {
  display: flex !important;
  align-items: center !important;
  width: max-content !important;
  gap: 0 !important;
  will-change: transform;
  animation: v21Marquee 22s linear infinite !important;
}
.marquee-group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 22px;
  padding-right: 22px;
}
.marquee-group span,
.marquee-group i {
  flex: 0 0 auto;
}
@keyframes v21Marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

/* 2. Teams page champion state — high contrast, premium and readable. */
.season-champion-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 220px) !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: center !important;
  position: relative !important;
  overflow: hidden !important;
  margin: 0 0 34px !important;
  padding: clamp(30px, 4vw, 54px) !important;
  background:
    radial-gradient(
      circle at 88% 20%,
      rgba(250, 224, 76, 0.42),
      rgba(250, 224, 76, 0) 26%
    ),
    linear-gradient(135deg, #ffffff 0%, #fbfbf7 66%, #fff7cf 100%) !important;
  color: #111111 !important;
  border: 2px solid #fdd103 !important;
  box-shadow: 0 24px 60px rgba(17, 17, 17, 0.08) !important;
}
.season-champion-panel::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 8px;
  background: #fdd103;
}
.season-champion-panel::after {
  content: "CHAMPIONS" !important;
  right: clamp(180px, 18vw, 300px) !important;
  bottom: -0.12em !important;
  font-size: clamp(4.3rem, 8vw, 8.5rem) !important;
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.07) !important;
  opacity: 1 !important;
  z-index: 0 !important;
}
.season-champion-copy {
  position: relative !important;
  z-index: 2 !important;
  max-width: 780px;
}
.season-champion-copy .eyebrow {
  color: #111111 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
}
.season-champion-copy h2 {
  color: #111111 !important;
  font-size: clamp(2.8rem, 5vw, 5rem) !important;
  line-height: 0.88 !important;
  margin: 12px 0 16px !important;
  max-width: 850px;
  overflow-wrap: anywhere;
}
.season-champion-copy p {
  color: #111111 !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  max-width: 62ch !important;
  margin: 0 !important;
}
.season-champion-mark {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  width: 100%;
}
.season-champion-mark .crest {
  width: clamp(130px, 13vw, 180px) !important;
  height: clamp(130px, 13vw, 180px) !important;
  padding: 18px !important;
  margin: 0 !important;
  background: #ffffff !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  box-shadow: 0 18px 42px rgba(17, 17, 17, 0.1) !important;
  clip-path: polygon(
    0 0,
    88% 0,
    100% 12%,
    100% 100%,
    12% 100%,
    0 88%
  ) !important;
}
.season-champion-mark .crest.has-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* 3. Contact page — sponsorship & franchise enquiry experience. */
.contact-hero p {
  max-width: 60ch !important;
}
.contact-opportunity-section {
  background: #fbfbf7 !important;
  color: #111111 !important;
  padding: var(--v21-section-space) 0 !important;
}
.contact-opportunity-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(520px, 1.12fr);
  gap: clamp(48px, 7vw, 96px);
  align-items: start;
}
.contact-opportunity-copy {
  position: sticky;
  top: 126px;
}
.contact-opportunity-copy h2 {
  font-family: var(--display);
  font-size: clamp(2.8rem, 4.7vw, 4.8rem);
  line-height: 0.9;
  margin: 14px 0 24px;
  color: #111111;
}
.contact-opportunity-copy > p {
  max-width: 58ch;
  margin: 0 0 30px;
  line-height: 1.7;
  color: #111111;
}
.opportunity-cards {
  display: grid;
  gap: 12px;
}
.opportunity-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 22px;
  background: #ffffff;
  border: 1px solid var(--v21-line);
  border-left: 5px solid #fdd103;
}
.opportunity-no {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  background: #fdd103;
  color: #111111;
  font-family: var(--display);
  font-size: 1rem;
}
.opportunity-card h3 {
  margin: 0 0 8px;
  color: #111111;
  font-size: 1.06rem;
  line-height: 1.25;
}
.opportunity-card p {
  margin: 0;
  color: #111111;
  font-size: 0.94rem;
  line-height: 1.6;
}
.contact-assurance {
  margin-top: 20px;
  padding: 18px 20px;
  background: #fae04c;
  color: #111111;
  border: 1px solid rgba(17, 17, 17, 0.12);
}
.contact-assurance strong,
.contact-assurance span {
  display: block;
  color: #111111;
}
.contact-assurance span {
  margin-top: 5px;
  font-size: 0.9rem;
  line-height: 1.5;
}
.contact-form-shell {
  background: #ffffff;
  border: 1px solid rgba(17, 17, 17, 0.14);
  border-top: 6px solid #fdd103;
  padding: clamp(28px, 4vw, 46px);
  box-shadow: 0 28px 70px rgba(17, 17, 17, 0.08);
}
.contact-form-head {
  padding-bottom: 24px;
  margin-bottom: 26px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}
.contact-form-head h2 {
  margin: 10px 0 8px;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.1;
  color: #111111;
}
.contact-form-head p {
  margin: 0;
  color: #111111;
  line-height: 1.6;
}
.contact-enquiry-form .contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 18px;
}
.contact-enquiry-form label {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.contact-enquiry-form label > span {
  color: #111111 !important;
  font-size: 0.77rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.contact-enquiry-form .field {
  width: 100%;
  min-height: 52px;
  padding: 12px 14px !important;
  border: 1px solid rgba(17, 17, 17, 0.24) !important;
  background: #fbfbf7 !important;
  color: #111111 !important;
  outline: none;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}
.contact-enquiry-form textarea.field {
  min-height: 150px;
  resize: vertical;
  line-height: 1.55;
}
.contact-enquiry-form .field:focus {
  background: #ffffff !important;
  border-color: #fdd103 !important;
  box-shadow: 0 0 0 4px rgba(253, 209, 3, 0.16) !important;
}
.contact-message {
  grid-column: 1/-1;
}
.contact-consent {
  display: flex !important;
  grid-template-columns: none !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 20px 0;
}
.contact-consent input {
  width: 18px;
  height: 18px;
  accent-color: #fdd103;
  flex: 0 0 auto;
}
.contact-consent span {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 0.9rem !important;
  font-weight: 650 !important;
}
.contact-submit-row {
  display: flex;
  align-items: center;
  gap: 18px;
  padding-top: 22px;
  border-top: 1px solid rgba(17, 17, 17, 0.12);
}
.contact-submit-row .btn {
  flex: 0 0 auto;
}
.contact-form-note {
  margin: 0;
  color: rgba(17, 17, 17, 0.68);
  font-size: 0.8rem;
  line-height: 1.5;
  max-width: 36ch;
}
.contact-form-status {
  min-height: 1.4em;
  margin: 14px 0 0;
  color: #111111;
  font-size: 0.86rem;
  font-weight: 750;
}
.contact-form-status.is-error {
  color: #7a3300;
}
.contact-form-status.is-info {
  color: #111111;
}

/* 4. Global alignment / uniformity pass. */
.section:not(.champions-section):not(.season4-next-section):not(
    .final-cta-section
  ) {
  padding-top: var(--v21-section-space) !important;
  padding-bottom: var(--v21-section-space) !important;
}
.section-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr) !important;
  gap: clamp(28px, 5vw, 70px) !important;
  align-items: end !important;
  margin-bottom: clamp(32px, 4vw, 52px) !important;
}
.section-head > div:first-child {
  min-width: 0;
}
.section-head p {
  max-width: 54ch !important;
  justify-self: end;
  line-height: 1.65 !important;
}
.team-rail,
.season-team-grid,
.news-grid,
.press-grid,
.journey-grid {
  align-items: stretch !important;
}
.team-card,
.news-card,
.press-card,
.journey-card {
  height: 100%;
}
.news-card,
.press-card {
  display: flex;
  flex-direction: column;
}
.news-card .btn,
.press-card .press-read {
  margin-top: auto;
}
.page-hero .container {
  position: relative;
  z-index: 2;
}
.page-hero h1 {
  max-width: 900px !important;
}
.page-hero p {
  margin-top: 20px !important;
}
.footer-top > div {
  min-width: 0;
}

@media (max-width: 1000px) {
  .contact-opportunity-grid {
    grid-template-columns: 1fr;
    gap: 46px;
  }
  .contact-opportunity-copy {
    position: static;
  }
  .contact-form-shell {
    max-width: 760px;
    width: 100%;
    margin: 0 auto;
  }
}
@media (max-width: 820px) {
  .section-head {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .section-head p {
    justify-self: start !important;
    margin-top: 0 !important;
  }
  .season-champion-panel {
    grid-template-columns: 1fr minmax(120px, 150px) !important;
    padding: 30px 26px !important;
  }
  .season-champion-panel::after {
    right: 80px !important;
    font-size: 5rem !important;
  }
  .season-champion-copy h2 {
    font-size: clamp(2.5rem, 8vw, 4rem) !important;
  }
  .contact-enquiry-form .contact-form-grid {
    grid-template-columns: 1fr;
  }
  .contact-message {
    grid-column: auto;
  }
}
@media (max-width: 560px) {
  .marquee-group {
    gap: 16px;
    padding-right: 16px;
  }
  .season-champion-panel {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 26px 22px !important;
  }
  .season-champion-panel::after {
    right: -12px !important;
    bottom: 6px !important;
    font-size: 4.6rem !important;
  }
  .season-champion-copy h2 {
    font-size: clamp(2.25rem, 11vw, 3.45rem) !important;
  }
  .season-champion-mark {
    justify-content: start !important;
    place-items: start !important;
  }
  .season-champion-mark .crest {
    width: 120px !important;
    height: 120px !important;
  }
  .contact-opportunity-copy h2 {
    font-size: clamp(2.4rem, 11vw, 3.7rem);
  }
  .opportunity-card {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
  }
  .contact-form-shell {
    padding: 24px 18px;
  }
  .contact-submit-row {
    display: grid;
    gap: 12px;
  }
  .contact-submit-row .btn {
    width: 100%;
    justify-content: space-between;
  }
  .contact-form-note {
    max-width: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation: none !important;
  }
}
.season-champion-panel[hidden] {
  display: none !important;
}
.champion-line {
  color: #111111 !important;
}

/* === V7.22 CROSS-DEVICE BALANCE & RESPONSIVE STABILITY === */
/* Purpose: keep the same visual system balanced from large desktop through narrow phones. */
:root {
  --v22-content: 1340px;
  --v22-gutter: clamp(18px, 3.6vw, 56px);
  --v22-copy: 64ch;
  --v22-touch: 48px;
}
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}
.container {
  width: min(
    var(--v22-content),
    calc(100% - (2 * var(--v22-gutter)))
  ) !important;
}
img,
video,
iframe,
svg {
  max-width: 100%;
}
.display,
.section-title,
.page-hero h1,
.hero-mask,
.legacy-head h2,
.teams-home-copy h2,
.identity-copy h2,
.why90-sticky h2,
.action-head h2,
.gallery-story-head h2,
.season4-next-top h2,
.final-cta-inner h2,
.season-champion-copy h2 {
  max-width: 100%;
  text-wrap: balance;
  overflow-wrap: normal;
  padding-right: 0.12em; /* protects the oblique display face from clipping */
}
p,
.muted,
.section-head p,
.page-hero p,
.broadcast-sub,
.identity-copy p,
.legacy-copy p,
.contact-opportunity-copy > p {
  max-width: var(--v22-copy);
}
.btn,
.menu-btn,
.mobile-close,
.champion-arrow,
.champion-tab,
.tab,
.season-chip {
  min-height: var(--v22-touch);
}

/* Desktop/laptop balance */
.broadcast-grid {
  gap: clamp(34px, 5vw, 76px) !important;
}
.broadcast-copy {
  min-width: 0;
}
.broadcast-score {
  min-width: 0;
  width: 100%;
  max-width: 390px;
  justify-self: end;
}
.hero-mask {
  font-size: clamp(3.9rem, 6.7vw, 6.9rem) !important;
  line-height: 0.84 !important;
}
.broadcast-sub {
  font-size: clamp(0.98rem, 1.15vw, 1.08rem) !important;
  line-height: 1.62 !important;
}
.why90-sticky h2,
.identity-copy h2,
.legacy-head h2,
.teams-home-copy h2,
.action-head h2,
.gallery-story-head h2,
.season4-next-top h2,
.final-cta-inner h2 {
  font-size: clamp(2.9rem, 4.7vw, 5rem) !important;
  line-height: 0.91 !important;
}
.legacy-head,
.action-head {
  gap: clamp(28px, 4vw, 54px) !important;
}
.legacy-head p,
.action-head p {
  justify-self: end;
}

/* Keep grids visually even and stop cards from stretching unpredictably. */
.team-rail,
.season-team-grid,
.directory-grid,
.press-grid,
.news-grid,
.journey-grid,
.video-embed-grid {
  min-width: 0;
}
.team-card,
.profile-card,
.press-card,
.news-card,
.journey-card,
.video-embed-card {
  min-width: 0;
}
.team-card h3,
.profile-card h3,
.press-card h3,
.news-card h3 {
  overflow-wrap: anywhere;
}

/* Champion modules: preserve artwork and reserve safe space for controls. */
.v18-champions .champion-showcase {
  height: clamp(720px, 88svh, 900px) !important;
  min-height: 720px !important;
}
.v18-champions .champion-media {
  height: 56% !important;
  padding-inline: var(--v22-gutter) !important;
}
.v18-champions .champion-slide-bg {
  width: min(100%, 1420px) !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
}
.v18-champions .champion-info {
  height: 44% !important;
}
.v18-champions .champion-slide-inner {
  padding-left: var(--v22-gutter) !important;
  padding-right: var(--v22-gutter) !important;
  padding-bottom: 128px !important;
}
.v18-champions .champion-lockup {
  min-width: 0 !important;
}
.v18-champions .champion-lockup h2 {
  font-size: clamp(2.8rem, 4vw, 4.9rem) !important;
  line-height: 0.88 !important;
  overflow-wrap: anywhere;
}
.v18-champions .champion-foot {
  gap: 20px !important;
}

/* Team-page winner panel must stay readable at every width. */
.season-champion-panel {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.season-champion-copy {
  min-width: 0;
}
.season-champion-copy h2 {
  font-size: clamp(2.55rem, 4.6vw, 4.65rem) !important;
  line-height: 0.9 !important;
}
.season-champion-copy p {
  max-width: 58ch !important;
}

/* Contact form / commercial page. */
.contact-opportunity-grid {
  grid-template-columns: minmax(0, 0.84fr) minmax(480px, 1.16fr);
  gap: clamp(38px, 5.5vw, 78px);
}
.contact-form-shell {
  width: 100%;
  min-width: 0;
}
.contact-enquiry-form .field {
  font-size: 16px !important;
} /* prevents iOS input zoom */
.contact-submit-row {
  flex-wrap: wrap;
}

/* Footer stays balanced rather than becoming tiny columns on mid-size screens. */
.footer-top {
  grid-template-columns: minmax(240px, 1.25fr) repeat(4, minmax(120px, 0.6fr)) !important;
  gap: clamp(26px, 4vw, 50px) !important;
}
.footer-tag {
  font-size: clamp(2rem, 3vw, 2.8rem) !important;
}

/* Seamless marquee regardless of viewport width. */
.energy-marquee {
  overflow: hidden !important;
}
.marquee-track {
  display: flex !important;
  width: max-content !important;
  min-width: max-content !important;
  will-change: transform;
}
.marquee-group {
  display: flex !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* 1280–1121px: laptop layouts */
@media (max-width: 1280px) {
  :root {
    --v22-gutter: clamp(22px, 3vw, 40px);
  }
  .broadcast-grid {
    grid-template-columns: minmax(0, 1fr) minmax(290px, 0.46fr) !important;
  }
  .broadcast-score {
    max-width: 350px;
  }
  .hero-mask {
    font-size: clamp(3.8rem, 7.1vw, 6.25rem) !important;
  }
  .identity-grid {
    gap: 34px !important;
  }
  .legacy-card {
    grid-template-columns: 104px minmax(220px, 0.78fr) minmax(0, 1.22fr) !important;
    gap: 22px !important;
  }
  .team-rail,
  .season-team-grid,
  .directory-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .press-grid,
  .news-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .footer-top {
    grid-template-columns: 1.15fr repeat(2, 1fr) !important;
  }
  .footer-top > div:nth-child(4),
  .footer-top > div:nth-child(5) {
    margin-top: 8px;
  }
}

/* Navigation switches before links become cramped. */
@media (max-width: 1120px) {
  .nav-links {
    display: none !important;
  }
  .menu-btn {
    display: grid !important;
    place-items: center !important;
    margin-left: auto !important;
  }
  .nav,
  .site-header.scrolled .nav {
    height: 82px !important;
  }
  .brand img {
    width: 142px !important;
    height: 66px !important;
  }
  .mobile-menu a {
    font-size: clamp(2.15rem, 7vw, 4.2rem) !important;
  }
}

/* 1024–841px: tablet / small laptop */
@media (max-width: 1024px) {
  :root {
    --v22-gutter: clamp(20px, 4vw, 34px);
  }
  .broadcast-hero {
    min-height: auto !important;
    padding: 126px 0 68px !important;
  }
  .broadcast-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    align-items: start !important;
  }
  .broadcast-score {
    justify-self: start !important;
    max-width: 560px !important;
    margin-top: 4px !important;
  }
  .broadcast-90 {
    right: -16vw !important;
    opacity: 0.5 !important;
  }
  .broadcast-field {
    opacity: 0.25 !important;
  }
  .hero-scroll-cue {
    display: none !important;
  }
  .why90-grid,
  .identity-grid,
  .teams-home-grid,
  .legacy-head,
  .action-head,
  .season4-bottom-grid {
    grid-template-columns: 1fr !important;
  }
  .why90-sticky {
    position: static !important;
  }
  .legacy-head p,
  .action-head p {
    justify-self: start !important;
  }
  .identity-visual {
    min-height: 420px !important;
  }
  .identity-visual img {
    min-height: 420px !important;
  }
  .legacy-card {
    grid-template-columns: 90px minmax(0, 1fr) !important;
    gap: 20px !important;
  }
  .legacy-image {
    grid-column: 2 !important;
    height: 280px !important;
  }
  .legacy-copy {
    grid-column: 2 !important;
  }
  .legacy-next {
    grid-template-columns: 90px minmax(0, 1fr) !important;
  }
  .legacy-next-90 {
    display: none !important;
  }
  .teams-reveal-graphic {
    min-height: 360px !important;
  }
  .action-grid {
    grid-template-columns: 1fr !important;
  }
  .action-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .editorial-gallery {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 290px 240px 84px !important;
  }
  .photo-wide {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  .editorial-gallery .editorial-photo:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
  .gallery-story-cta {
    grid-column: 1/3 !important;
    grid-row: 3 !important;
  }
  .contact-opportunity-grid {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }
  .contact-opportunity-copy {
    position: static !important;
  }
  .contact-form-shell {
    max-width: 820px;
    margin-inline: auto;
  }
  .team-rail,
  .season-team-grid,
  .directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .press-grid,
  .news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .video-embed-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .gallery-season .photo-grid {
    column-count: 3 !important;
  }
  .footer-top {
    grid-template-columns: 1.2fr 1fr 1fr !important;
  }
}

/* 840–681px: portrait tablets / large phones */
@media (max-width: 840px) {
  :root {
    --v22-gutter: 24px;
  }
  .section:not(.champions-section):not(.season4-next-section):not(
      .final-cta-section
    ) {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }
  .page-hero {
    padding: 122px 0 62px !important;
  }
  .page-hero h1 {
    font-size: clamp(2.8rem, 8.6vw, 4.45rem) !important;
    line-height: 0.92 !important;
  }
  .section-head {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-bottom: 30px !important;
  }
  .section-head p {
    justify-self: start !important;
  }
  .hero-mask {
    font-size: clamp(3.35rem, 11.7vw, 5.25rem) !important;
  }
  .why90-sticky h2,
  .identity-copy h2,
  .legacy-head h2,
  .teams-home-copy h2,
  .action-head h2,
  .gallery-story-head h2,
  .season4-next-top h2,
  .final-cta-inner h2 {
    font-size: clamp(2.65rem, 8.3vw, 4.15rem) !important;
  }
  .why-stat {
    grid-template-columns: 112px 1fr !important;
    gap: 20px !important;
  }
  .why-stat strong {
    font-size: clamp(4.3rem, 14vw, 6rem) !important;
  }
  .identity-caption span,
  .identity-caption strong {
    font-size: clamp(1.7rem, 5.5vw, 2.4rem) !important;
  }
  .legacy-card {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  .legacy-year,
  .legacy-image,
  .legacy-copy {
    grid-column: 1 !important;
  }
  .legacy-image {
    height: 260px !important;
  }
  .legacy-next {
    grid-template-columns: 1fr !important;
  }
  .legacy-next .legacy-copy {
    grid-column: 1 !important;
  }
  .teams-reveal-graphic {
    min-height: 330px !important;
  }
  .v18-champions .champion-showcase {
    height: 700px !important;
    min-height: 680px !important;
  }
  .v18-champions .champion-media {
    height: 47% !important;
    top: 12px !important;
  }
  .v18-champions .champion-info {
    height: 53% !important;
  }
  .v18-champions .champion-slide-inner {
    padding: 22px var(--v22-gutter) 118px !important;
  }
  .v18-champions .champion-lockup > img {
    width: 78px !important;
    height: 78px !important;
    flex: 0 0 78px !important;
  }
  .v18-champions .champion-lockup h2 {
    font-size: clamp(2.45rem, 8.7vw, 3.95rem) !important;
  }
  .v18-champions .champion-foot {
    display: block !important;
  }
  .v18-champions .champion-foot .btn {
    margin-top: 12px !important;
  }
  .v18-champions .champion-controls {
    grid-template-columns: 46px minmax(0, 1fr) 46px !important;
    gap: 8px !important;
    bottom: 20px !important;
    max-width: calc(100% - 32px) !important;
  }
  .v18-champions .champion-arrow {
    width: 46px !important;
    height: 50px !important;
  }
  .v18-champions .champion-tab {
    min-height: 50px !important;
    padding: 0 7px !important;
    font-size: 0.55rem !important;
  }
  .season-champion-panel {
    grid-template-columns: 1fr 140px !important;
    gap: 24px !important;
    padding: 28px 24px !important;
  }
  .season-champion-panel::after {
    font-size: 4.5rem !important;
    right: 70px !important;
  }
  .season-champion-copy h2 {
    font-size: clamp(2.3rem, 7.8vw, 3.65rem) !important;
  }
  .action-stack {
    grid-template-columns: 1fr !important;
  }
  .contact-enquiry-form .contact-form-grid {
    grid-template-columns: 1fr !important;
  }
  .contact-message {
    grid-column: auto !important;
  }
  .contact-submit-row {
    align-items: flex-start;
  }
  .gallery-season .photo-grid {
    column-count: 2 !important;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr !important;
  }
  .footer-top > div:first-child {
    grid-column: 1/-1 !important;
  }
  .footer-bottom {
    gap: 10px;
    flex-wrap: wrap;
  }
}

/* 680–521px: phones */
@media (max-width: 680px) {
  :root {
    --v22-gutter: 20px;
  }
  .nav,
  .site-header.scrolled .nav {
    height: 76px !important;
  }
  .brand img {
    width: 124px !important;
    height: 58px !important;
  }
  .mobile-menu {
    padding: 92px 22px 30px !important;
  }
  .mobile-menu a {
    font-size: clamp(2rem, 10vw, 3.7rem) !important;
    margin: 8px 0 !important;
  }
  .broadcast-hero {
    padding: 106px 0 52px !important;
  }
  .broadcast-kicker {
    font-size: 0.61rem !important;
    letter-spacing: 0.11em !important;
    line-height: 1.45;
  }
  .hero-mask {
    font-size: clamp(3rem, 14vw, 4.45rem) !important;
    line-height: 0.86 !important;
  }
  .broadcast-sub {
    font-size: 0.97rem !important;
    line-height: 1.6 !important;
  }
  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .hero-actions .btn {
    width: 100% !important;
    justify-content: space-between !important;
  }
  .broadcast-score {
    padding: 18px !important;
    margin-top: 8px !important;
  }
  .score-main strong {
    font-size: 4.15rem !important;
  }
  .score-row {
    gap: 10px !important;
  }
  .score-row small {
    font-size: 0.56rem !important;
    line-height: 1.35;
  }
  .broadcast-90 {
    font-size: 86vw !important;
    right: -32vw !important;
    top: 16% !important;
    opacity: 0.36 !important;
  }
  .broadcast-trajectory {
    display: none !important;
  }
  .broadcast-field {
    right: -70vw !important;
    width: 148vw !important;
    height: 148vw !important;
    opacity: 0.15 !important;
  }
  .why90-section,
  .identity-section,
  .legacy-section,
  .teams-home-section,
  .action-section {
    padding-top: 68px !important;
    padding-bottom: 68px !important;
  }
  .why-stat {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 22px 0 !important;
  }
  .why-stat strong {
    font-size: 4.35rem !important;
  }
  .why-stat b {
    font-size: 1.72rem !important;
  }
  .why-stat span {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
  }
  .identity-visual {
    min-height: 330px !important;
  }
  .identity-visual img {
    min-height: 330px !important;
  }
  .legacy-image {
    height: 230px !important;
  }
  .legacy-copy h3 {
    font-size: clamp(1.75rem, 7vw, 2.5rem) !important;
  }
  .teams-reveal-graphic {
    min-height: 285px !important;
  }
  .teams-reveal-graphic strong {
    font-size: 9rem !important;
  }
  .editorial-gallery {
    display: flex !important;
    overflow-x: auto !important;
    gap: 10px !important;
    scroll-snap-type: x mandatory !important;
    padding-bottom: 10px !important;
    -webkit-overflow-scrolling: touch;
  }
  .editorial-photo {
    min-width: 84vw !important;
    height: 330px !important;
    scroll-snap-align: start !important;
  }
  .gallery-story-cta {
    min-width: 76vw !important;
    height: 88px !important;
    flex: 0 0 auto !important;
    padding: 0 20px !important;
  }
  .press-grid,
  .news-grid,
  .team-rail,
  .season-team-grid,
  .directory-grid,
  .video-embed-grid {
    grid-template-columns: 1fr !important;
  }
  .team-card,
  .profile-card {
    min-height: 320px !important;
  }
  .season4-next-top {
    padding: 64px 0 !important;
  }
  .season4-shift {
    font-size: clamp(2rem, 8vw, 2.7rem) !important;
    line-height: 0.9 !important;
  }
  .season4-next-bottom {
    padding: 30px 0 34px !important;
  }
  .season4-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .season4-actions .btn {
    width: 100% !important;
    justify-content: space-between !important;
  }
  .final-cta-section {
    padding: 74px 0 !important;
  }
  .final-cta-inner p {
    font-size: 0.98rem !important;
    line-height: 1.6 !important;
  }
  .season-champion-panel {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 24px 20px !important;
  }
  .season-champion-panel::after {
    font-size: 4rem !important;
    right: -8px !important;
    bottom: 4px !important;
    opacity: 0.18 !important;
  }
  .season-champion-mark {
    place-items: start !important;
  }
  .season-champion-mark .crest {
    width: 112px !important;
    height: 112px !important;
  }
  .contact-form-shell {
    padding: 24px 18px !important;
  }
  .opportunity-card {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 18px !important;
  }
  .opportunity-no {
    width: 44px !important;
    height: 44px !important;
  }
  .contact-submit-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .contact-submit-row .btn {
    width: 100% !important;
    justify-content: space-between !important;
  }
  .contact-form-note {
    max-width: none !important;
  }
  .gallery-season .photo-grid {
    column-count: 1 !important;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr !important;
    gap: 26px 20px !important;
  }
  .footer-top > div:first-child {
    grid-column: 1/-1 !important;
  }
  .footer-bottom {
    display: block !important;
  }
  .footer-bottom span {
    display: block;
    margin-top: 7px;
  }
}

/* Narrow phones */
@media (max-width: 420px) {
  :root {
    --v22-gutter: 16px;
  }
  .hero-mask {
    font-size: clamp(2.7rem, 13.6vw, 3.75rem) !important;
  }
  .why90-sticky h2,
  .identity-copy h2,
  .legacy-head h2,
  .teams-home-copy h2,
  .action-head h2,
  .gallery-story-head h2,
  .season4-next-top h2,
  .final-cta-inner h2 {
    font-size: clamp(2.25rem, 10.8vw, 3.35rem) !important;
    line-height: 0.94 !important;
  }
  .page-hero h1 {
    font-size: clamp(2.45rem, 11vw, 3.6rem) !important;
  }
  .broadcast-score {
    padding: 16px !important;
  }
  .score-main strong {
    font-size: 3.7rem !important;
  }
  .score-location b {
    font-size: 0.9rem !important;
  }
  .why-stat {
    grid-template-columns: 70px minmax(0, 1fr) !important;
  }
  .why-stat strong {
    font-size: 3.65rem !important;
  }
  .why-stat b {
    font-size: 1.45rem !important;
  }
  .marquee-track {
    font-size: 0.98rem !important;
  }
  .marquee-group {
    gap: 14px !important;
    padding-right: 14px !important;
  }
  .identity-visual {
    min-height: 290px !important;
  }
  .identity-visual img {
    min-height: 290px !important;
  }
  .identity-caption {
    padding: 18px !important;
  }
  .identity-caption span,
  .identity-caption strong {
    font-size: 1.75rem !important;
  }
  .legacy-image {
    height: 205px !important;
  }
  .v18-champions .champion-showcase {
    height: 650px !important;
    min-height: 630px !important;
  }
  .v18-champions .champion-media {
    height: 42% !important;
  }
  .v18-champions .champion-info {
    height: 58% !important;
  }
  .v18-champions .champion-slide-inner {
    padding: 18px 16px 112px !important;
  }
  .v18-champions .champion-lockup {
    gap: 12px !important;
  }
  .v18-champions .champion-lockup > img {
    width: 64px !important;
    height: 64px !important;
    flex-basis: 64px !important;
  }
  .v18-champions .champion-lockup h2 {
    font-size: clamp(2rem, 9.4vw, 3rem) !important;
  }
  .v18-champions .champion-controls {
    grid-template-columns: 40px minmax(0, 1fr) 40px !important;
    max-width: calc(100% - 20px) !important;
    gap: 4px !important;
  }
  .v18-champions .champion-arrow {
    width: 40px !important;
    height: 46px !important;
  }
  .v18-champions .champion-tab {
    min-height: 46px !important;
    font-size: 0.49rem !important;
    letter-spacing: 0.06em !important;
  }
  .editorial-photo {
    min-width: 88vw !important;
    height: 300px !important;
  }
  .footer-top {
    grid-template-columns: 1fr !important;
  }
  .footer-top > div:first-child {
    grid-column: auto !important;
  }
}

/* Landscape phones: reduce vertical pressure and avoid hero/control clipping. */
@media (max-height: 640px) and (orientation: landscape) and (max-width: 960px) {
  .broadcast-hero {
    min-height: auto !important;
    padding: 96px 0 46px !important;
  }
  .broadcast-grid {
    grid-template-columns: minmax(0, 1fr) 280px !important;
    display: grid !important;
    gap: 24px !important;
  }
  .hero-mask {
    font-size: clamp(2.8rem, 8vw, 4.2rem) !important;
  }
  .broadcast-score {
    margin-top: 0 !important;
    padding: 14px !important;
  }
  .score-main strong {
    font-size: 3.4rem !important;
  }
  .page-hero {
    padding: 104px 0 46px !important;
  }
  .mobile-menu {
    padding-top: 78px !important;
    overflow: auto !important;
  }
  .mobile-menu a {
    font-size: clamp(1.8rem, 7vh, 3rem) !important;
    margin: 5px 0 !important;
  }
  .v18-champions .champion-showcase {
    height: 620px !important;
    min-height: 600px !important;
  }
}

/* Coarse pointers: no interaction should depend on hover. */
@media (hover: none) and (pointer: coarse) {
  .photo-card[data-lightbox]::before {
    opacity: 1 !important;
    transform: none !important;
  }
  .team-card:hover,
  .press-card:hover,
  .news-card:hover,
  .video-embed-card:hover {
    transform: none !important;
  }
  .btn,
  .menu-btn,
  .mobile-close,
  .champion-arrow,
  .champion-tab,
  .tab,
  .season-chip {
    min-height: 48px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation: none !important;
  }
  .hero-scroll-cue i {
    animation: none !important;
  }
  .team-card,
  .press-card,
  .news-card,
  .video-embed-card,
  .editorial-photo img {
    transition: none !important;
  }
}

/* === V7.23 SELECTIVE YELLOW HEADING ACCENTS === */
.heading-yellow {
  color: var(--v20-primary, #fdd103) !important;
}

/* === V7.24 VISUAL STORY REDESIGN ===
   Client-feedback pass: clearer logo, photography-led storytelling,
   interactive depth, 3D motion and less text-heavy homepage. */

/* 1) Make the SUPER 90 mark unmistakable on dark chrome. */
.brand {
  position: relative;
  padding: 7px 12px !important;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.98),
    rgba(250, 224, 76, 0.92)
  ) !important;
  border: 1px solid rgba(255, 255, 255, 0.78);
  clip-path: polygon(
    0 0,
    calc(100% - 11px) 0,
    100% 11px,
    100% 100%,
    11px 100%,
    0 calc(100% - 11px)
  );
  box-shadow:
    0 12px 34px rgba(0, 0, 0, 0.26),
    0 0 0 1px rgba(253, 209, 3, 0.14),
    0 0 30px rgba(253, 209, 3, 0.09);
  isolation: isolate;
  transition:
    transform 0.35s var(--ease-out),
    box-shadow 0.35s var(--ease-out) !important;
}
.brand::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 0 38%,
    rgba(255, 255, 255, 0.9) 48%,
    transparent 58%
  );
  transform: translateX(-140%);
  transition: transform 0.75s var(--ease-out);
}
.brand:hover {
  transform: translateY(-2px);
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.3),
    0 0 34px rgba(253, 209, 3, 0.16);
}
.brand:hover::after {
  transform: translateX(140%);
}
.brand img {
  width: 102px !important;
  height: 74px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.18)) !important;
}
.site-header.scrolled .brand img {
  transform: none !important;
}

.footer-logo {
  width: 176px !important;
  height: auto !important;
  display: block;
  padding: 15px !important;
  background: linear-gradient(145deg, #fff, #fae04c) !important;
  clip-path: polygon(
    0 0,
    calc(100% - 14px) 0,
    100% 14px,
    100% 100%,
    14px 100%,
    0 calc(100% - 14px)
  );
  box-shadow:
    0 18px 54px rgba(0, 0, 0, 0.34),
    0 0 42px rgba(253, 209, 3, 0.1);
}
.footer::before {
  content: "";
  position: absolute;
  left: -14vw;
  top: -28vw;
  width: 48vw;
  height: 48vw;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(253, 209, 3, 0.11), transparent 66%);
  pointer-events: none;
}

/* 2) Internal pages gain image-led hero art without changing their content structure. */
.page-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  min-height: 480px;
  display: flex;
  align-items: flex-end;
}
.page-hero > .container {
  position: relative;
  z-index: 3;
  width: 100%;
}
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    #0b0b0d 0%,
    rgba(11, 11, 13, 0.96) 35%,
    rgba(11, 11, 13, 0.54) 61%,
    rgba(11, 11, 13, 0.18) 100%
  );
}
.page-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  top: 0;
  width: 62%;
  height: 100%;
  background-size: cover;
  background-position: center;
  filter: saturate(0.92) contrast(1.05);
  transform: scale(1.035);
  animation: s90HeroImageBreath 12s ease-in-out infinite alternate;
}
body[data-page="about"] .page-hero::after {
  background-image: url("assets/curated/gallery/season-3/864ea4e7-5e75-45df-9119-590f933797c0.webp");
}
body[data-page="teams"] .page-hero::after {
  background-image: url("assets/champions/season-3-champions.webp");
  background-position: 62% 28%;
}
body[data-page="matches"] .page-hero::after {
  background-image: url("assets/curated/gallery/season-2/c4c33cc4-9d00-4b01-9b17-1344c2be2f4b.webp");
}
body[data-page="gallery"] .page-hero::after {
  background-image: url("assets/curated/gallery/season-2/245a3604-2ff8-4822-9f7e-9f43f0554cea.webp");
}
body[data-page="news"] .page-hero::after {
  background-image: url("assets/news/article-4.webp");
}
body[data-page="get"] .page-hero::after {
  background-image: url("assets/curated/gallery/season-4-launch/618450420-17904735045346191-69537848060607508-n.webp");
}
.page-hero .big90 {
  z-index: 2 !important;
  opacity: 0.32 !important;
}
.page-hero p {
  max-width: 560px !important;
}
@keyframes s90HeroImageBreath {
  to {
    transform: scale(1.095) translate3d(-1.2%, 1%, 0);
  }
}

/* 3) Homepage hero becomes a photographic / dimensional composition. */
.broadcast-grid {
  grid-template-columns: minmax(0, 0.88fr) minmax(430px, 1.12fr) !important;
  gap: clamp(24px, 4vw, 68px) !important;
  align-items: center !important;
}
.broadcast-copy {
  z-index: 5;
}
.hero-cinema {
  min-height: 590px;
  position: relative;
  perspective: 1200px;
  transform-style: preserve-3d;
  isolation: isolate;
  transition: transform 0.2s ease-out;
  will-change: transform;
  align-self: center;
}
.hero-cinema::before {
  content: "";
  position: absolute;
  inset: 7% 5% 5%;
  z-index: -2;
  border-radius: 50%;
  background: radial-gradient(
    circle at 50% 48%,
    rgba(253, 209, 3, 0.24),
    rgba(253, 209, 3, 0.07) 38%,
    transparent 68%
  );
  filter: blur(4px);
  animation: s90OrbPulse 5.8s ease-in-out infinite alternate;
}
.hero-cinema::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 3%;
  bottom: 4%;
  height: 16%;
  z-index: -3;
  background: radial-gradient(ellipse, rgba(0, 0, 0, 0.66), transparent 68%);
  filter: blur(12px);
  transform: rotate(-5deg);
}
.hero-cinema-ring {
  position: absolute;
  border: 1px solid rgba(253, 209, 3, 0.34);
  border-radius: 50%;
  pointer-events: none;
  transform-style: preserve-3d;
}
.hero-cinema .ring-one {
  width: 72%;
  aspect-ratio: 1;
  right: 8%;
  top: 10%;
  transform: rotateX(66deg) rotateZ(-16deg);
  animation: s90RingSpin 12s linear infinite;
}
.hero-cinema .ring-two {
  width: 53%;
  aspect-ratio: 1;
  right: 17%;
  top: 22%;
  border-style: dashed;
  border-color: rgba(255, 255, 255, 0.22);
  transform: rotateX(70deg) rotateZ(23deg);
  animation: s90RingSpinReverse 16s linear infinite;
}
.hero-cutout {
  position: absolute;
  bottom: 0;
  filter: drop-shadow(0 28px 30px rgba(0, 0, 0, 0.48));
  will-change: translate;
  transition: translate 0.18s ease-out;
}
.hero-cutout img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
}
.hero-cutout-back {
  left: 2%;
  width: 48%;
  height: 79%;
  opacity: 0.76;
  transform: translateZ(-40px) rotate(-4deg);
  filter: grayscale(0.08) drop-shadow(0 28px 30px rgba(0, 0, 0, 0.44));
}
.hero-cutout-front {
  right: 5%;
  width: 50%;
  height: 91%;
  z-index: 2;
  transform: translateZ(80px);
}
.hero-format-orb {
  position: absolute;
  left: 3%;
  top: 12%;
  z-index: 5;
  width: 154px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  background: radial-gradient(
    circle at 35% 26%,
    #fff7bd 0 4%,
    #fdd103 17%,
    #e4b400 63%,
    #806300 100%
  );
  color: #111;
  border: 1px solid rgba(255, 255, 255, 0.78);
  box-shadow:
    0 18px 48px rgba(0, 0, 0, 0.36),
    inset -16px -18px 28px rgba(0, 0, 0, 0.18),
    inset 10px 10px 24px rgba(255, 255, 255, 0.42);
  transform: translateZ(120px) rotate(-8deg);
  will-change: translate;
  transition: translate 0.18s ease-out;
  animation: s90BallFloat 4.8s ease-in-out infinite alternate;
}
.hero-format-orb::before,
.hero-format-orb::after {
  content: "";
  position: absolute;
  width: 82%;
  height: 34%;
  left: 9%;
  border-top: 2px dashed rgba(17, 17, 17, 0.33);
  border-radius: 50%;
}
.hero-format-orb::before {
  top: 18%;
  transform: rotate(27deg);
}
.hero-format-orb::after {
  bottom: 10%;
  transform: rotate(-24deg);
}
.hero-format-orb span,
.hero-format-orb b,
.hero-format-orb small {
  position: relative;
  z-index: 2;
}
.hero-format-orb span {
  font-size: 0.52rem;
  font-weight: 950;
  letter-spacing: 0.18em;
}
.hero-format-orb strong {
  font-family: var(--display);
  font-size: 4.2rem;
  line-height: 0.72;
}
.hero-format-orb b {
  font-size: 0.72rem;
  letter-spacing: 0.15em;
}
.hero-format-orb small {
  font-size: 0.52rem;
  letter-spacing: 0.14em;
  margin-top: 5px;
}
.hero-location-chip {
  position: absolute;
  right: 0;
  bottom: 11%;
  z-index: 6;
  padding: 13px 17px;
  background: rgba(17, 17, 17, 0.74);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-left: 3px solid var(--yellow);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.32);
  transform: translateZ(110px) rotate(2deg);
  will-change: translate;
  transition: translate 0.18s ease-out;
}
.hero-location-chip span,
.hero-location-chip small {
  display: block;
  font-size: 0.52rem;
  letter-spacing: 0.16em;
}
.hero-location-chip b {
  display: block;
  font-family: var(--display);
  font-size: 2.1rem;
  line-height: 0.9;
  color: #fff;
  margin: 4px 0;
}
.hero-location-chip small {
  color: var(--yellow);
}
.hero-streak {
  position: absolute;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--yellow), transparent);
  transform-origin: left center;
  filter: drop-shadow(0 0 8px var(--yellow));
  opacity: 0.68;
}
.hero-streak.streak-a {
  width: 52%;
  right: 2%;
  top: 22%;
  transform: rotate(-18deg);
  animation: s90Streak 4s ease-in-out infinite;
}
.hero-streak.streak-b {
  width: 41%;
  left: 3%;
  bottom: 26%;
  transform: rotate(17deg);
  animation: s90Streak 4.8s 0.7s ease-in-out infinite;
}
@keyframes s90OrbPulse {
  to {
    transform: scale(1.08);
    opacity: 0.78;
  }
}
@keyframes s90RingSpin {
  to {
    transform: rotateX(66deg) rotateZ(344deg);
  }
}
@keyframes s90RingSpinReverse {
  to {
    transform: rotateX(70deg) rotateZ(-337deg);
  }
}
@keyframes s90BallFloat {
  to {
    transform: translateZ(120px) translateY(-16px) rotate(2deg);
  }
}
@keyframes s90Streak {
  50% {
    opacity: 0.22;
    filter: drop-shadow(0 0 2px var(--yellow));
  }
  100% {
    opacity: 0.72;
  }
}

/* 4) Format story: one cinematic photo + three pieces of information. */
.visual-format-section {
  position: relative !important;
  margin-top: 0 !important;
  min-height: 760px;
  background: #09090a !important;
  color: #fff !important;
  padding: clamp(90px, 10vw, 150px) 0 !important;
  overflow: hidden;
  isolation: isolate;
}
.visual-format-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
}
.visual-format-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  filter: saturate(0.9) contrast(1.08);
  transform: scale(1.02);
}
.visual-format-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(
      90deg,
      rgba(8, 8, 9, 0.94) 0%,
      rgba(8, 8, 9, 0.76) 38%,
      rgba(8, 8, 9, 0.28) 73%,
      rgba(8, 8, 9, 0.6) 100%
    ),
    linear-gradient(180deg, rgba(8, 8, 9, 0.2), rgba(8, 8, 9, 0.72));
}
.visual-format-section::after {
  content: "90";
  position: absolute;
  right: -0.05em;
  bottom: -0.18em;
  z-index: -1;
  font-family: var(--display);
  font-size: min(35vw, 520px);
  line-height: 0.7;
  color: transparent;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.19);
}
.visual-format-inner {
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(440px, 1.18fr);
  grid-template-rows: 1fr auto;
  align-items: center;
  gap: 40px 7vw;
}
.visual-format-title h2 {
  font-size: clamp(4rem, 7vw, 7.3rem) !important;
  color: #fff !important;
  line-height: 0.82 !important;
}
.visual-format-title .eyebrow {
  color: #fff !important;
}
.visual-format-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  perspective: 1000px;
  transform-style: preserve-3d;
  transition: transform 0.2s ease-out;
}
.format-glass-card {
  min-height: 285px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.08),
    rgba(255, 255, 255, 0.025)
  );
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-top: 3px solid var(--yellow);
  backdrop-filter: blur(13px);
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.28);
  transform: rotateY(var(--card-ry, 0deg));
  will-change: translate;
  transition:
    translate 0.18s ease-out,
    background 0.3s ease;
}
.format-glass-card:nth-child(2) {
  transform: translateY(34px);
}
.format-glass-card:nth-child(3) {
  transform: translateY(-22px);
}
.format-glass-card:hover {
  background: rgba(253, 209, 3, 0.13);
}
.format-glass-card strong {
  font-family: var(--display);
  font-size: clamp(5rem, 7vw, 7.4rem);
  line-height: 0.72;
  color: var(--yellow);
}
.format-glass-card span {
  margin-top: 14px;
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.18em;
  color: #fff;
}
.format-punchline {
  grid-column: 1/-1;
  font-family: var(--display);
  font-size: clamp(2rem, 3.6vw, 4rem);
  line-height: 0.9;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 22px;
}
.format-punchline span {
  color: var(--yellow);
}

/* 5) Photo-stack narrative. */
.image-story-section {
  background: #fff !important;
  color: #111 !important;
  padding: clamp(96px, 11vw, 160px) 0 !important;
  overflow: hidden;
}
.image-story-grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.7fr) minmax(520px, 1.3fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: center;
}
.image-story-copy h2 {
  font-size: clamp(3.4rem, 6.4vw, 6.6rem) !important;
  line-height: 0.84 !important;
}
.image-story-copy h2 span {
  color: var(--yellow);
}
.image-story-copy p {
  font-size: 1rem !important;
  line-height: 1.65 !important;
  max-width: 420px !important;
  color: rgba(17, 17, 17, 0.72) !important;
}
.image-story-copy .text-link {
  color: #111 !important;
}
.image-stack {
  position: relative;
  min-height: 680px;
  perspective: 1300px;
  transform-style: preserve-3d;
  transition: transform 0.2s ease-out;
}
.stack-photo {
  position: absolute;
  margin: 0;
  overflow: hidden;
  background: #111;
  border: 1px solid rgba(17, 17, 17, 0.18);
  box-shadow: 0 35px 70px rgba(17, 17, 17, 0.18);
  will-change: translate;
  transition:
    translate 0.18s ease-out,
    transform 0.55s var(--ease-out),
    box-shadow 0.55s var(--ease-out);
}
.stack-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.9s var(--ease-out);
  filter: saturate(0.94) contrast(1.04);
}
.stack-photo figcaption {
  position: absolute;
  left: 14px;
  bottom: 12px;
  color: #fff;
  background: rgba(17, 17, 17, 0.68);
  padding: 7px 9px;
  font-size: 0.58rem;
  font-weight: 950;
  letter-spacing: 0.17em;
  backdrop-filter: blur(7px);
}
.stack-photo:hover {
  z-index: 8 !important;
  box-shadow: 0 45px 90px rgba(17, 17, 17, 0.27);
}
.stack-photo:hover img {
  transform: scale(1.055);
}
.stack-photo-a {
  left: 2%;
  top: 7%;
  width: 49%;
  height: 48%;
  z-index: 2;
  transform: rotate(-5deg) translateZ(10px);
}
.stack-photo-b {
  right: 1%;
  top: 0;
  width: 53%;
  height: 59%;
  z-index: 3;
  transform: rotate(4deg) translateZ(55px);
}
.stack-photo-c {
  left: 18%;
  bottom: 2%;
  width: 61%;
  height: 44%;
  z-index: 4;
  transform: rotate(-1.5deg) translateZ(100px);
}
.stack-90 {
  position: absolute;
  right: -0.02em;
  bottom: -0.13em;
  z-index: 1;
  font-family: var(--display);
  font-size: min(24vw, 360px);
  line-height: 0.7;
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.14);
  pointer-events: none;
}

/* Continuous visual breath between story chapters. */
.cinema-strip-section {
  position: relative;
  background: #111;
  overflow: hidden;
  padding: 28px 0 32px;
  border-block: 1px solid rgba(253, 209, 3, 0.34);
}
.cinema-strip-track {
  display: flex;
  width: max-content;
  gap: 12px;
  animation: s90CinemaRail 34s linear infinite;
  will-change: transform;
}
.cinema-strip-section:hover .cinema-strip-track {
  animation-play-state: paused;
}
.cinema-strip-track figure {
  margin: 0;
  width: clamp(250px, 24vw, 420px);
  height: 260px;
  overflow: hidden;
  flex: 0 0 auto;
  transform: skewX(-2deg);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.cinema-strip-track img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.88) contrast(1.07);
  transition:
    transform 0.7s ease,
    filter 0.7s ease;
}
.cinema-strip-track figure:hover img {
  transform: scale(1.06);
  filter: saturate(1.08);
}
.cinema-strip-word {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.12em;
  white-space: nowrap;
  font-family: var(--display);
  font-size: clamp(3.4rem, 6vw, 7rem);
  line-height: 0.7;
  color: rgba(255, 255, 255, 0.06);
  pointer-events: none;
  letter-spacing: 0.02em;
}
@keyframes s90CinemaRail {
  to {
    transform: translateX(calc(-50% - 6px));
  }
}

/* 6) Legacy becomes an image-first season wall. */
.legacy-section {
  background: #f7f5ea !important;
}
.legacy-head {
  margin-bottom: 32px !important;
}
.legacy-head p {
  font-weight: 800;
  letter-spacing: 0.03em;
}
.legacy-timeline {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  border: 0 !important;
}
.legacy-section .legacy-card {
  display: block !important;
  min-height: 530px !important;
  padding: 0 !important;
  border: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  background: #111 !important;
  color: #fff !important;
  isolation: isolate;
}
.legacy-section .legacy-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    transparent 30%,
    rgba(8, 8, 9, 0.1) 48%,
    rgba(8, 8, 9, 0.92) 100%
  );
  pointer-events: none;
}
.legacy-section .legacy-year {
  position: absolute !important;
  z-index: 4 !important;
  left: 17px !important;
  top: 17px !important;
  font-size: clamp(2rem, 3vw, 3.4rem) !important;
  color: #fff !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: 0 5px 16px rgba(0, 0, 0, 0.45);
}
.legacy-section .legacy-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  grid-column: auto !important;
}
.legacy-section .legacy-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(0.92) contrast(1.06);
  transition: transform 1s var(--ease-out) !important;
}
.legacy-section .legacy-card:hover .legacy-image img {
  transform: scale(1.065) !important;
}
.legacy-section .legacy-copy {
  position: absolute !important;
  z-index: 3 !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 20px !important;
  grid-column: auto !important;
}
.legacy-section .legacy-copy > span {
  color: var(--yellow) !important;
}
.legacy-section .legacy-copy h3 {
  font-size: clamp(1.85rem, 2.5vw, 2.85rem) !important;
  line-height: 0.9 !important;
  margin: 8px 0 14px !important;
}
.legacy-section .legacy-copy b {
  color: #fff !important;
  border-bottom-color: var(--yellow) !important;
  font-size: 0.62rem !important;
  line-height: 1.5 !important;
}
.legacy-section .legacy-next {
  margin: 0 !important;
  background: #111 !important;
}
.legacy-section .legacy-next::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(17, 17, 17, 0.18), rgba(17, 17, 17, 0.88)),
    url("assets/curated/gallery/season-4-launch/3f9b0369-jpg-scaled.webp")
      center/cover no-repeat;
  filter: saturate(0.85);
}
.legacy-section .legacy-next .legacy-next-90 {
  position: absolute;
  z-index: 2;
  right: -0.06em;
  top: 26%;
  font-size: 11rem !important;
  color: rgba(253, 209, 3, 0.14) !important;
}
.legacy-section .legacy-next .legacy-copy {
  z-index: 4 !important;
}
.legacy-section .legacy-next .legacy-copy h3 {
  color: #fff !important;
}
.legacy-section .legacy-next .btn {
  margin-top: 4px;
}

/* 7) Teams become a kinetic 3D brand universe rather than a question-mark card. */
.teams-home-grid {
  grid-template-columns: minmax(0, 0.84fr) minmax(520px, 1.16fr) !important;
}
.teams-home-copy p {
  max-width: 470px !important;
}
.teams-orbit {
  position: relative;
  min-height: 590px;
  perspective: 1200px;
  transform-style: preserve-3d;
  transition: transform 0.2s ease-out;
  overflow: visible;
}
.teams-orbit::before {
  content: "";
  position: absolute;
  inset: 11%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(253, 209, 3, 0.19),
    rgba(253, 209, 3, 0.03) 46%,
    transparent 70%
  );
  filter: blur(7px);
}
.teams-orbit-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  border: 1px solid rgba(17, 17, 17, 0.19);
  border-radius: 50%;
  transform-style: preserve-3d;
}
.teams-orbit .ring-a {
  width: 72%;
  aspect-ratio: 1;
  transform: translate(-50%, -50%) rotateX(68deg) rotateZ(8deg);
  animation: s90TeamOrbit 16s linear infinite;
}
.teams-orbit .ring-b {
  width: 52%;
  aspect-ratio: 1;
  border-style: dashed;
  border-color: rgba(253, 209, 3, 0.6);
  transform: translate(-50%, -50%) rotateX(72deg) rotateZ(-24deg);
  animation: s90TeamOrbitB 12s linear infinite reverse;
}
.teams-orbit-core {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 5;
  transform: translate(-50%, -50%) translateZ(100px);
  width: 210px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  background: #111;
  color: #fff;
  box-shadow:
    0 26px 60px rgba(0, 0, 0, 0.28),
    0 0 0 16px rgba(253, 209, 3, 0.14);
  will-change: translate;
  transition: translate 0.18s ease-out;
}
.teams-orbit-core span {
  font-size: 0.55rem;
  letter-spacing: 0.2em;
}
.teams-orbit-core strong {
  font-family: var(--display);
  font-size: 6.4rem;
  line-height: 0.75;
  color: var(--yellow);
}
.teams-orbit-core small {
  font-size: 0.46rem;
  letter-spacing: 0.14em;
  margin-top: 8px;
}
.orbit-logo {
  position: absolute;
  width: 112px;
  height: 112px;
  object-fit: contain;
  background: #fff;
  padding: 13px;
  border: 1px solid rgba(17, 17, 17, 0.12);
  box-shadow: 0 20px 44px rgba(17, 17, 17, 0.16);
  border-radius: 50%;
  z-index: 4;
  will-change: translate;
  transition:
    translate 0.18s ease-out,
    transform 0.45s var(--ease-out),
    box-shadow 0.45s var(--ease-out);
}
.orbit-logo:hover {
  transform: scale(1.12) !important;
  z-index: 10;
  box-shadow: 0 28px 60px rgba(17, 17, 17, 0.24);
}
.orbit-logo-1 {
  left: 7%;
  top: 17%;
  transform: rotate(-8deg);
}
.orbit-logo-2 {
  right: 5%;
  top: 13%;
  transform: rotate(7deg);
}
.orbit-logo-3 {
  right: 0;
  top: 48%;
  transform: rotate(4deg);
}
.orbit-logo-4 {
  right: 13%;
  bottom: 4%;
  transform: rotate(-5deg);
}
.orbit-logo-5 {
  left: 13%;
  bottom: 2%;
  transform: rotate(6deg);
}
.orbit-logo-6 {
  left: 0;
  top: 49%;
  transform: rotate(-6deg);
}
@keyframes s90TeamOrbit {
  to {
    transform: translate(-50%, -50%) rotateX(68deg) rotateZ(368deg);
  }
}
@keyframes s90TeamOrbitB {
  to {
    transform: translate(-50%, -50%) rotateX(72deg) rotateZ(336deg);
  }
}

/* 8) Let photography dominate gallery and press. */
.gallery-story-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 26px;
  max-width: none !important;
}
.gallery-story-head .eyebrow,
.gallery-story-head h2 {
  grid-column: 1;
}
.gallery-story-head p {
  grid-column: 2;
  grid-row: 1/3;
  margin: 0 0 7px !important;
  font-weight: 900 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.editorial-gallery {
  grid-template-columns: 1.15fr 0.85fr 0.85fr !important;
  grid-template-rows: 290px 250px 230px !important;
  gap: 10px !important;
}
.photo-tall {
  grid-row: 1/3 !important;
}
.photo-wide {
  grid-column: 2/4 !important;
}
.editorial-gallery .photo-extra-a {
  grid-column: 1/3 !important;
  grid-row: 3 !important;
}
.editorial-gallery .photo-extra-b {
  grid-column: 3 !important;
  grid-row: 3 !important;
}
.gallery-story-cta {
  grid-column: 1/4 !important;
  grid-row: 4 !important;
  height: 88px !important;
}
.press-grid-home .press-card {
  min-height: 570px !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
}
.press-grid-home .press-media {
  height: 360px !important;
}
.press-grid-home .press-body {
  flex: 1;
  display: flex !important;
  flex-direction: column !important;
}
.press-grid-home .press-body h3 {
  font-size: clamp(1.25rem, 1.7vw, 1.65rem) !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.press-grid-home .press-read {
  margin-top: auto !important;
}

/* 9) Season 4 gets an editorial launch-photo fan layered over the announcement. */
.season4-banner-full {
  position: relative !important;
  overflow: visible !important;
  isolation: isolate;
  padding-bottom: 0;
}
.season4-banner-full > img {
  position: relative;
  z-index: 1 !important;
}
.season4-launch-fan {
  position: absolute;
  right: 4vw;
  bottom: -56px;
  width: min(39vw, 590px);
  height: 290px;
  z-index: 4;
  perspective: 1100px;
  transform-style: preserve-3d;
  pointer-events: none;
}
.season4-launch-fan img {
  position: absolute !important;
  width: 44% !important;
  height: 82% !important;
  object-fit: cover !important;
  border: 7px solid #fff !important;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.3) !important;
  will-change: translate;
  transition: translate 0.18s ease-out !important;
}
.launch-fan-a {
  left: 0;
  bottom: 10%;
  transform: rotate(-9deg) translateZ(10px);
}
.launch-fan-b {
  left: 28%;
  top: 0;
  transform: rotate(3deg) translateZ(50px);
}
.launch-fan-c {
  right: 0;
  bottom: 3%;
  transform: rotate(10deg) translateZ(90px);
}
.season4-next-bottom {
  padding-top: 82px !important;
}

/* 10) Shared 3D-depth affordances. */
[data-tilt-stage] {
  transform-style: preserve-3d;
  will-change: transform;
}
[data-depth] {
  will-change: translate;
}

@media (max-width: 1280px) {
  .broadcast-grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(400px, 1.1fr) !important;
  }
  .hero-cinema {
    min-height: 540px;
  }
  .hero-format-orb {
    width: 138px;
  }
  .hero-cutout-back {
    width: 45%;
  }
  .hero-cutout-front {
    width: 48%;
  }
  .visual-format-inner {
    grid-template-columns: 0.75fr 1.25fr;
  }
  .format-glass-card {
    min-height: 250px;
  }
  .image-story-grid {
    grid-template-columns: 0.72fr 1.28fr;
  }
  .image-stack {
    min-height: 600px;
  }
  .legacy-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .legacy-section .legacy-card {
    min-height: 560px !important;
  }
  .teams-home-grid {
    grid-template-columns: 0.86fr 1.14fr !important;
  }
  .teams-orbit {
    min-height: 520px;
  }
  .orbit-logo {
    width: 96px;
    height: 96px;
  }
  .teams-orbit-core {
    width: 185px;
  }
}

@media (max-width: 1120px) {
  .brand {
    padding: 5px 9px !important;
  }
  .brand img {
    width: 82px !important;
    height: 61px !important;
  }
  .page-hero {
    min-height: 430px;
  }
}

@media (max-width: 1024px) {
  .broadcast-grid {
    grid-template-columns: 1fr !important;
  }
  .hero-cinema {
    min-height: 520px;
    max-width: 720px;
    width: 100%;
    justify-self: center;
  }
  .hero-cutout-back {
    left: 15%;
    width: 38%;
  }
  .hero-cutout-front {
    right: 16%;
    width: 39%;
  }
  .hero-format-orb {
    left: 12%;
  }
  .hero-location-chip {
    right: 11%;
  }
  .visual-format-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
  }
  .visual-format-stats {
    max-width: 760px;
  }
  .format-punchline {
    grid-column: 1 !important;
  }
  .image-story-grid {
    grid-template-columns: 1fr !important;
  }
  .image-story-copy {
    max-width: 650px;
  }
  .image-stack {
    min-height: 610px;
    max-width: 800px;
    width: 100%;
    margin-inline: auto;
  }
  .teams-home-grid {
    grid-template-columns: 1fr !important;
  }
  .teams-orbit {
    max-width: 760px;
    width: 100%;
    margin-inline: auto;
  }
  .editorial-gallery {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 310px 260px 230px 88px !important;
  }
  .photo-tall {
    grid-column: 1 !important;
    grid-row: 1/3 !important;
  }
  .photo-wide {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  .editorial-gallery .editorial-photo:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
  .editorial-gallery .photo-extra-a {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }
  .editorial-gallery .photo-extra-b {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }
  .gallery-story-cta {
    grid-column: 1/3 !important;
    grid-row: 4 !important;
  }
  .season4-launch-fan {
    width: 54vw;
    right: 3vw;
  }
}

@media (max-width: 840px) {
  .page-hero {
    min-height: 390px !important;
  }
  .page-hero::after {
    width: 78%;
    opacity: 0.72;
  }
  .page-hero::before {
    background: linear-gradient(
      90deg,
      #0b0b0d 0%,
      rgba(11, 11, 13, 0.9) 48%,
      rgba(11, 11, 13, 0.38) 100%
    );
  }
  .visual-format-section {
    min-height: auto !important;
  }
  .visual-format-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .format-glass-card {
    min-height: 220px;
    padding: 16px;
  }
  .format-glass-card:nth-child(2),
  .format-glass-card:nth-child(3) {
    transform: none;
  }
  .format-glass-card strong {
    font-size: clamp(4rem, 12vw, 6rem);
  }
  .legacy-timeline {
    grid-template-columns: 1fr 1fr !important;
  }
  .legacy-section .legacy-card {
    min-height: 480px !important;
  }
  .gallery-story-head {
    display: block;
  }
  .gallery-story-head p {
    margin-top: 14px !important;
  }
  .season4-launch-fan {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    height: 260px;
    margin-top: -24px;
    padding-inline: 20px;
    background: #111;
  }
  .season4-launch-fan img {
    width: 36% !important;
    height: 78% !important;
  }
  .launch-fan-a {
    left: 8%;
  }
  .launch-fan-b {
    left: 32%;
  }
  .launch-fan-c {
    right: 8%;
  }
  .season4-next-bottom {
    padding-top: 44px !important;
  }
}

@media (max-width: 680px) {
  .brand {
    padding: 4px 8px !important;
  }
  .brand img {
    width: 72px !important;
    height: 54px !important;
  }
  .footer-logo {
    width: 150px !important;
    padding: 12px !important;
  }
  .page-hero {
    min-height: 360px !important;
    align-items: flex-end;
  }
  .page-hero::after {
    width: 100%;
    opacity: 0.56;
    filter: saturate(0.85) contrast(1.08);
  }
  .page-hero::before {
    background: linear-gradient(
      180deg,
      rgba(11, 11, 13, 0.35) 0%,
      rgba(11, 11, 13, 0.77) 55%,
      #0b0b0d 100%
    );
  }
  .hero-cinema {
    min-height: 430px;
    margin-top: 10px;
    overflow: hidden;
  }
  .hero-cutout-back {
    left: 4%;
    width: 46%;
    height: 72%;
  }
  .hero-cutout-front {
    right: 3%;
    width: 50%;
    height: 84%;
  }
  .hero-format-orb {
    left: 4%;
    top: 8%;
    width: 108px;
  }
  .hero-format-orb strong {
    font-size: 3.1rem;
  }
  .hero-location-chip {
    right: 4%;
    bottom: 6%;
    padding: 10px 12px;
  }
  .hero-location-chip b {
    font-size: 1.55rem;
  }
  .hero-cinema .ring-one {
    width: 85%;
    right: -4%;
  }
  .hero-cinema .ring-two {
    width: 64%;
    right: 8%;
  }
  .visual-format-section {
    padding: 72px 0 !important;
  }
  .visual-format-inner {
    gap: 28px;
  }
  .visual-format-stats {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 5px 0 18px;
    gap: 10px;
  }
  .format-glass-card {
    min-width: 72vw;
    min-height: 235px;
    scroll-snap-align: start;
  }
  .format-punchline {
    font-size: clamp(1.8rem, 9vw, 2.7rem);
  }
  .image-story-section {
    padding: 74px 0 !important;
  }
  .image-stack {
    display: flex;
    min-height: 0;
    overflow-x: auto;
    gap: 10px;
    scroll-snap-type: x mandatory;
    padding-bottom: 18px;
  }
  .stack-photo {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    min-width: 82vw;
    width: 82vw !important;
    height: 420px !important;
    scroll-snap-align: center;
    flex: 0 0 auto;
  }
  .stack-90 {
    display: none;
  }
  .cinema-strip-track figure {
    width: 72vw;
    height: 220px;
  }
  .cinema-strip-section {
    padding: 18px 0 24px;
  }
  .legacy-timeline {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    gap: 10px !important;
    padding-bottom: 10px !important;
  }
  .legacy-section .legacy-card {
    min-width: 84vw !important;
    min-height: 470px !important;
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;
  }
  .legacy-section .legacy-next {
    min-width: 84vw !important;
  }
  .teams-orbit {
    min-height: 430px;
    overflow: hidden;
  }
  .teams-orbit-core {
    width: 150px;
  }
  .teams-orbit-core strong {
    font-size: 5rem;
  }
  .orbit-logo {
    width: 78px;
    height: 78px;
    padding: 10px;
  }
  .orbit-logo-1 {
    left: 4%;
    top: 16%;
  }
  .orbit-logo-2 {
    right: 4%;
    top: 14%;
  }
  .orbit-logo-3 {
    right: -2%;
    top: 48%;
  }
  .orbit-logo-4 {
    right: 9%;
    bottom: 5%;
  }
  .orbit-logo-5 {
    left: 9%;
    bottom: 4%;
  }
  .orbit-logo-6 {
    left: -2%;
    top: 49%;
  }
  .editorial-gallery {
    display: flex !important;
    overflow-x: auto !important;
    gap: 10px !important;
    scroll-snap-type: x mandatory !important;
    padding-bottom: 12px !important;
  }
  .editorial-photo,
  .editorial-gallery .photo-extra-a,
  .editorial-gallery .photo-extra-b {
    min-width: 84vw !important;
    height: 330px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    scroll-snap-align: start !important;
  }
  .gallery-story-cta {
    min-width: 78vw !important;
    height: 88px !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  .press-grid-home .press-card {
    min-height: 500px !important;
  }
  .press-grid-home .press-media {
    height: 300px !important;
  }
  .season4-launch-fan {
    height: 220px;
  }
  .season4-launch-fan img {
    border-width: 4px !important;
    height: 75% !important;
  }
}

@media (max-width: 420px) {
  .hero-cinema {
    min-height: 380px;
  }
  .hero-format-orb {
    width: 92px;
  }
  .hero-format-orb span,
  .hero-format-orb small {
    display: none;
  }
  .hero-format-orb strong {
    font-size: 2.8rem;
  }
  .hero-location-chip b {
    font-size: 1.35rem;
  }
  .format-glass-card {
    min-width: 78vw;
  }
  .stack-photo {
    min-width: 87vw;
    width: 87vw !important;
    height: 360px !important;
  }
  .legacy-section .legacy-card {
    min-width: 88vw !important;
    min-height: 440px !important;
  }
  .orbit-logo {
    width: 68px;
    height: 68px;
  }
  .teams-orbit-core {
    width: 130px;
  }
  .teams-orbit-core strong {
    font-size: 4.3rem;
  }
  .teams-orbit {
    min-height: 390px;
  }
  .season4-launch-fan {
    height: 190px;
  }
}

@media (max-height: 640px) and (orientation: landscape) and (max-width: 960px) {
  .hero-cinema {
    min-height: 390px;
  }
  .hero-cutout-back {
    height: 76%;
  }
  .hero-cutout-front {
    height: 88%;
  }
  .visual-format-section {
    min-height: auto !important;
  }
  .image-stack {
    min-height: 500px;
  }
}

@media (hover: none) and (pointer: coarse) {
  [data-tilt-stage] {
    transform: none !important;
  }
  .cinema-strip-section .cinema-strip-track {
    animation-play-state: running;
  }
  .orbit-logo:hover {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-hero::after,
  .hero-cinema::before,
  .hero-cinema-ring,
  .hero-format-orb,
  .hero-streak,
  .cinema-strip-track,
  .teams-orbit-ring {
    animation: none !important;
  }
  [data-tilt-stage],
  [data-depth] {
    transform-style: flat !important;
    translate: none !important;
  }
}

/* V7.25 — face-safe media pass: keep subjects fully visible and uniform. */
.page-hero::after {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: right center !important;
  transform: none !important;
  animation: none !important;
}

.visual-format-bg {
  display: grid !important;
  place-items: center !important;
  background: #09090a !important;
}
.visual-format-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

.stack-photo,
.cinema-strip-track figure,
.editorial-photo,
.press-media,
.launch-collage,
.legacy-section .legacy-image,
.season4-launch-fan {
  background:
    radial-gradient(circle at top, rgba(253, 209, 3, 0.08), transparent 38%),
    linear-gradient(180deg, #101010 0%, #171717 100%) !important;
}

.stack-photo img,
.cinema-strip-track img,
.editorial-photo img,
.press-media img,
.legacy-section .legacy-image img,
.launch-photo,
.season4-launch-fan img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center top !important;
  box-sizing: border-box !important;
  padding: 10px !important;
  background: transparent !important;
}

.stack-photo:hover img,
.cinema-strip-track figure:hover img,
.editorial-photo:hover img,
.press-card:hover .press-media img,
.legacy-section .legacy-card:hover .legacy-image img,
.launch-collage:hover .launch-photo:not(:hover),
.launch-photo:hover,
.season4-announcement:hover .season4-banner-stage img,
.season4-launch-fan:hover img {
  transform: none !important;
}

.launch-photo {
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.launch-photo-main {
  aspect-ratio: 16/10 !important;
}

.press-media {
  display: grid !important;
  place-items: center !important;
}
.press-grid-home .press-media {
  height: 360px !important;
}
.press-grid-archive .press-media,
.news-grid .press-media {
  aspect-ratio: 16/10 !important;
}

.editorial-photo {
  display: grid !important;
  place-items: center !important;
}
.editorial-photo::after {
  inset: 58% 0 0 !important;
}

.cinema-strip-track figure {
  display: grid !important;
  place-items: center !important;
}

.legacy-section .legacy-image {
  display: grid !important;
  place-items: center !important;
}

.season4-launch-fan img {
  background: #111 !important;
}

@media (max-width: 1024px) {
  .page-hero::after {
    width: 100% !important;
    opacity: 0.35 !important;
    background-position: center center !important;
  }
}

@media (max-width: 720px) {
  .stack-photo img,
  .cinema-strip-track img,
  .editorial-photo img,
  .press-media img,
  .legacy-section .legacy-image img,
  .launch-photo,
  .season4-launch-fan img {
    padding: 8px !important;
  }
  .press-grid-home .press-media {
    height: 300px !important;
  }
}

/* === V7.26 MOBILE READABILITY + 2-COLUMN TEAM GRID ===
   Smaller type, safer wrapping, and compact phone cards without changing the visual system. */

/* Never allow display copy to disappear outside its own box. */
h1,
h2,
h3,
.display,
.section-title,
.team-card h3,
.team-profile-copy h2,
.season-champion-copy h2 {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 840px) {
  .display,
  .section-title {
    letter-spacing: -0.01em !important;
  }
  .page-hero h1 {
    font-size: clamp(2.55rem, 7.7vw, 3.9rem) !important;
    line-height: 0.96 !important;
  }
  .why90-sticky h2,
  .identity-copy h2,
  .image-story-copy h2,
  .legacy-head h2,
  .teams-home-copy h2,
  .action-head h2,
  .gallery-story-head h2,
  .season4-next-top h2,
  .final-cta-inner h2,
  .visual-format-title h2 {
    font-size: clamp(2.45rem, 7.6vw, 3.75rem) !important;
    line-height: 0.94 !important;
  }
  .hero-mask {
    font-size: clamp(3rem, 10.8vw, 4.65rem) !important;
    line-height: 0.9 !important;
  }
  .hero-mask span {
    overflow: visible !important;
  }
  .season-champion-copy h2 {
    font-size: clamp(2.05rem, 6.7vw, 3.1rem) !important;
    line-height: 0.96 !important;
  }
  .team-profile-copy h2 {
    font-size: clamp(2.15rem, 7vw, 3.25rem) !important;
    line-height: 0.96 !important;
  }
}

@media (max-width: 680px) {
  :root {
    --v22-gutter: 18px;
  }

  body {
    font-size: 15px !important;
    overflow-x: hidden !important;
  }
  p,
  .muted,
  .broadcast-sub,
  .image-story-copy p,
  .gallery-story-head p,
  .final-cta-inner p,
  .season-champion-copy p {
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
  }
  .container {
    max-width: 100% !important;
  }

  /* Primary display typography: smaller, readable and never clipped. */
  .hero-mask {
    font-size: clamp(2.55rem, 12vw, 3.55rem) !important;
    line-height: 0.92 !important;
    max-width: 100% !important;
  }
  .hero-mask span {
    overflow: visible !important;
  }
  .page-hero h1 {
    font-size: clamp(2.2rem, 9.8vw, 3.05rem) !important;
    line-height: 0.98 !important;
  }
  .section-title,
  .why90-sticky h2,
  .identity-copy h2,
  .image-story-copy h2,
  .legacy-head h2,
  .teams-home-copy h2,
  .action-head h2,
  .gallery-story-head h2,
  .season4-next-top h2,
  .final-cta-inner h2,
  .visual-format-title h2 {
    font-size: clamp(2.15rem, 9.5vw, 3.1rem) !important;
    line-height: 0.97 !important;
  }
  .format-punchline {
    font-size: clamp(1.55rem, 7.5vw, 2.25rem) !important;
    line-height: 1 !important;
  }
  .action-caption h3 {
    font-size: clamp(1.65rem, 7.5vw, 2.25rem) !important;
    line-height: 1 !important;
  }
  .legacy-copy h3,
  .news-card h3,
  .press-body h3,
  .profile-card h3 {
    font-size: clamp(1.15rem, 5vw, 1.55rem) !important;
    line-height: 1.15 !important;
  }
  .season-champion-copy h2,
  .team-profile-copy h2 {
    font-size: clamp(1.9rem, 8vw, 2.65rem) !important;
    line-height: 1 !important;
  }
  .v18-champions .champion-lockup h2 {
    font-size: clamp(1.75rem, 7.8vw, 2.45rem) !important;
    line-height: 0.98 !important;
  }
  .footer-tag {
    font-size: clamp(1.55rem, 7vw, 2.05rem) !important;
    line-height: 1 !important;
  }

  /* Exactly two team columns on phones: 6 teams = 3 rows. */
  .team-rail,
  .season-team-grid,
  .directory-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
  }
  .season-team-grid .team-card,
  .team-rail .team-card,
  .directory-grid .team-card,
  .team-card {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 270px !important;
    padding: 14px !important;
    overflow: hidden !important;
  }
  .team-card .team-logo {
    width: min(78%, 108px) !important;
    height: 104px !important;
    margin-top: 8px !important;
    object-fit: contain !important;
  }
  .team-card .crest {
    width: 84px !important;
    height: 84px !important;
    margin-top: 8px !important;
  }
  .team-card .team-index {
    right: 2px !important;
    top: 6px !important;
    font-size: 4.4rem !important;
    line-height: 0.9 !important;
  }
  .team-card .team-bottom {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
  }
  .team-card .team-bottom .small {
    font-size: 0.58rem !important;
    line-height: 1.2 !important;
  }
  .team-card h3 {
    font-size: clamp(0.92rem, 4.2vw, 1.2rem) !important;
    line-height: 1.05 !important;
    margin-top: 4px !important;
    min-height: 2.1em;
  }
  .team-card .link {
    margin-top: 10px !important;
    font-size: 0.56rem !important;
    letter-spacing: 0.09em !important;
    line-height: 1.2 !important;
  }
  .champion-badge {
    max-width: 78% !important;
    font-size: 0.52rem !important;
    padding: 6px 7px !important;
    line-height: 1 !important;
  }
  .champion-line {
    font-size: 0.55rem !important;
    line-height: 1.2 !important;
  }
  .teams-reveal-card {
    grid-column: 1/-1 !important;
    min-height: 300px !important;
  }

  /* Keep champion controls and text inside the phone viewport. */
  .v18-champions .champion-lockup {
    min-width: 0 !important;
    align-items: center !important;
  }
  .v18-champions .champion-lockup > div {
    min-width: 0 !important;
  }
  .v18-champions .champion-tab {
    white-space: normal !important;
    line-height: 1.05 !important;
  }
}

@media (max-width: 420px) {
  :root {
    --v22-gutter: 14px;
  }
  .hero-mask {
    font-size: clamp(2.25rem, 11.6vw, 3rem) !important;
    line-height: 0.94 !important;
  }
  .page-hero h1 {
    font-size: clamp(2rem, 9.6vw, 2.65rem) !important;
    line-height: 1 !important;
  }
  .section-title,
  .why90-sticky h2,
  .identity-copy h2,
  .image-story-copy h2,
  .legacy-head h2,
  .teams-home-copy h2,
  .action-head h2,
  .gallery-story-head h2,
  .season4-next-top h2,
  .final-cta-inner h2,
  .visual-format-title h2 {
    font-size: clamp(1.95rem, 9.1vw, 2.65rem) !important;
    line-height: 1 !important;
  }
  .team-rail,
  .season-team-grid,
  .directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .season-team-grid .team-card,
  .team-rail .team-card,
  .directory-grid .team-card,
  .team-card {
    min-height: 250px !important;
    padding: 11px !important;
  }
  .team-card .team-logo {
    width: min(80%, 92px) !important;
    height: 90px !important;
    margin-top: 8px !important;
  }
  .team-card .crest {
    width: 76px !important;
    height: 76px !important;
  }
  .team-card .team-index {
    font-size: 3.7rem !important;
  }
  .team-card .team-bottom {
    left: 11px !important;
    right: 11px !important;
    bottom: 11px !important;
  }
  .team-card h3 {
    font-size: clamp(0.82rem, 4vw, 1rem) !important;
    line-height: 1.06 !important;
  }
  .team-card .link {
    font-size: 0.5rem !important;
    letter-spacing: 0.06em !important;
  }
  .season-champion-copy h2,
  .team-profile-copy h2 {
    font-size: clamp(1.7rem, 7.5vw, 2.25rem) !important;
  }
  .v18-champions .champion-lockup h2 {
    font-size: clamp(1.55rem, 7vw, 2.05rem) !important;
  }
}

@media (max-width: 350px) {
  .team-rail,
  .season-team-grid,
  .directory-grid {
    gap: 6px !important;
  }
  .season-team-grid .team-card,
  .team-rail .team-card,
  .directory-grid .team-card,
  .team-card {
    min-height: 232px !important;
    padding: 9px !important;
  }
  .team-card .team-logo {
    height: 80px !important;
    width: min(82%, 82px) !important;
  }
  .team-card .team-bottom {
    left: 9px !important;
    right: 9px !important;
    bottom: 9px !important;
  }
  .team-card h3 {
    font-size: 0.76rem !important;
  }
  .team-card .link {
    font-size: 0.47rem !important;
  }
}

@media (max-width: 680px) {
  .press-grid-home .press-body h3 {
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
  }
}

/* === V7.27 TYPOGRAPHY + CURATED UNIFORM MEDIA ===
   Smaller editorial type and consistent, face-safe 3:2 media framing. */

/* More restrained display scale across desktop. */
.hero-mask {
  font-size: clamp(3.15rem, 5.25vw, 5.7rem) !important;
  line-height: 0.88 !important;
  max-width: 760px !important;
}
.page-hero h1 {
  font-size: clamp(2.55rem, 4.45vw, 4.45rem) !important;
  line-height: 0.94 !important;
  max-width: 820px !important;
}
.section-title,
.why90-sticky h2,
.identity-copy h2,
.image-story-copy h2,
.legacy-head h2,
.teams-home-copy h2,
.action-head h2,
.gallery-story-head h2,
.season4-next-top h2,
.final-cta-inner h2,
.visual-format-title h2 {
  font-size: clamp(2.35rem, 3.9vw, 4.15rem) !important;
  line-height: 0.95 !important;
}
.season4-shift {
  font-size: clamp(1.8rem, 2.8vw, 3.15rem) !important;
  line-height: 0.96 !important;
}
.action-caption h3 {
  font-size: clamp(1.55rem, 2.15vw, 2.35rem) !important;
  line-height: 1 !important;
}
.legacy-section .legacy-copy h3 {
  font-size: clamp(1.2rem, 1.55vw, 1.72rem) !important;
  line-height: 1.02 !important;
}
.v18-champions .champion-lockup h2 {
  font-size: clamp(2.5rem, 4.1vw, 4.35rem) !important;
  line-height: 0.92 !important;
}
.season-champion-copy h2,
.team-profile-copy h2 {
  font-size: clamp(2.2rem, 3.5vw, 3.7rem) !important;
  line-height: 0.95 !important;
}

/* Uniform image-stack cards: same aspect ratio, still layered and dimensional. */
.image-stack {
  min-height: 560px !important;
}
.stack-photo {
  width: 54% !important;
  height: auto !important;
  aspect-ratio: 3/2 !important;
  background: #111 !important;
}
.stack-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
}
.stack-photo-a {
  left: 0 !important;
  top: 5% !important;
}
.stack-photo-b {
  right: 0 !important;
  top: 15% !important;
}
.stack-photo-c {
  left: 22% !important;
  bottom: 2% !important;
}

/* Every moving strip image now shares the same 3:2 frame. */
.cinema-strip-track figure {
  width: clamp(255px, 23vw, 390px) !important;
  height: auto !important;
  aspect-ratio: 3/2 !important;
}
.cinema-strip-track img {
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
}

/* Journey cards: equal photographic panel + equal content panel instead of mismatched full-card crops. */
.legacy-timeline {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.legacy-section .legacy-card,
.legacy-section .legacy-next {
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  min-height: 0 !important;
  height: auto !important;
  background: #111 !important;
  overflow: hidden !important;
}
.legacy-section .legacy-card::after,
.legacy-section .legacy-next::before {
  display: none !important;
}
.legacy-section .legacy-image {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3/2 !important;
  overflow: hidden !important;
  background: #111 !important;
}
.legacy-section .legacy-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  transform: none !important;
}
.legacy-section .legacy-year {
  left: 14px !important;
  top: 14px !important;
  font-size: clamp(1.5rem, 2vw, 2.15rem) !important;
  background: rgba(17, 17, 17, 0.72) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  padding: 7px 9px !important;
  backdrop-filter: blur(8px) !important;
}
.legacy-section .legacy-copy {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  padding: 18px !important;
  min-height: 180px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}
.legacy-section .legacy-copy h3 {
  margin: 8px 0 12px !important;
}
.legacy-section .legacy-next-90 {
  display: none !important;
}

/* Editorial photo section: deliberately uniform rather than mixed tall/wide crops. */
.editorial-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: auto !important;
  gap: 10px !important;
}
.editorial-photo,
.editorial-gallery .photo-tall,
.editorial-gallery .photo-wide,
.editorial-gallery .photo-extra-a,
.editorial-gallery .photo-extra-b,
.editorial-gallery .editorial-photo:nth-child(3) {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  aspect-ratio: 3/2 !important;
}
.editorial-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
}
.gallery-story-cta {
  grid-column: 1/-1 !important;
  grid-row: auto !important;
  min-width: 0 !important;
  height: 78px !important;
}

/* Press uses standardized 3:2 article artwork. */
.press-media,
.press-grid-home .press-media,
.press-grid-archive .press-media,
.news-grid .press-media {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3/2 !important;
}
.press-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
}
.press-grid-home .press-card {
  min-height: 0 !important;
}

/* About page launch collage: three equal visual beats. */
.launch-collage {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: auto !important;
  min-height: 0 !important;
  gap: 10px !important;
}
.launch-photo,
.launch-photo-main {
  grid-row: auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3/2 !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
}

/* Season 4 fan keeps the 3D overlap but every photo has identical proportions. */
.season4-launch-fan img {
  width: 44% !important;
  height: auto !important;
  aspect-ratio: 3/2 !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
}

/* Gallery previews are all the same size; the lightbox still opens each original photo. */
.gallery-season .photo-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  column-count: unset !important;
}
.gallery-season .photo-card {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
  break-inside: auto !important;
  min-width: 0 !important;
}
.gallery-season .photo-card img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3/2 !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  background: #111 !important;
}

@media (max-width: 1024px) {
  .hero-mask {
    font-size: clamp(2.75rem, 7vw, 4.25rem) !important;
  }
  .page-hero h1 {
    font-size: clamp(2.25rem, 6vw, 3.45rem) !important;
  }
  .section-title,
  .why90-sticky h2,
  .identity-copy h2,
  .image-story-copy h2,
  .legacy-head h2,
  .teams-home-copy h2,
  .action-head h2,
  .gallery-story-head h2,
  .season4-next-top h2,
  .final-cta-inner h2,
  .visual-format-title h2 {
    font-size: clamp(2.05rem, 5.7vw, 3.35rem) !important;
  }
  .legacy-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .gallery-season .photo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .hero-mask {
    font-size: clamp(2.05rem, 9.7vw, 2.75rem) !important;
    line-height: 0.95 !important;
    max-width: 100% !important;
  }
  .page-hero h1 {
    font-size: clamp(1.82rem, 8vw, 2.35rem) !important;
    line-height: 1 !important;
  }
  .section-title,
  .why90-sticky h2,
  .identity-copy h2,
  .image-story-copy h2,
  .legacy-head h2,
  .teams-home-copy h2,
  .action-head h2,
  .gallery-story-head h2,
  .season4-next-top h2,
  .final-cta-inner h2,
  .visual-format-title h2 {
    font-size: clamp(1.72rem, 7.7vw, 2.3rem) !important;
    line-height: 1 !important;
  }
  .season4-shift {
    font-size: clamp(1.45rem, 6.4vw, 1.9rem) !important;
  }
  .v18-champions .champion-lockup h2 {
    font-size: clamp(1.45rem, 6.6vw, 1.95rem) !important;
    line-height: 1 !important;
  }
  .season-champion-copy h2,
  .team-profile-copy h2 {
    font-size: clamp(1.55rem, 6.8vw, 2.05rem) !important;
  }
  .action-caption h3 {
    font-size: clamp(1.35rem, 6vw, 1.75rem) !important;
  }
  .legacy-section .legacy-copy h3 {
    font-size: 1.18rem !important;
  }

  .image-stack {
    display: flex !important;
    min-height: 0 !important;
    overflow-x: auto !important;
    gap: 10px !important;
    scroll-snap-type: x mandatory !important;
    padding-bottom: 14px !important;
  }
  .stack-photo {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    min-width: 82vw !important;
    width: 82vw !important;
    height: auto !important;
    aspect-ratio: 3/2 !important;
    transform: none !important;
    scroll-snap-align: center !important;
    flex: 0 0 auto !important;
  }

  .legacy-timeline {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    gap: 12px !important;
  }
  .legacy-section .legacy-card,
  .legacy-section .legacy-next {
    min-width: 0 !important;
    min-height: 0 !important;
  }
  .legacy-section .legacy-copy {
    min-height: 150px !important;
    padding: 16px !important;
  }

  .editorial-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
    gap: 8px !important;
    padding-bottom: 0 !important;
  }
  .editorial-photo,
  .editorial-gallery .photo-extra-a,
  .editorial-gallery .photo-extra-b {
    min-width: 0 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3/2 !important;
  }
  .editorial-photo span {
    left: 9px !important;
    bottom: 8px !important;
    font-size: 0.48rem !important;
    letter-spacing: 0.08em !important;
  }
  .gallery-story-cta {
    grid-column: 1/-1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 68px !important;
    font-size: 0.64rem !important;
  }

  .launch-collage {
    display: flex !important;
    overflow-x: auto !important;
    gap: 10px !important;
    scroll-snap-type: x mandatory !important;
    padding-bottom: 10px !important;
  }
  .launch-photo,
  .launch-photo-main {
    min-width: 82vw !important;
    width: 82vw !important;
    flex: 0 0 auto !important;
    scroll-snap-align: center !important;
  }

  .gallery-season .photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  .gallery-season .photo-card {
    padding: 6px !important;
    gap: 7px !important;
  }
  .gallery-season .photo-card span {
    font-size: 0.52rem !important;
    padding: 6px 8px !important;
    letter-spacing: 0.08em !important;
  }
}

@media (max-width: 380px) {
  .hero-mask {
    font-size: clamp(1.92rem, 9.4vw, 2.35rem) !important;
  }
  .page-hero h1 {
    font-size: clamp(1.7rem, 7.8vw, 2.12rem) !important;
  }
  .section-title,
  .why90-sticky h2,
  .identity-copy h2,
  .image-story-copy h2,
  .legacy-head h2,
  .teams-home-copy h2,
  .action-head h2,
  .gallery-story-head h2,
  .season4-next-top h2,
  .final-cta-inner h2,
  .visual-format-title h2 {
    font-size: clamp(1.6rem, 7.4vw, 2.05rem) !important;
  }
  .gallery-season .photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
}

/* V7.27 final phone guardrails. */
@media (max-width: 680px) {
  .mobile-menu a {
    font-size: clamp(1.65rem, 7vw, 2.35rem) !important;
    line-height: 1 !important;
  }
  .team-rail,
  .season-team-grid,
  .directory-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* === V7.28 HERO / JOURNEY / SEASON-4 REVEAL / LOGO GLOW REFINEMENT ===
   Fixes hero overflow, reduces first-screen type, rebuilds the Journey for clarity,
   removes provisional Season 4 identity imagery, and replaces logo boxes with glow. */

/* Navbar + footer logo: no yellow/white plaque, just a restrained brand glow. */
.brand {
  position: relative !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  clip-path: none !important;
  box-shadow: none !important;
  isolation: isolate !important;
  overflow: visible !important;
}
.brand::after {
  display: none !important;
}
.brand::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: 130%;
  height: 118%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(
    ellipse,
    rgba(253, 209, 3, 0.22) 0%,
    rgba(253, 209, 3, 0.09) 42%,
    transparent 72%
  );
  filter: blur(10px);
  pointer-events: none;
  transition:
    opacity 0.3s ease,
    filter 0.3s ease;
}
.brand:hover {
  transform: translateY(-1px) !important;
  box-shadow: none !important;
}
.brand:hover::before {
  opacity: 1;
  filter: blur(13px);
}
.brand img {
  width: 102px !important;
  height: 74px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 3px rgba(253, 209, 3, 0.82))
    drop-shadow(0 0 10px rgba(253, 209, 3, 0.38))
    drop-shadow(0 5px 8px rgba(0, 0, 0, 0.38)) !important;
}
.footer-top > div:first-child {
  position: relative;
  isolation: isolate;
}
.footer-top > div:first-child::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -24px;
  top: -28px;
  width: 220px;
  height: 210px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(253, 209, 3, 0.17),
    rgba(253, 209, 3, 0.055) 46%,
    transparent 70%
  );
  filter: blur(14px);
  pointer-events: none;
}
.footer-logo {
  position: relative !important;
  z-index: 1 !important;
  width: 150px !important;
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  clip-path: none !important;
  box-shadow: none !important;
  filter: drop-shadow(0 0 4px rgba(253, 209, 3, 0.78))
    drop-shadow(0 0 15px rgba(253, 209, 3, 0.3))
    drop-shadow(0 7px 10px rgba(0, 0, 0, 0.48)) !important;
}

/* Homepage opening screen: smaller copy and a bounded right-side composition. */
.broadcast-hero {
  overflow: hidden !important;
}
.broadcast-grid {
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.76fr) !important;
  gap: clamp(34px, 5vw, 74px) !important;
  align-items: center !important;
}
.broadcast-copy {
  max-width: 660px !important;
}
.hero-mask {
  font-size: clamp(2.65rem, 4.35vw, 4.75rem) !important;
  line-height: 0.91 !important;
  max-width: 650px !important;
  letter-spacing: -0.025em !important;
}
.hero-mask span {
  overflow: visible !important;
}
.broadcast-sub {
  max-width: 540px !important;
  font-size: clamp(0.9rem, 1.05vw, 1rem) !important;
  line-height: 1.58 !important;
}
.broadcast-kicker {
  font-size: 0.64rem !important;
  line-height: 1.45 !important;
}
.hero-cinema {
  position: relative !important;
  width: min(100%, 520px) !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 5/6 !important;
  justify-self: end !important;
  align-self: center !important;
  overflow: visible !important;
  margin: 0 auto !important;
  perspective: 1000px !important;
  box-sizing: border-box !important;
}
.hero-cinema::before {
  inset: 12% 6% 7% !important;
}
.hero-cinema::after {
  left: 8% !important;
  right: 6% !important;
  bottom: 1% !important;
  height: 12% !important;
}
.hero-cinema .ring-one {
  width: 76% !important;
  right: 4% !important;
  top: 15% !important;
}
.hero-cinema .ring-two {
  width: 56% !important;
  right: 14% !important;
  top: 27% !important;
}
.hero-cutout {
  height: auto !important;
  bottom: 2% !important;
  transition: none !important;
}
.hero-cutout img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: bottom center !important;
}
.hero-cutout-back {
  left: 5% !important;
  width: 56% !important;
  opacity: 0.7 !important;
  transform: rotate(-4deg) !important;
}
.hero-cutout-front {
  right: 2% !important;
  width: 61% !important;
  z-index: 2 !important;
  transform: none !important;
}
.hero-format-orb {
  left: 1% !important;
  top: 12% !important;
  width: clamp(92px, 22%, 122px) !important;
  transform: rotate(-7deg) !important;
  animation: s90BallFloatSafe 5.4s ease-in-out infinite alternate !important;
}
.hero-format-orb strong {
  font-size: clamp(2.8rem, 4.2vw, 3.75rem) !important;
}
.hero-location-chip {
  right: 1% !important;
  bottom: 5% !important;
  transform: rotate(1deg) !important;
}
.hero-location-chip b {
  font-size: clamp(1.45rem, 2.2vw, 1.9rem) !important;
}
.hero-streak.streak-a {
  width: 43% !important;
  right: 5% !important;
  top: 27% !important;
}
.hero-streak.streak-b {
  width: 35% !important;
  left: 6% !important;
  bottom: 24% !important;
}
@keyframes s90BallFloatSafe {
  from {
    transform: translateY(0) rotate(-7deg);
  }
  to {
    transform: translateY(-8px) rotate(-3deg);
  }
}

/* Journey: clear image + clear copy, never text over a busy photograph. */
.legacy-section {
  padding: clamp(76px, 8vw, 118px) 0 !important;
}
.legacy-section .legacy-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.34fr) !important;
  gap: 30px !important;
  align-items: end !important;
  margin-bottom: 34px !important;
}
.legacy-section .legacy-head h2 {
  font-size: clamp(2.2rem, 3.45vw, 3.55rem) !important;
  line-height: 0.96 !important;
}
.legacy-section .legacy-head p {
  margin: 0 !important;
  max-width: 310px !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
}
.journey-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.journey-card {
  display: grid;
  grid-template-columns: minmax(245px, 0.92fr) minmax(0, 1.08fr);
  min-height: 300px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.14);
  box-shadow: 0 20px 50px rgba(17, 17, 17, 0.07);
  transition:
    transform 0.4s var(--ease-out),
    box-shadow 0.4s var(--ease-out);
}
.journey-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 62px rgba(17, 17, 17, 0.12);
}
.journey-media {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  background: #111;
}
.journey-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.14));
  pointer-events: none;
}
.journey-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.7s var(--ease-out);
}
.journey-card:hover .journey-media img {
  transform: scale(1.025);
}
.journey-year {
  position: absolute;
  z-index: 2;
  left: 14px;
  top: 14px;
  padding: 7px 10px;
  background: rgba(17, 17, 17, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  font-family: var(--display);
  font-size: 1.35rem;
  line-height: 1;
  backdrop-filter: blur(8px);
}
.journey-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(22px, 2.5vw, 34px);
  color: #111;
  background: #fff;
}
.journey-copy > span {
  color: #8b6900;
  font-size: 0.61rem;
  font-weight: 950;
  letter-spacing: 0.15em;
  line-height: 1.5;
}
.journey-copy h3 {
  margin: 10px 0 18px;
  font-family: var(--display);
  font-size: clamp(1.35rem, 1.8vw, 1.9rem);
  line-height: 0.98;
  overflow-wrap: anywhere;
}
.journey-copy b {
  display: block;
  padding-top: 13px;
  border-top: 1px solid rgba(17, 17, 17, 0.13);
  font-size: 0.63rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #3f3a2f;
}
.journey-copy .btn {
  align-self: flex-start;
  margin-top: 2px;
  min-height: 46px;
  padding: 0 18px !important;
  font-size: 0.64rem !important;
}
.journey-next .journey-copy {
  background: #111;
  color: #fff;
}
.journey-next .journey-copy > span {
  color: var(--yellow);
}
.journey-next .journey-copy h3 {
  color: #fff;
}

/* Season 4: no provisional team logos. Abstract reveal system only. */
.season4-reveal-orbit {
  overflow: hidden !important;
  max-width: 720px !important;
  min-height: 540px !important;
  margin-inline: auto !important;
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(253, 209, 3, 0.12),
      transparent 34%
    ),
    linear-gradient(135deg, rgba(253, 209, 3, 0.035), transparent 45%);
  border: 1px solid rgba(17, 17, 17, 0.08);
}
.season4-reveal-orbit::after {
  content: "REVEAL";
  position: absolute;
  left: 50%;
  bottom: 5%;
  transform: translateX(-50%);
  font-family: var(--display);
  font-size: clamp(4.5rem, 9vw, 8.5rem);
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.08);
  letter-spacing: 0.02em;
  pointer-events: none;
}
.season4-reveal-orbit .teams-orbit-core {
  width: 190px !important;
  background: #111 !important;
  box-shadow:
    0 24px 54px rgba(17, 17, 17, 0.26),
    0 0 0 14px rgba(253, 209, 3, 0.12) !important;
}
.season4-reveal-orbit .teams-orbit-core strong {
  font-size: 7rem !important;
  line-height: 0.68 !important;
  color: var(--yellow) !important;
}
.season4-reveal-orbit .teams-orbit-core small {
  display: block;
  max-width: 125px;
  margin: 11px auto 0 !important;
  line-height: 1.35;
}
.reveal-signal {
  position: absolute;
  z-index: 7;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  background: rgba(17, 17, 17, 0.9);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-left: 3px solid var(--yellow);
  box-shadow: 0 14px 32px rgba(17, 17, 17, 0.16);
  font-size: 0.55rem;
  font-weight: 950;
  letter-spacing: 0.15em;
  backdrop-filter: blur(9px);
  animation: s90RevealSignal 4.6s ease-in-out infinite alternate;
}
.reveal-signal i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 0 12px rgba(253, 209, 3, 0.78);
}
.signal-a {
  left: 8%;
  top: 20%;
}
.signal-b {
  right: 6%;
  top: 43%;
  animation-delay: 0.6s;
}
.signal-c {
  left: 15%;
  bottom: 15%;
  animation-delay: 1.1s;
}
@keyframes s90RevealSignal {
  to {
    translate: 0 -7px;
  }
}

@media (max-width: 1200px) {
  .broadcast-grid {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.72fr) !important;
    gap: 34px !important;
  }
  .hero-mask {
    font-size: clamp(2.5rem, 4.65vw, 4.15rem) !important;
  }
  .hero-cinema {
    width: min(100%, 470px) !important;
  }
  .journey-card {
    grid-template-columns: 1fr !important;
  }
  .journey-media {
    min-height: 0 !important;
    aspect-ratio: 3/2 !important;
  }
  .journey-copy {
    min-height: 190px !important;
  }
}

@media (max-width: 1024px) {
  .broadcast-grid {
    grid-template-columns: 1fr !important;
  }
  .broadcast-copy {
    max-width: 620px !important;
  }
  .hero-mask {
    font-size: clamp(2.35rem, 6.4vw, 3.65rem) !important;
    max-width: 590px !important;
  }
  .hero-cinema {
    justify-self: center !important;
    width: min(82vw, 440px) !important;
    margin-top: 14px !important;
  }
  .legacy-section .legacy-head {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .legacy-section .legacy-head p {
    max-width: 520px !important;
  }
  .season4-reveal-orbit {
    min-height: 500px !important;
  }
}

@media (max-width: 680px) {
  .brand img {
    width: 82px !important;
    height: 60px !important;
  }
  .footer-logo {
    width: 128px !important;
  }
  .footer-top > div:first-child::before {
    width: 180px;
    height: 170px;
    left: -22px;
    top: -25px;
  }

  .broadcast-hero {
    padding-top: 104px !important;
  }
  .broadcast-grid {
    gap: 22px !important;
  }
  .broadcast-copy {
    max-width: 100% !important;
  }
  .hero-mask {
    font-size: clamp(1.82rem, 8.65vw, 2.28rem) !important;
    line-height: 0.96 !important;
    max-width: 100% !important;
    letter-spacing: -0.015em !important;
  }
  .broadcast-kicker {
    font-size: 0.56rem !important;
    letter-spacing: 0.1em !important;
  }
  .broadcast-sub {
    font-size: 0.91rem !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
  }
  .hero-cinema {
    width: min(100%, 360px) !important;
    aspect-ratio: 1/1.12 !important;
    margin: 4px auto 0 !important;
    overflow: visible !important;
  }
  .hero-cutout-back {
    left: 3% !important;
    width: 54% !important;
    bottom: 3% !important;
  }
  .hero-cutout-front {
    right: 0 !important;
    width: 60% !important;
    bottom: 2% !important;
  }
  .hero-format-orb {
    left: 0 !important;
    top: 8% !important;
    width: 84px !important;
  }
  .hero-format-orb strong {
    font-size: 2.55rem !important;
  }
  .hero-format-orb span,
  .hero-format-orb small {
    font-size: 0.43rem !important;
  }
  .hero-format-orb b {
    font-size: 0.58rem !important;
  }
  .hero-location-chip {
    right: 0 !important;
    bottom: 4% !important;
    padding: 8px 10px !important;
  }
  .hero-location-chip span,
  .hero-location-chip small {
    font-size: 0.43rem !important;
  }
  .hero-location-chip b {
    font-size: 1.25rem !important;
  }
  .hero-cinema .ring-one {
    width: 82% !important;
    right: 0 !important;
    top: 16% !important;
  }
  .hero-cinema .ring-two {
    width: 61% !important;
    right: 10% !important;
    top: 29% !important;
  }

  .legacy-section {
    padding: 68px 0 !important;
  }
  .legacy-section .legacy-head {
    margin-bottom: 24px !important;
  }
  .legacy-section .legacy-head h2 {
    font-size: clamp(1.72rem, 7.4vw, 2.15rem) !important;
  }
  .legacy-section .legacy-head p {
    font-size: 0.86rem !important;
  }
  .journey-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .journey-card {
    display: block !important;
  }
  .journey-media {
    width: 100% !important;
    aspect-ratio: 3/2 !important;
    min-height: 0 !important;
  }
  .journey-copy {
    min-height: 0 !important;
    padding: 19px !important;
  }
  .journey-copy h3 {
    font-size: 1.35rem !important;
    margin: 8px 0 14px !important;
  }
  .journey-copy b {
    font-size: 0.58rem !important;
  }
  .journey-copy .btn {
    width: 100% !important;
    justify-content: space-between !important;
  }

  .season4-reveal-orbit {
    min-height: 400px !important;
    width: 100% !important;
  }
  .season4-reveal-orbit .teams-orbit-core {
    width: 138px !important;
  }
  .season4-reveal-orbit .teams-orbit-core strong {
    font-size: 5rem !important;
  }
  .season4-reveal-orbit .teams-orbit-core small {
    font-size: 0.4rem !important;
    max-width: 100px !important;
  }
  .reveal-signal {
    font-size: 0.46rem !important;
    padding: 7px 9px !important;
    letter-spacing: 0.1em !important;
  }
  .signal-a {
    left: 4%;
    top: 17%;
  }
  .signal-b {
    right: 3%;
    top: 45%;
  }
  .signal-c {
    left: 8%;
    bottom: 14%;
  }
}

@media (max-width: 380px) {
  .hero-mask {
    font-size: clamp(1.7rem, 8.5vw, 2rem) !important;
  }
  .hero-cinema {
    width: min(100%, 330px) !important;
  }
  .hero-format-orb {
    width: 76px !important;
  }
  .hero-location-chip b {
    font-size: 1.12rem !important;
  }
  .journey-copy h3 {
    font-size: 1.22rem !important;
  }
  .season4-reveal-orbit {
    min-height: 360px !important;
  }
  .reveal-signal {
    font-size: 0.42rem !important;
    padding: 6px 8px !important;
  }
}

@media (max-height: 640px) and (orientation: landscape) and (max-width: 960px) {
  .hero-mask {
    font-size: clamp(2rem, 5.6vw, 3rem) !important;
  }
  .hero-cinema {
    width: min(34vw, 330px) !important;
    aspect-ratio: 5/6 !important;
    margin: 0 !important;
  }
}

/* V7.28 Journey final: preserve the full curated 3:2 artwork on every card. */
.journey-card {
  grid-template-columns: 1fr !important;
  grid-template-rows: auto 1fr !important;
  min-height: 0 !important;
}
.journey-media {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 3/2 !important;
}
.journey-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}
.journey-card:hover .journey-media img {
  transform: none !important;
}
.journey-copy {
  min-height: 178px !important;
}
@media (max-width: 680px) {
  .journey-copy {
    min-height: 0 !important;
  }
}

/* V7.28 opening headline final cap — deliberately restrained. */
.hero-mask {
  font-size: clamp(2.6rem, 4.15vw, 4.2rem) !important;
}
@media (max-width: 1200px) {
  .hero-mask {
    font-size: clamp(2.35rem, 4.5vw, 3.85rem) !important;
  }
}
@media (max-width: 1024px) {
  .hero-mask {
    font-size: clamp(2.2rem, 6vw, 3.35rem) !important;
  }
}
@media (max-width: 680px) {
  .hero-mask {
    font-size: clamp(1.78rem, 8.3vw, 2.2rem) !important;
  }
}
@media (max-width: 380px) {
  .hero-mask {
    font-size: clamp(1.66rem, 8.1vw, 1.96rem) !important;
  }
}
/* Restore the V7.24 photographic cutouts against older legacy hero rules. */
.hero-cinema .hero-cutout {
  display: block !important;
}
/* The hero visual must never use the generic reveal clip mask. */
.hero-cinema,
.hero-cinema.reveal,
.hero-cinema.reveal.visible {
  clip-path: none !important;
}
/* Keep the abstract Season 4 reveal stage stretched inside its grid track. */
.season4-reveal-orbit {
  width: 100% !important;
}

/* =========================================================
   V7.29 — Banner hero + yellow navigation/footer system
   ========================================================= */

/* Header: transparent over page content, yellow glass after scroll. */
.site-header {
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition:
    background 0.28s ease,
    backdrop-filter 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease !important;
}
.site-header .nav-links > a:not(.btn) {
  color: #111 !important;
  text-shadow: 0 1px 10px rgba(255, 255, 255, 0.32);
}
.site-header .nav-links > a:not(.btn)::after {
  background: #111 !important;
}
.site-header .menu-btn {
  color: #111 !important;
}
.site-header .menu-btn i,
.site-header .menu-btn i::before,
.site-header .menu-btn i::after {
  background: #111 !important;
}

.site-header.scrolled {
  background: rgba(253, 209, 3, 0.86) !important;
  border-bottom-color: rgba(17, 17, 17, 0.13) !important;
  box-shadow: 0 12px 34px rgba(78, 58, 0, 0.14) !important;
  backdrop-filter: blur(18px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
}
.site-header.scrolled .nav-links > a:not(.btn) {
  color: #111 !important;
  text-shadow: none !important;
}
.site-header.scrolled .btn.primary {
  background: #111 !important;
  color: #fdd103 !important;
  border-color: #111 !important;
}
.site-header.scrolled .btn.primary:hover {
  background: #2a260f !important;
  color: #fff !important;
}
.site-header.scrolled .brand::before {
  opacity: 0.18 !important;
}
.site-header.scrolled .brand img {
  filter: drop-shadow(0 3px 7px rgba(17, 17, 17, 0.28)) !important;
}

/* Mobile navigation follows the new yellow navigation language. */
.mobile-menu {
  background: #fdd103 !important;
  color: #111 !important;
}
.mobile-menu a,
.mobile-close {
  color: #111 !important;
}
.mobile-close {
  border-color: rgba(17, 17, 17, 0.22) !important;
}

/* Homepage hero: one supplied banner image, no extra generated/DOM graphics. */
.hero-banner {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  min-height: clamp(650px, 56vw, 860px) !important;
  padding: clamp(132px, 10vw, 168px) 0 clamp(72px, 7vw, 108px) !important;
  display: flex !important;
  align-items: center !important;
  background-color: #fbf7ec !important;
  background-image: url("assets/super90-home-hero-banner.webp") !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
}
.hero-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.92) 0%,
    rgba(255, 255, 255, 0.76) 24%,
    rgba(255, 255, 255, 0.3) 42%,
    rgba(255, 255, 255, 0) 57%
  );
}
.hero-banner-inner {
  width: 100% !important;
  display: block !important;
}
.hero-banner-copy {
  width: min(48%, 650px) !important;
  max-width: 650px !important;
  position: relative !important;
  z-index: 2 !important;
}
.hero-banner .broadcast-kicker {
  color: #5c4812 !important;
}
.hero-banner .broadcast-kicker::before {
  background: #fdd103 !important;
}
.hero-banner .hero-mask {
  color: #111 !important;
  font-size: clamp(2.45rem, 4vw, 4rem) !important;
  line-height: 0.93 !important;
  max-width: 620px !important;
  text-shadow: 0 2px 20px rgba(255, 255, 255, 0.24) !important;
}
.hero-banner .hero-mask .yellow-line {
  color: #b88f00 !important;
}
.hero-banner .broadcast-sub {
  color: #332f25 !important;
  max-width: 510px !important;
  font-size: clamp(0.9rem, 1vw, 0.98rem) !important;
}
.hero-banner .hero-ghost {
  color: #111 !important;
  border-color: rgba(17, 17, 17, 0.38) !important;
  background: rgba(255, 255, 255, 0.44) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
.hero-banner .hero-ghost:hover {
  background: #fff !important;
}

/* Footer: solid yellow brand block with dark, high-contrast content. */
.footer {
  background: #fdd103 !important;
  color: #111 !important;
  border-top: 1px solid rgba(17, 17, 17, 0.14) !important;
}
.footer::before {
  display: none !important;
}
.footer .big90 {
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.1) !important;
}
.footer-tag,
.footer-tag span,
.footer h4,
.footer a,
.footer-bottom,
.footer-bottom strong {
  color: #111 !important;
}
.footer h4 {
  opacity: 0.68 !important;
}
.footer a {
  opacity: 0.82 !important;
}
.footer a:hover {
  opacity: 1 !important;
  color: #111 !important;
}
.footer-bottom {
  border-top-color: rgba(17, 17, 17, 0.18) !important;
}
.footer-top > div:first-child::before {
  display: none !important;
}
.footer-logo {
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 5px 8px rgba(17, 17, 17, 0.22)) !important;
}

@media (max-width: 1024px) {
  .hero-banner {
    min-height: 760px !important;
    padding: 126px 0 72px !important;
    align-items: flex-start !important;
    background-size: auto 100% !important;
    background-position: 68% center !important;
  }
  .hero-banner::before {
    background: linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.97) 0%,
      rgba(255, 255, 255, 0.9) 34%,
      rgba(255, 255, 255, 0.52) 55%,
      rgba(255, 255, 255, 0.1) 76%,
      rgba(255, 255, 255, 0) 100%
    ) !important;
  }
  .hero-banner-copy {
    width: min(64%, 610px) !important;
  }
  .hero-banner .hero-mask {
    font-size: clamp(2.2rem, 5.5vw, 3.3rem) !important;
  }
}

@media (max-width: 680px) {
  .site-header .nav {
    height: 76px !important;
  }
  .site-header .brand img {
    width: 82px !important;
    height: 60px !important;
  }
  .hero-banner {
    min-height: 720px !important;
    padding: 108px 0 46px !important;
    background-size: auto 57% !important;
    background-position: 74% 100% !important;
    background-color: #fbf7ec !important;
  }
  .hero-banner::before {
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.99) 0%,
      rgba(255, 255, 255, 0.98) 41%,
      rgba(255, 255, 255, 0.72) 57%,
      rgba(255, 255, 255, 0.14) 78%,
      rgba(255, 255, 255, 0) 100%
    ) !important;
  }
  .hero-banner-copy {
    width: 100% !important;
    max-width: 100% !important;
  }
  .hero-banner .hero-mask {
    font-size: clamp(1.72rem, 8vw, 2.08rem) !important;
    line-height: 0.96 !important;
    max-width: 340px !important;
  }
  .hero-banner .broadcast-kicker {
    max-width: 330px !important;
  }
  .hero-banner .broadcast-sub {
    max-width: 340px !important;
    font-size: 0.89rem !important;
    line-height: 1.5 !important;
  }
  .hero-banner .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    max-width: 340px !important;
  }
  .hero-banner .hero-actions .btn {
    width: 100% !important;
    justify-content: space-between !important;
  }
  .footer {
    padding-top: 54px !important;
  }
}

@media (max-width: 390px) {
  .hero-banner {
    min-height: 690px !important;
    background-size: auto 54% !important;
    background-position: 76% 100% !important;
  }
  .hero-banner .hero-mask {
    font-size: clamp(1.62rem, 7.9vw, 1.9rem) !important;
  }
  .hero-banner .broadcast-sub {
    font-size: 0.86rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header {
    transition: none !important;
  }
}

/* =========================================================
   V7.30 — Responsive hero placement + dedicated tablet/mobile art
   ========================================================= */

/* Desktop: give the copy a deliberate inset rather than hugging the viewport. */
.hero-banner-inner {
  padding-left: clamp(48px, 5.8vw, 108px) !important;
  padding-right: clamp(28px, 3vw, 56px) !important;
  box-sizing: border-box !important;
}
.hero-banner-copy {
  width: min(46%, 660px) !important;
  max-width: 660px !important;
}

/* Hero copy is intentionally all black. */
.hero-banner .broadcast-kicker,
.hero-banner .broadcast-kicker span,
.hero-banner .hero-mask,
.hero-banner .hero-mask span,
.hero-banner .hero-mask .yellow-line,
.hero-banner .broadcast-sub,
.hero-banner .hero-actions .btn,
.hero-banner .hero-actions .btn span,
.hero-banner .hero-ghost,
.hero-banner .hero-ghost span {
  color: #111 !important;
}
.hero-banner .broadcast-kicker::before {
  background: #111 !important;
}

/* Slightly larger than V7.29, but still controlled. */
.hero-banner .hero-mask {
  font-size: clamp(2.85rem, 4.35vw, 4.55rem) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.025em !important;
  max-width: 640px !important;
}
.hero-banner .broadcast-sub {
  font-size: clamp(0.98rem, 1.08vw, 1.08rem) !important;
  line-height: 1.55 !important;
  max-width: 520px !important;
}

/* Keep the primary CTA yellow with black copy; secondary remains light. */
.hero-banner .btn.primary {
  color: #111 !important;
}

/* The supplied banner already has a clean copy area, so only a soft veil is needed. */
.hero-banner::before {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.48) 0%,
    rgba(255, 255, 255, 0.18) 29%,
    rgba(255, 255, 255, 0) 48%
  ) !important;
}

/* Tablet uses the dedicated 3:4 artwork. Copy stays in the open top area. */
@media (min-width: 681px) and (max-width: 1024px) {
  .hero-banner {
    min-height: clamp(860px, 133vw, 1120px) !important;
    padding: clamp(118px, 14vw, 148px) 0 52px !important;
    align-items: flex-start !important;
    background-image: url("assets/super90-home-hero-tablet.webp") !important;
    background-size: cover !important;
    background-position: center top !important;
  }
  .hero-banner::before {
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.36) 0%,
      rgba(255, 255, 255, 0.15) 34%,
      rgba(255, 255, 255, 0) 55%
    ) !important;
  }
  .hero-banner-inner {
    padding-left: clamp(42px, 7vw, 72px) !important;
    padding-right: clamp(42px, 7vw, 72px) !important;
  }
  .hero-banner-copy {
    width: min(72%, 610px) !important;
    max-width: 610px !important;
  }
  .hero-banner .hero-mask {
    font-size: clamp(2.75rem, 6vw, 3.75rem) !important;
    max-width: 560px !important;
  }
  .hero-banner .broadcast-sub {
    font-size: clamp(0.98rem, 1.9vw, 1.06rem) !important;
    max-width: 500px !important;
  }
  .hero-banner .hero-actions {
    max-width: 520px !important;
  }
}

/* Phone uses the dedicated 9:16 artwork. Text is anchored to the open sky at the top. */
@media (max-width: 680px) {
  .hero-banner {
    min-height: clamp(720px, 178vw, 900px) !important;
    padding: 100px 0 38px !important;
    align-items: flex-start !important;
    background-image: url("assets/super90-home-hero-mobile.webp") !important;
    background-size: cover !important;
    background-position: center top !important;
  }
  .hero-banner::before {
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.32) 0%,
      rgba(255, 255, 255, 0.12) 35%,
      rgba(255, 255, 255, 0) 54%
    ) !important;
  }
  .hero-banner-inner {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .hero-banner-copy {
    width: 100% !important;
    max-width: 430px !important;
  }
  .hero-banner .broadcast-kicker {
    max-width: 100% !important;
    font-size: 0.58rem !important;
    line-height: 1.35 !important;
    letter-spacing: 0.11em !important;
    margin-bottom: 13px !important;
  }
  .hero-banner .hero-mask {
    font-size: clamp(2.05rem, 10vw, 2.72rem) !important;
    line-height: 0.93 !important;
    max-width: 390px !important;
  }
  .hero-banner .broadcast-sub {
    max-width: 370px !important;
    font-size: clamp(0.91rem, 3.9vw, 1rem) !important;
    line-height: 1.48 !important;
  }
  .hero-banner .hero-actions {
    width: min(100%, 370px) !important;
    max-width: 370px !important;
    gap: 10px !important;
  }
  .hero-banner .hero-actions .btn {
    min-height: 46px !important;
    padding: 0 17px !important;
    font-size: 0.72rem !important;
  }
}

@media (max-width: 390px) {
  .hero-banner {
    min-height: 700px !important;
    padding-top: 94px !important;
  }
  .hero-banner-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .hero-banner .hero-mask {
    font-size: clamp(1.94rem, 9.7vw, 2.35rem) !important;
  }
  .hero-banner .broadcast-sub {
    font-size: 0.9rem !important;
  }
}

/* =========================================================
   V7.31 — Larger homepage hero type + clean unshadowed logos
   ========================================================= */

/* Remove every decorative glow / shadow behind or on the brand mark. */
.brand::before,
.brand::after,
.footer-top > div:first-child::before {
  display: none !important;
  content: none !important;
}
.brand,
.brand:hover {
  box-shadow: none !important;
}
.brand img,
.site-header.scrolled .brand img,
.footer-logo {
  filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Homepage first section: increase scale while retaining current responsive fit. */
.hero-banner .broadcast-kicker {
  font-size: 0.68rem !important;
  letter-spacing: 0.12em !important;
}
.hero-banner .hero-mask {
  font-size: clamp(3.15rem, 4.9vw, 5.05rem) !important;
  line-height: 0.91 !important;
  max-width: 680px !important;
}
.hero-banner .broadcast-sub {
  font-size: clamp(1.04rem, 1.18vw, 1.16rem) !important;
  line-height: 1.55 !important;
  max-width: 540px !important;
}

@media (min-width: 681px) and (max-width: 1024px) {
  .hero-banner .broadcast-kicker {
    font-size: 0.65rem !important;
  }
  .hero-banner .hero-mask {
    font-size: clamp(3.05rem, 6.65vw, 4.15rem) !important;
    line-height: 0.92 !important;
    max-width: 600px !important;
  }
  .hero-banner .broadcast-sub {
    font-size: clamp(1.02rem, 2vw, 1.12rem) !important;
    max-width: 520px !important;
  }
}

@media (max-width: 680px) {
  .hero-banner .broadcast-kicker {
    font-size: 0.61rem !important;
  }
  .hero-banner .hero-mask {
    font-size: clamp(2.28rem, 11vw, 2.95rem) !important;
    line-height: 0.92 !important;
    max-width: 410px !important;
  }
  .hero-banner .broadcast-sub {
    font-size: clamp(0.96rem, 4vw, 1.04rem) !important;
    line-height: 1.48 !important;
    max-width: 390px !important;
  }
}

@media (max-width: 390px) {
  .hero-banner .hero-mask {
    font-size: clamp(2.12rem, 10.4vw, 2.55rem) !important;
  }
  .hero-banner .broadcast-sub {
    font-size: 0.94rem !important;
  }
}

/* =========================================================
   V7.32 — Editorial Season 4 Homepage
   Inspired by the client-approved white/yellow UI direction.
   Black is used as typography/linework only, never as a dominant field.
   ========================================================= */

body.s32-home {
  --s32-yellow: #fdd103;
  --s32-yellow-soft: #fff3a8;
  --s32-ink: #111111;
  --s32-paper: #fbfbf7;
  --s32-line: rgba(17, 17, 17, 0.14);
  background: #fff !important;
  color: var(--s32-ink) !important;
}
body.s32-home main {
  background: #fff !important;
}
body.s32-home .container {
  width: min(1380px, calc(100% - 2 * clamp(22px, 4vw, 70px)));
}
body.s32-home .display {
  font-family: var(--display);
  letter-spacing: -0.025em;
  line-height: 0.88;
}

/* Header remains transparent over the light hero, then becomes yellow glass on scroll. */
.s32-home .site-header {
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
}
.s32-home .site-header.scrolled {
  background: rgba(253, 209, 3, 0.88) !important;
  border-bottom-color: rgba(17, 17, 17, 0.1) !important;
  backdrop-filter: blur(18px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.15) !important;
}
.s32-home .site-header .nav-links a {
  color: #111 !important;
}
.s32-home .site-header .nav-links a::after {
  background: #111 !important;
}
.s32-home .site-header .nav-links .btn.primary {
  background: var(--s32-yellow) !important;
  color: #111 !important;
  border-color: #111 !important;
}
.s32-home .site-header.scrolled .nav-links .btn.primary {
  background: #111 !important;
  color: var(--s32-yellow) !important;
  border-color: #111 !important;
}
.s32-home .brand img,
.s32-home .site-header.scrolled .brand img {
  filter: none !important;
  box-shadow: none !important;
}
.s32-home .menu-btn {
  border-color: rgba(17, 17, 17, 0.28) !important;
  background: rgba(255, 255, 255, 0.45) !important;
}
.s32-home .menu-btn::before,
.s32-home .menu-btn::after,
.s32-home .menu-btn i {
  background: #111 !important;
}
.s32-home .mobile-menu {
  background: var(--s32-yellow) !important;
  color: #111 !important;
}
.s32-home .mobile-menu a {
  color: #111 !important;
}

/* Shared paper/grunge language */
.s32-paper-noise {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.38;
  mix-blend-mode: multiply;
  background-image:
    radial-gradient(
      circle at 18% 26%,
      rgba(17, 17, 17, 0.08) 0 1px,
      transparent 1.2px
    ),
    radial-gradient(
      circle at 76% 68%,
      rgba(17, 17, 17, 0.05) 0 1px,
      transparent 1.2px
    ),
    linear-gradient(
      115deg,
      transparent 0 44%,
      rgba(253, 209, 3, 0.07) 44% 45%,
      transparent 45% 100%
    );
  background-size:
    13px 13px,
    19px 19px,
    100% 100%;
  mask-image: linear-gradient(#000, rgba(0, 0, 0, 0.35));
}
.s32-section-kicker,
.s32-kicker {
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.23em;
  text-transform: uppercase;
  color: #111;
}
.s32-section-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}
.s32-section-kicker::after {
  content: "";
  width: 78px;
  height: 3px;
  background: var(--s32-yellow);
  display: inline-block;
}
.s32-btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 0 23px;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid #111;
  transition:
    transform 0.25s ease,
    background 0.25s ease,
    color 0.25s ease;
}
.s32-btn:hover {
  transform: translateY(-2px);
}
.s32-btn-yellow {
  background: var(--s32-yellow);
  color: #111;
  border-color: var(--s32-yellow);
}
.s32-btn-yellow:hover {
  background: #111;
  color: var(--s32-yellow);
  border-color: #111;
}
.s32-btn-line {
  background: rgba(255, 255, 255, 0.74);
  color: #111;
}
.s32-text-link {
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.s32-text-link span {
  margin-left: 8px;
}

/* HERO */
.s32-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #fff;
  color: #111;
  padding: 118px 0 0;
  min-height: 780px;
  border-bottom: 1px solid var(--s32-line);
}
.s32-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(
      circle at 79% 49%,
      rgba(253, 209, 3, 0.36),
      transparent 29%
    ),
    linear-gradient(120deg, #fff 0 48%, #fff9d8 48% 62%, #fff 62% 100%);
}
.s32-hero-brush {
  position: absolute;
  z-index: -1;
  background: var(--s32-yellow);
  opacity: 0.96;
  transform: skewX(-18deg) rotate(-8deg);
}
.s32-hero-brush::after {
  content: "";
  position: absolute;
  inset: 17% -3% 16% 8%;
  background: #fff;
  opacity: 0.22;
  clip-path: polygon(0 28%, 100% 0, 88% 35%, 100% 58%, 10% 100%);
}
.s32-hero .brush-a {
  width: 56vw;
  height: 88px;
  right: -6vw;
  top: 185px;
}
.s32-hero .brush-b {
  width: 48vw;
  height: 130px;
  right: -9vw;
  bottom: 155px;
  transform: skewX(-20deg) rotate(8deg);
  opacity: 0.75;
}
.s32-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(520px, 1.18fr);
  align-items: end;
  min-height: 580px;
  gap: 40px;
}
.s32-hero-copy {
  align-self: center;
  padding: 36px 0 76px;
  position: relative;
  z-index: 4;
  max-width: 610px;
}
.s32-kicker {
  margin-bottom: 18px;
}
.s32-hero-title {
  font-size: clamp(4.7rem, 7.2vw, 7.8rem) !important;
  color: #111;
  display: grid;
  justify-items: start;
}
.s32-hero-title span,
.s32-hero-title strong,
.s32-hero-title small,
.s32-hero-title mark {
  display: block;
}
.s32-hero-title span {
  font-size: 0.78em;
}
.s32-hero-title mark {
  background: var(--s32-yellow);
  color: #111;
  padding: 0.03em 0.12em 0.08em;
  margin: 0.03em 0;
  transform: rotate(-1deg);
}
.s32-hero-title small {
  font-size: 0.43em;
  letter-spacing: 0.02em;
  margin-top: 0.12em;
}
.s32-hero-title strong {
  font-size: 1.06em;
  font-weight: inherit;
}
.s32-hero-copy > p {
  font-size: 1.03rem;
  line-height: 1.55;
  max-width: 500px;
  margin: 23px 0 25px;
  color: #2d2d2d;
}
.s32-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.s32-hero-art {
  position: relative;
  min-height: 610px;
  align-self: end;
  isolation: isolate;
}
.s32-sun {
  position: absolute;
  width: 390px;
  aspect-ratio: 1;
  border-radius: 50%;
  right: 9%;
  bottom: 12%;
  background: radial-gradient(
    circle,
    #ffe875 0 18%,
    var(--s32-yellow) 48%,
    rgba(253, 209, 3, 0.16) 70%,
    transparent 72%
  );
  z-index: -2;
}
.s32-city {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 13px;
  height: 190px;
  display: flex;
  align-items: flex-end;
  gap: 7px;
  z-index: -1;
  opacity: 0.33;
  padding-inline: 4%;
}
.s32-city i {
  height: var(--h);
  flex: 1;
  background: #111;
  position: relative;
  clip-path: polygon(5% 7%, 91% 0, 100% 100%, 0 100%);
}
.s32-city i:nth-child(3)::before,
.s32-city i:nth-child(7)::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -34px;
  width: 2px;
  height: 38px;
  background: #111;
}
.s32-player {
  position: absolute;
  bottom: 10px;
  object-fit: contain;
  object-position: bottom center;
  filter: none !important;
}
.s32-player-a {
  height: 86%;
  left: 13%;
  z-index: 2;
}
.s32-player-b {
  height: 76%;
  right: 2%;
  z-index: 3;
}
.s32-handnote {
  position: absolute;
  right: 0;
  top: 18%;
  font-family: cursive;
  font-size: clamp(1.65rem, 2.6vw, 2.8rem);
  font-weight: 900;
  line-height: 0.86;
  transform: rotate(-7deg);
  z-index: 5;
  text-align: left;
}
.s32-handnote b {
  font-size: 0.62em;
  font-weight: 900;
}

.s32-facts {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(17, 17, 17, 0.12);
  box-shadow: 0 12px 40px rgba(17, 17, 17, 0.06);
  margin-bottom: 0;
}
.s32-facts > div {
  min-height: 104px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 20px 24;
  border-right: 1px solid var(--s32-line);
}
.s32-facts > div:last-child {
  border-right: 0;
}
.s32-fact-icon {
  font-family: var(--display);
  font-size: 2rem;
  line-height: 1;
  color: #111;
  min-width: 36px;
  text-align: center;
}
.s32-facts p {
  margin: 0;
}
.s32-facts b {
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.05em;
}
.s32-facts small {
  display: block;
  font-size: 0.56rem;
  letter-spacing: 0.08em;
  color: #6c6c6c;
  margin-top: 3px;
}

/* DESTINATION */
.s32-destination {
  position: relative;
  overflow: hidden;
  padding: 88px 0;
  background: var(--s32-paper);
  color: #111;
  border-bottom: 1px solid var(--s32-line);
}
.s32-destination::before,
.s32-destination::after {
  content: "";
  position: absolute;
  background: var(--s32-yellow);
  z-index: 0;
}
.s32-destination::before {
  width: 320px;
  height: 50px;
  left: -80px;
  top: 46px;
  transform: rotate(-21deg);
}
.s32-destination::after {
  width: 380px;
  height: 40px;
  right: -100px;
  bottom: 38px;
  transform: rotate(-14deg);
}
.s32-destination-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 0.84fr 1.45fr 0.7fr;
  gap: 48px;
  align-items: center;
}
.s32-destination-copy h2 {
  font-size: clamp(3.4rem, 5.8vw, 6.2rem) !important;
  color: #111;
}
.s32-destination-copy h2 span {
  color: #111;
  background: var(--s32-yellow);
  padding: 0 0.08em;
}
.s32-destination-copy p {
  max-width: 390px;
  margin: 20px 0 24px;
  color: #444;
}
.s32-nairobi-scene {
  position: relative;
  min-height: 380px;
  background: linear-gradient(180deg, #fff 0, #f2f2ed 60%, #fff 100%);
  overflow: hidden;
  border: 1px solid var(--s32-line);
}
.s32-nairobi-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 72% 56%,
      rgba(253, 209, 3, 0.23),
      transparent 28%
    ),
    linear-gradient(
      145deg,
      transparent 62%,
      rgba(253, 209, 3, 0.11) 62% 68%,
      transparent 68%
    );
  pointer-events: none;
}
.s32-nairobi-note {
  position: absolute;
  right: 8%;
  top: 10%;
  font-family: cursive;
  font-size: clamp(2rem, 3.2vw, 3.6rem);
  font-weight: 900;
  line-height: 0.82;
  transform: rotate(-6deg);
  z-index: 3;
}
.s32-nairobi-note span {
  font-size: 0.7em;
}
.s32-skyline-art {
  position: absolute;
  left: 4%;
  right: 4%;
  bottom: 0;
  height: 74%;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 0 7%;
  filter: grayscale(1);
}
.s32-skyline-art::before {
  content: "";
  position: absolute;
  width: 160px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--s32-yellow);
  right: 13%;
  bottom: 14%;
  opacity: 0.65;
  z-index: -1;
}
.s32-skyline-art .tower {
  display: block;
  background: #333;
  width: 10%;
  height: 45%;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
  position: relative;
}
.s32-skyline-art .t1 {
  height: 31%;
}
.s32-skyline-art .t2 {
  height: 58%;
  width: 9%;
}
.s32-skyline-art .t3 {
  height: 80%;
  width: 11%;
}
.s32-skyline-art .t3::before {
  content: "";
  position: absolute;
  left: 48%;
  top: -50px;
  width: 2px;
  height: 50px;
  background: #333;
}
.s32-skyline-art .t4 {
  height: 47%;
}
.s32-skyline-art .t5 {
  height: 61%;
}
.s32-skyline-art .t6 {
  height: 36%;
}
.s32-skyline-art .t7 {
  height: 69%;
  width: 8%;
  border-radius: 46% 46% 0 0;
}
.s32-skyline-art .t8 {
  height: 43%;
}
.s32-skyline-art .t9 {
  height: 32%;
}
.s32-destination-points {
  border-left: 1px solid var(--s32-line);
}
.s32-destination-points > div {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 8px;
  padding: 22px 0 22px 22px;
  border-bottom: 1px solid var(--s32-line);
}
.s32-destination-points > div:last-child {
  border-bottom: 0;
}
.s32-destination-points b {
  font-family: var(--display);
  font-size: 1.7rem;
  color: var(--s32-yellow);
  -webkit-text-stroke: 1px #111;
}
.s32-destination-points span {
  font-size: 0.73rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* SECTION HEAD */
.s32-section-head {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 32px;
  align-items: end;
  margin-bottom: 28px;
}
.s32-section-head h2 {
  font-size: clamp(3rem, 4.5vw, 4.9rem) !important;
  color: #111;
}
.s32-section-head > p {
  margin: 0;
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.5;
  text-align: right;
  color: #595959;
}
.s32-section-head > p strong {
  color: #111;
}

/* TEAMS */
.s32-teams {
  position: relative;
  padding: 88px 0 98px;
  background: #fff;
  color: #111;
  overflow: hidden;
}
.s32-teams::before {
  content: "";
  position: absolute;
  left: -100px;
  top: 170px;
  width: 220px;
  height: 36px;
  background: var(--s32-yellow);
  transform: rotate(-35deg);
}
.s32-team-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}
.s32-team-card {
  position: relative;
  min-height: 385px;
  padding: 22px 18px 20px;
  overflow: hidden;
  border: 1px solid var(--s32-line);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: #fff;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
.s32-team-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 20px 40px rgba(17, 17, 17, 0.08);
}
.s32-team-card::before {
  content: "";
  position: absolute;
  inset: 0 0 42%;
  background: linear-gradient(
    155deg,
    transparent 0 26%,
    rgba(17, 17, 17, 0.05) 26% 35%,
    transparent 35% 47%,
    rgba(17, 17, 17, 0.07) 47% 54%,
    transparent 54%
  );
}
.s32-team-card.accent-yellow {
  background: linear-gradient(180deg, #fff8c9 0, #fff 70%);
}
.s32-team-card.accent-yellow::after {
  content: "";
  position: absolute;
  right: -40%;
  top: 10%;
  width: 120%;
  height: 56%;
  background: var(--s32-yellow);
  opacity: 0.38;
  transform: rotate(-18deg);
  z-index: 0;
}
.s32-team-num {
  position: absolute;
  top: 8px;
  left: 12px;
  font-family: var(--display);
  font-size: 5.3rem;
  line-height: 1;
  color: rgba(17, 17, 17, 0.055);
  z-index: 1;
}
.s32-player-mark {
  position: absolute;
  left: 50%;
  top: 33%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 108px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #111;
  color: #fff;
  display: grid;
  place-items: center;
  font-family: var(--display);
  font-size: 5.6rem;
  box-shadow: 0 0 0 9px rgba(253, 209, 3, 0.35);
}
.s32-team-card > div:last-child {
  position: relative;
  z-index: 3;
  border-top: 2px solid #111;
  padding-top: 14px;
}
.s32-team-card small {
  font-size: 0.55rem;
  font-weight: 900;
  letter-spacing: 0.18em;
}
.s32-team-card h3 {
  font-family: var(--display);
  font-size: 2.05rem;
  line-height: 0.9;
  margin: 6px 0;
  color: #111;
}
.s32-team-card p {
  font-size: 0.52rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  margin: 0;
  color: #6d6d6d;
}

/* PAST SEASONS */
.s32-past {
  padding: 88px 0 100px;
  background: var(--s32-paper);
  color: #111;
  border-top: 1px solid var(--s32-line);
  border-bottom: 1px solid var(--s32-line);
}
.s32-past-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.s32-past-card {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  background: #111;
  color: #fff;
  border: 1px solid var(--s32-line);
}
.s32-past-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center top !important;
  transition: transform 0.55s ease;
  filter: saturate(0.9) contrast(1.04);
}
.s32-past-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(17, 17, 17, 0) 22%,
    rgba(17, 17, 17, 0.25) 55%,
    rgba(17, 17, 17, 0.92) 100%
  );
}
.s32-past-card:hover img {
  transform: scale(1.035);
}
.s32-past-card > div {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 20px;
  z-index: 2;
}
.s32-past-card small {
  font-size: 0.58rem;
  letter-spacing: 0.15em;
  font-weight: 900;
}
.s32-past-card h3 {
  font-family: var(--display);
  font-size: 2.35rem;
  line-height: 0.9;
  margin: 5px 0;
  color: #fff;
}
.s32-past-card b {
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  color: var(--s32-yellow);
}
.s32-past-card span {
  float: right;
  width: 36px;
  height: 36px;
  background: var(--s32-yellow);
  color: #111;
  display: grid;
  place-items: center;
  font-weight: 900;
  margin-top: -5px;
}

/* NEWS */
.s32-news {
  padding: 88px 0 92px;
  background: #fff;
  color: #111;
}
.s32-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.s32-news-card {
  border: 1px solid var(--s32-line);
  background: #fff;
  display: grid;
  grid-template-rows: 220px 1fr;
  min-height: 390px;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
.s32-news-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 42px rgba(17, 17, 17, 0.08);
}
.s32-news-card > img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center !important;
}
.s32-news-card > div {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
}
.s32-news-card small {
  font-size: 0.55rem;
  font-weight: 950;
  letter-spacing: 0.14em;
  color: #8a6e00;
}
.s32-news-card h3 {
  font-family: var(--display);
  font-size: 1.7rem;
  line-height: 0.96;
  margin: 9px 0 16px;
  color: #111;
}
.s32-news-card span {
  margin-top: auto;
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* PARTNERSHIP CATEGORIES */
.s32-partners {
  padding: 40px 0 62px;
  background: var(--s32-paper);
  color: #111;
  border-top: 1px solid var(--s32-line);
  border-bottom: 1px solid var(--s32-line);
}
.s32-partner-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}
.s32-partner-head h2 {
  font-family: var(--display);
  font-size: 2.35rem;
  margin: 0;
  line-height: 0.95;
  color: #111;
}
.s32-partner-strip {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border: 1px solid var(--s32-line);
  background: #fff;
}
.s32-partner-strip span {
  min-height: 88px;
  display: grid;
  place-items: center;
  border-right: 1px solid var(--s32-line);
  font-family: var(--display);
  font-size: 1.25rem;
  letter-spacing: 0.02em;
}
.s32-partner-strip span:last-child {
  border-right: 0;
}
.s32-partner-strip span:nth-child(odd) {
  background: linear-gradient(180deg, #fff, #fffdf1);
}

/* COMMUNITY */
.s32-community {
  padding: 0;
  background: #fff;
  color: #111;
  overflow: hidden;
}
.s32-community-grid {
  width: 100% !important;
  max-width: none !important;
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: 0;
}
.s32-community-copy {
  padding: 76px max(42px, calc((100vw - 1380px) / 2 + 35px));
  padding-right: 54px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
}
.s32-community-copy h2 {
  font-size: clamp(3.1rem, 4.7vw, 5rem) !important;
  color: #111;
  margin-top: 7px;
}
.s32-community-copy h2 span {
  color: #111;
  background: var(--s32-yellow);
  padding: 0 0.08em;
}
.s32-community-copy p {
  max-width: 520px;
  color: #444;
  margin: 20px 0 24px;
}
.s32-community-media {
  position: relative;
  min-height: 460px;
  overflow: hidden;
  background: var(--s32-yellow);
}
.s32-community-media img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center 38% !important;
  filter: grayscale(0.3) saturate(0.8) contrast(1.06);
}
.s32-community-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(253, 209, 3, 0.72),
    rgba(253, 209, 3, 0.12) 48%,
    rgba(255, 255, 255, 0)
  );
  mix-blend-mode: multiply;
}
.s32-community-note {
  position: absolute;
  right: 5%;
  top: 16%;
  z-index: 2;
  font-family: cursive;
  font-size: clamp(2.1rem, 3.5vw, 4rem);
  font-weight: 900;
  line-height: 0.82;
  transform: rotate(-7deg);
  color: #111;
  text-align: right;
}
.s32-community-note b {
  background: var(--s32-yellow);
  padding: 0 0.12em;
}

/* Footer: full yellow, clean and editorial. */
.s32-home .footer.s32-footer {
  background: var(--s32-yellow) !important;
  color: #111 !important;
  padding: 42px 0 22px !important;
  border-top: 0 !important;
}
.s32-footer .footer-logo {
  width: 110px !important;
  height: auto !important;
  background: transparent !important;
  padding: 0 !important;
  filter: none !important;
  box-shadow: none !important;
}
.s32-footer-main {
  display: grid;
  grid-template-columns: 240px 1fr auto;
  gap: 40px;
  align-items: center;
}
.s32-footer-brand p {
  font-family: var(--display);
  font-size: 1.1rem;
  margin: 10px 0 0;
}
.s32-footer-links {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}
.s32-footer-links a {
  font-size: 0.62rem !important;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #111 !important;
  opacity: 1 !important;
}
.s32-footer-social {
  display: flex;
  gap: 16px;
  font-family: var(--display);
  font-size: 1rem;
}
.s32-footer-bottom {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(17, 17, 17, 0.18);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 0.58rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

/* RESPONSIVE */
@media (max-width: 1180px) {
  .s32-hero-grid {
    grid-template-columns: 0.9fr 1.1fr;
    gap: 16px;
  }
  .s32-hero-title {
    font-size: clamp(4.1rem, 7vw, 6rem) !important;
  }
  .s32-player-a {
    left: 5%;
    height: 80%;
  }
  .s32-player-b {
    height: 70%;
    right: 0;
  }
  .s32-handnote {
    right: -1%;
    top: 12%;
  }
  .s32-destination-grid {
    grid-template-columns: 0.8fr 1.2fr;
  }
  .s32-destination-points {
    grid-column: 1/-1;
    border-left: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--s32-line);
  }
  .s32-destination-points > div {
    padding: 18px;
    border-right: 1px solid var(--s32-line);
    border-bottom: 0;
  }
  .s32-destination-points > div:last-child {
    border-right: 0;
  }
  .s32-team-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .s32-team-card {
    min-height: 330px;
  }
  .s32-partner-strip {
    grid-template-columns: repeat(3, 1fr);
  }
  .s32-partner-strip span:nth-child(3) {
    border-right: 0;
  }
  .s32-partner-strip span:nth-child(-n + 3) {
    border-bottom: 1px solid var(--s32-line);
  }
}

@media (max-width: 900px) {
  .s32-hero {
    padding-top: 105px;
  }
  .s32-hero-grid {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .s32-hero-copy {
    padding: 36px 0 20px;
    max-width: 680px;
  }
  .s32-hero-title {
    font-size: clamp(4rem, 9.7vw, 6.2rem) !important;
  }
  .s32-hero-copy > p {
    max-width: 560px;
  }
  .s32-hero-art {
    min-height: 500px;
  }
  .s32-player-a {
    height: 92%;
    left: 22%;
  }
  .s32-player-b {
    height: 78%;
    right: 10%;
  }
  .s32-sun {
    right: 18%;
    bottom: 6%;
    width: 330px;
  }
  .s32-handnote {
    right: 4%;
    top: 12%;
  }
  .s32-city {
    height: 160px;
  }
  .s32-facts {
    grid-template-columns: 1fr 1fr;
    margin-top: 0;
  }
  .s32-facts > div:nth-child(2) {
    border-right: 0;
  }
  .s32-facts > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--s32-line);
  }
  .s32-destination-grid {
    grid-template-columns: 1fr;
  }
  .s32-destination-copy {
    max-width: 620px;
  }
  .s32-nairobi-scene {
    min-height: 360px;
  }
  .s32-destination-points {
    grid-template-columns: 1fr 1fr;
  }
  .s32-destination-points > div:nth-child(2) {
    border-right: 0;
  }
  .s32-destination-points > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--s32-line);
  }
  .s32-section-head {
    grid-template-columns: 1fr auto;
  }
  .s32-section-head > p {
    grid-row: 2;
    grid-column: 1;
    text-align: left;
  }
  .s32-section-head > a {
    grid-column: 2;
    grid-row: 1/3;
    align-self: center;
  }
  .s32-past-grid,
  .s32-news-grid {
    grid-template-columns: 1fr;
  }
  .s32-past-card {
    min-height: 360px;
  }
  .s32-news-card {
    grid-template-columns: 44% 1fr;
    grid-template-rows: 1fr;
    min-height: 230px;
  }
  .s32-news-card > div {
    padding: 24px;
  }
  .s32-community-grid {
    grid-template-columns: 1fr;
  }
  .s32-community-copy {
    padding: 70px clamp(26px, 6vw, 60px);
  }
  .s32-community-media {
    min-height: 390px;
  }
  .s32-footer-main {
    grid-template-columns: 1fr 1fr;
  }
  .s32-footer-links {
    grid-column: 1/-1;
    grid-row: 2;
    justify-content: flex-start;
  }
  .s32-footer-social {
    justify-content: flex-end;
  }
}

@media (max-width: 680px) {
  body.s32-home .container {
    width: min(100% - 32px, 1380px);
  }
  .s32-hero {
    padding-top: 88px;
    min-height: 0;
  }
  .s32-hero::before {
    background: linear-gradient(180deg, #fff 0 60%, #fff7c9 60% 100%);
  }
  .s32-hero .brush-a {
    width: 110vw;
    right: -45vw;
    top: 390px;
    height: 58px;
  }
  .s32-hero .brush-b {
    display: none;
  }
  .s32-hero-copy {
    padding: 28px 0 6px;
  }
  .s32-kicker {
    font-size: 0.58rem;
    letter-spacing: 0.16em;
    margin-bottom: 13px;
  }
  .s32-hero-title {
    font-size: clamp(3.2rem, 15vw, 4.65rem) !important;
    line-height: 0.9;
  }
  .s32-hero-title span {
    font-size: 0.72em;
  }
  .s32-hero-copy > p {
    font-size: 0.94rem;
    line-height: 1.48;
    margin: 18px 0 20px;
    max-width: 440px;
  }
  .s32-actions {
    display: grid;
    grid-template-columns: 1fr;
    max-width: 360px;
  }
  .s32-btn {
    width: 100%;
    min-height: 48px;
    justify-content: space-between;
    padding-inline: 18px;
  }
  .s32-hero-art {
    min-height: 430px;
  }
  .s32-player-a {
    height: 78%;
    left: 5%;
  }
  .s32-player-b {
    height: 66%;
    right: -2%;
  }
  .s32-sun {
    width: 260px;
    right: 9%;
    bottom: 7%;
  }
  .s32-handnote {
    font-size: 1.6rem;
    right: 1%;
    top: 12%;
  }
  .s32-city {
    height: 120px;
    bottom: 0;
  }
  .s32-facts {
    width: 100% !important;
    grid-template-columns: 1fr 1fr;
  }
  .s32-facts > div {
    min-height: 90px;
    padding: 15px 14px;
    gap: 9px;
  }
  .s32-fact-icon {
    font-size: 1.5rem;
    min-width: 28px;
  }
  .s32-facts b {
    font-size: 0.66rem;
  }
  .s32-facts small {
    font-size: 0.48rem;
  }
  .s32-destination {
    padding: 66px 0;
  }
  .s32-destination-copy h2 {
    font-size: clamp(3.4rem, 15vw, 4.9rem) !important;
  }
  .s32-destination-copy p {
    font-size: 0.93rem;
  }
  .s32-nairobi-scene {
    min-height: 300px;
  }
  .s32-nairobi-note {
    font-size: 2.2rem;
    right: 5%;
  }
  .s32-destination-points {
    grid-template-columns: 1fr;
  }
  .s32-destination-points > div {
    border-right: 0 !important;
    border-bottom: 1px solid var(--s32-line) !important;
    padding: 16px 4px;
  }
  .s32-destination-points > div:last-child {
    border-bottom: 0 !important;
  }
  .s32-teams,
  .s32-past,
  .s32-news {
    padding: 68px 0;
  }
  .s32-section-head {
    display: block;
    margin-bottom: 22px;
  }
  .s32-section-head h2 {
    font-size: clamp(2.8rem, 12vw, 3.8rem) !important;
  }
  .s32-section-head > p {
    margin-top: 10px !important;
    text-align: left;
  }
  .s32-section-head > a {
    display: inline-block;
    margin-top: 14px;
  }
  .s32-team-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .s32-team-card {
    min-height: 265px;
    padding: 14px 12px;
  }
  .s32-team-num {
    font-size: 3.5rem;
  }
  .s32-player-mark {
    width: 72px;
    font-size: 3.7rem;
    box-shadow: 0 0 0 6px rgba(253, 209, 3, 0.35);
  }
  .s32-team-card h3 {
    font-size: 1.55rem;
  }
  .s32-team-card p {
    font-size: 0.44rem;
    letter-spacing: 0.08em;
  }
  .s32-past-card {
    min-height: 280px;
  }
  .s32-past-card h3 {
    font-size: 1.9rem;
  }
  .s32-news-grid {
    gap: 10px;
  }
  .s32-news-card {
    grid-template-columns: 1fr;
    grid-template-rows: 190px auto;
    min-height: 0;
  }
  .s32-news-card > div {
    padding: 17px 18px;
  }
  .s32-news-card h3 {
    font-size: 1.55rem;
  }
  .s32-partners {
    padding: 34px 0 46px;
  }
  .s32-partner-head {
    display: block;
  }
  .s32-partner-head > a {
    display: inline-block;
    margin-top: 12px;
  }
  .s32-partner-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .s32-partner-strip span {
    min-height: 74px;
    border-right: 1px solid var(--s32-line) !important;
    border-bottom: 1px solid var(--s32-line) !important;
    font-size: 1.05rem;
  }
  .s32-partner-strip span:nth-child(even) {
    border-right: 0 !important;
  }
  .s32-partner-strip span:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }
  .s32-community-copy {
    padding: 60px 24px;
  }
  .s32-community-copy h2 {
    font-size: clamp(3rem, 13vw, 4rem) !important;
  }
  .s32-community-media {
    min-height: 330px;
  }
  .s32-community-note {
    font-size: 2rem;
    right: 4%;
    top: 10%;
  }
  .s32-home .footer.s32-footer {
    padding: 36px 0 20px !important;
  }
  .s32-footer-main {
    display: block;
  }
  .s32-footer-brand {
    display: flex;
    align-items: center;
    gap: 18px;
  }
  .s32-footer-brand p {
    margin: 0;
  }
  .s32-footer-links {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  .s32-footer-social {
    margin-top: 24px;
    justify-content: flex-start;
  }
  .s32-footer-bottom {
    display: block;
  }
  .s32-footer-bottom span {
    display: block;
    margin-top: 8px;
  }
}

@media (max-width: 380px) {
  .s32-hero-title {
    font-size: clamp(2.95rem, 14.4vw, 3.65rem) !important;
  }
  .s32-hero-art {
    min-height: 390px;
  }
  .s32-player-a {
    left: 0;
    height: 74%;
  }
  .s32-player-b {
    height: 62%;
    right: -5%;
  }
  .s32-handnote {
    font-size: 1.38rem;
  }
  .s32-facts > div {
    padding: 13px 10px;
  }
  .s32-facts b {
    font-size: 0.6rem;
  }
  .s32-facts small {
    font-size: 0.44rem;
  }
  .s32-team-card {
    min-height: 245px;
  }
  .s32-team-card h3 {
    font-size: 1.35rem;
  }
}

/* ======================================================================
   V7.33 — USER-SUPPLIED CAMPAIGN ASSETS
   Only sections with supplied artwork are updated/added here.
   Unsupplied V7.32 sections remain unchanged.
   ====================================================================== */

.s33-art-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.s33-art-bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover !important;
  object-position: center !important;
}

/* Asset 1 — responsive homepage hero */
.s33-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(720px, 46.9vw, 900px);
  padding-top: 96px;
  background: #fbfbf7;
  color: #111;
}
.s33-hero-inner {
  position: relative;
  z-index: 2;
  min-height: clamp(590px, 39vw, 750px);
  display: flex;
  align-items: center;
}
.s33-hero-copy {
  width: min(560px, 43vw);
  margin-left: clamp(16px, 2.2vw, 34px);
  padding: 28px 0 68px;
  color: #111;
}
.s33-hero-copy .s32-kicker {
  color: #111 !important;
}
.s33-hero-title {
  margin: 0;
  color: #111 !important;
  font-size: clamp(4.35rem, 6.25vw, 7.1rem) !important;
  line-height: 0.82 !important;
  letter-spacing: -0.025em;
}
.s33-hero-title span {
  display: inline-block;
  margin: 0.06em 0 0.03em;
  padding: 0.02em 0.09em 0.055em;
  background: #fdd103;
  color: #111 !important;
}
.s33-hero-title small {
  display: block;
  margin: 0.2em 0 0.08em;
  font-size: 0.38em;
  letter-spacing: 0.035em;
  color: #111 !important;
}
.s33-hero-copy > p {
  max-width: 470px;
  margin: 22px 0 24px;
  color: #111 !important;
  font-size: 1rem;
  line-height: 1.52;
}
.s33-hero .s32-btn-line {
  color: #111 !important;
  border-color: #111 !important;
  background: rgba(255, 255, 255, 0.76);
}
.s33-facts {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(calc(100% - 80px), 1380px) !important;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Asset 2 — Nairobi destination artwork */
.s33-destination {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(560px, 37.5vw, 720px);
  background: #fbfbf7;
  color: #111;
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}
.s33-destination-inner {
  position: relative;
  z-index: 2;
  min-height: clamp(560px, 37.5vw, 720px);
  display: flex;
  align-items: center;
}
.s33-destination-copy {
  width: min(470px, 34vw);
  padding-left: clamp(16px, 2vw, 30px);
}
.s33-destination-copy h2 {
  margin: 4px 0 0;
  color: #111 !important;
  font-size: clamp(3.25rem, 5vw, 5.75rem) !important;
  line-height: 0.84 !important;
}
.s33-destination-copy h2 span {
  display: inline-block;
  color: #111 !important;
  background: #fdd103;
  padding: 0 0.08em 0.05em;
}
.s33-destination-copy p {
  max-width: 400px;
  margin: 18px 0 24px;
  color: #111;
  font-size: 0.97rem;
  line-height: 1.5;
}

/* Asset 3 — previous-season captains */
.s33-captains {
  position: relative;
  overflow: hidden;
  padding: 84px 0 96px;
  background: #fff;
  color: #111;
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}
.s33-captains::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 34px;
  left: -80px;
  top: 135px;
  background: #fdd103;
  transform: rotate(-28deg);
  opacity: 0.85;
}
.s33-captain-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.s33-captain-card {
  margin: 0;
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/5;
  background: #fbfbf7;
  border: 1px solid rgba(17, 17, 17, 0.12);
  box-shadow: 0 12px 32px rgba(17, 17, 17, 0.055);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}
.s33-captain-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 42px rgba(17, 17, 17, 0.1);
}
.s33-captain-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center !important;
}

/* Asset 6 — 90-ball difference feature */
.s33-difference {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(620px, 44.27vw, 850px);
  background: #fbfbf7;
  color: #111;
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}
.s33-difference-inner {
  position: relative;
  z-index: 2;
  min-height: clamp(620px, 44.27vw, 850px);
  display: flex;
  align-items: center;
}
.s33-difference-copy {
  width: min(590px, 43vw);
  padding-left: clamp(16px, 2vw, 30px);
}
.s33-difference-copy h2 {
  margin: 5px 0 0;
  color: #111 !important;
  font-size: clamp(3.7rem, 5.8vw, 6.6rem) !important;
  line-height: 0.82 !important;
}
.s33-difference-copy h2 span {
  color: #e7b900 !important;
}
.s33-difference-copy p {
  margin: 18px 0 24px;
  color: #111;
  font-size: 1rem;
  line-height: 1.5;
}

/* Asset 7 — full-width Season 4 teaser */
.s33-teaser {
  position: relative;
  overflow: hidden;
  background: #fbfbf7;
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}
.s33-teaser-link,
.s33-teaser picture,
.s33-teaser img {
  display: block;
  width: 100%;
}
.s33-teaser img {
  height: auto !important;
  object-fit: contain !important;
}
.s33-teaser-link {
  transition: filter 0.3s ease;
}
.s33-teaser-link:hover {
  filter: brightness(0.985) saturate(1.025);
}

/* Asset 12 — closing homepage CTA */
.s33-final-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(470px, 33.86vw, 650px);
  background: #fbfbf7;
  color: #111;
}
.s33-final-inner {
  position: relative;
  z-index: 2;
  min-height: clamp(470px, 33.86vw, 650px);
  display: flex;
  align-items: center;
}
.s33-final-copy {
  width: min(560px, 39vw);
  padding-left: clamp(16px, 2vw, 30px);
}
.s33-final-copy h2 {
  margin: 5px 0 0;
  color: #111 !important;
  font-size: clamp(3.5rem, 5.5vw, 6.2rem) !important;
  line-height: 0.82 !important;
}
.s33-final-copy h2 span {
  display: inline-block;
  color: #111 !important;
  background: #fdd103;
  padding: 0 0.08em 0.05em;
}
.s33-final-copy p {
  margin: 18px 0 22px;
  color: #111;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.s33-dark-btn {
  background: #111 !important;
  color: #fdd103 !important;
  border: 1px solid #111 !important;
}

@media (max-width: 1024px) {
  .s33-hero {
    min-height: clamp(1080px, 111.1vw, 1600px);
    padding-top: 86px;
  }
  .s33-hero-inner {
    min-height: clamp(890px, 93vw, 1340px);
    align-items: flex-start;
  }
  .s33-hero-copy {
    width: min(670px, 82vw);
    margin-left: 0;
    padding: 52px 0 0;
  }
  .s33-hero-title {
    font-size: clamp(4rem, 8.1vw, 6.2rem) !important;
  }
  .s33-hero-copy > p {
    max-width: 530px;
  }
  .s33-facts {
    width: min(calc(100% - 48px), 960px) !important;
  }

  .s33-destination,
  .s33-destination-inner {
    min-height: clamp(650px, 62.5vw, 900px);
  }
  .s33-destination-inner {
    align-items: flex-start;
  }
  .s33-destination-copy {
    width: min(600px, 66vw);
    padding: 54px 0 0;
  }
  .s33-destination-copy h2 {
    font-size: clamp(3.2rem, 6.6vw, 5.3rem) !important;
  }

  .s33-captain-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .s33-difference,
  .s33-difference-inner {
    min-height: clamp(650px, 62.5vw, 900px);
  }
  .s33-difference-inner {
    align-items: flex-start;
  }
  .s33-difference-copy {
    width: min(650px, 68vw);
    padding: 58px 0 0;
  }
  .s33-difference-copy h2 {
    font-size: clamp(3.6rem, 7vw, 5.8rem) !important;
  }

  .s33-final-cta,
  .s33-final-inner {
    min-height: clamp(600px, 55.56vw, 800px);
  }
  .s33-final-inner {
    align-items: flex-start;
  }
  .s33-final-copy {
    width: min(620px, 66vw);
    padding: 58px 0 0;
  }
  .s33-final-copy h2 {
    font-size: clamp(3.4rem, 6.8vw, 5.5rem) !important;
  }
}

@media (max-width: 640px) {
  .s33-hero {
    min-height: calc(100vw * 1.7779);
    padding-top: 76px;
  }
  .s33-hero-inner {
    min-height: calc(100vw * 1.44);
    align-items: flex-start;
  }
  .s33-hero-copy {
    width: 92%;
    padding: 34px 0 0;
  }
  .s33-hero-title {
    font-size: clamp(3.05rem, 13vw, 4.25rem) !important;
    line-height: 0.84 !important;
  }
  .s33-hero-copy > p {
    font-size: 0.93rem;
    max-width: 90%;
    margin: 16px 0 18px;
  }
  .s33-hero .s32-actions {
    max-width: 320px;
    gap: 8px;
  }
  .s33-hero .s32-btn {
    min-height: 46px;
  }
  .s33-facts {
    width: 100% !important;
    left: 0;
    transform: none;
    grid-template-columns: 1fr 1fr !important;
    background: rgba(255, 255, 255, 0.96) !important;
  }

  .s33-destination,
  .s33-destination-inner {
    min-height: calc(100vw * 1.25);
  }
  .s33-destination-copy {
    width: 88%;
    padding: 32px 0 0;
  }
  .s33-destination-copy h2 {
    font-size: clamp(2.75rem, 12vw, 4rem) !important;
  }
  .s33-destination-copy p {
    max-width: 84%;
    font-size: 0.88rem;
    margin: 13px 0 16px;
  }
  .s33-destination-copy .s32-btn {
    width: auto;
    min-width: 180px;
  }

  .s33-captains {
    padding: 64px 0 72px;
  }
  .s33-captain-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .s33-captain-card {
    box-shadow: none;
  }

  .s33-difference,
  .s33-difference-inner {
    min-height: calc(100vw * 1.25);
  }
  .s33-difference-copy {
    width: 88%;
    padding: 32px 0 0;
  }
  .s33-difference-copy h2 {
    font-size: clamp(2.8rem, 12vw, 4.05rem) !important;
  }
  .s33-difference-copy p {
    font-size: 0.88rem;
    margin: 12px 0 16px;
  }
  .s33-difference-copy .s32-btn {
    width: auto;
    min-width: 205px;
  }

  .s33-final-cta,
  .s33-final-inner {
    min-height: calc(100vw * 1.0185);
  }
  .s33-final-copy {
    width: 86%;
    padding: 28px 0 0;
  }
  .s33-final-copy h2 {
    font-size: clamp(2.7rem, 11.5vw, 3.9rem) !important;
  }
  .s33-final-copy p {
    font-size: 0.78rem;
    margin: 12px 0 15px;
  }
  .s33-final-copy .s32-btn {
    width: auto;
    min-width: 165px;
  }
}

@media (max-width: 390px) {
  .s33-hero-copy {
    padding-top: 24px;
  }
  .s33-hero-title {
    font-size: clamp(2.7rem, 12.6vw, 3.45rem) !important;
  }
  .s33-hero-copy > p {
    font-size: 0.84rem;
    line-height: 1.4;
  }
  .s33-destination-copy h2,
  .s33-difference-copy h2 {
    font-size: clamp(2.5rem, 11.5vw, 3.25rem) !important;
  }
  .s33-final-copy h2 {
    font-size: clamp(2.45rem, 11vw, 3.1rem) !important;
  }
}

/* ======================================================================
   V7.34 — restrained typography, native-ratio campaign hero, V7.22 page polish
   ====================================================================== */

:root {
  --v734-body:
    "Helvetica Neue", Arial, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  --v734-display:
    "Arial Narrow", "Helvetica Neue Condensed", "Helvetica Neue", Arial,
    sans-serif;
}

body {
  font-family: var(--v734-body) !important;
}

/* Keep the campaign personality, but make large copy feel more controlled. */
body.s32-home .display,
.v734-page .display,
.v734-page .section-title,
.v734-page h1,
.v734-page h2,
.v734-page h3 {
  font-family: var(--v734-display) !important;
  font-weight: 900 !important;
  font-stretch: condensed;
}

/* --- Homepage hero: render each supplied banner at its true aspect ratio. --- */
.s33-hero {
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fbfbf7 !important;
}
.s34-hero-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1832 / 859;
  overflow: hidden;
  isolation: isolate;
  background: #fbfbf7;
}
.s34-hero-stage .s33-art-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}
.s34-hero-stage .s33-art-bg img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}
.s34-hero-stage .s33-hero-inner {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  padding-top: 82px !important;
  pointer-events: none;
}
.s34-hero-stage .s33-hero-copy {
  width: min(510px, 39vw) !important;
  margin-left: clamp(28px, 4.8vw, 92px) !important;
  padding: 0 !important;
  color: #111 !important;
  pointer-events: auto;
}
.s33-hero-title {
  font-size: clamp(3.35rem, 4.6vw, 5.35rem) !important;
  line-height: 0.88 !important;
  letter-spacing: -0.035em !important;
}
.s33-hero-title small {
  font-size: 0.32em !important;
  margin: 0.19em 0 0.06em !important;
}
.s33-hero-copy > p {
  max-width: 440px !important;
  margin: 16px 0 20px !important;
  font-size: clamp(0.92rem, 1vw, 1.04rem) !important;
  line-height: 1.46 !important;
}
.s33-hero .s32-actions {
  gap: 9px !important;
}
.s33-hero .s32-btn {
  min-height: 44px !important;
  padding: 0 18px !important;
  font-size: 0.68rem !important;
}

/* Facts are outside the artwork so the supplied banner is never covered or resized. */
.s33-facts {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: min(1380px, calc(100% - 2 * clamp(22px, 4vw, 70px))) !important;
  margin: 0 auto !important;
  background: #fff !important;
  border-top: 1px solid rgba(17, 17, 17, 0.12) !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.12) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* More restrained homepage section typography. */
.s32-section-head h2 {
  font-size: clamp(2.4rem, 3.45vw, 3.85rem) !important;
  line-height: 0.94 !important;
}
.s33-destination-copy h2 {
  font-size: clamp(2.75rem, 4.2vw, 4.55rem) !important;
  line-height: 0.9 !important;
}
.s33-difference-copy h2 {
  font-size: clamp(2.85rem, 4.4vw, 4.8rem) !important;
  line-height: 0.91 !important;
}
.s33-final-copy h2 {
  font-size: clamp(2.75rem, 3.5vw, 4.5rem) !important;
  line-height: 0.91 !important;
}
.s32-community-copy h2 {
  font-size: clamp(2.65rem, 3.5vw, 4.25rem) !important;
  line-height: 0.93 !important;
}
.s32-past-card h3 {
  font-size: clamp(1.55rem, 1.85vw, 2.05rem) !important;
  line-height: 0.95 !important;
}
.s32-news-card h3 {
  font-size: clamp(1.2rem, 1.35vw, 1.5rem) !important;
  line-height: 1.03 !important;
}
.s32-partner-head h2 {
  font-size: clamp(1.65rem, 2vw, 2.05rem) !important;
}
.s33-captains .s32-section-head h2 {
  font-size: clamp(2.2rem, 3.15vw, 3.45rem) !important;
}

/* --- Restored V7.22 internal pages, polished to current white/yellow language. --- */
.v734-page {
  background: #fff !important;
  color: #111 !important;
  font-size: 15.5px !important;
}
.v734-page main {
  background: #fff !important;
}
.v734-page .page-hero {
  min-height: clamp(360px, 35vw, 500px) !important;
  padding: clamp(118px, 11vw, 150px) 0 clamp(58px, 6vw, 86px) !important;
}
.v734-page .page-hero h1 {
  max-width: 760px !important;
  font-size: clamp(2.5rem, 4.3vw, 4.35rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.035em !important;
}
.v734-page .page-hero p {
  max-width: 600px !important;
  font-size: clamp(0.92rem, 1.05vw, 1.02rem) !important;
  line-height: 1.58 !important;
}
.v734-page .section {
  padding: clamp(62px, 7vw, 98px) 0 !important;
}
.v734-page .section-title {
  font-size: clamp(2.35rem, 3.9vw, 4rem) !important;
  line-height: 0.96 !important;
}
.v734-page .section h2.display:not(.section-title) {
  font-size: clamp(2.05rem, 3.25vw, 3.3rem) !important;
  line-height: 0.98 !important;
}
.v734-page h3 {
  line-height: 1.08 !important;
}
.v734-page p,
.v734-page .muted {
  font-size: clamp(0.88rem, 0.95vw, 0.98rem) !important;
  line-height: 1.6 !important;
}
.v734-page .eyebrow {
  font-size: 0.67rem !important;
  letter-spacing: 0.16em !important;
}
.v734-page .btn {
  min-height: 44px !important;
  padding: 0 18px !important;
  font-size: 0.67rem !important;
}
.v734-page .team-card-static {
  cursor: default !important;
}
.v734-page .team-card-static:hover {
  transform: none !important;
  border-color: rgba(17, 17, 17, 0.14) !important;
}
.v734-page .team-card-static .link {
  display: none !important;
}

/* Preserve the existing two-column team grid on phones. */
@media (max-width: 680px) {
  .v734-page .team-rail,
  .v734-page .season-team-grid,
  .v734-page .directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
}

/* Tablet campaign hero uses the native 1190 × 1322 artwork ratio. */
@media (min-width: 641px) and (max-width: 1024px) {
  .s34-hero-stage {
    aspect-ratio: 1190 / 1322 !important;
  }
  .s34-hero-stage .s33-hero-inner {
    align-items: flex-start !important;
    padding-top: 88px !important;
  }
  .s34-hero-stage .s33-hero-copy {
    width: min(560px, 68vw) !important;
    margin-left: clamp(28px, 5vw, 58px) !important;
    padding-top: clamp(32px, 4vw, 54px) !important;
  }
  .s33-hero-title {
    font-size: clamp(3.05rem, 6.3vw, 4.25rem) !important;
  }
  .s33-hero-copy > p {
    font-size: 0.96rem !important;
    max-width: 470px !important;
  }
  .s32-section-head h2 {
    font-size: clamp(2.25rem, 5vw, 3.35rem) !important;
  }
  .s33-destination-copy h2,
  .s33-difference-copy h2,
  .s33-final-copy h2,
  .s32-community-copy h2 {
    font-size: clamp(2.7rem, 5.8vw, 4rem) !important;
  }
  .v734-page .page-hero h1 {
    font-size: clamp(2.35rem, 5.6vw, 3.6rem) !important;
  }
  .v734-page .section-title {
    font-size: clamp(2.2rem, 5vw, 3.25rem) !important;
  }
}

/* Mobile campaign hero uses the native 941 × 1672 artwork ratio. */
@media (max-width: 640px) {
  .s34-hero-stage {
    aspect-ratio: 941 / 1672 !important;
  }
  .s34-hero-stage .s33-hero-inner {
    align-items: flex-start !important;
    padding-top: 76px !important;
  }
  .s34-hero-stage .s33-hero-copy {
    width: 86% !important;
    margin-left: clamp(20px, 6vw, 30px) !important;
    padding-top: clamp(20px, 5vw, 34px) !important;
  }
  .s33-hero-title {
    font-size: clamp(2.25rem, 10.4vw, 3.2rem) !important;
    line-height: 0.9 !important;
    max-width: 390px !important;
  }
  .s33-hero-copy > p {
    max-width: 330px !important;
    margin: 11px 0 14px !important;
    font-size: clamp(0.78rem, 3.5vw, 0.9rem) !important;
    line-height: 1.42 !important;
  }
  .s33-hero .s32-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    max-width: 340px !important;
  }
  .s33-hero .s32-btn {
    width: auto !important;
    min-height: 40px !important;
    padding: 0 13px !important;
    font-size: 0.56rem !important;
  }
  .s33-facts {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .s33-facts > div {
    min-height: 72px !important;
    padding: 11px 12px !important;
  }
  .s33-facts b {
    font-size: 0.68rem !important;
  }
  .s33-facts small {
    font-size: 0.49rem !important;
  }
  .s32-section-head h2 {
    font-size: clamp(1.95rem, 8.6vw, 2.7rem) !important;
  }
  .s33-destination-copy h2,
  .s33-difference-copy h2,
  .s33-final-copy h2,
  .s32-community-copy h2 {
    font-size: clamp(2.2rem, 9.2vw, 3rem) !important;
  }
  .s32-past-card h3 {
    font-size: 1.55rem !important;
  }
  .s32-news-card h3 {
    font-size: 1.25rem !important;
  }
  .v734-page {
    font-size: 15px !important;
  }
  .v734-page .page-hero {
    min-height: 330px !important;
    padding: 108px 0 52px !important;
  }
  .v734-page .page-hero h1 {
    font-size: clamp(2rem, 9.2vw, 2.75rem) !important;
    line-height: 0.98 !important;
  }
  .v734-page .page-hero p {
    font-size: 0.88rem !important;
    line-height: 1.52 !important;
  }
  .v734-page .section {
    padding: 54px 0 !important;
  }
  .v734-page .section-title {
    font-size: clamp(1.95rem, 8.5vw, 2.65rem) !important;
  }
  .v734-page .section h2.display:not(.section-title) {
    font-size: clamp(1.8rem, 7.6vw, 2.4rem) !important;
  }
}

@media (max-width: 390px) {
  .s34-hero-stage .s33-hero-copy {
    width: 90% !important;
    margin-left: 18px !important;
    padding-top: 16px !important;
  }
  .s33-hero-title {
    font-size: clamp(2.05rem, 10vw, 2.55rem) !important;
  }
  .s33-hero-copy > p {
    font-size: 0.78rem !important;
    max-width: 300px !important;
  }
  .s33-hero .s32-btn {
    font-size: 0.52rem !important;
    padding: 0 11px !important;
  }
  .v734-page .page-hero h1 {
    font-size: clamp(1.82rem, 8.8vw, 2.35rem) !important;
  }
}

/* ======================================================================
   V7.35 — approved first hero artwork, restored display face, captain logo overlap
   ====================================================================== */

:root {
  --display:
    "Helvetica NeueLTW0693BlkExtObl", Impact, Haettenschweiler,
    "Arial Narrow Bold", "Arial Narrow", sans-serif;
  --v734-display:
    "Helvetica NeueLTW0693BlkExtObl", Impact, Haettenschweiler,
    "Arial Narrow Bold", "Arial Narrow", sans-serif;
  --body:
    "Helvetica Neue", Inter, ui-sans-serif, system-ui, -apple-system,
    BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.display,
body.s32-home .display,
.v734-page .display,
.v734-page .section-title,
.v734-page h1,
.v734-page h2,
.v734-page h3,
.site-header .nav-links a,
.mobile-menu a,
.s32-btn,
.s32-text-link,
.s32-partner-head h2,
.s32-community-note,
.s32-footer-social,
.s32-footer-links a {
  font-family: var(--v734-display) !important;
  font-style: normal !important;
}

body,
p,
li,
small,
input,
textarea,
select,
label {
  font-family: var(--body) !important;
}

/* Slightly calmer type scale across the homepage. */
.s33-hero-title {
  font-size: clamp(3rem, 4.05vw, 4.85rem) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.028em !important;
}
.s33-hero-title small {
  font-size: 0.3em !important;
  letter-spacing: 0.03em !important;
}
.s33-hero-copy > p {
  font-size: clamp(0.88rem, 0.96vw, 0.98rem) !important;
  max-width: 420px !important;
}
.s33-hero .s32-btn {
  font-size: 0.63rem !important;
  letter-spacing: 0.08em !important;
}
.s32-section-head h2 {
  font-size: clamp(2.2rem, 3.1vw, 3.45rem) !important;
}
.s33-destination-copy h2,
.s33-difference-copy h2,
.s33-final-copy h2,
.s32-community-copy h2 {
  letter-spacing: -0.02em !important;
}
.s32-news-card h3 {
  font-size: clamp(1.12rem, 1.2vw, 1.34rem) !important;
}

/* Approved first-section banner — keep native ratio and safe left copy area. */
.s34-hero-stage {
  aspect-ratio: 1832 / 859 !important;
  background: #fbfbf7 !important;
}
.s34-hero-stage .s33-art-bg img {
  object-fit: contain !important;
  object-position: center center !important;
}
.s34-hero-stage .s33-hero-inner {
  padding-top: 84px !important;
}
.s34-hero-stage .s33-hero-copy {
  width: min(470px, 35vw) !important;
  margin-left: clamp(34px, 5.4vw, 108px) !important;
}

/* Captain cards use overlapping team logos like the approved reference. */
.s33-captains {
  padding-bottom: 118px !important;
}
.s33-captain-grid {
  gap: 18px !important;
}
.s33-captain-card {
  position: relative !important;
  overflow: visible !important;
  border: none !important;
  background: transparent !important;
  aspect-ratio: auto !important;
  box-shadow: none !important;
}
.s33-captain-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: none !important;
}
.s33-captain-poster {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 18px !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  box-shadow: 0 16px 30px rgba(17, 17, 17, 0.08) !important;
}
.s33-captain-team {
  position: absolute;
  z-index: 3;
  top: 14px;
  left: 16px;
  display: flex;
  flex-direction: column;
  gap: 0;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
  pointer-events: none;
}
.s33-captain-team span,
.s33-captain-team strong {
  font-family: var(--v734-display) !important;
  font-style: normal !important;
  text-transform: uppercase;
  line-height: 0.92;
}
.s33-captain-team span {
  font-size: clamp(1.2rem, 1.35vw, 1.55rem);
  letter-spacing: 0.01em;
}
.s33-captain-team strong {
  font-size: clamp(1.35rem, 1.55vw, 1.82rem);
  letter-spacing: 0.01em;
}
.s33-captain-badge {
  position: absolute;
  left: 50%;
  bottom: -46px;
  transform: translateX(-50%);
  width: 124px;
  height: 124px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.12);
  box-shadow: 0 18px 34px rgba(17, 17, 17, 0.14);
  display: grid;
  place-items: center;
  padding: 14px;
  z-index: 4;
}
.s33-captain-badge img.s33-captain-logo {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
}
.s33-captain-ny .s33-captain-badge,
.s33-captain-dd .s33-captain-badge {
  padding: 10px;
}

/* Desktop/tablet/mobile aspect ratios match the three supplied hero files exactly. */
@media (min-width: 641px) and (max-width: 1024px) {
  .s34-hero-stage {
    aspect-ratio: 1190 / 1322 !important;
  }
  .s34-hero-stage .s33-hero-copy {
    width: min(490px, 56vw) !important;
    margin-left: clamp(24px, 4vw, 58px) !important;
    padding-top: clamp(18px, 3vw, 44px) !important;
  }
  .s33-hero-title {
    font-size: clamp(2.85rem, 5.85vw, 3.95rem) !important;
  }
  .s33-hero-copy > p {
    max-width: 370px !important;
    font-size: 0.9rem !important;
  }
  .s33-captain-badge {
    width: 114px;
    height: 114px;
    bottom: -42px;
  }
}

@media (max-width: 640px) {
  .s34-hero-stage {
    aspect-ratio: 941 / 1672 !important;
  }
  .s34-hero-stage .s33-hero-inner {
    padding-top: 74px !important;
  }
  .s34-hero-stage .s33-hero-copy {
    width: 78% !important;
    margin-left: clamp(18px, 5vw, 24px) !important;
    padding-top: 14px !important;
  }
  .s33-hero-title {
    font-size: clamp(2.02rem, 9vw, 2.65rem) !important;
    max-width: 320px !important;
  }
  .s33-hero-copy > p {
    max-width: 290px !important;
    font-size: 0.77rem !important;
    margin: 10px 0 13px !important;
  }
  .s33-hero .s32-btn {
    font-size: 0.5rem !important;
    min-height: 38px !important;
    padding: 0 11px !important;
  }
  .s33-captains {
    padding-bottom: 90px !important;
  }
  .s33-captain-grid {
    gap: 14px 10px !important;
  }
  .s33-captain-team {
    top: 10px;
    left: 10px;
  }
  .s33-captain-team span {
    font-size: 1rem;
  }
  .s33-captain-team strong {
    font-size: 1.12rem;
  }
  .s33-captain-badge {
    width: 88px;
    height: 88px;
    bottom: -30px;
    padding: 10px;
  }
}

@media (max-width: 390px) {
  .s34-hero-stage .s33-hero-copy {
    width: 82% !important;
    margin-left: 16px !important;
  }
  .s33-hero-title {
    font-size: clamp(1.84rem, 9.6vw, 2.2rem) !important;
  }
  .s33-captain-team span {
    font-size: 0.9rem;
  }
  .s33-captain-team strong {
    font-size: 1rem;
  }
  .s33-captain-badge {
    width: 80px;
    height: 80px;
    bottom: -28px;
    padding: 9px;
  }
}

/* Small readability polish for V7.35 captain labels */
.s33-captain-team {
  background: rgba(17, 17, 17, 0.62);
  padding: 10px 12px 9px;
  border-radius: 10px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.s33-captain-dg .s33-captain-team {
  background: rgba(255, 255, 255, 0.78);
  color: #111;
  text-shadow: none;
}
.s33-captain-dr .s33-captain-team {
  background: rgba(15, 20, 54, 0.72);
}
.s33-captain-dd .s33-captain-team {
  background: rgba(44, 2, 2, 0.68);
}
.s33-captain-ny .s33-captain-team {
  background: rgba(64, 0, 85, 0.58);
}

/* ======================================================================
   V7.35 — INTERNAL PAGE CLARITY REDESIGN
   No photographic imagery behind internal-page headings.
   ====================================================================== */

.v734-page .page-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  min-height: clamp(360px, 31vw, 470px) !important;
  padding: clamp(124px, 10vw, 154px) 0 clamp(62px, 6vw, 88px) !important;
  background: #fbfbf7 !important;
  background-image: none !important;
  color: #111111 !important;
  border-bottom: 4px solid #fdd103 !important;
}

/* Remove all legacy photographic hero treatments. */
.v734-page .page-hero::before,
.v734-page .page-hero::after,
.v734-page[data-page="about"] .page-hero::after,
.v734-page[data-page="teams"] .page-hero::after,
.v734-page[data-page="matches"] .page-hero::after,
.v734-page[data-page="gallery"] .page-hero::after,
.v734-page[data-page="news"] .page-hero::after,
.v734-page[data-page="get"] .page-hero::after {
  background-image: none !important;
  animation: none !important;
  filter: none !important;
  transform: none !important;
}

/* Fresh CSS-only campaign accents — deliberately kept away from copy. */
.v734-page .page-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 0 0 auto !important;
  width: min(38vw, 560px) !important;
  height: 100% !important;
  opacity: 1 !important;
  background:
    radial-gradient(circle, rgba(17, 17, 17, 0.12) 1.15px, transparent 1.4px)
      84% 22% / 12px 12px,
    linear-gradient(
      135deg,
      transparent 0 21%,
      rgba(255, 255, 255, 0.58) 21.3% 22%,
      transparent 22.3% 37%,
      rgba(255, 255, 255, 0.34) 37.3% 38%,
      transparent 38.3%
    ),
    linear-gradient(145deg, #fae04c 0%, #fdd103 66%, #fad821 100%) !important;
  clip-path: polygon(
    34% 0,
    100% 0,
    100% 100%,
    0 100%,
    23% 64%,
    11% 43%
  ) !important;
  pointer-events: none !important;
}
.v734-page .page-hero::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 1 !important;
  right: clamp(22px, 4vw, 68px) !important;
  top: 50% !important;
  width: clamp(92px, 9vw, 142px) !important;
  height: clamp(92px, 9vw, 142px) !important;
  opacity: 0.19 !important;
  border: 2px solid #111111 !important;
  border-radius: 50% !important;
  background:
    linear-gradient(
      90deg,
      transparent 47%,
      #111 47% 49%,
      transparent 49% 52%,
      #111 52% 54%,
      transparent 54%
    ),
    linear-gradient(
      0deg,
      transparent 47%,
      #111 47% 49%,
      transparent 49% 52%,
      #111 52% 54%,
      transparent 54%
    ) !important;
  transform: translateY(-50%) rotate(-9deg) !important;
  pointer-events: none !important;
}

.v734-page .page-hero > .container {
  position: relative !important;
  z-index: 3 !important;
  width: min(var(--max), calc(100% - 2 * var(--edge))) !important;
}

/* Eliminate the oversized watermark behind headings. */
.v734-page .page-hero .big90 {
  display: none !important;
}

.v734-page .page-hero .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  margin: 0 0 16px !important;
  padding: 7px 11px 6px !important;
  background: #fdd103 !important;
  color: #111111 !important;
  border: 1px solid rgba(17, 17, 17, 0.08) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  line-height: 1 !important;
}
.v734-page .page-hero .eyebrow::before {
  content: "";
  width: 18px;
  height: 2px;
  background: #111111;
  flex: none;
}

.v734-page .page-hero h1 {
  position: relative !important;
  z-index: 3 !important;
  max-width: min(780px, 69vw) !important;
  margin: 0 !important;
  color: #111111 !important;
  font-family: var(--v734-display) !important;
  font-size: clamp(2.75rem, 4.5vw, 4.75rem) !important;
  font-weight: 900 !important;
  line-height: 0.93 !important;
  letter-spacing: -0.03em !important;
  text-shadow: none !important;
  text-wrap: balance;
}

/* Yellow becomes a high-contrast highlight instead of low-contrast yellow text. */
.v734-page .page-hero h1 .heading-yellow {
  display: inline !important;
  padding: 0 0.09em 0.055em !important;
  color: #111111 !important;
  background: #fdd103 !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.v734-page .page-hero p {
  position: relative !important;
  z-index: 3 !important;
  max-width: 610px !important;
  margin: 22px 0 0 !important;
  color: #504b3b !important;
  font-family: var(--body) !important;
  font-size: clamp(0.94rem, 1vw, 1.04rem) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-shadow: none !important;
}

/* A small grounding line reinforces the editorial system without competing with text. */
.v734-page .page-hero > .container::after {
  content: "";
  display: block;
  width: clamp(86px, 10vw, 152px);
  height: 4px;
  margin-top: 28px;
  background: linear-gradient(90deg, #111111 0 26%, #fdd103 26% 100%);
}

/* Keep header legible over the new bright hero. */
.v734-page .site-header:not(.scrolled) .nav-links > a:not(.btn) {
  color: #111111 !important;
  text-shadow: none !important;
}
.v734-page .site-header:not(.scrolled) .nav-links > a:not(.btn)::after {
  background: #111111 !important;
}
.v734-page .site-header:not(.scrolled) .menu-btn i,
.v734-page .site-header:not(.scrolled) .menu-btn i::before,
.v734-page .site-header:not(.scrolled) .menu-btn i::after {
  background: #111111 !important;
}

@media (max-width: 1024px) {
  .v734-page .page-hero {
    min-height: clamp(340px, 43vw, 420px) !important;
    padding: clamp(112px, 12vw, 132px) 0 clamp(54px, 7vw, 70px) !important;
  }
  .v734-page .page-hero::before {
    width: min(42vw, 420px) !important;
    opacity: 0.9 !important;
  }
  .v734-page .page-hero::after {
    right: 28px !important;
    width: 104px !important;
    height: 104px !important;
    opacity: 0.14 !important;
  }
  .v734-page .page-hero h1 {
    max-width: 72vw !important;
    font-size: clamp(2.45rem, 6vw, 3.75rem) !important;
  }
  .v734-page .page-hero p {
    max-width: 560px !important;
    font-size: 0.94rem !important;
  }
}

@media (max-width: 680px) {
  .v734-page .page-hero {
    min-height: auto !important;
    padding: 104px 0 52px !important;
    border-bottom-width: 3px !important;
  }
  .v734-page .page-hero::before {
    inset: auto -48px -58px auto !important;
    width: 250px !important;
    height: 190px !important;
    clip-path: polygon(40% 0, 100% 0, 100% 100%, 0 100%, 18% 68%) !important;
    opacity: 0.84 !important;
  }
  .v734-page .page-hero::after {
    top: auto !important;
    right: 18px !important;
    bottom: 18px !important;
    width: 72px !important;
    height: 72px !important;
    transform: rotate(-9deg) !important;
    opacity: 0.1 !important;
  }
  .v734-page .page-hero > .container {
    width: min(100% - 36px, var(--max)) !important;
  }
  .v734-page .page-hero .eyebrow {
    margin-bottom: 13px !important;
    padding: 6px 9px 5px !important;
    font-size: 0.58rem !important;
    letter-spacing: 0.12em !important;
  }
  .v734-page .page-hero h1 {
    max-width: 94% !important;
    font-size: clamp(2.05rem, 9.4vw, 2.85rem) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.025em !important;
  }
  .v734-page .page-hero p {
    max-width: 92% !important;
    margin-top: 17px !important;
    font-size: 0.88rem !important;
    line-height: 1.55 !important;
  }
  .v734-page .page-hero > .container::after {
    width: 92px;
    height: 3px;
    margin-top: 22px;
  }
}

@media (max-width: 380px) {
  .v734-page .page-hero {
    padding-top: 98px !important;
    padding-bottom: 46px !important;
  }
  .v734-page .page-hero h1 {
    font-size: clamp(1.88rem, 9vw, 2.4rem) !important;
  }
  .v734-page .page-hero p {
    font-size: 0.84rem !important;
    max-width: 96% !important;
  }
}

/* ======================================================================
   V7.36 — DEPLOYMENT OPTIMISATION + DENSE GALLERY + BODY-FONT NAV
   ====================================================================== */

/* Navbar: use the normal body typeface instead of the condensed display face. */
.site-header .nav-links a,
.site-header .nav-links .btn,
.mobile-menu a,
.mobile-close {
  font-family: var(--v734-body, var(--body)) !important;
  font-style: normal !important;
  font-weight: 650 !important;
  letter-spacing: 0.025em !important;
  text-transform: none !important;
}
.site-header .nav-links .btn {
  font-weight: 750 !important;
}

/* Gallery season jump rail */
.v736-gallery-jump {
  position: relative;
  z-index: 4;
  background: #fdd103;
  color: #111;
  border-bottom: 1px solid rgba(17, 17, 17, 0.13);
}
.v736-gallery-jump .container {
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.v736-gallery-jump .container::-webkit-scrollbar {
  display: none;
}
.v736-gallery-jump span {
  flex: none;
  margin-right: 12px;
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0.15em;
}
.v736-gallery-jump a {
  flex: none;
  padding: 9px 14px;
  border: 1px solid rgba(17, 17, 17, 0.22);
  background: rgba(255, 255, 255, 0.28);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}
.v736-gallery-jump a:hover {
  background: #fff;
  border-color: #111;
}

/* Gallery: dense contact-sheet layout with no masonry holes. */
.v734-page[data-page="gallery"] .gallery-season {
  padding: clamp(44px, 5vw, 72px) 0 !important;
  background: #fbfbf7 !important;
  color: #111 !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.11) !important;
}
.v734-page[data-page="gallery"] .gallery-season:nth-of-type(even) {
  background: #fff !important;
}
.v734-page[data-page="gallery"] .gallery-season .section-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 440px) !important;
  align-items: end !important;
  gap: 28px !important;
  margin: 0 0 24px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.15) !important;
}
.v734-page[data-page="gallery"] .gallery-season .section-head > div {
  min-width: 0;
}
.v734-page[data-page="gallery"] .gallery-season .section-head p {
  max-width: 440px !important;
  margin: 0 !important;
  color: #5a5649 !important;
}
.v734-page[data-page="gallery"] .gallery-season .section-title {
  margin: 0 !important;
  font-size: clamp(2rem, 3.2vw, 3.35rem) !important;
  line-height: 0.94 !important;
}
.v734-page[data-page="gallery"] .gallery-season .section-title .heading-yellow {
  color: #111 !important;
  background: #fdd103 !important;
  padding: 0 0.08em 0.04em !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.v734-page[data-page="gallery"] .gallery-season .photo-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  column-count: unset !important;
}
.v734-page[data-page="gallery"] .gallery-season .photo-card {
  position: relative !important;
  flex: 1 1 calc(25% - 10px) !important;
  min-width: 230px !important;
  width: auto !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(17, 17, 17, 0.1) !important;
  border-radius: 5px !important;
  background: #eee !important;
  box-shadow: none !important;
  transform: none !important;
}
.v734-page[data-page="gallery"] .gallery-season .photo-card:hover {
  border-color: #fdd103 !important;
  box-shadow: 0 12px 26px rgba(17, 17, 17, 0.1) !important;
  transform: none !important;
}
.v734-page[data-page="gallery"] .gallery-season .photo-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  background: #eee !important;
  transform: scale(1.001) !important;
  transition: transform 0.35s ease !important;
}
.v734-page[data-page="gallery"] .gallery-season .photo-card:hover img {
  transform: scale(1.035) !important;
}
.v734-page[data-page="gallery"] .gallery-season .photo-card::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 !important;
  height: 42% !important;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(17, 17, 17, 0.42)
  ) !important;
  pointer-events: none !important;
}
.v734-page[data-page="gallery"] .gallery-season .photo-card span {
  position: absolute !important;
  z-index: 3 !important;
  left: 10px !important;
  bottom: 10px !important;
  margin: 0 !important;
  padding: 6px 9px !important;
  background: #fdd103 !important;
  color: #111 !important;
  border: 0 !important;
  font-family: var(--v734-body, var(--body)) !important;
  font-size: 0.61rem !important;
  font-weight: 750 !important;
  letter-spacing: 0.07em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}
.v734-page[data-page="gallery"]
  .gallery-season
  .photo-card[data-lightbox]::before {
  z-index: 4 !important;
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #111 !important;
  border: 0 !important;
  box-shadow: 0 6px 18px rgba(17, 17, 17, 0.12) !important;
}

@media (max-width: 1024px) {
  .v734-page[data-page="gallery"] .gallery-season .photo-card {
    flex-basis: calc(33.333% - 10px) !important;
    min-width: 200px !important;
  }
}

@media (max-width: 680px) {
  .v736-gallery-jump .container {
    min-height: 56px;
    padding-right: 18px;
  }
  .v736-gallery-jump span {
    font-size: 0.56rem;
    margin-right: 4px;
  }
  .v736-gallery-jump a {
    font-size: 0.7rem;
    padding: 8px 11px;
  }
  .v734-page[data-page="gallery"] .gallery-season {
    padding: 36px 0 46px !important;
  }
  .v734-page[data-page="gallery"] .gallery-season .section-head {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
  }
  .v734-page[data-page="gallery"] .gallery-season .section-head p {
    font-size: 0.84rem !important;
    max-width: 96% !important;
  }
  .v734-page[data-page="gallery"] .gallery-season .photo-grid {
    gap: 7px !important;
  }
  .v734-page[data-page="gallery"] .gallery-season .photo-card {
    flex: 1 1 calc(50% - 7px) !important;
    min-width: 0 !important;
    border-radius: 3px !important;
  }
  .v734-page[data-page="gallery"] .gallery-season .photo-card span {
    left: 7px !important;
    bottom: 7px !important;
    padding: 5px 7px !important;
    font-size: 0.49rem !important;
  }
  /* If a season ends on an odd item, let the final frame become a cinematic full-width beat. */
  .v734-page[data-page="gallery"]
    .gallery-season
    .photo-card:last-child:nth-child(odd) {
    flex-basis: 100% !important;
    aspect-ratio: 16 / 9 !important;
  }
}

/* ======================================================================
   V7.37 — Compact homepage fixtures preview
   ====================================================================== */
.v737-fixtures {
  position: relative;
  overflow: hidden;
  background: #fff;
  color: #111;
  border-top: 1px solid rgba(17, 17, 17, 0.1);
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
  padding: clamp(44px, 4.4vw, 72px) 0;
}
.v737-fixtures::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: #fdd103;
}
.v737-fixtures::after {
  content: "";
  position: absolute;
  width: 240px;
  height: 180px;
  right: -48px;
  top: -40px;
  opacity: 0.15;
  pointer-events: none;
  background-image: radial-gradient(circle, #fdd103 1.35px, transparent 1.5px);
  background-size: 11px 11px;
  mask-image: linear-gradient(135deg, #000, transparent 72%);
  -webkit-mask-image: linear-gradient(135deg, #000, transparent 72%);
}
.v737-fixtures-inner {
  position: relative;
  z-index: 1;
}
.v737-fixtures-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: end;
  gap: 28px;
  margin-bottom: 22px;
}
.v737-fixtures-head .s32-section-kicker {
  margin-bottom: 7px;
}
.v737-fixtures-head h2 {
  margin: 0;
  color: #111;
  font-size: clamp(2.15rem, 3vw, 3.35rem) !important;
  line-height: 0.92 !important;
}
.v737-fixtures-head > p {
  margin: 0 0 4px;
  color: #655f4c;
  font-size: 0.86rem;
  font-weight: 650;
}
.v737-fixtures-head .s32-text-link {
  margin-bottom: 3px;
  white-space: nowrap;
}
.v737-fixture-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.v737-fixture-card {
  position: relative;
  min-width: 0;
  padding: 18px 18px 16px;
  background: #fbfbf7;
  border: 1px solid rgba(17, 17, 17, 0.12);
  overflow: hidden;
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}
.v737-fixture-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
  background: #fdd103;
}
.v737-fixture-card:hover {
  transform: translateY(-3px);
  border-color: rgba(17, 17, 17, 0.22);
  box-shadow: 0 12px 28px rgba(17, 17, 17, 0.07);
}
.v737-fixture-meta {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-left: 7px;
  font-family: var(--v734-body, var(--body));
  font-size: 0.59rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.v737-fixture-meta span {
  color: #111;
}
.v737-fixture-meta b {
  color: #8b815f;
  font-size: inherit;
}
.v737-fixture-match {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 11px;
  margin: 15px 0 12px;
  padding-left: 7px;
}
.v737-team-slot {
  display: grid;
  place-items: center;
  min-height: 48px;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.1);
  color: #111;
  font-family: var(--v734-body, var(--body));
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.1em;
}
.v737-fixture-match em {
  color: #111;
  font-style: normal;
  font-family: var(--v734-body, var(--body));
  font-size: 0.62rem;
  font-weight: 900;
}
.v737-fixture-card > p {
  margin: 0;
  padding: 11px 0 0 7px;
  border-top: 1px solid rgba(17, 17, 17, 0.1);
  color: #111;
  font-family: var(--v734-body, var(--body));
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .v737-fixtures-head {
    grid-template-columns: 1fr auto;
    gap: 10px 18px;
  }
  .v737-fixtures-head > p {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .v737-fixture-card {
    padding: 15px 14px 14px;
  }
  .v737-fixture-match {
    gap: 7px;
  }
  .v737-team-slot {
    min-height: 44px;
    font-size: 0.67rem;
  }
}

@media (max-width: 680px) {
  .v737-fixtures {
    padding: 38px 0 42px;
  }
  .v737-fixtures-head {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    margin-bottom: 16px;
  }
  .v737-fixtures-head h2 {
    font-size: clamp(1.9rem, 8.4vw, 2.45rem) !important;
  }
  .v737-fixtures-head > p {
    font-size: 0.78rem;
  }
  .v737-fixtures-head .s32-text-link {
    font-size: 0.66rem;
  }
  .v737-fixture-grid {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 0 max(0px, calc((100vw - 100%) / 2)) 5px;
    scrollbar-width: none;
  }
  .v737-fixture-grid::-webkit-scrollbar {
    display: none;
  }
  .v737-fixture-card {
    flex: 0 0 min(82vw, 310px);
    scroll-snap-align: start;
  }
}

/* ======================================================================
   V7.38 — Captain crest treatment
   Remove card text; float full team marks above the card edge.
   ====================================================================== */
.s33-captain-grid {
  padding-top: 52px !important;
  overflow: visible !important;
}
.s33-captain-card {
  overflow: visible !important;
  isolation: isolate;
}
.s33-captain-team {
  display: none !important;
}
.s33-captain-badge {
  top: -48px !important;
  bottom: auto !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 118px !important;
  height: 118px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  z-index: 8 !important;
  pointer-events: none;
}
.s33-captain-badge img.s33-captain-logo {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  overflow: visible !important;
  filter: drop-shadow(0 7px 10px rgba(17, 17, 17, 0.18));
}
.s33-captain-ny .s33-captain-badge,
.s33-captain-dd .s33-captain-badge {
  padding: 0 !important;
}

@media (max-width: 1024px) {
  .s33-captain-grid {
    padding-top: 46px !important;
  }
  .s33-captain-badge {
    top: -40px !important;
    width: 104px !important;
    height: 104px !important;
  }
}

@media (max-width: 640px) {
  .s33-captain-grid {
    padding-top: 38px !important;
    row-gap: 56px !important;
  }
  .s33-captain-badge {
    top: -32px !important;
    width: 82px !important;
    height: 82px !important;
  }
}

@media (max-width: 390px) {
  .s33-captain-grid {
    padding-top: 34px !important;
    row-gap: 50px !important;
  }
  .s33-captain-badge {
    top: -28px !important;
    width: 72px !important;
    height: 72px !important;
  }
}

/* ======================================================================
   V7.39 — Captain crests moved to bottom overlap
   ====================================================================== */
.s33-captain-grid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}
.s33-captain-card {
  overflow: visible !important;
}
.s33-captain-badge {
  top: auto !important;
  bottom: -9px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 118px !important;
  height: 118px !important;
  z-index: 8 !important;
}
.s33-captains {
  padding-bottom: 132px !important;
}

@media (max-width: 1024px) {
  .s33-captain-grid {
    padding-top: 0 !important;
  }
  .s33-captain-badge {
    top: auto !important;
    bottom: -40px !important;
    width: 104px !important;
    height: 104px !important;
  }
  .s33-captains {
    padding-bottom: 118px !important;
  }
}

@media (max-width: 640px) {
  .s33-captain-grid {
    padding-top: 0 !important;
    row-gap: 68px !important;
  }
  .s33-captain-badge {
    top: auto !important;
    bottom: -31px !important;
    width: 82px !important;
    height: 82px !important;
  }
  .s33-captains {
    padding-bottom: 102px !important;
  }
}

/* ======================================================================
   V7.40 — restored three-video homepage highlights section
   ====================================================================== */
.v740-video-section {
  position: relative;
  background: #fbfbf7 !important;
  color: #111 !important;
  padding: clamp(64px, 7vw, 96px) 0 !important;
  border-top: 1px solid rgba(17, 17, 17, 0.1);
  border-bottom: 1px solid rgba(17, 17, 17, 0.1);
  overflow: hidden;
}
.v740-video-section::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 42px;
  right: -54px;
  top: 48px;
  background: #fdd103;
  transform: rotate(-13deg);
  opacity: 0.9;
  pointer-events: none;
}
.v740-video-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 28px;
}
.v740-video-head h2 {
  margin: 0;
  max-width: 760px;
  color: #111 !important;
  font-size: clamp(2.35rem, 3.65vw, 4.25rem) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.025em !important;
}
.v740-video-head h2 span {
  color: #111 !important;
  background: #fdd103;
  display: inline-block;
  padding: 0 0.08em 0.045em;
}
.v740-video-head > p {
  margin: 0 0 6px;
  max-width: 290px;
  color: #555;
  font-size: 0.9rem;
  line-height: 1.45;
}
.v740-video-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr) !important;
  gap: 14px !important;
  align-items: stretch;
}
.v740-video-card {
  background: #fff !important;
  color: #111 !important;
  border: 1px solid rgba(17, 17, 17, 0.13) !important;
  overflow: hidden;
  box-shadow: none !important;
}
.v740-video-card .video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #111;
  overflow: hidden;
}
.v740-video-card .video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.v740-video-caption {
  padding: 16px 18px 18px !important;
  border-top: 4px solid #fdd103 !important;
  background: #fff;
}
.v740-video-caption span,
.v740-video-small-copy span {
  color: #6a5a00 !important;
  font-family: var(--v734-body, Arial, sans-serif) !important;
  font-size: 0.62rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em !important;
}
.v740-video-caption h3 {
  margin: 5px 0 0 !important;
  color: #111 !important;
  font-family: var(
    --v734-display,
    "Arial Narrow",
    Arial,
    sans-serif
  ) !important;
  font-size: clamp(1.55rem, 2vw, 2.2rem) !important;
  line-height: 1 !important;
}
.v740-video-stack {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}
.v740-video-small-copy {
  padding: 12px 14px 14px !important;
  background: #fff;
}
.v740-video-small-copy b {
  display: block;
  margin-top: 4px;
  color: #111 !important;
  font-family: var(--v734-body, Arial, sans-serif) !important;
  font-size: 0.78rem !important;
  line-height: 1.25 !important;
}
@media (max-width: 900px) {
  .v740-video-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .v740-video-head > p {
    max-width: 520px;
  }
  .v740-video-grid {
    grid-template-columns: 1fr !important;
  }
  .v740-video-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .v740-video-section {
    padding: 54px 0 !important;
  }
  .v740-video-section::before {
    width: 130px;
    height: 28px;
    right: -42px;
    top: 34px;
  }
  .v740-video-head {
    margin-bottom: 18px;
  }
  .v740-video-head h2 {
    font-size: clamp(2rem, 9vw, 2.65rem) !important;
    max-width: 92%;
  }
  .v740-video-head > p {
    font-size: 0.82rem;
  }
  .v740-video-grid {
    gap: 10px !important;
  }
  .v740-video-stack {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .v740-video-caption {
    padding: 13px 14px 15px !important;
  }
  .v740-video-caption h3 {
    font-size: 1.55rem !important;
  }
}

/* ======================================================================
   V7.41 — WHITE SCROLLED HEADER + WHITE FOOTER
   Keep the header transparent at the top; switch to clean white glass on scroll.
   ====================================================================== */

/* Preserve the existing transparent-at-top treatment. */
.site-header:not(.scrolled),
.s32-home .site-header:not(.scrolled),
.v734-page .site-header:not(.scrolled) {
  background: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* White glass navigation once the page has been scrolled. */
.site-header.scrolled,
.s32-home .site-header.scrolled,
.v734-page .site-header.scrolled {
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.1) !important;
  box-shadow: 0 8px 28px rgba(17, 17, 17, 0.07) !important;
  backdrop-filter: blur(18px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(135%) !important;
}
.site-header.scrolled .nav-links > a:not(.btn),
.s32-home .site-header.scrolled .nav-links > a:not(.btn),
.v734-page .site-header.scrolled .nav-links > a:not(.btn) {
  color: #111111 !important;
  text-shadow: none !important;
}
.site-header.scrolled .nav-links > a:not(.btn)::after,
.s32-home .site-header.scrolled .nav-links > a:not(.btn)::after,
.v734-page .site-header.scrolled .nav-links > a:not(.btn)::after {
  background: #fdd103 !important;
}
.site-header.scrolled .btn.primary,
.s32-home .site-header.scrolled .nav-links .btn.primary,
.v734-page .site-header.scrolled .btn.primary {
  background: #fdd103 !important;
  color: #111111 !important;
  border-color: #111111 !important;
}
.site-header.scrolled .btn.primary:hover,
.s32-home .site-header.scrolled .nav-links .btn.primary:hover,
.v734-page .site-header.scrolled .btn.primary:hover {
  background: #111111 !important;
  color: #fdd103 !important;
}
.site-header.scrolled .menu-btn i,
.site-header.scrolled .menu-btn i::before,
.site-header.scrolled .menu-btn i::after {
  background: #111111 !important;
}
.site-header.scrolled .brand img,
.s32-home .site-header.scrolled .brand img,
.v734-page .site-header.scrolled .brand img {
  filter: none !important;
  box-shadow: none !important;
}

/* White footer across the complete website. */
.footer,
.s32-home .footer.s32-footer,
.v734-page .footer {
  background: #ffffff !important;
  color: #111111 !important;
  border-top: 1px solid rgba(17, 17, 17, 0.12) !important;
}
.footer::before,
.s32-home .footer.s32-footer::before,
.v734-page .footer::before {
  display: none !important;
}
.footer .footer-tag,
.footer .footer-tag span,
.footer h4,
.footer a,
.footer .footer-bottom,
.footer .footer-bottom strong,
.s32-footer-brand p,
.s32-footer-links a,
.s32-footer-social,
.s32-footer-bottom {
  color: #111111 !important;
}
.footer a {
  opacity: 0.78 !important;
}
.footer a:hover {
  color: #111111 !important;
  opacity: 1 !important;
}
.footer .footer-bottom,
.s32-footer-bottom {
  border-top-color: rgba(17, 17, 17, 0.12) !important;
}
.footer .big90 {
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.08) !important;
}

/* ======================================================================
   V7.44 — DIRECT COMMUNICATION + CLEAN HOMEPAGE + SEASON TEAMS
   Structural reference only; SUPER 90 brand palette remains unchanged.
   ====================================================================== */

/* Cleaner homepage rhythm: less decorative density, clearer section hierarchy. */
body.s32-home main > section {
  scroll-margin-top: 84px;
}
body.s32-home .s32-section-kicker,
body.s32-home .s32-kicker {
  letter-spacing: 0.14em !important;
}
body.s32-home .s32-section-head {
  gap: 22px !important;
}
body.s32-home .s32-section-head > p {
  max-width: 320px !important;
  line-height: 1.5 !important;
}

/* Hero stays brand-led, not season-led. */
.s33-hero-copy {
  width: min(520px, 42vw) !important;
}
.s33-hero-title {
  font-size: clamp(3.2rem, 4.45vw, 5.15rem) !important;
  line-height: 0.9 !important;
}
.s33-hero-title span {
  padding: 0.03em 0.1em 0.06em !important;
}
.s33-hero-copy > p {
  max-width: 250px !important;
  margin: 14px 0 19px !important;
  font-size: 0.94rem !important;
}
.s33-facts {
  box-shadow: none !important;
}
.s33-facts > div {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}
.s33-facts .s32-fact-icon {
  min-width: 34px !important;
  font-weight: 900 !important;
}

/* Teams & Captains — season switcher. */
.s44-teams {
  position: relative;
  padding: clamp(68px, 7vw, 96px) 0 clamp(80px, 8vw, 112px);
  background: #fff;
  color: #111;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
  border-bottom: 1px solid rgba(17, 17, 17, 0.1);
  overflow: hidden;
}
.s44-team-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  align-items: end;
  gap: 32px;
  margin-bottom: 26px;
}
.s44-team-head h2 {
  margin: 4px 0 0 !important;
  color: #111 !important;
  font-size: clamp(2.25rem, 3.3vw, 3.65rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.025em !important;
}
.s44-team-head > p {
  margin: 0 !important;
  color: #555;
  font-size: 0.92rem;
  line-height: 1.5;
}
.s44-season-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
  padding-bottom: 17px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}
.s44-season-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.s44-season-tab {
  appearance: none;
  min-height: 40px;
  padding: 0 17px;
  border: 1px solid rgba(17, 17, 17, 0.18);
  background: #fff;
  color: #111;
  cursor: pointer;
  font-family: var(--v734-body, var(--body));
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}
.s44-season-tab:hover {
  border-color: #111;
  transform: translateY(-1px);
}
.s44-season-tab.is-active {
  background: #fdd103;
  border-color: #fdd103;
}
.s44-team-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px 12px;
  align-items: start;
}
.s44-team-card {
  min-width: 0;
  margin: 0;
}
.s44-team-visual {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: visible;
  isolation: isolate;
  background: #f7f7f2;
  border: 1px solid rgba(17, 17, 17, 0.1);
}
.s44-team-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(145deg, var(--team, #fdd103), #fff 82%);
  opacity: 0.16;
}
.s44-team-visual::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 36%;
  z-index: 2;
  background: linear-gradient(
    to top,
    rgba(17, 17, 17, 0.5),
    rgba(17, 17, 17, 0)
  );
  pointer-events: none;
}
.s44-captain-photo {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.s44-team-mark {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  padding: 24%;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.96),
    rgba(251, 251, 247, 0.86)
  );
}
.s44-team-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.s44-team-crest {
  position: absolute;
  left: 50%;
  bottom: -27px;
  transform: translateX(-50%);
  z-index: 5;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  padding: 7px;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.12);
  box-shadow: 0 9px 20px rgba(17, 17, 17, 0.11);
}
.s44-team-crest img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.s44-team-crest > span {
  font-size: 0.72rem;
  font-weight: 900;
}
.s44-team-card h3 {
  margin: 36px 0 0;
  color: #111;
  text-align: center;
  font-family: var(--v734-body, var(--body)) !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* Dedicated season update: the only homepage block that carries the destination update. */
.s33-destination-copy h2 {
  font-size: clamp(2.8rem, 4.2vw, 4.6rem) !important;
  line-height: 0.9 !important;
}
.s33-destination-copy p {
  max-width: 350px !important;
  font-size: 0.91rem !important;
}

/* Cleaner editorial sections. */
.s32-past {
  padding: 70px 0 !important;
}
.v740-video-section {
  padding: 68px 0 !important;
}
.v740-video-section::before {
  display: none !important;
}
.v740-video-head {
  margin-bottom: 22px !important;
}
.v740-video-head h2 {
  font-size: clamp(2.15rem, 3.05vw, 3.45rem) !important;
}
.s33-difference-copy h2 {
  font-size: clamp(2.75rem, 4vw, 4.35rem) !important;
  line-height: 0.92 !important;
}
.s33-difference-copy p {
  max-width: 390px !important;
  font-size: 0.91rem !important;
}
.v737-fixtures {
  padding: 54px 0 60px !important;
}
.v737-fixtures-head {
  margin-bottom: 20px !important;
}
.v737-fixtures-head h2 {
  font-size: clamp(2.05rem, 2.9vw, 3.1rem) !important;
}
.v737-fixture-card {
  box-shadow: none !important;
}
.s32-news {
  padding: 70px 0 74px !important;
}
.s32-news-card {
  box-shadow: none !important;
}
.s32-partners {
  padding: 52px 0 !important;
}
.s32-community {
  padding: 68px 0 72px !important;
}
.s32-community-copy p {
  max-width: 390px !important;
}
.s33-final-copy h2 {
  font-size: clamp(2.65rem, 4vw, 4.4rem) !important;
  line-height: 0.92 !important;
}

@media (max-width: 1180px) {
  .s44-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 52px 12px;
  }
}
@media (max-width: 1024px) {
  .s33-hero-copy {
    width: min(560px, 68vw) !important;
  }
  .s44-team-head {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .s44-team-head > p {
    max-width: 360px;
  }
}
@media (max-width: 640px) {
  .s44-teams {
    padding: 54px 0 72px;
  }
  .s44-team-head {
    display: block;
    margin-bottom: 22px;
  }
  .s44-team-head h2 {
    font-size: clamp(1.95rem, 8.5vw, 2.7rem) !important;
  }
  .s44-team-head > p {
    margin-top: 10px !important;
    max-width: 290px !important;
    font-size: 0.84rem;
  }
  .s44-season-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 18px;
    padding-bottom: 14px;
  }
  .s44-season-tabs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  .s44-season-tab {
    padding: 0 8px;
    min-height: 38px;
    font-size: 0.6rem;
  }
  .s44-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px 8px;
  }
  .s44-team-crest {
    width: 62px;
    height: 62px;
    bottom: -23px;
    padding: 6px;
  }
  .s44-team-card h3 {
    margin-top: 30px;
    font-size: 0.67rem !important;
  }
  .s44-team-grid > .s44-team-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc(50% - 4px);
    justify-self: center;
  }
}
.footer-ownership,
.s32-footer .footer-ownership {
  margin: 14px 0 0;
  color: #555 !important;
  font-size: 0.72rem !important;
  line-height: 1.45;
}
.footer-ownership a {
  color: #111 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* === V7.45 — Simplified direct homepage refresh === */
.s45-hero {
  padding: calc(var(--header-h, 88px) + 24px) 0 28px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfbf7 100%);
}
.s45-hero-wrap {
  max-width: 1400px;
}
.s45-hero-card {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 22px 55px rgba(17, 17, 17, 0.08);
  border: 1px solid rgba(17, 17, 17, 0.06);
}
.s45-hero-media {
  display: block;
  line-height: 0;
}
.s45-hero-media img {
  width: 100%;
  height: auto;
  display: block;
}
.s45-hero-overlay {
  position: absolute;
  left: clamp(22px, 4vw, 54px);
  top: clamp(22px, 4vw, 52px);
  width: min(460px, 42vw);
  padding: clamp(18px, 2.1vw, 28px);
  background: rgba(255, 255, 255, 0.74);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(17, 17, 17, 0.08);
}
.s45-hero-title {
  margin: 10px 0 12px;
  font-size: clamp(2.2rem, 4.9vw, 5rem) !important;
  line-height: 0.92;
}
.s45-hero-title span {
  color: #111;
}
.s45-hero-overlay p {
  max-width: 38ch;
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(17, 17, 17, 0.8);
  margin: 0 0 18px;
}
.s45-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.s45-hero-meta span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 800;
  color: #111;
}

.s45-audience {
  padding: 30px 0 80px;
  background: linear-gradient(180deg, #fbfbf7 0%, #fff 100%);
}
.s45-audience-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 28px;
  align-items: end;
  margin-bottom: 28px;
}
.s45-audience-head p {
  margin: 0;
  color: rgba(17, 17, 17, 0.72);
}
.s45-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.s45-stat-card {
  position: relative;
  overflow: hidden;
  padding: 24px 22px 22px;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.06);
  border-radius: 24px;
  min-height: 220px;
  box-shadow: 0 12px 30px rgba(17, 17, 17, 0.05);
}
.s45-stat-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #fdd103 0%, #fae04c 60%, transparent 100%);
}
.s45-stat-bg {
  position: absolute;
  right: 14px;
  top: 14px;
  font-family: var(--display-font);
  font-size: clamp(2.6rem, 4vw, 4rem);
  line-height: 1;
  color: rgba(17, 17, 17, 0.06);
  pointer-events: none;
}
.s45-stat-value {
  margin: 22px 0 12px;
}
.s45-stat-value strong {
  display: block;
  font-family: var(--display-font);
  font-size: clamp(2.2rem, 4vw, 3.7rem);
  line-height: 0.92;
  letter-spacing: 0.01em;
  background: linear-gradient(
    180deg,
    #fdfdfd 0%,
    #dadada 34%,
    #8b8b8b 52%,
    #efefef 76%,
    #b8b8b8 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 1px 0 rgba(17, 17, 17, 0.14));
}
.s45-stat-card h3 {
  margin: 0 0 8px;
  font-size: 1rem;
  letter-spacing: 0.03em;
}
.s45-stat-card p:last-child {
  margin: 0;
  color: rgba(17, 17, 17, 0.68);
  font-size: 0.93rem;
  line-height: 1.5;
}

.s32-news#articles {
  padding-top: 82px;
}
.s32-news#articles .s32-news-card {
  min-height: 100%;
}

@media (max-width: 1024px) {
  .s45-hero {
    padding-top: calc(var(--header-h, 84px) + 18px);
  }
  .s45-hero-overlay {
    width: min(520px, 54vw);
  }
  .s45-audience-head {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .s45-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .s45-hero {
    padding: calc(var(--header-h, 78px) + 12px) 0 18px;
  }
  .s45-hero-card {
    border-radius: 24px;
  }
  .s45-hero-overlay {
    left: 14px;
    right: 14px;
    top: 14px;
    width: auto;
    padding: 16px 15px 15px;
    border-radius: 18px;
  }
  .s45-hero-title {
    font-size: clamp(1.9rem, 10vw, 2.7rem) !important;
  }
  .s45-hero-overlay p {
    font-size: 0.9rem;
    max-width: none;
    margin-bottom: 14px;
  }
  .s45-hero-meta {
    gap: 8px;
  }
  .s45-hero-meta span {
    font-size: 0.61rem;
    min-height: 32px;
    padding: 0 10px;
  }
  .s45-audience {
    padding: 18px 0 60px;
  }
  .s45-stats-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .s45-stat-card {
    min-height: unset;
    padding: 20px 18px 18px;
    border-radius: 20px;
  }
}

/* V7.46 — verified Instagram audience link */
.s45-instagram-card {
  display: flex;
  flex-direction: column;
}
.s45-instagram-card > p:not(.s45-stat-value) {
  margin-bottom: 16px !important;
}
.s45-instagram-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: max-content;
  max-width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(17, 17, 17, 0.12);
  border-radius: 999px;
  background: #fbfbf7;
  color: #111;
  font-size: 0.8rem;
  font-weight: 800;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease;
}
.s45-instagram-link svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}
.s45-instagram-link b {
  font-size: 0.9rem;
  margin-left: 2px;
}
.s45-instagram-link:hover {
  transform: translateY(-2px);
  border-color: #111;
  background: #fdd103;
}

/* === V7.47 — restore original hero structure; only swap supplied banners === */
.s34-hero-stage {
  aspect-ratio: 2048 / 768 !important;
}
@media (min-width: 641px) and (max-width: 1024px) {
  .s34-hero-stage {
    aspect-ratio: 1586 / 992 !important;
  }
}
@media (max-width: 640px) {
  .s34-hero-stage {
    aspect-ratio: 1122 / 1402 !important;
  }
}

/* === V7.48 — Audience numbers: stronger display-font + high-contrast monochrome === */
.s45-stat-value {
  position: relative;
  display: inline-block;
  isolation: isolate;
  margin: 22px 0 18px !important;
  padding: 0 4px 3px 0;
}
.s45-stat-value::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 2px;
  bottom: 1px;
  width: clamp(58px, 42%, 110px);
  height: clamp(8px, 0.75vw, 12px);
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    #fdd103 0%,
    #fae04c 82%,
    rgba(250, 224, 76, 0) 100%
  );
  transform: skewX(-12deg);
  box-shadow: 0 3px 10px rgba(253, 209, 3, 0.18);
}
.s45-stat-value strong {
  position: relative;
  z-index: 1;
  display: block;
  font-family: var(--display) !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-size: clamp(3rem, 5vw, 5rem) !important;
  line-height: 0.82 !important;
  letter-spacing: -0.025em !important;
  background: linear-gradient(
    180deg,
    #111111 0%,
    #2b2b2b 28%,
    #6f6f6f 47%,
    #171717 62%,
    #3c3c3c 78%,
    #111111 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-stroke: 0.45px rgba(17, 17, 17, 0.72);
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.9))
    drop-shadow(0 3px 3px rgba(17, 17, 17, 0.12));
}
.s45-stat-card h3 {
  font-family: var(--display) !important;
  font-size: clamp(1rem, 1.15vw, 1.22rem) !important;
  line-height: 0.95 !important;
  letter-spacing: 0.005em !important;
}
.s45-stat-card:hover .s45-stat-value::after {
  width: clamp(74px, 56%, 145px);
  transition: width 0.3s ease;
}
@media (max-width: 640px) {
  .s45-stat-value strong {
    font-size: clamp(3.2rem, 15vw, 4.4rem) !important;
  }
  .s45-stat-value::after {
    height: 9px;
    width: 82px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .s45-stat-card:hover .s45-stat-value::after {
    transition: none;
  }
}

/* === V7.49 — Fixtures + community return + art-directed homepage polish === */
.s44-teams,
.s45-audience,
.s32-news,
.s32-community,
.v740-video-section,
.v737-fixtures {
  position: relative;
  isolation: isolate;
}
.s44-teams::before,
.s45-audience::before,
.s32-news::before,
.s32-community::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.45;
  background-image:
    radial-gradient(circle at 20% 18%, rgba(253, 209, 3, 0.1), transparent 26%),
    radial-gradient(
      circle at 78% 78%,
      rgba(250, 224, 76, 0.08),
      transparent 24%
    );
}

.v737-fixture-card,
.s45-stat-card,
.s32-news-card,
.s32-community-media,
.s44-team-visual {
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease,
    filter 0.35s ease;
}
.v737-fixture-card:hover,
.s45-stat-card:hover,
.s32-news-card:hover,
.s32-community-media:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 34px rgba(17, 17, 17, 0.08) !important;
}

.v737-fixture-card {
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfbf7 100%);
  box-shadow: 0 10px 24px rgba(17, 17, 17, 0.04);
}
.v737-fixture-card::after {
  content: "90";
  position: absolute;
  right: 14px;
  bottom: 8px;
  font-family: var(--display);
  font-size: 4.35rem;
  line-height: 0.85;
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.08);
  pointer-events: none;
}
.v737-team-slot {
  border-radius: 14px;
  font-family: var(--display) !important;
  font-size: 1.05rem;
  letter-spacing: 0.03em;
}
.v737-fixture-card > p {
  position: relative;
  z-index: 2;
}

.s44-team-card {
  perspective: 1000px;
}
.s44-team-visual {
  border-radius: 26px;
  box-shadow: 0 12px 28px rgba(17, 17, 17, 0.05);
}
.s44-team-visual::before {
  opacity: 0.22;
}
.s44-team-card:hover .s44-team-visual {
  transform: translateY(-8px) rotateX(3deg);
  border-color: rgba(17, 17, 17, 0.2);
  box-shadow: 0 18px 40px rgba(17, 17, 17, 0.12);
}
.s44-team-card h3 {
  margin-top: 75px;
  letter-spacing: 0.04em;
}
.s49-team-animate {
  opacity: 0;
  transform: translateY(22px) scale(0.985);
}
.s49-team-animate.is-ready {
  animation: s49Rise 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both;
  animation-delay: calc(var(--i, 0) * 0.055s);
}
@keyframes s49Rise {
  from {
    opacity: 0;
    transform: translateY(22px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.s45-stat-card {
  border-radius: 26px;
  box-shadow: 0 16px 34px rgba(17, 17, 17, 0.05);
}
.s45-stat-card h3 {
  max-width: 14ch;
}
.s45-stat-card:hover {
  border-color: rgba(17, 17, 17, 0.14);
}

.s33-difference {
  border-top: 1px solid rgba(17, 17, 17, 0.1);
}
.s33-difference-copy {
  position: relative;
}
.s33-difference-copy::before {
  content: "FORMAT";
  position: absolute;
  left: 0;
  top: -54px;
  font-family: var(--display);
  font-size: clamp(2.8rem, 5vw, 4.6rem);
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.08);
  pointer-events: none;
}
.s33-difference-copy p {
  max-width: 330px !important;
  background: rgba(255, 255, 255, 0.78);
  display: inline-block;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(17, 17, 17, 0.08);
}

.v740-video-card,
.s32-news-card,
.s32-community-media {
  border-radius: 24px;
  overflow: hidden;
}
.s32-news-card {
  border: 1px solid rgba(17, 17, 17, 0.08);
  background: #fff;
  box-shadow: 0 10px 24px rgba(17, 17, 17, 0.04);
}
.s32-news-card img {
  aspect-ratio: 16/10;
  object-fit: cover;
}
.s32-news-card > div {
  padding: 0 2px 2px;
}

.s32-community {
  padding: 74px 0 80px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfbf7 100%);
}
.s32-community-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 540px);
  gap: 34px;
  align-items: center;
}
.s32-community-copy h2 {
  color: #111 !important;
  font-size: clamp(2.8rem, 4.15vw, 4.8rem) !important;
  line-height: 0.9 !important;
}
.s32-community-copy h2 span {
  color: #111 !important;
  background: #fdd103;
  padding: 0 0.08em 0.03em;
}
.s32-community-copy p {
  color: rgba(17, 17, 17, 0.72);
  font-size: 0.98rem;
  max-width: 38ch;
}
.s32-community-media {
  position: relative;
  border: 1px solid rgba(17, 17, 17, 0.08);
  box-shadow: 0 16px 36px rgba(17, 17, 17, 0.06);
  background: #fff;
}
.s32-community-media::after {
  content: "GALLERY";
  position: absolute;
  left: 18px;
  bottom: 16px;
  font-family: var(--display);
  font-size: 2.2rem;
  line-height: 0.9;
  color: #fff;
  text-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}
.s32-community-media img {
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.75s cubic-bezier(0.2, 0.7, 0.2, 1),
    transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.reveal.visible {
  opacity: 1;
  transform: none;
}
.v737-fixture-grid .reveal:nth-child(1),
.s32-news-grid .reveal:nth-child(1) {
  transition-delay: 0.02s;
}
.v737-fixture-grid .reveal:nth-child(2),
.s32-news-grid .reveal:nth-child(2) {
  transition-delay: 0.08s;
}
.v737-fixture-grid .reveal:nth-child(3),
.s32-news-grid .reveal:nth-child(3) {
  transition-delay: 0.14s;
}

@media (max-width: 1024px) {
  .s32-community-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .s32-community-copy {
    max-width: 620px;
  }
  .s33-difference-copy::before {
    top: -44px;
    font-size: clamp(2.4rem, 5vw, 3.8rem);
  }
}
@media (max-width: 640px) {
  .s44-team-visual {
    border-radius: 20px;
  }
  .v737-fixture-card,
  .s45-stat-card,
  .s32-news-card,
  .s32-community-media {
    border-radius: 20px;
  }
  .s33-difference-copy::before {
    top: -30px;
    font-size: 2.4rem;
  }
  .s33-difference-copy p {
    padding: 9px 12px;
  }
  .s32-community {
    padding: 62px 0 66px !important;
  }
  .s32-community-media::after {
    font-size: 1.8rem;
    left: 14px;
    bottom: 12px;
  }
}

/* === V7.51 — audience scale, article text safety, original community restore === */
/* Smaller metallic/monochrome audience numbers while retaining the supplied heading face. */
.s45-stat-value strong {
  font-family: var(--display) !important;
  font-size: clamp(2.35rem, 3.65vw, 3.75rem) !important;
  line-height: 0.86 !important;
  letter-spacing: -0.02em !important;
}
.s45-stat-value::after {
  width: clamp(52px, 36%, 92px) !important;
  height: 8px !important;
}
@media (max-width: 640px) {
  .s45-stat-value strong {
    font-size: clamp(2.55rem, 12vw, 3.45rem) !important;
  }
  .s45-stat-value::after {
    width: 70px !important;
    height: 8px !important;
  }
}

/* Homepage article copy gets a proper content gutter so no heading/link can collide with card edges. */
.s32-news#articles .s32-news-card > div {
  padding: 22px 22px 24px !important;
  min-width: 0;
}
.s32-news#articles .s32-news-card h3 {
  margin: 10px 0 18px !important;
  overflow-wrap: anywhere;
  word-break: normal;
}
.s32-news#articles .s32-news-card span {
  display: block;
  padding-top: 2px;
}
@media (max-width: 640px) {
  .s32-news#articles .s32-news-card > div {
    padding: 18px 18px 20px !important;
  }
}

/* Restore the original community split-section design from the earlier approved homepage. */
.s32-community {
  padding: 0 !important;
  background: #fff !important;
  color: #111 !important;
  overflow: hidden !important;
}
.s32-community::before {
  display: none !important;
}
.s32-community-grid {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: 0.78fr 1.22fr !important;
  gap: 0 !important;
  align-items: stretch !important;
}
.s32-community-copy {
  padding: 76px max(42px, calc((100vw - 1380px) / 2 + 35px)) !important;
  padding-right: 54px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: #fff !important;
  max-width: none !important;
}
.s32-community-copy h2 {
  font-size: clamp(2.65rem, 3.5vw, 4.25rem) !important;
  line-height: 1.1 !important;
  color: #111 !important;
  margin-top: 7px !important;
}
.s32-community-copy h2 span {
  color: #111 !important;
  background: var(--s32-yellow, #fdd103) !important;
  padding: 0 0.08em !important;
}
.s32-community-copy p {
  max-width: 390px !important;
  color: #444 !important;
  margin: 20px 0 24px !important;
  font-size: inherit !important;
}
.s32-community-media {
  position: relative !important;
  min-height: 460px !important;
  overflow: hidden !important;
  background: var(--s32-yellow, #fdd103) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}
.s32-community-media:hover {
  transform: none !important;
  box-shadow: none !important;
}
.s32-community-media img {
  width: 100% !important;
  height: 100% !important;
  min-height: 460px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center 38% !important;
  filter: grayscale(0.3) saturate(0.8) contrast(1.06) !important;
}
.s32-community-media::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(253, 209, 3, 0.72),
    rgba(253, 209, 3, 0.12) 48%,
    rgba(255, 255, 255, 0)
  ) !important;
  mix-blend-mode: multiply !important;
  text-shadow: none !important;
}
@media (max-width: 1024px) {
  .s32-community-grid {
    grid-template-columns: 1fr !important;
  }
  .s32-community-copy {
    padding: 70px clamp(26px, 6vw, 60px) !important;
    padding-right: clamp(26px, 6vw, 60px) !important;
  }
  .s32-community-media {
    min-height: 390px !important;
  }
  .s32-community-media img {
    min-height: 390px !important;
  }
}
@media (max-width: 640px) {
  .s32-community-copy {
    padding: 60px 24px !important;
  }
  .s32-community-copy h2 {
    font-size: clamp(2.4rem, 11vw, 3.5rem) !important;
  }
  .s32-community-media {
    min-height: 330px !important;
  }
  .s32-community-media img {
    min-height: 330px !important;
  }
}

/* === V7.53 — Desktop hero fills the full viewport for the 16:9 banner === */
@media (min-width: 1025px) {
  .s34-hero-stage {
    width: 100vw !important;
    height: 100svh !important;
    min-height: 100svh !important;
    aspect-ratio: auto !important;
  }
  .s34-hero-stage .s33-art-bg,
  .s34-hero-stage .s33-art-bg img {
    width: 100% !important;
    height: 100% !important;
  }
  .s34-hero-stage .s33-art-bg img {
    object-fit: cover !important;
    object-position: center center !important;
  }
  .s34-hero-stage .s33-hero-inner {
    height: 100% !important;
    min-height: 100% !important;
  }
}

/* ======================================================================
   V7.54 — Art-directed three-colour UI system
   Palette only: #FDD103 / #FBFBF7 / #111111
   Header + footer intentionally left on the approved V7.53 treatment.
   ====================================================================== */
:root {
  --s54-yellow: #fdd103;
  --s54-off: #fbfbf7;
  --s54-ink: #111111;
}

/* ---------- HOMEPAGE RHYTHM ---------- */
.s32-home main {
  background: var(--s54-off) !important;
  color: var(--s54-ink) !important;
}
.s32-home .s32-section-kicker {
  color: var(--s54-ink) !important;
  letter-spacing: 0.15em !important;
}
.s32-home .s32-section-kicker::before {
  background: var(--s54-yellow) !important;
}

/* 01 — fixtures becomes the bold yellow statement immediately after hero */
.s32-home .v737-fixtures {
  padding: clamp(58px, 6vw, 92px) 0 clamp(66px, 6.5vw, 102px) !important;
  background: var(--s54-yellow) !important;
  color: var(--s54-ink) !important;
  border: 0 !important;
  overflow: hidden;
}
.s32-home .v737-fixtures::before {
  height: 1px !important;
  background: var(--s54-ink) !important;
  opacity: 0.2;
}
.s32-home .v737-fixtures::after {
  content: "90" !important;
  width: auto !important;
  height: auto !important;
  right: -0.04em !important;
  top: -0.22em !important;
  background: none !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  opacity: 1 !important;
  font-family: var(--display) !important;
  font-size: clamp(15rem, 30vw, 33rem) !important;
  line-height: 0.8 !important;
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.13) !important;
  pointer-events: none;
}
.s32-home .v737-fixtures-head {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 360px) auto !important;
  gap: 22px !important;
  margin-bottom: 30px !important;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.22);
}
.s32-home .v737-fixtures-head .s32-section-kicker {
  color: var(--s54-ink) !important;
}
.s32-home .v737-fixtures-head h2 {
  max-width: 650px;
  color: var(--s54-ink) !important;
  font-size: clamp(2.4rem, 4.2vw, 4.8rem) !important;
  line-height: 0.88 !important;
  letter-spacing: -0.025em !important;
}
.s32-home .v737-fixtures-head > p {
  color: var(--s54-ink) !important;
  opacity: 0.78;
}
.s32-home .v737-fixtures-head .s32-text-link {
  color: var(--s54-ink) !important;
}
.s32-home .v737-fixture-grid {
  position: relative;
  z-index: 2;
  gap: 14px !important;
}
.s32-home .v737-fixture-card {
  min-height: 235px;
  padding: 22px 20px 20px !important;
  border: 1px solid var(--s54-ink) !important;
  border-radius: 0 !important;
  background: var(--s54-ink) !important;
  color: var(--s54-off) !important;
  box-shadow: none !important;
  overflow: hidden;
}
.s32-home .v737-fixture-card::before {
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 5px !important;
  background: var(--s54-off) !important;
}
.s32-home .v737-fixture-card::after {
  content: attr(data-fixture) !important;
  right: 12px !important;
  bottom: -0.08em !important;
  font-size: 7rem !important;
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(251, 251, 247, 0.13) !important;
}
.s32-home .v737-fixture-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 9px 9px 0 var(--s54-off) !important;
  border-color: var(--s54-ink) !important;
}
.s32-home .v737-fixture-meta {
  padding-left: 0 !important;
  color: var(--s54-off) !important;
}
.s32-home .v737-fixture-meta span,
.s32-home .v737-fixture-meta b {
  color: var(--s54-off) !important;
}
.s32-home .v737-fixture-match {
  padding-left: 0 !important;
  margin: 28px 0 20px !important;
}
.s32-home .v737-team-slot {
  min-height: 62px !important;
  border: 1px solid var(--s54-off) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--s54-off) !important;
  font-size: 1.4rem !important;
}
.s32-home .v737-fixture-match em {
  color: var(--s54-yellow) !important;
  font-size: 0.72rem !important;
}
.s32-home .v737-fixture-card > p {
  padding: 14px 0 0 !important;
  border-top: 1px solid rgba(251, 251, 247, 0.22) !important;
  color: var(--s54-yellow) !important;
}

/* small dark kinetic bridge */
.s54-rhythm-strip {
  position: relative;
  overflow: hidden;
  background: var(--s54-ink);
  color: var(--s54-off);
  border-block: 1px solid var(--s54-ink);
  padding: 13px 0 11px;
}
.s54-rhythm-track {
  display: flex;
  align-items: center;
  gap: 28px;
  width: max-content;
  min-width: 200%;
  font-family: var(--display);
  font-size: clamp(1.05rem, 1.7vw, 1.75rem);
  line-height: 1;
  letter-spacing: 0.045em;
  white-space: nowrap;
  animation: s54Ticker 22s linear infinite;
}
.s54-rhythm-track span:nth-of-type(4n + 2),
.s54-rhythm-track span:nth-of-type(4n + 4) {
  color: var(--s54-yellow);
}
.s54-rhythm-track i {
  color: var(--s54-yellow);
  font-style: normal;
  font-family: var(--body);
}
@keyframes s54Ticker {
  to {
    transform: translateX(-50%);
  }
}

/* 02 — teams/captains: calm off-white gallery-like breathing room */
.s32-home .s44-teams {
  padding: clamp(72px, 8vw, 120px) 0 clamp(88px, 9vw, 136px) !important;
  background: var(--s54-off) !important;
  color: var(--s54-ink) !important;
  overflow: hidden;
}
.s32-home .s44-teams::before {
  content: "CAPTAINS" !important;
  position: absolute !important;
  right: -0.02em !important;
  top: 0.13em !important;
  inset: auto -0.02em auto auto !important;
  font-family: var(--display) !important;
  font-size: clamp(7rem, 16vw, 15rem) !important;
  line-height: 0.78 !important;
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.06) !important;
  opacity: 1 !important;
  background: none !important;
  pointer-events: none;
}
.s32-home .s44-team-head,
.s32-home .s44-season-row,
.s32-home .s44-team-grid {
  position: relative;
  z-index: 2;
}
.s32-home .s44-team-head {
  margin-bottom: 34px !important;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.14);
}
.s32-home .s44-team-head h2 {
  font-size: clamp(2.8rem, 5vw, 5.2rem) !important;
  letter-spacing: -0.035em !important;
}
.s32-home .s44-season-tabs {
  display: inline-grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  background: var(--s54-ink) !important;
  padding: 5px !important;
  gap: 4px !important;
}
.s32-home .s44-season-tab {
  min-height: 44px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--s54-off) !important;
}
.s32-home .s44-season-tab:hover {
  transform: none !important;
  background: rgba(251, 251, 247, 0.08) !important;
}
.s32-home .s44-season-tab.is-active {
  background: var(--s54-yellow) !important;
  color: var(--s54-ink) !important;
}
.s32-home .s44-team-grid {
  gap: 54px 14px !important;
}
.s32-home .s44-team-visual {
  overflow: visible !important;
  border: 1px solid var(--s54-ink) !important;
  border-radius: 0 !important;
  background: var(--s54-off) !important;
  box-shadow: none !important;
}
.s32-home .s44-team-visual::before {
  background: linear-gradient(
    145deg,
    var(--s54-yellow),
    var(--s54-off) 76%
  ) !important;
  opacity: 0.28 !important;
}
.s32-home .s44-team-visual::after {
  height: 38% !important;
  background: linear-gradient(
    to top,
    rgba(17, 17, 17, 0.68),
    rgba(17, 17, 17, 0)
  ) !important;
}
.s32-home .s44-team-card:nth-child(even) .s44-team-visual {
  transform: translateY(16px);
}
.s32-home .s44-team-card:nth-child(even):hover .s44-team-visual {
  transform: translateY(7px) rotateX(2deg) !important;
}
.s32-home .s44-team-card:hover .s44-team-visual {
  transform: translateY(-9px) rotateX(2deg) !important;
  box-shadow: 10px 10px 0 var(--s54-yellow) !important;
}
.s32-home .s44-team-crest {
  width: 78px !important;
  height: 78px !important;
  bottom: -34px !important;
  border: 2px solid var(--s54-ink) !important;
  border-radius: 0 !important;
  background: var(--s54-off) !important;
  box-shadow: 6px 6px 0 var(--s54-yellow) !important;
}
.s32-home .s44-team-card h3 {
  color: var(--s54-ink) !important;
  margin-top: 100px !important;
  font-family: var(--display) !important;
  font-size: clamp(0.86rem, 1vw, 1rem) !important;
}

/* 03 — dark audience interlude */
.s32-home .s45-audience {
  position: relative;
  overflow: hidden;
  padding: clamp(78px, 8vw, 118px) 0 !important;
  background: var(--s54-ink) !important;
  color: var(--s54-off) !important;
}
.s32-home .s45-audience::before {
  content: "44.5K" !important;
  position: absolute !important;
  inset: auto -0.04em -0.18em auto !important;
  font-family: var(--display) !important;
  font-size: clamp(10rem, 28vw, 31rem) !important;
  line-height: 0.72 !important;
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.14) !important;
  opacity: 1 !important;
  background: none !important;
  pointer-events: none;
}
.s32-home .s45-audience-head,
.s32-home .s45-stats-grid {
  position: relative;
  z-index: 2;
}
.s32-home .s45-audience-head {
  margin-bottom: 34px !important;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(251, 251, 247, 0.18);
}
.s32-home .s45-audience .s32-section-kicker,
.s32-home .s45-audience-head h2,
.s32-home .s45-audience-head p {
  color: var(--s54-off) !important;
}
.s32-home .s45-audience .s32-section-kicker {
  color: var(--s54-yellow) !important;
}
.s32-home .s45-audience-head h2 {
  font-size: clamp(2.7rem, 4.7vw, 5rem) !important;
}
.s32-home .s45-audience-head p {
  opacity: 0.72;
}
.s32-home .s45-stats-grid {
  gap: 12px !important;
}
.s32-home .s45-stat-card {
  min-height: 250px !important;
  padding: 26px 22px 22px !important;
  border: 1px solid rgba(251, 251, 247, 0.3) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--s54-off) !important;
  box-shadow: none !important;
}
.s32-home .s45-stat-card:nth-child(1),
.s32-home .s45-stat-card:nth-child(4) {
  background: var(--s54-yellow) !important;
  color: var(--s54-ink) !important;
  border-color: var(--s54-yellow) !important;
}
.s32-home .s45-stat-card::before {
  height: 5px !important;
  background: var(--s54-yellow) !important;
}
.s32-home .s45-stat-card:nth-child(1)::before,
.s32-home .s45-stat-card:nth-child(4)::before {
  background: var(--s54-ink) !important;
}
.s32-home .s45-stat-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 8px 8px 0 var(--s54-yellow) !important;
}
.s32-home .s45-stat-card:nth-child(1):hover,
.s32-home .s45-stat-card:nth-child(4):hover {
  box-shadow: 8px 8px 0 var(--s54-off) !important;
}
.s32-home .s45-stat-bg {
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(251, 251, 247, 0.1) !important;
}
.s32-home .s45-stat-card:nth-child(1) .s45-stat-bg,
.s32-home .s45-stat-card:nth-child(4) .s45-stat-bg {
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.12) !important;
}
.s32-home .s45-stat-value::after {
  background: var(--s54-yellow) !important;
  box-shadow: none !important;
}
.s32-home .s45-stat-card:nth-child(1) .s45-stat-value::after,
.s32-home .s45-stat-card:nth-child(4) .s45-stat-value::after {
  background: var(--white) !important;
}
.s32-home .s45-stat-value strong {
  font-size: clamp(2.45rem, 3.8vw, 4.15rem) !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  color: var(--s54-off) !important;
  -webkit-text-stroke: 0 !important;
  filter: none !important;
}
.s32-home .s45-stat-card:nth-child(1) .s45-stat-value strong,
.s32-home .s45-stat-card:nth-child(4) .s45-stat-value strong {
  color: var(--s54-ink) !important;
}
.s32-home .s45-stat-card h3,
.s32-home .s45-stat-card p:last-child {
  color: inherit !important;
}
.s32-home .s45-instagram-link {
  border: 1px solid currentColor !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
}
.s32-home .s45-instagram-link:hover {
  background: var(--s54-ink) !important;
  color: var(--s54-yellow) !important;
  border-color: var(--s54-ink) !important;
}

/* 04 — format artwork remains the visual reset */
.s32-home .s33-difference {
  border: 0 !important;
  background: var(--s54-off) !important;
}
.s32-home .s33-difference-copy::before {
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.08) !important;
}
.s32-home .s33-difference-copy p {
  background: var(--s54-off) !important;
  color: var(--s54-ink) !important;
  border: 1px solid var(--s54-ink) !important;
  border-radius: 0 !important;
}

/* 05 — videos on yellow; black framing makes media feel broadcast-like */
.s32-home .v740-video-section {
  padding: clamp(76px, 8vw, 118px) 0 !important;
  background: var(--s54-yellow) !important;
  color: var(--s54-ink) !important;
  overflow: hidden;
}
.s32-home .v740-video-section::after {
  content: "PLAY";
  position: absolute;
  right: -0.03em;
  top: 0.08em;
  font-family: var(--display);
  font-size: clamp(8rem, 20vw, 20rem);
  line-height: 0.8;
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.12);
  pointer-events: none;
}
.s32-home .v740-video-head,
.s32-home .v740-video-grid {
  position: relative;
  z-index: 2;
}
.s32-home .v740-video-head {
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.22);
}
.s32-home .v740-video-head h2,
.s32-home .v740-video-head p,
.s32-home .v740-video-section .s32-section-kicker {
  color: var(--s54-ink) !important;
}
.s32-home .v740-video-card {
  border: 1px solid var(--s54-ink) !important;
  border-radius: 0 !important;
  background: var(--s54-ink) !important;
  box-shadow: none !important;
}
.s32-home .v740-video-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 9px 9px 0 var(--s54-off) !important;
}
.s32-home .v740-video-caption,
.s32-home .v740-video-small-copy {
  background: var(--s54-ink) !important;
  color: var(--s54-off) !important;
}
.s32-home .v740-video-caption span,
.s32-home .v740-video-small-copy span {
  color: var(--s54-yellow) !important;
}
.s32-home .v740-video-caption h3,
.s32-home .v740-video-small-copy b {
  color: var(--s54-off) !important;
}

/* 06 — editorial news: one feature story + two compact stories */
.s32-home .s32-news {
  padding: clamp(82px, 8vw, 124px) 0 !important;
  background: var(--s54-off) !important;
  color: var(--s54-ink) !important;
  overflow: hidden;
}
.s32-home .s32-news::before {
  content: "READ" !important;
  position: absolute !important;
  left: -0.03em !important;
  bottom: -0.12em !important;
  inset: auto auto -0.12em -0.03em !important;
  background: none !important;
  opacity: 1 !important;
  font-family: var(--display) !important;
  font-size: clamp(9rem, 24vw, 24rem) !important;
  line-height: 0.8 !important;
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.05) !important;
  pointer-events: none;
}
.s32-home .s32-section-head,
.s32-home .s32-news-grid {
  position: relative;
  z-index: 2;
}
.s32-home .s32-section-head {
  margin-bottom: 28px !important;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.16);
}
.s32-home .s32-news-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr) !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 14px !important;
}
.s32-home .s32-news-card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  border: 1px solid var(--s54-ink) !important;
  border-radius: 0 !important;
  background: var(--s54-off) !important;
  color: var(--s54-ink) !important;
  box-shadow: none !important;
  overflow: hidden;
}
.s32-home .s32-news-card:first-child {
  grid-row: 1 / 3 !important;
  background: var(--s54-ink) !important;
  color: var(--s54-off) !important;
}
.s32-home .s32-news-card:not(:first-child) {
  grid-template-columns: 42% 58% !important;
  min-height: 210px;
}
.s32-home .s32-news-card img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  aspect-ratio: auto !important;
}
.s32-home .s32-news-card:first-child img {
  aspect-ratio: 16/10 !important;
  min-height: 360px !important;
}
.s32-home .s32-news-card > div {
  padding: 22px 22px 24px !important;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.s32-home .s32-news-card small {
  color: var(--s54-yellow) !important;
}
.s32-home .s32-news-card:not(:first-child) small {
  color: var(--s54-ink) !important;
  opacity: 0.55;
}
.s32-home .s32-news-card h3,
.s32-home .s32-news-card span {
  color: inherit !important;
}
.s32-home .s32-news-card:first-child h3 {
  font-size: clamp(1.8rem, 2.8vw, 3.25rem) !important;
  line-height: 0.92 !important;
}
.s32-home .s32-news-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 8px 8px 0 var(--s54-yellow) !important;
}

/* 07 — original community composition, new dark stage only */
.s32-home .s32-community {
  padding: clamp(78px, 8vw, 120px) 0 !important;
  background: var(--s54-ink) !important;
  color: var(--s54-off) !important;
  overflow: hidden;
}
.s32-home .s32-community::before {
  content: "COMMUNITY" !important;
  position: absolute !important;
  right: -0.04em !important;
  top: 0.05em !important;
  inset: 0.05em -0.04em auto auto !important;
  opacity: 1 !important;
  background: none !important;
  font-family: var(--display) !important;
  font-size: clamp(6rem, 14vw, 14rem) !important;
  line-height: 0.82 !important;
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.13) !important;
  pointer-events: none;
}
.s32-home .s32-community-grid {
  position: relative;
  z-index: 2;
}
.s32-home .s32-community .s32-section-kicker {
  color: var(--s54-yellow) !important;
}
.s32-home .s32-community-copy h2,
.s32-home .s32-community-copy h2 span,
.s32-home .s32-community-copy p {
  color: var(--s54-off) !important;
  background: none !important;
}
.s32-home .s32-community-copy h2 {
  font-size: clamp(2.8rem, 4.5vw, 5rem) !important;
}
.s32-home .s32-community-media {
  border: 1px solid var(--s54-off) !important;
  border-radius: 0 !important;
  background: var(--s54-ink) !important;
  box-shadow: 12px 12px 0 var(--s54-yellow) !important;
}
.s32-home .s32-community-media::after {
  display: none !important;
}
.s32-home .s32-community .s32-btn-yellow {
  background: var(--s54-yellow) !important;
  color: var(--s54-ink) !important;
  border-color: var(--s54-yellow) !important;
}

/* 08 — final campaign artwork stays clean and image-led */
.s32-home .s33-final-cta {
  background: var(--s54-off) !important;
}
.s32-home .s33-dark-btn {
  background: var(--s54-ink) !important;
  color: var(--s54-yellow) !important;
}

/* ---------- MICRO-INTERACTIONS ---------- */
.s32-home .s32-btn,
.s32-home .s32-text-link,
.s32-home .s44-season-tab,
.s32-home .s45-instagram-link {
  transition:
    transform 0.25s ease,
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease !important;
}
.s32-home .s32-btn:hover {
  transform: translateY(-3px) !important;
}
.s32-home .s32-text-link:hover {
  transform: translateX(4px) !important;
}

/* ---------- INTERNAL PAGES: same palette, more designed cadence ---------- */
.s54-ui,
.s54-ui main {
  background: var(--s54-off) !important;
  color: var(--s54-ink) !important;
}
.s54-ui .page-hero {
  background: var(--s54-off) !important;
  color: var(--s54-ink) !important;
  border-bottom: 1px solid var(--s54-ink) !important;
  overflow: hidden;
}
.s54-ui .page-hero::after {
  content: "90";
  position: absolute;
  right: -0.03em;
  bottom: -0.2em;
  font-family: var(--display);
  font-size: clamp(15rem, 32vw, 34rem);
  line-height: 0.75;
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.08);
  pointer-events: none;
}
.s54-ui .page-hero .big90 {
  display: none !important;
}
.s54-ui .page-hero .eyebrow {
  color: var(--s54-ink) !important;
}
.s54-ui main > .section.dark {
  background: var(--s54-ink) !important;
  color: var(--s54-off) !important;
}
.s54-ui main > .section.dark h1,
.s54-ui main > .section.dark h2,
.s54-ui main > .section.dark h3,
.s54-ui main > .section.dark p,
.s54-ui main > .section.dark .muted {
  color: var(--s54-off) !important;
}
.s54-ui main > .section.dark .eyebrow {
  color: var(--s54-yellow) !important;
}
.s54-ui main > .section.light {
  background: var(--s54-yellow) !important;
  color: var(--s54-ink) !important;
}
.s54-ui main > .section.light h1,
.s54-ui main > .section.light h2,
.s54-ui main > .section.light h3,
.s54-ui main > .section.light p,
.s54-ui main > .section.light .muted,
.s54-ui main > .section.light .eyebrow {
  color: var(--s54-ink) !important;
}
.s54-ui main > .section:not(.dark):not(.light):not(.yellow) {
  background: var(--s54-off) !important;
  color: var(--s54-ink) !important;
}
.s54-ui .heading-yellow {
  color: var(--s54-ink) !important;
  background: var(--s54-yellow);
  padding: 0 0.08em;
}
.s54-ui .section.light .heading-yellow {
  background: var(--s54-ink) !important;
  color: var(--s54-yellow) !important;
}
.s54-ui .journey-card,
.s54-ui .team-card,
.s54-ui .profile-card,
.s54-ui .match-card,
.s54-ui .press-card,
.s54-ui .aside-box,
.s54-ui .field,
.s54-ui input,
.s54-ui textarea,
.s54-ui select {
  border-radius: 0 !important;
  border: 1px solid var(--s54-ink) !important;
  background: var(--s54-off) !important;
  color: var(--s54-ink) !important;
  box-shadow: none !important;
}
.s54-ui .section.light .journey-card,
.s54-ui .section.light .team-card,
.s54-ui .section.light .profile-card,
.s54-ui .section.light .match-card,
.s54-ui .section.light .press-card {
  background: var(--s54-off) !important;
}
.s54-ui .journey-card:hover,
.s54-ui .team-card:hover,
.s54-ui .profile-card:hover,
.s54-ui .press-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 8px 8px 0 var(--s54-ink) !important;
}
.s54-ui .section.dark .journey-card:hover,
.s54-ui .section.dark .team-card:hover,
.s54-ui .section.dark .profile-card:hover,
.s54-ui .section.dark .press-card:hover {
  box-shadow: 8px 8px 0 var(--s54-yellow) !important;
}
.s54-ui .btn.primary {
  background: var(--s54-yellow) !important;
  color: var(--s54-ink) !important;
}
.s54-ui .btn.secondary {
  border-color: currentColor !important;
  background: transparent !important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
  .s32-home .v737-fixtures-head {
    grid-template-columns: 1fr auto !important;
  }
  .s32-home .v737-fixtures-head > p {
    grid-column: 1/-1 !important;
  }
  .s32-home .s32-news-grid {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
  }
  .s32-home .s32-news-card:first-child {
    grid-column: 1/-1 !important;
    grid-row: auto !important;
  }
  .s32-home .s32-news-card:not(:first-child) {
    grid-template-columns: 1fr !important;
    min-height: 0;
  }
  .s32-home .s32-news-card:not(:first-child) img {
    aspect-ratio: 16/10 !important;
  }
  .s32-home .s44-team-card:nth-child(even) .s44-team-visual {
    transform: none;
  }
}
@media (max-width: 680px) {
  .s54-rhythm-strip {
    padding: 10px 0 9px;
  }
  .s54-rhythm-track {
    gap: 20px;
    font-size: 1rem;
    animation-duration: 16s;
  }
  .s32-home .v737-fixtures {
    padding: 48px 0 54px !important;
  }
  .s32-home .v737-fixtures-head {
    display: block !important;
  }
  .s32-home .v737-fixtures-head > p {
    margin: 10px 0 14px !important;
  }
  .s32-home .v737-fixture-card {
    flex-basis: min(84vw, 330px) !important;
    min-height: 220px;
  }
  .s32-home .s44-teams {
    padding: 64px 0 84px !important;
  }
  .s32-home .s44-team-head h2 {
    font-size: clamp(2.2rem, 10vw, 3.2rem) !important;
  }
  .s32-home .s44-season-tabs {
    width: 100% !important;
  }
  .s32-home .s44-team-crest {
    width: 64px !important;
    height: 64px !important;
    bottom: -28px !important;
    box-shadow: 4px 4px 0 var(--s54-yellow) !important;
  }
  .s32-home .s44-team-card h3 {
    margin-top: 60px !important;
    font-size: 0.74rem !important;
  }
  .s32-home .s45-audience {
    padding: 62px 0 !important;
  }
  .s32-home .s45-stats-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .s32-home .s45-stat-card {
    min-height: 220px !important;
    padding: 20px 16px !important;
  }
  .s32-home .s45-stat-value strong {
    font-size: clamp(2.25rem, 11vw, 3.2rem) !important;
  }
  .s32-home .s45-stat-card h3 {
    font-size: 0.95rem !important;
  }
  .s32-home .s45-stat-card p:last-child {
    font-size: 0.78rem !important;
  }
  .s32-home .s45-instagram-link {
    font-size: 0.68rem !important;
    padding: 0 9px !important;
  }
  .s32-home .v740-video-section {
    padding: 62px 0 !important;
  }
  .s32-home .s32-news {
    padding: 64px 0 !important;
  }
  .s32-home .s32-news-grid {
    grid-template-columns: 1fr !important;
  }
  .s32-home .s32-news-card:first-child {
    grid-column: auto !important;
  }
  .s32-home .s32-news-card:first-child img {
    min-height: 0 !important;
    aspect-ratio: 16/10 !important;
  }
  .s32-home .s32-news-card > div {
    padding: 18px 18px 20px !important;
  }
  .s32-home .s32-community {
    padding: 64px 0 72px !important;
  }
}
@media (max-width: 430px) {
  .s32-home .s45-stats-grid {
    grid-template-columns: 1fr !important;
  }
  .s32-home .s45-stat-card {
    min-height: 200px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .s54-rhythm-track {
    animation: none !important;
    transform: none !important;
  }
  .s32-home .v737-fixture-card,
  .s32-home .s44-team-visual,
  .s32-home .s45-stat-card,
  .s32-home .v740-video-card,
  .s32-home .s32-news-card {
    transition: none !important;
  }
}

/* V7.54 staggered cards on first viewport entry */
.s54-stagger-item {
  opacity: 0;
  transform: translateY(24px);
  transition-property: opacity, transform, box-shadow, border-color !important;
  transition-duration: 0.65s, 0.65s, 0.3s, 0.3s !important;
  transition-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1) !important;
  transition-delay: var(--s54-delay, 0ms) !important;
}
.s54-stagger-item.s54-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .s54-stagger-item {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* V7.54 internal-page palette completion */
.s54-ui main > .section.graphite {
  background: var(--s54-yellow) !important;
  color: var(--s54-ink) !important;
}
.s54-ui main > .section.graphite h1,
.s54-ui main > .section.graphite h2,
.s54-ui main > .section.graphite h3,
.s54-ui main > .section.graphite p,
.s54-ui main > .section.graphite .muted,
.s54-ui main > .section.graphite .eyebrow {
  color: var(--s54-ink) !important;
}
.s54-ui .contact-opportunity-section {
  background: var(--s54-yellow) !important;
  color: var(--s54-ink) !important;
}
.s54-ui .team-card,
.s54-ui .profile-card {
  --team: var(--s54-yellow) !important;
}
.s54-ui .photo-card {
  border: 1px solid currentColor !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease !important;
}
.s54-ui .photo-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 7px 7px 0 var(--s54-yellow) !important;
}
.s54-ui .section.graphite .photo-card:hover {
  box-shadow: 7px 7px 0 var(--s54-ink) !important;
}
.s54-ui .press-card > div {
  background: var(--s54-off) !important;
  color: var(--s54-ink) !important;
}
.s54-ui .press-card small {
  color: var(--s54-ink) !important;
  opacity: 0.7;
}
.s54-ui .season-chip.active {
  background: var(--s54-yellow) !important;
  color: var(--s54-ink) !important;
  border-color: var(--s54-yellow) !important;
}

/* V7.54 palette lock — collapse legacy variables to the approved three-colour system */
:root {
  --yellow: #fdd103;
  --yellow2: #fdd103;
  --black: #111111;
  --graphite: #111111;
  --silver: #fdd103;
  --mid: #111111;
  --off: #fbfbf7;
  --white: #fbfbf7;
  --paper: #fbfbf7;
  --paper-2: #fbfbf7;
  --paper-3: #fdd103;
  --ink: #111111;
  --ink-soft: #111111;
  --panel: #fbfbf7;
  --ui-ink: #111111;
  --ui-body: #111111;
  --ui-gold: #111111;
  --ui-yellow: #fdd103;
  --ui-paper: #fbfbf7;
  --ui-cream: #fbfbf7;
  --ui-line: #fdd103;
  --ui-line-soft: #fdd103;
  --s90-primary: #fdd103;
  --s90-secondary: #fdd103;
  --s90-light: #fdd103;
  --s90-white: #fbfbf7;
  --s90-off: #fbfbf7;
  --s90-ink: #111111;
  --s90-yellow: #fdd103;
  --s90-yellow-2: #fdd103;
  --s90-yellow-3: #fdd103;
  --s90-dark: #111111;
  --v20-primary: #fdd103;
  --v20-secondary: #fdd103;
  --v20-light: #fdd103;
  --v20-white: #fbfbf7;
  --v20-off: #fbfbf7;
  --v20-ink: #111111;
  --s32-yellow: #fdd103;
  --s32-yellow-soft: #fdd103;
  --s32-ink: #111111;
  --s32-paper: #fbfbf7;
}

/* === V7.56 — community clarity + restore original articles + hero copy === */

/* Restore the original homepage article presentation: three equal editorial cards. */
.s32-home .s32-news {
  padding: 70px 0 74px !important;
  background: #fbfbf7 !important;
  color: #111111 !important;
  overflow: visible !important;
}
.s32-home .s32-news::before {
  display: none !important;
  content: none !important;
}
.s32-home .s32-section-head {
  margin-bottom: 26px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}
.s32-home .s32-news-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: auto !important;
  gap: 14px !important;
}
.s32-home .s32-news-card,
.s32-home .s32-news-card:first-child,
.s32-home .s32-news-card:not(:first-child) {
  display: grid !important;
  grid-column: auto !important;
  grid-row: auto !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 220px 1fr !important;
  min-height: 390px !important;
  background: #fbfbf7 !important;
  color: #111111 !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.s32-home .s32-news-card img,
.s32-home .s32-news-card:first-child img,
.s32-home .s32-news-card:not(:first-child) img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}
.s32-home .s32-news-card > div,
.s32-home .s32-news-card:first-child > div,
.s32-home .s32-news-card:not(:first-child) > div {
  padding: 22px 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
}
.s32-home .s32-news-card small,
.s32-home .s32-news-card:first-child small,
.s32-home .s32-news-card:not(:first-child) small {
  color: #111111 !important;
  opacity: 0.62 !important;
}
.s32-home .s32-news-card h3,
.s32-home .s32-news-card:first-child h3,
.s32-home .s32-news-card:not(:first-child) h3 {
  color: #111111 !important;
  font-size: clamp(1.12rem, 1.2vw, 1.34rem) !important;
  line-height: 1.03 !important;
  margin: 10px 0 18px !important;
  overflow-wrap: anywhere !important;
}
.s32-home .s32-news-card span {
  color: #111111 !important;
  margin-top: auto !important;
}
.s32-home .s32-news-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 18px 38px rgba(17, 17, 17, 0.08) !important;
}

/* Restore the original community split composition, remove vertical gaps, and keep text readable. */
.s32-home .s32-community {
  padding: 0 !important;
  margin: 0 !important;
  background: #fbfbf7 !important;
  color: #111111 !important;
  overflow: hidden !important;
}
.s32-home .s32-community::before {
  display: none !important;
  content: none !important;
}
.s32-home .s32-community-grid {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: 0.78fr 1.22fr !important;
  gap: 0 !important;
  align-items: stretch !important;
}
.s32-home .s32-community-copy {
  padding: 68px max(42px, calc((100vw - 1380px) / 2 + 35px)) !important;
  padding-right: 54px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: #fbfbf7 !important;
  color: #111111 !important;
  max-width: none !important;
}
.s32-home .s32-community .s32-section-kicker {
  color: #111111 !important;
}
.s32-home .s32-community-copy h2,
.s32-home .s32-community-copy h2 span,
.s32-home .s32-community-copy p {
  color: #111111 !important;
}
.s32-home .s32-community-copy h2 {
  font-size: clamp(2.65rem, 3.5vw, 4.25rem) !important;
  line-height: 1.1 !important;
  margin-top: 7px !important;
}
.s32-home .s32-community-copy h2 span {
  background: #fdd103 !important;
  padding: 0 0.08em !important;
}
.s32-home .s32-community-copy p {
  max-width: 390px !important;
  margin: 20px 0 24px !important;
  opacity: 0.78 !important;
}
.s32-home .s32-community-media {
  position: relative !important;
  min-height: 460px !important;
  height: auto !important;
  align-self: stretch !important;
  overflow: hidden !important;
  background: #fdd103 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
.s32-home .s32-community-media:hover {
  transform: none !important;
  box-shadow: none !important;
}
.s32-home .s32-community-media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center 38% !important;
  filter: grayscale(0.3) saturate(0.8) contrast(1.06) !important;
}
.s32-home .s32-community-media::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(253, 209, 3, 0.62),
    rgba(253, 209, 3, 0.1) 46%,
    rgba(253, 209, 3, 0)
  ) !important;
  mix-blend-mode: multiply !important;
}
.s32-home .s32-community .s32-btn-yellow {
  background: #fdd103 !important;
  color: #111111 !important;
  border-color: #fdd103 !important;
}

@media (max-width: 1024px) {
  .s32-home .s32-news-grid {
    grid-template-columns: 1fr !important;
  }
  .s32-home .s32-news-card,
  .s32-home .s32-news-card:first-child,
  .s32-home .s32-news-card:not(:first-child) {
    grid-template-columns: 44% 1fr !important;
    grid-template-rows: 1fr !important;
    min-height: 230px !important;
  }
  .s32-home .s32-news-card img,
  .s32-home .s32-news-card:first-child img,
  .s32-home .s32-news-card:not(:first-child) img {
    aspect-ratio: auto !important;
  }

  .s32-home .s32-community-grid {
    grid-template-columns: 1fr !important;
  }
  .s32-home .s32-community-copy {
    padding: 58px clamp(26px, 6vw, 60px) !important;
    padding-right: clamp(26px, 6vw, 60px) !important;
  }
  .s32-home .s32-community-media {
    min-height: 390px !important;
  }
}

@media (max-width: 640px) {
  .s32-home .s32-news {
    padding: 60px 0 64px !important;
  }
  .s32-home .s32-news-grid {
    gap: 10px !important;
  }
  .s32-home .s32-news-card,
  .s32-home .s32-news-card:first-child,
  .s32-home .s32-news-card:not(:first-child) {
    grid-template-columns: 1fr !important;
    grid-template-rows: 190px auto !important;
    min-height: 0 !important;
    border-radius: 16px !important;
  }
  .s32-home .s32-news-card > div {
    padding: 18px 18px 20px !important;
  }

  .s32-home .s32-community-copy {
    padding: 52px 24px !important;
  }
  .s32-home .s32-community-copy h2 {
    font-size: clamp(2.35rem, 11vw, 3.45rem) !important;
  }
  .s32-home .s32-community-media {
    min-height: 330px !important;
  }
}

/* ======================================================================
   V7.57 — SITE-WIDE CONTRAST AUDIT + BLACK VIDEO STAGE
   Approved palette: #FDD103 / #FBFBF7 / #111111
   ====================================================================== */

/* ---------- HOMEPAGE: LOCK READABLE TEXT TO EACH SECTION SURFACE ---------- */
/* Hero artwork has a deliberately light text-safe area. */
.s32-home .s33-hero-copy,
.s32-home .s33-hero-copy .s32-kicker,
.s32-home .s33-hero-copy .s33-hero-title,
.s32-home .s33-hero-copy .s33-hero-title span,
.s32-home .s33-hero-copy > p {
  color: #111111 !important;
}
.s32-home .s33-hero .s32-btn-line {
  color: #111111 !important;
  border-color: #111111 !important;
  background: transparent !important;
}
.s32-home .s33-facts,
.s32-home .s33-facts b,
.s32-home .s33-facts small,
.s32-home .s33-facts span {
  color: #111111 !important;
}

/* Yellow fixtures surface = dark text; dark match cards = off-white text. */
.s32-home .v737-fixtures,
.s32-home .v737-fixtures-head,
.s32-home .v737-fixtures-head h2,
.s32-home .v737-fixtures-head > p,
.s32-home .v737-fixtures-head .s32-section-kicker,
.s32-home .v737-fixtures-head .s32-text-link {
  color: #111111 !important;
}
.s32-home .v737-fixture-card,
.s32-home .v737-fixture-card .v737-fixture-meta,
.s32-home .v737-fixture-card .v737-fixture-meta span,
.s32-home .v737-fixture-card .v737-fixture-meta b,
.s32-home .v737-fixture-card .v737-team-slot {
  color: #fbfbf7 !important;
}
.s32-home .v737-fixture-card > p,
.s32-home .v737-fixture-match em {
  color: #fdd103 !important;
}

/* Teams / captains lives on off-white. */
.s32-home .s44-teams,
.s32-home .s44-team-head,
.s32-home .s44-team-head h2,
.s32-home .s44-team-head > p,
.s32-home .s44-season-row .s32-text-link,
.s32-home .s44-team-card h3 {
  color: #111111 !important;
}
.s32-home .s44-season-tab {
  color: #fbfbf7 !important;
}
.s32-home .s44-season-tab.is-active {
  color: #111111 !important;
}

/* Audience is dark; yellow cards invert to dark text. */
.s32-home .s45-audience,
.s32-home .s45-audience-head h2,
.s32-home .s45-audience-head > p {
  color: #fbfbf7 !important;
}
.s32-home .s45-audience .s32-section-kicker {
  color: #fdd103 !important;
}
.s32-home .s45-stat-card {
  color: #fbfbf7 !important;
}
.s32-home .s45-stat-card h3,
.s32-home .s45-stat-card p,
.s32-home .s45-stat-card .s45-stat-value strong,
.s32-home .s45-stat-card .s45-instagram-link {
  color: inherit !important;
}
.s32-home .s45-stat-card:nth-child(1),
.s32-home .s45-stat-card:nth-child(4) {
  color: #111111 !important;
}

/* Format artwork text sits on the light side of the supplied image. */
.s32-home .s33-difference-copy,
.s32-home .s33-difference-copy .s32-section-kicker,
.s32-home .s33-difference-copy h2,
.s32-home .s33-difference-copy h2 span,
.s32-home .s33-difference-copy p {
  color: #111111 !important;
}

/* ---------- VIDEO SECTION: BLACK BROADCAST STAGE ---------- */
.s32-home .v740-video-section {
  background: #111111 !important;
  color: #fbfbf7 !important;
  border-top: 1px solid #111111 !important;
  border-bottom: 1px solid #111111 !important;
}
.s32-home .v740-video-section::after {
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.22) !important;
}
.s32-home .v740-video-head {
  border-bottom: 1px solid rgba(251, 251, 247, 0.22) !important;
}
.s32-home .v740-video-section .s32-section-kicker {
  color: #fdd103 !important;
}
.s32-home .v740-video-head h2,
.s32-home .v740-video-head > p {
  color: #fbfbf7 !important;
}
.s32-home .v740-video-card {
  background: #111111 !important;
  color: #fbfbf7 !important;
  border: 1px solid rgba(251, 251, 247, 0.34) !important;
}
.s32-home .v740-video-card:hover {
  border-color: #fdd103 !important;
  box-shadow: 8px 8px 0 #fdd103 !important;
}
.s32-home .v740-video-caption,
.s32-home .v740-video-small-copy {
  background: #111111 !important;
  color: #fbfbf7 !important;
}
.s32-home .v740-video-caption span,
.s32-home .v740-video-small-copy span {
  color: #fdd103 !important;
}
.s32-home .v740-video-caption h3,
.s32-home .v740-video-small-copy b {
  color: #fbfbf7 !important;
}

/* Articles and community are light in V7.56: always use dark text. */
.s32-home .s32-news,
.s32-home .s32-news .s32-section-kicker,
.s32-home .s32-news .s32-section-head h2,
.s32-home .s32-news .s32-section-head > p,
.s32-home .s32-news .s32-text-link,
.s32-home .s32-news-card,
.s32-home .s32-news-card small,
.s32-home .s32-news-card h3,
.s32-home .s32-news-card span {
  color: #111111 !important;
}
.s32-home .s32-community,
.s32-home .s32-community .s32-section-kicker,
.s32-home .s32-community-copy h2,
.s32-home .s32-community-copy h2 span,
.s32-home .s32-community-copy p {
  color: #111111 !important;
}
.s32-home .s32-community-copy h2 span {
  background: #fdd103 !important;
}

/* Final CTA supplied banner also has a light text-safe field. */
.s32-home .s33-final-copy,
.s32-home .s33-final-copy .s32-section-kicker,
.s32-home .s33-final-copy h2,
.s32-home .s33-final-copy h2 span,
.s32-home .s33-final-copy p {
  color: #111111 !important;
}
.s32-home .s33-dark-btn {
  background: #111111 !important;
  color: #fdd103 !important;
}

/* ---------- INTERNAL PAGES: SURFACE-BASED CONTRAST RULES ---------- */
/* Page heroes are off-white. */
.s54-ui .page-hero,
.s54-ui .page-hero h1,
.s54-ui .page-hero h2,
.s54-ui .page-hero h3,
.s54-ui .page-hero p,
.s54-ui .page-hero .eyebrow,
.s54-ui .page-hero .muted {
  color: #111111 !important;
}

/* Any dark section must never inherit dark/black copy. */
.s54-ui main > .section.dark,
.s54-ui main > .section.dark .section-title,
.s54-ui main > .section.dark .section-head h2,
.s54-ui main > .section.dark .section-head p,
.s54-ui main > .section.dark h1,
.s54-ui main > .section.dark h2,
.s54-ui main > .section.dark h3,
.s54-ui main > .section.dark h4,
.s54-ui main > .section.dark p,
.s54-ui main > .section.dark li,
.s54-ui main > .section.dark .muted,
.s54-ui main > .section.dark .season-bar,
.s54-ui main > .section.dark .season-bar strong,
.s54-ui main > .section.dark .season-bar span,
.s54-ui main > .section.dark .about-v18-stats strong,
.s54-ui main > .section.dark .about-v18-stats span {
  color: black !important;
}
.s54-ui main > .section.dark .eyebrow {
  color: #fdd103 !important;
}

/* Light/yellow/graphite surfaces always use dark copy. */
.s54-ui main > .section.light,
.s54-ui main > .section.graphite,
.s54-ui .contact-opportunity-section,
.s54-ui main > .section.light h1,
.s54-ui main > .section.light h2,
.s54-ui main > .section.light h3,
.s54-ui main > .section.light h4,
.s54-ui main > .section.light p,
.s54-ui main > .section.light li,
.s54-ui main > .section.light .muted,
.s54-ui main > .section.light .eyebrow,
.s54-ui main > .section.graphite h1,
.s54-ui main > .section.graphite h2,
.s54-ui main > .section.graphite h3,
.s54-ui main > .section.graphite h4,
.s54-ui main > .section.graphite p,
.s54-ui main > .section.graphite li,
.s54-ui main > .section.graphite .muted,
.s54-ui main > .section.graphite .eyebrow,
.s54-ui .contact-opportunity-section h1,
.s54-ui .contact-opportunity-section h2,
.s54-ui .contact-opportunity-section h3,
.s54-ui .contact-opportunity-section p,
.s54-ui .contact-opportunity-section label,
.s54-ui .contact-opportunity-section label > span {
  color: #111111 !important;
}

/* Cards sitting on dark sections are off-white, so force their inner copy dark. */
.s54-ui
  main
  > .section.dark
  :is(
    .team-card,
    .profile-card,
    .match-card,
    .journey-card,
    .teams-reveal-card,
    .press-card,
    .aside-box
  ),
.s54-ui
  main
  > .section.dark
  :is(
    .team-card,
    .profile-card,
    .match-card,
    .journey-card,
    .teams-reveal-card,
    .press-card,
    .aside-box
  )
  :is(h1, h2, h3, h4, p, span, strong, b, small, .muted, .link, .meta) {
  color: #111111 !important;
}
.s54-ui main > .section.dark .champion-badge,
.s54-ui main > .section.dark .profile-champion-badge {
  background: #fdd103 !important;
  color: #111111 !important;
}

/* Fixture list itself remains on the dark surface. */
.s54-ui main > .section.dark .fixture-row,
.s54-ui main > .section.dark .fixture-row .f-meta,
.s54-ui main > .section.dark .fixture-row .f-meta strong,
.s54-ui main > .section.dark .fixture-row .f-meta span,
.s54-ui main > .section.dark .fixture-row .f-team,
.s54-ui main > .section.dark .fixture-row .f-team > span:not(.mini-crest),
.s54-ui main > .section.dark .fixture-row .f-vs {
  color: #fbfbf7 !important;
}
.s54-ui main > .section.dark .fixture-row .f-action {
  color: #fdd103 !important;
}
.s54-ui main > .section.dark .fixture-row .mini-crest {
  background: #fbfbf7 !important;
  color: #111111 !important;
  border-color: #fbfbf7 !important;
}

/* Tabs / chips: explicit states so labels cannot disappear. */
.s54-ui .tabs .tab,
.s54-ui .season-chip {
  background: #fbfbf7 !important;
  color: #111111 !important;
  border-color: #fbfbf7 !important;
}
.s54-ui .tabs .tab.active,
.s54-ui .season-chip.active {
  background: #fdd103 !important;
  color: #111111 !important;
  border-color: #fdd103 !important;
}

/* Off-white form/card surfaces always carry dark content. */
.s54-ui
  :is(
    .contact-form-shell,
    .opportunity-card,
    .news-card,
    .press-card,
    .journey-card,
    .team-card,
    .profile-card,
    .match-card,
    .aside-box
  ),
.s54-ui
  :is(
    .contact-form-shell,
    .opportunity-card,
    .news-card,
    .press-card,
    .journey-card,
    .team-card,
    .profile-card,
    .match-card,
    .aside-box
  )
  :is(
    h1,
    h2,
    h3,
    h4,
    p,
    span,
    strong,
    b,
    small,
    label,
    .muted,
    .category,
    .press-source,
    .press-read
  ) {
  color: #111111 !important;
}
.s54-ui :is(input, textarea, select, .field) {
  background: #fbfbf7 !important;
  color: #111111 !important;
}
.s54-ui :is(input, textarea)::placeholder {
  color: rgba(17, 17, 17, 0.58) !important;
}

/* Gallery captions sit on photography, so keep a strong dark label behind light text. */
.s54-ui .photo-card span {
  color: #fbfbf7 !important;
  background: rgba(17, 17, 17, 0.82) !important;
  padding: 5px 8px !important;
}

/* Secondary buttons on dark sections need visible outlines and copy. */
.s54-ui main > .section.dark .btn.secondary {
  color: #fbfbf7 !important;
  border-color: #fbfbf7 !important;
}
.s54-ui main > .section.dark .btn.primary {
  background: #fdd103 !important;
  color: #111111 !important;
  border-color: #fdd103 !important;
}

@media (prefers-reduced-motion: reduce) {
  .s32-home .v740-video-card:hover {
    box-shadow: none !important;
    transform: none !important;
  }
}

/* V7.58 — supplied responsive artwork: preserve full compositions */
.s33-difference .s33-art-bg img,
.s33-final-cta .s33-art-bg img {
  object-fit: cover;
  object-position: center;
}
@media (min-width: 1025px) {
  .s33-difference .s33-art-bg img,
  .s33-final-cta .s33-art-bg img {
    object-position: center center;
  }
}
@media (max-width: 1024px) {
  .s33-difference .s33-art-bg img,
  .s33-final-cta .s33-art-bg img {
    object-position: center center;
  }
}
@media (max-width: 640px) {
  .s33-difference .s33-art-bg img,
  .s33-final-cta .s33-art-bg img {
    object-position: center center;
  }
}

/* === V7.59 — Teams page restored to clean season archive === */
body.s54-ui[data-page="teams"] main > .section.dark {
  background: #fbfbf7 !important;
  color: #111111 !important;
}
body.s54-ui[data-page="teams"]
  main
  > .section.dark
  :is(h1, h2, h3, h4, p, span, strong, b, small, .muted, .eyebrow) {
  color: #111111 !important;
}
body[data-page="teams"] .season-bar {
  border-bottom: 1px solid rgba(17, 17, 17, 0.55) !important;
  padding-bottom: 26px;
  margin-bottom: 28px;
}
body[data-page="teams"] .season-bar .eyebrow {
  color: #555 !important;
}
body[data-page="teams"] .season-chip {
  background: #fbfbf7 !important;
  border: 1px solid #e2b900 !important;
  color: #111 !important;
  min-height: 46px;
  padding: 10px 18px;
}
body[data-page="teams"] .season-chip:hover,
body[data-page="teams"] .season-chip.active {
  background: #fdd103 !important;
  border-color: #fdd103 !important;
  color: #111 !important;
  box-shadow: none !important;
}
body[data-page="teams"] .season-champion-panel {
  background: linear-gradient(105deg, #fffdf3 0%, #fff8cf 100%) !important;
  border: 1px solid #fdd103 !important;
  border-left: 7px solid #fdd103 !important;
  box-shadow: 0 18px 45px rgba(17, 17, 17, 0.07) !important;
  padding: 34px 38px !important;
  min-height: 210px;
}
body[data-page="teams"] .season-champion-panel:after {
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.055) !important;
  right: 100px;
}
body[data-page="teams"] .season-champion-copy .eyebrow {
  color: #666 !important;
}
body[data-page="teams"] .season-champion-copy p {
  color: #222 !important;
}
body[data-page="teams"] .season-champion-mark .crest {
  width: 130px;
  height: 130px;
  background: #fff !important;
  border: 1px solid #eee !important;
  clip-path: polygon(0 0, 82% 0, 100% 18%, 100% 100%, 0 100%);
}
body[data-page="teams"] .season-team-grid {
  gap: 12px !important;
}
body.s54-ui[data-page="teams"] .team-card {
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #ddd !important;
  box-shadow: none !important;
  min-height: 345px;
  padding: 24px !important;
}
body[data-page="teams"] .team-card:hover {
  transform: translateY(-4px) !important;
  border-color: #fdd103 !important;
  box-shadow: 0 16px 35px rgba(17, 17, 17, 0.08) !important;
}
body[data-page="teams"] .team-card:before {
  background: none !important;
}
body[data-page="teams"] .team-card .team-index {
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.5) !important;
  opacity: 1 !important;
}
body[data-page="teams"] .team-card .team-logo {
  width: min(43%, 145px) !important;
  height: 145px !important;
  filter: drop-shadow(0 13px 14px rgba(17, 17, 17, 0.15)) !important;
}
body[data-page="teams"] .team-card .team-bottom .muted {
  color: #666 !important;
}
body[data-page="teams"] .team-card .team-bottom h3 {
  color: #111 !important;
}
body[data-page="teams"] .team-card.is-champion {
  border-color: #fdd103 !important;
}
body[data-page="teams"] .team-card .champion-badge {
  background: #fdd103 !important;
  color: #111 !important;
}
body[data-page="teams"] .team-card .champion-line {
  color: #111 !important;
}
@media (max-width: 720px) {
  body[data-page="teams"] .season-team-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
    gap: 10px !important;
  }
  body.s54-ui[data-page="teams"] .team-card {
    min-width: 0 !important;
    min-height: 270px;
    padding: 16px !important;
  }
  body[data-page="teams"] .team-card .team-logo {
    width: min(65%, 110px) !important;
    height: 110px !important;
  }
  body[data-page="teams"] .team-card .team-bottom h3 {
    font-size: clamp(1rem, 5vw, 1.45rem) !important;
  }
  body[data-page="teams"] .season-champion-panel {
    grid-template-columns: 1fr 92px !important;
    padding: 22px 18px !important;
    min-height: 165px;
  }
  body[data-page="teams"] .season-champion-mark .crest {
    width: 86px !important;
    height: 86px !important;
  }
}

/* === V7.60 — About restoration + tighter typography / mobile scale === */
/* Restore the About page to the clean editorial layout used before. */
body.s54-ui[data-page="about"] main > .section.dark {
  background: #fdd103 !important;
  color: #111111 !important;
}
body.s54-ui[data-page="about"]
  main
  > .section.dark
  :is(h1, h2, h3, h4, p, span, strong, b, small, .muted, .eyebrow) {
  color: #111111 !important;
}
body[data-page="about"] .page-hero {
  background: #fbfbf7 !important;
  color: #111 !important;
  border-bottom: 3px solid #fdd103 !important;
}
body[data-page="about"] .journey-card {
  background: #fbfbf7 !important;
  color: #111 !important;
  border: 1px solid rgba(17, 17, 17, 0.22) !important;
  box-shadow: none !important;
}
body[data-page="about"] .journey-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 6px 6px 0 #fdd103 !important;
}
body[data-page="about"] .journey-card :is(h3, p, span) {
  color: #111 !important;
}
body[data-page="about"] .journey-card:after {
  background: #111 !important;
}
body[data-page="about"] .launch-grid {
  align-items: center;
}

/* Reduce oversized display typography across the website. */
.s54-ui .page-hero .display {
  font-size: clamp(3.15rem, 6.2vw, 6.3rem) !important;
  line-height: 0.88 !important;
}
.s54-ui .section-title {
  font-size: clamp(2.75rem, 5vw, 5.25rem) !important;
  line-height: 0.9 !important;
}
.s32-home .s33-hero-title {
  font-size: clamp(3rem, 5.8vw, 6rem) !important;
}
.s32-home .s44-team-head h2,
.s32-home .s45-audience h2,
.s32-home .s32-section-title {
  font-size: clamp(2.6rem, 4.8vw, 5rem) !important;
  line-height: 0.92 !important;
}

@media (max-width: 680px) {
  /* Smaller, denser mobile typography and controls. */
  .s54-ui .page-hero {
    padding-top: 104px !important;
    padding-bottom: 48px !important;
  }
  .s54-ui .page-hero .display {
    font-size: clamp(2.15rem, 11vw, 3rem) !important;
    line-height: 0.88 !important;
    margin-bottom: 10px !important;
  }
  .s54-ui .section-title,
  .s32-home .s44-team-head h2,
  .s32-home .s45-audience h2,
  .s32-home .s32-section-title {
    font-size: clamp(1.9rem, 9.5vw, 2.65rem) !important;
    line-height: 0.91 !important;
  }
  .s32-home .s33-hero-title {
    font-size: clamp(2rem, 10vw, 2.8rem) !important;
    line-height: 0.9 !important;
  }
  .display {
    letter-spacing: -0.035em !important;
  }
  .eyebrow {
    font-size: 0.58rem !important;
    letter-spacing: 0.15em !important;
    margin-bottom: 7px !important;
  }
  p,
  .muted {
    line-height: 1.45 !important;
  }
  .section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .section-head {
    margin-bottom: 22px !important;
    gap: 10px !important;
  }
  .section-head p {
    margin-top: 7px !important;
  }
  .hero-actions {
    gap: 7px !important;
    margin-top: 14px !important;
  }
  .btn,
  .s32-btn,
  .s44-season-tab,
  .season-chip {
    min-height: 34px !important;
    padding: 8px 12px !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.06em !important;
  }
  body[data-page="about"] .about-v18-grid {
    gap: 22px !important;
  }
  body[data-page="about"] .about-v18-copy p {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
  }
  body[data-page="about"] .about-v18-stats {
    margin-top: 4px !important;
  }
  body[data-page="about"] .journey-grid {
    gap: 8px !important;
  }
  body[data-page="about"] .journey-card {
    padding: 18px 16px !important;
    min-height: 0 !important;
  }
  body[data-page="about"] .journey-card h3 {
    font-size: clamp(1.25rem, 6.4vw, 1.75rem) !important;
    line-height: 0.94 !important;
    margin: 12px 0 7px !important;
  }
  body[data-page="about"] .journey-card p {
    font-size: 0.72rem !important;
    margin: 0 !important;
  }
  body[data-page="about"] .launch-grid {
    gap: 22px !important;
  }
  body[data-page="about"] .launch-copy p {
    margin: 9px 0 0 !important;
  }
  body[data-page="about"] .hero-actions {
    margin-top: 14px !important;
  }
  .site-footer .display {
    font-size: clamp(1.85rem, 9vw, 2.5rem) !important;
    line-height: 0.9 !important;
  }
}

@media (max-width: 430px) {
  .s54-ui .page-hero .display {
    font-size: clamp(1.95rem, 10.5vw, 2.6rem) !important;
  }
  .s54-ui .section-title,
  .s32-home .s44-team-head h2,
  .s32-home .s45-audience h2,
  .s32-home .s32-section-title {
    font-size: clamp(1.72rem, 9vw, 2.3rem) !important;
  }
  .btn,
  .s32-btn,
  .s44-season-tab,
  .season-chip {
    min-height: 32px !important;
    padding: 7px 10px !important;
    font-size: 0.58rem !important;
  }
}

/* === V7.61 — Corrected compact typography: desktop + tablet + mobile ===
   This block intentionally overrides V7.60, whose desktop clamps were too large. */

/* DESKTOP: genuinely smaller display scale across the full site. */
@media (min-width: 1025px) {
  .s54-ui .page-hero .display,
  .v734-page .page-hero h1 {
    font-size: clamp(2.55rem, 3.8vw, 4.25rem) !important;
    line-height: 0.91 !important;
  }

  .s54-ui .section-title,
  .v734-page .section-title {
    font-size: clamp(2.15rem, 3.2vw, 3.65rem) !important;
    line-height: 0.93 !important;
  }

  .s54-ui .section h2.display:not(.section-title),
  .v734-page .section h2.display:not(.section-title) {
    font-size: clamp(1.85rem, 2.65vw, 3rem) !important;
    line-height: 0.1.1 !important;
  }

  .s32-home .s33-hero-title {
    font-size: clamp(2.55rem, 3.55vw, 4rem) !important;
    line-height: 1.1 !important;
  }

  .s32-home .s44-team-head h2,
  .s32-home .s45-audience h2,
  .s32-home .s32-section-title,
  .s32-home .s32-section-head h2,
  .s32-home .v740-video-head h2,
  .s32-home .v737-fixtures-head h2,
  .s32-home .s33-difference-copy h2,
  .s32-home .s33-final-copy h2,
  .s32-home .s32-community-copy h2 {
    font-size: clamp(1.95rem, 2.7vw, 3.1rem) !important;
    line-height: 1.1 !important;
  }

  .s32-home .s45-stat-value strong {
    font-size: clamp(2.25rem, 3.4vw, 3.55rem) !important;
  }

  .s32-home .s32-news-card h3,
  body[data-page="teams"] .team-card .team-bottom h3,
  body[data-page="about"] .journey-card h3 {
    font-size: clamp(0.98rem, 1.15vw, 1.28rem) !important;
    line-height: 1.03 !important;
  }

  /* Less vertical distance between related copy on desktop too. */
  .s54-ui .page-hero p {
    margin-top: 12px !important;
  }
  .s54-ui .section-head {
    margin-bottom: 28px !important;
  }
  .s32-home .s32-section-head,
  .s32-home .s44-team-head,
  .s32-home .s45-audience-head,
  .s32-home .v740-video-head,
  .s32-home .v737-fixtures-head {
    margin-bottom: 22px !important;
  }
}

/* TABLET: scale down again instead of interpolating toward oversized desktop rules. */
@media (min-width: 681px) and (max-width: 1024px) {
  .s54-ui .page-hero .display,
  .v734-page .page-hero h1 {
    font-size: clamp(2.15rem, 4.8vw, 3.15rem) !important;
    line-height: 0.92 !important;
  }

  .s54-ui .section-title,
  .v734-page .section-title {
    font-size: clamp(1.9rem, 4.2vw, 2.8rem) !important;
  }

  .s54-ui .section h2.display:not(.section-title),
  .v734-page .section h2.display:not(.section-title) {
    font-size: clamp(1.7rem, 3.8vw, 2.5rem) !important;
  }

  .s32-home .s33-hero-title {
    font-size: clamp(1.8rem, 1vw, 3.2rem) !important;
  }

  .s32-home .s44-team-head h2,
  .s32-home .s45-audience h2,
  .s32-home .s32-section-title,
  .s32-home .s32-section-head h2,
  .s32-home .v740-video-head h2,
  .s32-home .v737-fixtures-head h2,
  .s32-home .s33-difference-copy h2,
  .s32-home .s33-final-copy h2,
  .s32-home .s32-community-copy h2 {
    font-size: clamp(1.8rem, 4.2vw, 2.7rem) !important;
    line-height: 0.94 !important;
  }

  .s32-home .s45-stat-value strong {
    font-size: clamp(2.1rem, 5vw, 3rem) !important;
  }
}

/* MOBILE: intentionally compact. Smaller headings, buttons and text gaps. */
@media (max-width: 680px) {
  .s54-ui .page-hero {
    padding-top: 96px !important;
    padding-bottom: 38px !important;
  }

  .s54-ui .page-hero .display,
  .v734-page .page-hero h1 {
    font-size: clamp(1.72rem, 8vw, 2.18rem) !important;
    line-height: 0.91 !important;
    margin-bottom: 7px !important;
  }

  .s54-ui .section-title,
  .v734-page .section-title,
  .s32-home .s44-team-head h2,
  .s32-home .s45-audience h2,
  .s32-home .s32-section-title,
  .s32-home .s32-section-head h2,
  .s32-home .v740-video-head h2,
  .s32-home .v737-fixtures-head h2,
  .s32-home .s33-difference-copy h2,
  .s32-home .s33-final-copy h2,
  .s32-home .s32-community-copy h2 {
    font-size: clamp(1.48rem, 7vw, 2rem) !important;
  }

  .s54-ui .section h2.display:not(.section-title),
  .v734-page .section h2.display:not(.section-title) {
    font-size: clamp(1.42rem, 5vw, 1.9rem) !important;
    line-height: 0.94 !important;
  }

  .s32-home .s33-hero-title {
    font-size: clamp(1.68rem, 7.8vw, 2.15rem) !important;
    line-height: 0.91 !important;
  }

  .s32-home .s45-stat-value strong {
    font-size: clamp(2rem, 9vw, 2.65rem) !important;
  }

  body[data-page="teams"] .team-card .team-bottom h3,
  body[data-page="about"] .journey-card h3,
  .s32-home .s32-news-card h3 {
    font-size: clamp(0.88rem, 4.4vw, 1.12rem) !important;
    line-height: 1.02 !important;
  }

  /* Smaller mobile controls. */
  .btn,
  .s32-btn,
  .s44-season-tab,
  .season-chip {
    min-height: 30px !important;
    padding: 6px 9px !important;
    font-size: 0.54rem !important;
    letter-spacing: 0.055em !important;
  }

  /* Tighter copy rhythm on phones. */
  .eyebrow,
  .s32-section-kicker {
    margin-bottom: 5px !important;
  }
  .section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
  .section-head,
  .s32-section-head,
  .s44-team-head,
  .s45-audience-head,
  .v740-video-head,
  .v737-fixtures-head {
    margin-bottom: 16px !important;
    gap: 6px !important;
  }
  .section-head p,
  .s32-section-head p,
  .s44-team-head > p,
  .s45-audience-head > p,
  .v740-video-head > p,
  .v737-fixtures-head > p {
    margin-top: 5px !important;
    margin-bottom: 0 !important;
  }
  .hero-actions,
  .s32-actions {
    gap: 6px !important;
    margin-top: 10px !important;
  }
  p {
    margin-top: 7px;
    margin-bottom: 7px;
  }

  body[data-page="about"] .about-v18-grid,
  body[data-page="about"] .launch-grid {
    gap: 16px !important;
  }
  body[data-page="about"] .journey-grid {
    gap: 7px !important;
  }
  body[data-page="about"] .journey-card {
    padding: 15px 14px !important;
  }
  body[data-page="about"] .journey-card h3 {
    margin: 8px 0 5px !important;
  }
  body[data-page="about"] .about-v18-copy p,
  body[data-page="about"] .launch-copy p {
    margin-top: 5px !important;
  }
}

@media (max-width: 430px) {
  .s54-ui .page-hero .display,
  .v734-page .page-hero h1 {
    font-size: clamp(1.55rem, 7.6vw, 1.95rem) !important;
  }

  .s54-ui .section-title,
  .v734-page .section-title,
  .s32-home .s44-team-head h2,
  .s32-home .s45-audience h2,
  .s32-home .s32-section-title,
  .s32-home .s32-section-head h2,
  .s32-home .v740-video-head h2,
  .s32-home .v737-fixtures-head h2,
  .s32-home .s33-difference-copy h2,
  .s32-home .s33-final-copy h2,
  .s32-home .s32-community-copy h2 {
    font-size: clamp(1.35rem, 5.5vw, 1.78rem) !important;
  }

  .s32-home .s33-hero-title {
    font-size: clamp(1.55rem, 5vw, 1.95rem) !important;
  }
  .btn,
  .s32-btn,
  .s44-season-tab,
  .season-chip {
    min-height: 29px !important;
    padding: 5px 8px !important;
    font-size: 0.51rem !important;
  }
}

/* ======================================================================
   V7.62 — ABOUT PAGE REDESIGN
   Yellow becomes an accent rather than the default section background.
   Palette remains strictly #FDD103 / #FBFBF7 / #111111.
   ====================================================================== */

body[data-page="about"] main {
  background: #fbfbf7 !important;
  color: #111111 !important;
}

/* Hero stays clean and editorial. */
body[data-page="about"] .page-hero {
  background: #fbfbf7 !important;
  color: #111111 !important;
  border-bottom: 4px solid #fdd103 !important;
}
body[data-page="about"] .page-hero h1,
body[data-page="about"] .page-hero p,
body[data-page="about"] .page-hero .eyebrow {
  color: #111111 !important;
}

/* 01 — What is SUPER 90: quiet off-white canvas + contained yellow data panel. */
body[data-page="about"] #format {
  background: #fbfbf7 !important;
  color: #111111 !important;
  padding: clamp(66px, 7vw, 104px) 0 !important;
  border-bottom: 1px solid #111111 !important;
}
body[data-page="about"] #format .about-v18-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.72fr) !important;
  gap: clamp(42px, 7vw, 96px) !important;
  align-items: center !important;
}
body[data-page="about"] #format .about-v18-copy {
  position: relative;
  max-width: 760px;
}
body[data-page="about"] #format .about-v18-copy::before {
  content: "90";
  position: absolute;
  right: -0.1em;
  bottom: -0.18em;
  z-index: 0;
  font-family: var(--display);
  font-size: clamp(8rem, 16vw, 16rem);
  line-height: 0.72;
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.08);
  pointer-events: none;
}
body[data-page="about"] #format .about-v18-copy > * {
  position: relative;
  z-index: 1;
}
body[data-page="about"] #format .eyebrow {
  color: #111111 !important;
}
body[data-page="about"] #format .section-title,
body[data-page="about"] #format p {
  color: #111111 !important;
}
body[data-page="about"] #format .section-title {
  max-width: 680px;
  margin-bottom: 18px !important;
}
body[data-page="about"] #format .about-v18-copy p {
  max-width: 600px !important;
  margin: 8px 0 0 !important;
  font-size: 0.92rem !important;
  line-height: 1.58 !important;
}

body[data-page="about"] #format .about-v18-stats {
  position: relative;
  overflow: hidden;
  margin: 0 !important;
  padding: 24px 28px !important;
  background: #fdd103 !important;
  border: 1px solid #111111 !important;
  border-top: 1px solid #111111 !important;
  box-shadow: 10px 10px 0 #111111 !important;
}
body[data-page="about"] #format .about-v18-stats::after {
  content: "90";
  position: absolute;
  right: -0.12em;
  bottom: -0.18em;
  font-family: var(--display);
  font-size: 11rem;
  line-height: 0.72;
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.12);
  pointer-events: none;
}
body[data-page="about"] #format .about-v18-stats > div {
  position: relative;
  z-index: 1;
  grid-template-columns: 110px 1fr !important;
  gap: 16px !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.28) !important;
}
body[data-page="about"] #format .about-v18-stats > div:last-child {
  border-bottom: 0 !important;
}
body[data-page="about"] #format .about-v18-stats strong {
  color: #111111 !important;
  font-size: clamp(2.8rem, 4.2vw, 4.25rem) !important;
  line-height: 0.76 !important;
}
body[data-page="about"] #format .about-v18-stats span {
  color: #111111 !important;
  font-size: 0.61rem !important;
  letter-spacing: 0.13em !important;
  padding-bottom: 4px !important;
}

/* 02 — How it works: the visual counterpoint, dark and broadcast-like. */
body[data-page="about"] main > .section.light {
  position: relative;
  overflow: hidden;
  background: #111111 !important;
  color: #fbfbf7 !important;
  padding: clamp(72px, 7.5vw, 112px) 0 !important;
  border-bottom: 4px solid #fdd103 !important;
}
body[data-page="about"] main > .section.light::before {
  content: "15";
  position: absolute;
  right: -0.04em;
  top: -0.08em;
  font-family: var(--display);
  font-size: clamp(13rem, 29vw, 29rem);
  line-height: 0.75;
  color: transparent;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.11);
  pointer-events: none;
}
body[data-page="about"] main > .section.light .container {
  position: relative;
  z-index: 1;
}
body[data-page="about"] main > .section.light .section-head {
  align-items: end !important;
  margin-bottom: 30px !important;
  border-bottom: 1px solid rgba(251, 251, 247, 0.28);
  padding-bottom: 22px;
}
body[data-page="about"] main > .section.light .eyebrow {
  color: #fdd103 !important;
}
body[data-page="about"] main > .section.light .section-title,
body[data-page="about"] main > .section.light .section-head p {
  color: #fbfbf7 !important;
}
body[data-page="about"] main > .section.light .heading-yellow {
  color: #fdd103 !important;
  background: transparent !important;
  padding: 0 !important;
}
body[data-page="about"] main > .section.light .section-head p {
  max-width: 430px !important;
  font-size: 0.87rem !important;
  line-height: 1.55 !important;
}
body[data-page="about"] .journey-grid {
  gap: 10px !important;
  border: 0 !important;
  background: transparent !important;
}
body[data-page="about"] .journey-card {
  min-height: 190px !important;
  padding: 24px 22px !important;
  background: #fbfbf7 !important;
  color: #111111 !important;
  border: 1px solid #fbfbf7 !important;
  box-shadow: none !important;
}
body[data-page="about"] .journey-card:nth-child(4) {
  background: #fdd103 !important;
  border-color: #fdd103 !important;
}
body[data-page="about"] .journey-card::before {
  width: 42% !important;
  height: 4px !important;
  background: #fdd103 !important;
}
body[data-page="about"] .journey-card:nth-child(4)::before {
  width: 100% !important;
  background: #111111 !important;
}
body[data-page="about"] .journey-card span {
  color: #111111 !important;
  opacity: 0.68;
  font-size: 0.6rem !important;
}
body[data-page="about"] .journey-card h3 {
  color: #111111 !important;
  margin: 20px 0 9px !important;
}
body[data-page="about"] .journey-card p {
  color: #111111 !important;
  font-size: 0.68rem !important;
  line-height: 1.45 !important;
}
body[data-page="about"] .journey-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 7px 7px 0 #fdd103 !important;
}
body[data-page="about"] .journey-card:nth-child(4):hover {
  box-shadow: 7px 7px 0 #fbfbf7 !important;
}

/* 03 — League history: return to breathing room; imagery carries the energy. */
body[data-page="about"] main > .section.dark:last-of-type {
  background: #fbfbf7 !important;
  color: #111111 !important;
  padding: clamp(76px, 8vw, 120px) 0 !important;
}
body[data-page="about"] main > .section.dark:last-of-type .launch-grid {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr) !important;
  gap: clamp(38px, 6vw, 78px) !important;
  align-items: center !important;
}
body[data-page="about"] main > .section.dark:last-of-type .eyebrow,
body[data-page="about"] main > .section.dark:last-of-type h2,
body[data-page="about"] main > .section.dark:last-of-type p,
body[data-page="about"] main > .section.dark:last-of-type .muted {
  color: #111111 !important;
}
body[data-page="about"] main > .section.dark:last-of-type .heading-yellow {
  display: inline;
  color: #111111 !important;
  background: #fdd103 !important;
  padding: 0 0.08em 0.04em !important;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
body[data-page="about"] .launch-copy p {
  max-width: 500px !important;
  font-size: 0.88rem !important;
  line-height: 1.58 !important;
  margin-top: 14px !important;
}
body[data-page="about"] .launch-copy .hero-actions {
  margin-top: 22px !important;
}
body[data-page="about"] .launch-copy .btn.primary {
  background: #fdd103 !important;
  color: #111111 !important;
  border-color: #fdd103 !important;
}
body[data-page="about"] .launch-copy .btn.secondary {
  background: #111111 !important;
  color: #fbfbf7 !important;
  border-color: #111111 !important;
}
body[data-page="about"] .launch-collage {
  min-height: 430px !important;
  gap: 8px !important;
  padding: 8px !important;
  background: #111111 !important;
  border: 1px solid #111111 !important;
  box-shadow: 12px 12px 0 #fdd103 !important;
}
body[data-page="about"] .launch-photo {
  border: 0 !important;
  filter: saturate(0.92) contrast(1.02);
}

@media (max-width: 900px) {
  body[data-page="about"] #format .about-v18-grid,
  body[data-page="about"] main > .section.dark:last-of-type .launch-grid {
    grid-template-columns: 1fr !important;
  }
  body[data-page="about"] #format .about-v18-copy {
    max-width: 680px;
  }
  body[data-page="about"] #format .about-v18-stats {
    max-width: 620px;
  }
  body[data-page="about"] .launch-collage {
    min-height: 380px !important;
  }
}

@media (max-width: 680px) {
  body[data-page="about"] #format,
  body[data-page="about"] main > .section.light,
  body[data-page="about"] main > .section.dark:last-of-type {
    padding: 44px 0 !important;
  }
  body[data-page="about"] #format .about-v18-copy::before,
  body[data-page="about"] main > .section.light::before {
    display: none !important;
  }
  body[data-page="about"] #format .about-v18-grid {
    gap: 22px !important;
  }
  body[data-page="about"] #format .section-title {
    margin-bottom: 10px !important;
  }
  body[data-page="about"] #format .about-v18-copy p {
    font-size: 0.79rem !important;
    line-height: 1.48 !important;
    margin-top: 6px !important;
  }
  body[data-page="about"] #format .about-v18-stats {
    max-width: none;
    padding: 14px 16px !important;
    box-shadow: 6px 6px 0 #111111 !important;
  }
  body[data-page="about"] #format .about-v18-stats > div {
    grid-template-columns: 78px 1fr !important;
    padding: 14px 0 !important;
  }
  body[data-page="about"] #format .about-v18-stats strong {
    font-size: 2.55rem !important;
  }
  body[data-page="about"] #format .about-v18-stats span {
    font-size: 0.53rem !important;
  }
  body[data-page="about"] main > .section.light .section-head {
    display: block !important;
    padding-bottom: 14px !important;
    margin-bottom: 16px !important;
  }
  body[data-page="about"] main > .section.light .section-head p {
    margin-top: 8px !important;
    font-size: 0.76rem !important;
  }
  body[data-page="about"] .journey-grid {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }
  body[data-page="about"] .journey-card {
    min-height: 0 !important;
    padding: 16px 14px !important;
  }
  body[data-page="about"] .journey-card h3 {
    margin: 9px 0 5px !important;
    font-size: clamp(0.95rem, 4.8vw, 1.22rem) !important;
  }
  body[data-page="about"] .journey-card p {
    font-size: 0.61rem !important;
  }
  body[data-page="about"] main > .section.dark:last-of-type .launch-grid {
    gap: 22px !important;
  }
  body[data-page="about"] .launch-copy p {
    font-size: 0.78rem !important;
    margin-top: 8px !important;
  }
  body[data-page="about"] .launch-copy .hero-actions {
    margin-top: 12px !important;
  }
  body[data-page="about"] .launch-collage {
    min-height: 0 !important;
    margin-top: 2px !important;
    padding: 5px !important;
    gap: 5px !important;
    box-shadow: 6px 6px 0 #fdd103 !important;
  }
  body[data-page="about"] .launch-photo,
  body[data-page="about"] .launch-photo-main {
    height: auto !important;
  }
}

/* V7.63 — About page league-history section restored to compact editorial strip */
body[data-page="about"] main > .section.dark:last-of-type .launch-grid {
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr) !important;
  gap: clamp(32px, 5vw, 68px) !important;
  align-items: center !important;
}
body[data-page="about"] .launch-collage {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: 1fr !important;
  min-height: 0 !important;
  gap: 8px !important;
  padding: 8px !important;
  background: #111111 !important;
  border: 1px solid #111111 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
body[data-page="about"] .launch-photo-main {
  grid-column: auto !important;
  grid-row: auto !important;
}
body[data-page="about"] .launch-photo,
body[data-page="about"] .launch-photo-main {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  border: 0 !important;
  display: block !important;
}
body[data-page="about"] .launch-copy .hero-actions {
  gap: 16px !important;
}

@media (max-width: 900px) {
  body[data-page="about"] main > .section.dark:last-of-type .launch-grid {
    grid-template-columns: 1fr !important;
  }
  body[data-page="about"] .launch-collage {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 10px !important;
  }
}

@media (max-width: 680px) {
  body[data-page="about"] .launch-collage {
    grid-template-columns: 1fr !important;
    padding: 5px !important;
    gap: 5px !important;
  }
  body[data-page="about"] .launch-photo,
  body[data-page="about"] .launch-photo-main {
    aspect-ratio: 16/10 !important;
  }
}

/* V7.64 — taller mobile homepage banners + webp replacements */
@media (max-width: 640px) {
  /* Use the new taller mobile hero artwork and keep copy inside the safe empty area. */
  .s32-home .s33-hero {
    min-height: auto !important;
    padding-top: 72px !important;
  }
  .s32-home .s34-hero-stage {
    aspect-ratio: 1018 / 1544 !important;
    min-height: auto !important;
    background: #fbfbf7 !important;
  }
  .s32-home .s34-hero-stage .s33-art-bg img {
    object-fit: cover !important;
    object-position: center top !important;
  }
  .s32-home .s34-hero-stage .s33-hero-inner {
    min-height: auto !important;
    align-items: flex-start !important;
    padding-top: 0 !important;
  }
  .s32-home .s34-hero-stage .s33-hero-copy {
    width: min(296px, 78vw) !important;
    margin-left: 16px !important;
    padding: 18px 0 0 !important;
  }
  .s32-home .s33-hero-title {
    font-size: clamp(1.9rem, 9.1vw, 2rem) !important;
    line-height: 0.9 !important;
    max-width: 290px !important;
  }
  .s32-home .s33-hero-copy > p {
    max-width: 260px !important;
    font-size: 0.72rem !important;
    line-height: 1.42 !important;
    margin: 10px 0 12px !important;
  }
  .s32-home .s33-hero .s32-actions {
    max-width: 295px !important;
    gap: 7px !important;
  }
  .s32-home .s33-hero .s32-btn {
    min-height: 36px !important;
    padding: 0 10px !important;
    font-size: 0.49rem !important;
    letter-spacing: 0.07em !important;
  }

  /* What makes SUPER 90 different — taller collage artwork for mobile. */
  .s32-home .s33-difference,
  .s32-home .s33-difference-inner {
    min-height: calc(100vw * 1.64147) !important;
    align-items: flex-start !important;
  }
  .s32-home .s33-difference .s33-art-bg img {
    object-fit: cover !important;
    object-position: center top !important;
  }
  .s32-home .s33-difference-copy {
    width: min(300px, 80vw) !important;
    padding: 20px 0 0 16px !important;
  }
  .s32-home .s33-difference-copy h2 {
    font-size: clamp(2.05rem, 10.2vw, 2rem) !important;
    line-height: 0.9 !important;
    max-width: 290px !important;
  }
  .s32-home .s33-difference-copy p {
    max-width: 250px !important;
    font-size: 0.75rem !important;
    line-height: 1.42 !important;
    margin: 10px 0 12px !important;
  }
  .s32-home .s33-difference-copy .s32-btn {
    min-width: 175px !important;
    min-height: 36px !important;
    padding: 0 10px !important;
    font-size: 0.49rem !important;
  }

  /* Final CTA / Work with SUPER 90 — taller mobile artwork. */
  .s32-home .s33-final-cta,
  .s32-home .s33-final-inner {
    min-height: calc(100vw * 1.26052) !important;
    align-items: flex-start !important;
  }
  .s32-home .s33-final-cta .s33-art-bg img {
    object-fit: cover !important;
    object-position: center top !important;
  }
  .s32-home .s33-final-copy {
    width: min(290px, 78vw) !important;
    padding: 22px 0 0 16px !important;
  }
  .s32-home .s33-final-copy h2 {
    font-size: clamp(2rem, 8vw, 2.55rem) !important;
    line-height: 0.9 !important;
    max-width: 275px !important;
  }
  .s32-home .s33-final-copy p {
    max-width: 240px !important;
    font-size: 0.68rem !important;
    line-height: 1.42 !important;
    margin: 10px 0 12px !important;
    letter-spacing: 0.035em !important;
  }
  .s32-home .s33-final-copy .s32-btn {
    min-width: 150px !important;
    min-height: 36px !important;
    padding: 0 10px !important;
    font-size: 0.49rem !important;
  }
}

@media (max-width: 390px) {
  .s32-home .s34-hero-stage .s33-hero-copy,
  .s32-home .s33-difference-copy,
  .s32-home .s33-final-copy {
    margin-left: 0 !important;
    padding-left: 14px !important;
  }
  .s32-home .s33-hero-title {
    font-size: clamp(1.76rem, 7vw, 2.12rem) !important;
  }
  .s32-home .s33-difference-copy h2 {
    font-size: clamp(1.94rem, 7vw, 2.45rem) !important;
  }
  .s32-home .s33-final-copy h2 {
    font-size: clamp(1.88rem, 7vw, 2.35rem) !important;
  }
}

/* ======================================================================
   V7.65 — premium mobile navigation + loader refresh
   Palette is restricted to #FDD103, #FBFBF7 and #111111.
   ====================================================================== */

/* Loader: short broadcast ident instead of a full yellow wipe. */
body.s90-loading {
  overflow: hidden !important;
}
.s90-page-wipe {
  position: fixed !important;
  inset: 0 !important;
  z-index: 6000 !important;
  background: #111111 !important;
  transform: none !important;
  animation: none !important;
  pointer-events: none !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  transition:
    clip-path 0.52s cubic-bezier(0.72, 0, 0.18, 1),
    opacity 0.2s ease 0.34s !important;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%) !important;
}
.s90-page-wipe::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    transparent 0 43%,
    #fdd103 43% 46%,
    transparent 46% 100%
  );
  transform: translateX(-72%);
  animation: s65-loader-beam 0.76s cubic-bezier(0.2, 0.8, 0.2, 1) both;
  opacity: 0.95;
}
.s90-page-wipe::after {
  content: "90";
  position: absolute;
  right: -0.05em;
  bottom: -0.18em;
  font-family: var(--display);
  font-size: clamp(12rem, 34vw, 32rem);
  line-height: 0.72;
  color: transparent;
  -webkit-text-stroke: 1px rgba(251, 251, 247, 0.12);
  letter-spacing: -0.08em;
}
.s65-loader-mark {
  position: relative;
  z-index: 2;
  width: min(310px, 72vw);
  display: grid;
  grid-template-columns: 74px 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 16px;
  color: #fbfbf7;
}
.s65-loader-mark img {
  width: 74px;
  height: 74px;
  object-fit: contain;
  grid-row: 1/3;
  filter: none !important;
  animation: s65-loader-mark 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.s65-loader-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-self: end;
}
.s65-loader-copy strong {
  font-family: var(--display);
  font-size: 1.3rem;
  line-height: 0.9;
  letter-spacing: 0.02em;
  color: #fbfbf7;
}
.s65-loader-copy span {
  font-size: 0.55rem;
  font-weight: 900;
  letter-spacing: 0.17em;
  color: #fdd103;
}
.s65-loader-line {
  position: relative;
  display: block;
  grid-column: 2;
  height: 3px;
  margin-top: 11px;
  background: rgba(251, 251, 247, 0.14);
  overflow: hidden;
}
.s65-loader-line::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #fdd103;
  transform-origin: left;
  animation: s65-loader-progress 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.s65-loader-slice {
  position: absolute;
  left: -18%;
  bottom: -33%;
  width: 55%;
  height: 70%;
  background: #fdd103;
  transform: skewX(-22deg) rotate(-8deg);
  opacity: 0.98;
}
.s90-page-wipe.is-leaving {
  clip-path: polygon(0 0, 100% 0, 88% 0, 0 18%) !important;
  opacity: 0.98 !important;
}
@keyframes s65-loader-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@keyframes s65-loader-mark {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.92);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes s65-loader-beam {
  from {
    transform: translateX(-72%);
  }
  to {
    transform: translateX(72%);
  }
}

/* Mobile navigation: off-white canvas, dark typography, yellow used as accent only. */
@media (max-width: 1120px) {
  .mobile-menu {
    counter-reset: s65nav;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 26px clamp(20px, 5vw, 42px) 24px !important;
    background: #fbfbf7 !important;
    color: #111111 !important;
    overflow: auto !important;
    overscroll-behavior: contain;
    transform: translateX(104%) !important;
    transition: transform 0.46s cubic-bezier(0.76, 0, 0.18, 1) !important;
    box-shadow: -24px 0 70px rgba(17, 17, 17, 0.12) !important;
  }
  .mobile-menu.open {
    transform: translateX(0) !important;
  }
  .mobile-menu::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 0 auto auto !important;
    width: 34% !important;
    height: 125px !important;
    background: #fdd103 !important;
    opacity: 1 !important;
    transform: none !important;
    clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%) !important;
    z-index: -1 !important;
  }
  .mobile-menu::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: #fdd103;
  }
  .s65-menu-brand {
    min-height: 68px;
    display: flex;
    align-items: center;
    gap: 11px;
    width: max-content;
    margin: 0 72px 24px 0;
    position: relative;
    z-index: 2;
  }
  .s65-menu-brand img {
    width: 58px !important;
    height: 58px !important;
    object-fit: contain !important;
    filter: none !important;
  }
  .s65-menu-brand > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .s65-menu-brand strong {
    font-family: var(--display);
    font-size: 0.9rem;
    line-height: 1;
    color: #111111 !important;
  }
  .s65-menu-brand small {
    font-size: 0.47rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    color: #111111 !important;
  }
  .mobile-close {
    right: clamp(18px, 4vw, 28px) !important;
    top: 24px !important;
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    display: grid !important;
    place-items: center !important;
    background: #111111 !important;
    color: #fdd103 !important;
    border: 1px solid #111111 !important;
    font-size: 1.45rem !important;
    line-height: 1 !important;
    border-radius: 0 !important;
    clip-path: polygon(
      0 0,
      calc(100% - 8px) 0,
      100% 8px,
      100% 100%,
      8px 100%,
      0 calc(100% - 8px)
    );
    z-index: 5;
  }
  .mobile-menu > a {
    counter-increment: s65nav;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 57px !important;
    margin: 0 !important;
    padding: 9px 42px 8px 48px !important;
    border-top: 1px solid rgba(17, 17, 17, 0.12) !important;
    color: #111111 !important;
    font-family: var(--display) !important;
    font-size: clamp(1.42rem, 4.6vw, 2rem) !important;
    line-height: 0.92 !important;
    letter-spacing: -0.01em !important;
    text-shadow: none !important;
    opacity: 0;
    transform: translateX(24px);
    transition:
      opacity 0.36s ease,
      transform 0.46s cubic-bezier(0.2, 0.8, 0.2, 1),
      background 0.2s ease,
      color 0.2s ease !important;
  }
  .mobile-menu > a::before {
    content: "0" counter(s65nav);
    position: absolute;
    left: 3px;
    top: 50%;
    transform: translateY(-50%);
    font-family: Arial, sans-serif;
    font-size: 0.52rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    color: #111111;
    opacity: 0.46;
  }
  .mobile-menu > a::after {
    content: "→";
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translate(-7px, -50%);
    font-family: Arial, sans-serif;
    font-size: 0.95rem;
    opacity: 0;
    transition:
      opacity 0.2s ease,
      transform 0.2s ease;
  }
  .mobile-menu > a:hover,
  .mobile-menu > a:focus-visible {
    background: #fdd103 !important;
    color: #111111 !important;
  }
  .mobile-menu > a:hover::after,
  .mobile-menu > a:focus-visible::after {
    opacity: 1;
    transform: translate(0, -50%);
  }
  .mobile-menu > a:last-of-type {
    margin-top: 14px !important;
    border: 1px solid #111111 !important;
    background: #111111 !important;
    color: #fdd103 !important;
    min-height: 52px !important;
    padding-left: 48px !important;
  }
  .mobile-menu > a:last-of-type::before {
    color: #fdd103 !important;
    opacity: 0.65;
  }
  .mobile-menu > a:last-of-type::after {
    opacity: 1;
    color: #fdd103 !important;
    transform: translate(0, -50%);
  }
  .mobile-menu.open > a {
    opacity: 1;
    transform: none;
  }
  .mobile-menu.open > a:nth-of-type(1) {
    transition-delay: 0.06s !important;
  }
  .mobile-menu.open > a:nth-of-type(2) {
    transition-delay: 0.1s !important;
  }
  .mobile-menu.open > a:nth-of-type(3) {
    transition-delay: 0.14s !important;
  }
  .mobile-menu.open > a:nth-of-type(4) {
    transition-delay: 0.18s !important;
  }
  .mobile-menu.open > a:nth-of-type(5) {
    transition-delay: 0.22s !important;
  }
  .mobile-menu.open > a:nth-of-type(6) {
    transition-delay: 0.26s !important;
  }
  .mobile-menu.open > a:nth-of-type(7) {
    transition-delay: 0.3s !important;
  }
  .s65-menu-footer {
    margin-top: auto;
    padding: 18px 3px 0;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid rgba(17, 17, 17, 0.16);
    font-size: 0.48rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    color: #111111;
    opacity: 0.68;
  }
}

@media (max-width: 480px) {
  .mobile-menu {
    padding: 20px 18px 20px !important;
  }
  .s65-menu-brand {
    margin-bottom: 16px !important;
  }
  .s65-menu-brand img {
    width: 52px !important;
    height: 52px !important;
  }
  .mobile-close {
    top: 18px !important;
    right: 17px !important;
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
  .mobile-menu > a {
    min-height: 51px !important;
    padding: 8px 36px 7px 42px !important;
    font-size: clamp(1.22rem, 6.3vw, 1.65rem) !important;
  }
  .mobile-menu > a:last-of-type {
    min-height: 48px !important;
    margin-top: 10px !important;
    padding-left: 42px !important;
  }
  .s65-menu-footer {
    font-size: 0.42rem !important;
    padding-top: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .s90-page-wipe {
    display: none !important;
  }
  .mobile-menu,
  .mobile-menu > a {
    transition: none !important;
  }
  .mobile-menu > a {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ======================================================================
   V7.66 — complete captain gallery + classic tri-colour page wipe
   ====================================================================== */

/* Restore the original fast diagonal wipe, now using all three brand colours. */
body.s90-loading {
  overflow: hidden !important;
}
.s90-page-wipe {
  position: fixed !important;
  inset: -16% -120% !important;
  z-index: 6000 !important;
  display: block !important;
  place-items: initial !important;
  pointer-events: none !important;
  overflow: hidden !important;
  opacity: 1 !important;
  clip-path: none !important;
  transition: none !important;
  background: linear-gradient(
    90deg,
    #111111 0 33.333%,
    #fdd103 33.333% 66.666%,
    #fbfbf7 66.666% 100%
  ) !important;
  transform: translateX(-72%) skewX(-11deg) !important;
  animation: s66TriWipe 1.08s cubic-bezier(0.22, 0.72, 0.18, 1) both !important;
}
.s90-page-wipe::before,
.s90-page-wipe::after {
  content: none !important;
  display: none !important;
}
.s90-page-wipe .s65-loader-mark,
.s90-page-wipe .s65-loader-slice {
  display: none !important;
}
@keyframes s66TriWipe {
  0% {
    transform: translateX(-72%) skewX(-11deg);
  }
  46% {
    transform: translateX(0) skewX(-11deg);
  }
  100% {
    transform: translateX(72%) skewX(-11deg);
  }
}

/* Complete captain-card gallery inside the existing season switcher. */
.s66-captains-panel {
  margin-top: clamp(42px, 5vw, 72px);
  padding-top: clamp(24px, 3vw, 38px);
  border-top: 1px solid rgba(17, 17, 17, 0.18);
}
.s66-captains-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  gap: 28px;
  align-items: end;
  margin-bottom: 24px;
}
.s66-captains-head h3 {
  margin: 4px 0 0;
  color: #111111 !important;
  font-size: clamp(1.75rem, 2.65vw, 3rem) !important;
  line-height: 0.92 !important;
}
.s66-captains-head p {
  margin: 0;
  color: rgba(17, 17, 17, 0.68) !important;
  font-size: 0.86rem;
  line-height: 1.5;
}
.s66-captain-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10px, 1.4vw, 18px);
}
.s66-captain-card {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4/5;
  background: #fbfbf7;
  border: 1px solid rgba(17, 17, 17, 0.14);
  box-shadow: 0 10px 24px rgba(17, 17, 17, 0.05);
  transition:
    transform 0.32s ease,
    box-shadow 0.32s ease,
    border-color 0.32s ease;
}
.s66-captain-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.s66-captain-card:hover {
  transform: translateY(-6px);
  border-color: #111111;
  box-shadow: 8px 8px 0 #fdd103;
}
.s66-captain-animate {
  opacity: 0;
  transform: translateY(18px) scale(0.985);
}
.s66-captain-animate.is-ready {
  animation: s66CaptainIn 0.55s cubic-bezier(0.2, 0.72, 0.2, 1) both;
  animation-delay: calc(var(--i, 0) * 0.045s);
}
@keyframes s66CaptainIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1024px) {
  .s66-captain-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .s66-captains-panel {
    margin-top: 30px;
    padding-top: 20px;
  }
  .s66-captains-head {
    display: block;
    margin-bottom: 14px;
  }
  .s66-captains-head h3 {
    font-size: clamp(1.35rem, 6.4vw, 1.7rem) !important;
  }
  .s66-captains-head p {
    font-size: 0.68rem;
    margin-top: 6px;
  }
  .s66-captain-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .s66-captain-card {
    box-shadow: none;
  }
  .s66-captain-card:hover {
    transform: none;
    box-shadow: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .s90-page-wipe {
    display: none !important;
  }
  .s66-captain-animate {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* V7.69 — professional unified footer + captain-card team backgrounds */
.s90-footer-pro {
  background: #fbfbf7 !important;
  color: #111 !important;
  border-top: 1px solid rgba(17, 17, 17, 0.08) !important;
  padding: 0 !important;
  overflow: visible !important;
  position: relative !important;
}
.s90-footer-pro::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(
    90deg,
    #fdd103 0%,
    #fad821 58%,
    rgba(250, 224, 76, 0.35) 100%
  );
}
.s90-footer-pro .container {
  padding-top: 80px !important;
  padding-bottom: 20px !important;
}
.s90-footer-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.45fr) repeat(3, minmax(140px, 0.72fr));
  gap: 34px 28px;
  align-items: start;
}
.s90-footer-brand {
  min-width: 0;
}
.s90-footer-brand .footer-logo {
  width: 118px !important;
  height: auto !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  margin: 0 0 16px !important;
}
.s90-footer-kicker {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 0.68rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}
.s90-footer-copy {
  margin: 0 !important;
  max-width: 36ch;
  color: rgba(17, 17, 17, 0.72) !important;
  font-size: 0.93rem !important;
  line-height: 1.65 !important;
}
.s90-footer-col h4 {
  margin: 0 0 14px !important;
  color: #111 !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}
.s90-footer-links {
  display: flex;
  flex-direction: column;
}
.s90-footer-links a {
  color: rgba(17, 17, 17, 0.72) !important;
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  transition:
    color 0.2s ease,
    transform 0.2s ease;
}
.s90-footer-links a:hover,
.s90-footer-links a:focus-visible {
  color: #111 !important;
  transform: translateX(2px);
}
.s90-footer-bottom {
  margin-top: 28px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(17, 17, 17, 0.12) !important;
  display: flex !important;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  color: rgba(17, 17, 17, 0.66) !important;
  font-size: 0.78rem !important;
  line-height: 1.6 !important;
}
.s90-footer-bottom > span {
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
.s90-footer-bottom .footer-ownership {
  margin: 0 !important;
  max-width: 44ch;
  color: rgba(17, 17, 17, 0.66) !important;
  font-size: 0.78rem !important;
  line-height: 1.6 !important;
}
.s90-footer-bottom .footer-ownership a {
  color: #111 !important;
  text-decoration: none !important;
}
.s90-footer-bottom .footer-ownership a:hover,
.s90-footer-bottom .footer-ownership a:focus-visible {
  text-decoration: underline !important;
}
.s44-team-grid {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
  gap: 16px 12px !important;
}
.v734-page .team-card-static.has-captain-card,
.v734-page .team-card-static.logo-only {
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
  padding: 0 !important;
  min-height: 360px !important;
  background: #fbfbf7 !important;
}
.v734-page .team-card-static .team-card-visual {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f7f7f2;
}
.v734-page .team-card-static .team-card-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(17, 17, 17, 0.08) 100%
  );
  z-index: 2;
  pointer-events: none;
}
.v734-page .team-card-static .team-card-portrait {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.v734-page .team-card-static .team-card-logo-only {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24%;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.98),
    rgba(251, 251, 247, 0.84)
  );
}
.v734-page .team-card-static .team-card-logo-only .team-logo,
.v734-page .team-card-static .team-card-logo-chip .team-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.v734-page .team-card-static .team-card-logo-chip {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  z-index: 4;
  height: 150px;
  display: grid;
  place-items: center;
  border-radius: 50px;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0);
  border: 1px solid rgba(17, 17, 17, 0.1);
  box-shadow: 0 10px 24px rgba(17, 17, 17, 0.12);
  backdrop-filter: blur(6px);
}
.v734-page .team-card-static .team-bottom {
  padding: 18px 18px 20px !important;
  margin-top: auto;
}
.v734-page .team-card-static .team-bottom h3 {
  margin-top: 6px !important;
}
.v734-page .team-card-static .team-index,
.v734-page .team-card-static .champion-badge {
  z-index: 5 !important;
}
@media (max-width: 1024px) {
  .s90-footer-grid {
    grid-template-columns: minmax(220px, 1.2fr) repeat(3, minmax(120px, 1fr));
    gap: 28px 20px;
  }
}
@media (max-width: 760px) {
  .s90-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 18px !important;
  }
  .s90-footer-brand {
    grid-column: 1/-1;
  }
  .s90-footer-bottom {
    display: block !important;
  }
  .s90-footer-bottom .footer-ownership {
    margin-top: 8px !important;
  }
}
@media (max-width: 540px) {
  .s90-footer-pro .container {
    padding-top: 30px !important;
    padding-bottom: 18px !important;
  }
  .s90-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .s90-footer-copy {
    max-width: none;
  }
  .s90-footer-links a {
    font-size: 0.9rem !important;
  }
  .s90-footer-bottom > span {
    display: block;
    margin-bottom: 8px;
  }
  .v734-page .team-card-static.has-captain-card,
  .v734-page .team-card-static.logo-only {
    min-height: 300px !important;
  }
  .v734-page .team-card-static .team-card-logo-chip {
    left: 12px;
    right: 12px;
    bottom: 12px;
    height: 62px;
    padding: 8px 12px;
  }
}

/* ======================================================================
   V7.70 — five-up captain grid + refined branded footer accents
   ====================================================================== */

/* Homepage captain/team cards: 5 across on desktop for stronger presence. */
@media (min-width: 1101px) {
  .s32-home .s44-team-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 22px 16px !important;
  }
  .s32-home .s44-team-card .s44-team-visual {
    box-shadow: 0 12px 28px rgba(17, 17, 17, 0.08);
    border-color: rgba(17, 17, 17, 0.13) !important;
  }
  .s32-home .s44-team-crest {
    width: 86px !important;
    height: 86px !important;
    bottom: -31px !important;
    padding: 8px !important;
  }
  .s32-home .s44-team-card h3 {
    margin-top: 62px !important;
    font-size: 0.79rem !important;
  }
}

@media (min-width: 681px) and (max-width: 1100px) {
  .s32-home .s44-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
  }
}

@media (max-width: 680px) {
  .s32-home .s44-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 9px !important;
  }
}

/* Footer: restrained editorial accents using only SUPER 90 brand colours. */
.s90-footer-pro {
  background: #fbfbf7 !important;
  color: #111111 !important;
  border-top: 0 !important;
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
}
.s90-footer-pro::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 4px !important;
  background: linear-gradient(
    90deg,
    #111111 0 22%,
    #fdd103 22% 100%
  ) !important;
  opacity: 1 !important;
}
.s90-footer-pro::after {
  content: "90";
  position: absolute;
  right: -0.02em;
  bottom: -0.28em;
  z-index: -1;
  font-family: var(--display) !important;
  font-size: clamp(9rem, 20vw, 22rem);
  line-height: 0.72;
  letter-spacing: -0.08em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.055);
  pointer-events: none;
}
.s90-footer-pro .container {
  position: relative;
  z-index: 1;
}
.s90-footer-brand {
  position: relative;
  padding-left: 18px;
}
.s90-footer-brand::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 78px;
  background: #fdd103;
}
.s90-footer-brand .footer-logo {
  width: 112px !important;
  margin-bottom: 14px !important;
}
.s90-footer-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #111111 !important;
}
.s90-footer-kicker::before {
  content: "";
  width: 18px;
  height: 5px;
  background: #fdd103;
  flex: 0 0 auto;
}
.s90-footer-col h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #111111 !important;
}
.s90-footer-col h4::before {
  content: "";
  width: 7px;
  height: 7px;
  background: #fdd103;
  transform: rotate(45deg);
  flex: 0 0 auto;
}
.s90-footer-links a {
  position: relative;
  width: max-content;
  max-width: 100%;
  color: rgba(17, 17, 17, 0.7) !important;
}
.s90-footer-links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 2px;
  background: #fdd103;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}
.s90-footer-links a:hover::after,
.s90-footer-links a:focus-visible::after {
  transform: scaleX(1);
}
.s90-footer-bottom {
  position: relative;
  margin-top: 32px !important;
  padding: 18px 18px 0 !important;
  border-top: 1px solid rgba(17, 17, 17, 0.12) !important;
}
.s90-footer-bottom::before {
  content: "";
  position: absolute;
  left: 0;
  top: 17px;
  width: 7px;
  height: 7px;
  background: #fdd103;
}
.s90-footer-bottom .footer-ownership a {
  text-decoration-color: #fdd103 !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px;
}
.s90-footer-bottom .footer-ownership a:hover,
.s90-footer-bottom .footer-ownership a:focus-visible {
  text-decoration: underline !important;
}

@media (max-width: 760px) {
  .s90-footer-pro::after {
    font-size: 12rem;
    right: -0.08em;
    bottom: -0.18em;
  }
  .s90-footer-brand {
    padding-left: 14px;
  }
  .s90-footer-brand::before {
    height: 66px;
    width: 3px;
  }
  .s90-footer-bottom {
    padding-left: 16px !important;
  }
}

/* =========================================================
   V7.71 — ABOUT PAGE: EDITORIAL STORY / STRUCTURED EXPERIENCE
   Palette locked to #FDD103, #FBFBF7 and #111111.
   ========================================================= */
body[data-page="about"] {
  background: #fbfbf7 !important;
  color: #111111 !important;
}
body[data-page="about"] .about71-main {
  overflow: hidden;
  background: #fbfbf7;
}
body[data-page="about"] .about71-main .container {
  width: min(1380px, calc(100% - 48px));
  margin-inline: auto;
}
body[data-page="about"] .about71-main .eyebrow {
  font-size: 0.64rem !important;
  letter-spacing: 0.18em !important;
  font-weight: 900 !important;
  color: #111111 !important;
}
body[data-page="about"] .about71-main .display {
  font-size: clamp(2.25rem, 3.5vw, 4.55rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
}
body[data-page="about"] .about71-main p {
  font-size: clamp(0.88rem, 0.95vw, 1rem) !important;
  line-height: 1.62 !important;
}
body[data-page="about"] .about71-main h2 span,
body[data-page="about"] .about71-main h1 span {
  color: #fdd103;
}

/* Hero */
.about71-hero {
  position: relative;
  padding: clamp(126px, 11vw, 164px) 0 clamp(70px, 7vw, 102px);
  background: #fbfbf7;
  border-bottom: 1px solid rgba(17, 17, 17, 0.09);
}
.about71-hero::after {
  content: "";
  position: absolute;
  right: -7vw;
  top: 0;
  width: 36vw;
  height: 100%;
  background: #fdd103;
  clip-path: polygon(38% 0, 100% 0, 100% 100%, 0 100%, 26% 58%, 12% 33%);
  z-index: 0;
}
.about71-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: clamp(42px, 6vw, 90px);
  align-items: center;
}
.about71-hero-copy {
  max-width: 610px;
  padding-left: 6px;
}
.about71-hero-copy h1 {
  margin: 17px 0 22px !important;
  color: #111 !important;
}
.about71-hero-copy p {
  max-width: 570px;
  margin: 0 0 26px !important;
}
.about71-hero-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}
.about71-text-link {
  color: #111;
  text-decoration: none;
  font-weight: 900;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 1px solid #111;
  padding-bottom: 4px;
}
.about71-hero-visual {
  position: relative;
  height: clamp(430px, 39vw, 600px);
  min-width: 0;
}
.about71-hero-number {
  position: absolute;
  right: 4%;
  top: -13%;
  font-family: var(--display);
  font-size: clamp(15rem, 26vw, 25rem);
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.18);
  opacity: 0.9;
  z-index: 0;
  pointer-events: none;
}
.about71-shot {
  position: absolute;
  margin: 0;
  overflow: hidden;
  border: 7px solid #111;
  background: #111;
  box-shadow: 0 18px 46px rgba(17, 17, 17, 0.16);
}
.about71-shot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about71-shot-a {
  left: 2%;
  top: 12%;
  width: 53%;
  height: 42%;
  transform: rotate(-2deg);
}
.about71-shot-b {
  right: 2%;
  top: 5%;
  width: 38%;
  height: 51%;
  transform: rotate(2.5deg);
}
.about71-shot-c {
  right: 14%;
  bottom: 3%;
  width: 49%;
  height: 38%;
  transform: rotate(-1.2deg);
}
.about71-hero-chip {
  position: absolute;
  left: 6%;
  bottom: 6%;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 11px;
  background: #111;
  color: #fbfbf7;
  padding: 12px 16px;
  border-left: 5px solid #fdd103;
  box-shadow: 8px 8px 0 #fdd103;
}
.about71-hero-chip b {
  font-family: var(--display);
  font-size: 2.25rem;
  line-height: 0.8;
  color: #fdd103;
}
.about71-hero-chip span {
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  max-width: 90px;
}

/* Common section head */
.about71-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
  gap: 42px;
  align-items: end;
  margin-bottom: 36px;
}
.about71-section-head h2 {
  margin: 10px 0 0 !important;
}
.about71-section-head > p {
  margin: 0 !important;
  align-self: end;
}
.about71-section-head-light .eyebrow,
.about71-section-head-light h2,
.about71-section-head-light p {
  color: #fbfbf7 !important;
}
.about71-section-head-light h2 span {
  color: #fdd103 !important;
}

/* Format */
.about71-format {
  padding: clamp(72px, 8vw, 116px) 0;
  background: #fbfbf7;
}
.about71-format-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  border: 1px solid rgba(17, 17, 17, 0.13);
  background: #fbfbf7;
}
.about71-format-main {
  position: relative;
  min-height: 430px;
  padding: clamp(34px, 4vw, 62px);
  overflow: hidden;
  background: #fdd103;
  border-right: 1px solid #111;
}
.about71-format-watermark {
  position: absolute;
  right: -0.05em;
  bottom: -0.2em;
  font-family: var(--display);
  font-size: clamp(12rem, 20vw, 20rem);
  line-height: 0.8;
  color: transparent;
  -webkit-text-stroke: 1px rgba(17, 17, 17, 0.2);
}
.about71-format-copy {
  position: relative;
  z-index: 2;
  max-width: 520px;
}
.about71-format-copy small {
  display: block;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  margin-bottom: 20px;
}
.about71-format-copy strong {
  display: block;
  font-family: var(--display);
  font-size: clamp(5.8rem, 9vw, 9.5rem);
  line-height: 0.73;
}
.about71-format-copy h3 {
  font-family: var(--display);
  font-size: clamp(1.75rem, 3vw, 3.3rem);
  line-height: 0.92;
  margin: 20px 0 12px;
  max-width: 470px;
}
.about71-format-copy p {
  max-width: 460px;
  color: #111 !important;
}
.about71-format-stack {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
}
.about71-format-stack article {
  display: grid;
  grid-template-columns: 94px 1fr;
  grid-template-areas: "num label" "num text";
  align-items: center;
  padding: 25px 30px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.13);
  background: #fbfbf7;
}
.about71-format-stack article:last-child {
  border-bottom: 0;
}
.about71-format-stack b {
  grid-area: num;
  font-family: var(--display);
  font-size: 3.2rem;
  line-height: 0.8;
}
.about71-format-stack span {
  grid-area: label;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.13em;
}
.about71-format-stack p {
  grid-area: text;
  margin: 4px 0 0 !important;
  font-size: 0.78rem !important;
}

/* Experience / pillars */
.about71-pillars {
  padding: clamp(72px, 8vw, 116px) 0;
  background: #111;
  color: #fbfbf7;
}
.about71-pillars-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(251, 251, 247, 0.16);
  border: 1px solid rgba(251, 251, 247, 0.16);
}
.about71-pillar {
  background: #111;
  padding: 34px 30px 38px;
  min-height: 290px;
  position: relative;
}
.about71-pillar > span {
  font-family: var(--display);
  font-size: 4rem;
  color: #fdd103;
  line-height: 0.8;
}
.about71-pillar-line {
  width: 100%;
  height: 1px;
  background: rgba(251, 251, 247, 0.18);
  margin: 25px 0;
}
.about71-pillar h3 {
  font-family: var(--display);
  font-size: 1.65rem;
  line-height: 0.95;
  color: #fbfbf7;
  margin: 0 0 14px;
}
.about71-pillar p {
  color: rgba(251, 251, 247, 0.7) !important;
  margin: 0 !important;
}

/* Season proof */
.about71-proof {
  padding: clamp(72px, 8vw, 118px) 0;
  background: #fbfbf7;
}
.about71-season-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.about71-season-card {
  border: 1px solid rgba(17, 17, 17, 0.12);
  background: #fbfbf7;
  min-width: 0;
  overflow: hidden;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease;
}
.about71-season-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 42px rgba(17, 17, 17, 0.09);
}
.about71-season-card-yellow {
  background: #fdd103;
  border-color: #111;
}
.about71-season-image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #111;
}
.about71-season-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s ease;
}
.about71-season-card:hover .about71-season-image img {
  transform: scale(1.035);
}
.about71-season-image > span {
  position: absolute;
  left: 15px;
  top: 15px;
  background: #fdd103;
  color: #111;
  padding: 8px 10px;
  font-family: var(--display);
  font-size: 1.05rem;
  line-height: 1;
}
.about71-season-card-yellow .about71-season-image > span {
  background: #111;
  color: #fbfbf7;
}
.about71-season-body {
  padding: 24px 24px 26px;
}
.about71-season-body small {
  font-size: 0.61rem;
  font-weight: 900;
  letter-spacing: 0.14em;
}
.about71-season-body h3 {
  font-family: var(--display);
  font-size: 1.75rem;
  line-height: 0.95;
  margin: 11px 0;
}
.about71-season-body > p {
  margin: 0 0 22px !important;
}
.about71-season-card-yellow .about71-season-body > p {
  color: rgba(17, 17, 17, 0.78) !important;
}
.about71-season-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(17, 17, 17, 0.16);
  padding-top: 18px;
  gap: 12px;
}
.about71-season-metrics b {
  display: block;
  font-family: var(--display);
  font-size: 1.45rem;
  line-height: 1;
}
.about71-season-metrics span {
  font-size: 0.57rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(17, 17, 17, 0.64);
}

/* Reach */
.about71-reach {
  padding: clamp(68px, 7vw, 104px) 0;
  background: #fdd103;
  border-block: 1px solid rgba(17, 17, 17, 0.15);
}
.about71-reach-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(38px, 7vw, 96px);
  align-items: center;
}
.about71-reach-copy h2 {
  margin: 12px 0 18px !important;
}
.about71-reach-copy h2 span {
  color: #111 !important;
  background: #fbfbf7;
  padding: 0 0.12em;
}
.about71-reach-copy p {
  max-width: 520px;
  color: #111 !important;
}
.about71-reach-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #111;
  border-left: 1px solid #111;
}
.about71-reach-stats > div {
  min-height: 150px;
  padding: 28px;
  border-right: 1px solid #111;
  border-bottom: 1px solid #111;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.about71-reach-stats strong {
  font-family: var(--display);
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: 0.8;
}
.about71-reach-stats span {
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 12px;
}

/* Next chapter */
.about71-next {
  padding: clamp(74px, 8vw, 120px) 0;
  background: #111;
  color: #fbfbf7;
}
.about71-next-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.85fr);
  gap: clamp(34px, 6vw, 78px);
  align-items: center;
}
.about71-next-art {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(251, 251, 247, 0.18);
  box-shadow: 18px 18px 0 #fdd103;
}
.about71-next-art picture,
.about71-next-art img {
  display: block;
  width: 100%;
}
.about71-next-art img {
  aspect-ratio: 16/8.5;
  object-fit: cover;
}
.about71-next-copy .eyebrow {
  color: #fdd103 !important;
}
.about71-next-copy h2 {
  color: #fbfbf7 !important;
  margin: 8px 0 18px !important;
}
.about71-next-copy h2 span {
  color: #fdd103 !important;
}
.about71-next-copy p {
  color: rgba(251, 251, 247, 0.72) !important;
  margin: 0 0 22px !important;
}
.about71-next-year {
  display: block;
  font-family: var(--display);
  font-size: clamp(4.2rem, 8vw, 8.5rem);
  line-height: 0.8;
  color: transparent;
  -webkit-text-stroke: 1px rgba(253, 209, 3, 0.56);
  margin: 14px 0 18px;
}
.about71-next-facts {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.about71-next-facts span {
  border: 1px solid rgba(251, 251, 247, 0.2);
  padding: 9px 12px;
  font-size: 0.64rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.about71-next-facts b {
  color: #fdd103;
  margin-right: 5px;
}

/* Timeline */
.about71-timeline {
  padding: clamp(74px, 8vw, 120px) 0 clamp(92px, 9vw, 136px);
  background: #fbfbf7;
}
.about71-timeline-rail {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 50px;
}
.about71-timeline-rail::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 70px;
  height: 2px;
  background: #111;
}
.about71-timeline-item {
  position: relative;
  display: grid;
  grid-template-rows: 52px 38px auto;
  min-width: 0;
}
.about71-time-year {
  font-family: var(--display);
  font-size: 2.2rem;
  line-height: 1;
}
.about71-time-dot {
  position: relative;
  z-index: 2;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fdd103;
  border: 4px solid #111;
  align-self: center;
  margin-left: 8px;
}
.about71-time-card {
  border: 1px solid rgba(17, 17, 17, 0.14);
  padding: 22px 20px 24px;
  background: #fbfbf7;
  min-height: 220px;
  position: relative;
}
.about71-time-card::before {
  content: "";
  position: absolute;
  left: -1px;
  top: -1px;
  width: 54px;
  height: 5px;
  background: #fdd103;
}
.about71-time-card small {
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.15em;
}
.about71-time-card h3 {
  font-family: var(--display);
  font-size: 1.7rem;
  line-height: 0.95;
  margin: 12px 0 9px;
}
.about71-time-card p {
  font-size: 0.79rem !important;
  margin: 0 0 22px !important;
}
.about71-time-card b {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.about71-time-card > span {
  display: block;
  font-size: 0.56rem;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: rgba(17, 17, 17, 0.56);
  margin-top: 4px;
}
.about71-timeline-next .about71-time-card {
  background: #111;
  color: #fbfbf7;
}
.about71-timeline-next .about71-time-card p {
  color: rgba(251, 251, 247, 0.7) !important;
}
.about71-timeline-next .about71-time-card > span {
  color: rgba(251, 251, 247, 0.55);
}
.about71-timeline-next .about71-time-year {
  color: #fdd103;
}

@media (max-width: 1024px) {
  body[data-page="about"] .about71-main .container {
    width: min(100% - 36px, 1100px);
  }
  .about71-hero-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .about71-hero::after {
    width: 46vw;
    opacity: 0.4;
  }
  .about71-hero-copy {
    max-width: 680px;
  }
  .about71-hero-visual {
    height: 520px;
  }
  .about71-format-grid {
    grid-template-columns: 1fr;
  }
  .about71-format-main {
    border-right: 0;
    border-bottom: 1px solid #111;
    min-height: 390px;
  }
  .about71-format-stack {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: none;
  }
  .about71-format-stack article {
    grid-template-columns: 1fr;
    grid-template-areas: "num" "label" "text";
    border-right: 1px solid rgba(17, 17, 17, 0.13);
    border-bottom: 0;
  }
  .about71-format-stack article:last-child {
    border-right: 0;
  }
  .about71-pillars-grid,
  .about71-season-grid {
    grid-template-columns: 1fr 1fr;
  }
  .about71-pillars-grid article:last-child,
  .about71-season-grid article:last-child {
    grid-column: 1/-1;
  }
  .about71-season-grid article:last-child {
    max-width: calc(50% - 8px);
    width: 100%;
    justify-self: center;
  }
  .about71-reach-grid,
  .about71-next-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .about71-next-art {
    order: 2;
  }
  .about71-next-copy {
    order: 1;
    max-width: 680px;
  }
  .about71-timeline-rail {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 16px;
  }
  .about71-timeline-rail::before {
    display: none;
  }
  .about71-timeline-item {
    grid-template-rows: 48px auto;
    grid-template-columns: 28px 1fr;
  }
  .about71-time-year {
    grid-column: 1/-1;
  }
  .about71-time-dot {
    grid-column: 1;
    grid-row: 2;
    margin: 20px 0 0;
  }
  .about71-time-card {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (max-width: 680px) {
  body[data-page="about"] .about71-main .container {
    width: calc(100% - 28px);
  }
  body[data-page="about"] .about71-main .display {
    font-size: clamp(1.95rem, 9vw, 2.7rem) !important;
    line-height: 0.91 !important;
  }
  body[data-page="about"] .about71-main p {
    font-size: 0.82rem !important;
    line-height: 1.52 !important;
  }
  .about71-hero {
    padding: 100px 0 54px;
  }
  .about71-hero::after {
    width: 62vw;
    clip-path: polygon(58% 0, 100% 0, 100% 100%, 12% 100%, 35% 60%, 21% 32%);
    opacity: 0.42;
  }
  .about71-hero-grid {
    gap: 20px;
  }
  .about71-hero-copy h1 {
    margin: 13px 0 14px !important;
  }
  .about71-hero-copy p {
    margin-bottom: 18px !important;
  }
  .about71-hero-actions {
    gap: 14px;
  }
  .about71-hero-actions .btn {
    min-height: 38px !important;
    padding: 0 13px !important;
    font-size: 0.56rem !important;
  }
  .about71-text-link {
    font-size: 0.58rem;
  }
  .about71-hero-visual {
    height: 390px;
  }
  .about71-hero-number {
    font-size: 12rem;
    top: -5%;
    right: -2%;
  }
  .about71-shot {
    border-width: 4px;
  }
  .about71-shot-a {
    left: 0;
    top: 10%;
    width: 58%;
    height: 39%;
  }
  .about71-shot-b {
    right: 0;
    top: 5%;
    width: 40%;
    height: 45%;
  }
  .about71-shot-c {
    right: 6%;
    bottom: 6%;
    width: 60%;
    height: 37%;
  }
  .about71-hero-chip {
    left: 2%;
    bottom: 9%;
    padding: 8px 10px;
    box-shadow: 5px 5px 0 #fdd103;
  }
  .about71-hero-chip b {
    font-size: 1.7rem;
  }
  .about71-hero-chip span {
    font-size: 0.52rem;
  }
  .about71-section-head {
    grid-template-columns: 1fr;
    gap: 13px;
    margin-bottom: 24px;
  }
  .about71-section-head > p {
    max-width: 540px;
  }
  .about71-format,
  .about71-pillars,
  .about71-proof,
  .about71-reach,
  .about71-next,
  .about71-timeline {
    padding: 58px 0;
  }
  .about71-format-main {
    min-height: 330px;
    padding: 26px 22px;
  }
  .about71-format-watermark {
    font-size: 11rem;
  }
  .about71-format-copy strong {
    font-size: 5.2rem;
  }
  .about71-format-copy h3 {
    font-size: 1.65rem;
  }
  .about71-format-stack {
    grid-template-columns: 1fr;
  }
  .about71-format-stack article {
    grid-template-columns: 76px 1fr;
    grid-template-areas: "num label" "num text";
    border-right: 0;
    border-bottom: 1px solid rgba(17, 17, 17, 0.13);
    padding: 20px;
  }
  .about71-format-stack b {
    font-size: 2.6rem;
  }
  .about71-format-stack article:last-child {
    border-bottom: 0;
  }
  .about71-pillars-grid {
    grid-template-columns: 1fr;
  }
  .about71-pillars-grid article:last-child {
    grid-column: auto;
  }
  .about71-pillar {
    min-height: auto;
    padding: 26px 22px;
  }
  .about71-pillar > span {
    font-size: 3rem;
  }
  .about71-pillar-line {
    margin: 18px 0;
  }
  .about71-pillar h3 {
    font-size: 1.4rem;
  }
  .about71-season-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .about71-season-grid article:last-child {
    grid-column: auto;
    max-width: none;
  }
  .about71-season-body {
    padding: 20px;
  }
  .about71-season-body h3 {
    font-size: 1.5rem;
  }
  .about71-season-metrics {
    gap: 8px;
  }
  .about71-season-metrics b {
    font-size: 1.2rem;
  }
  .about71-season-metrics span {
    font-size: 0.48rem;
  }
  .about71-reach-stats > div {
    min-height: 115px;
    padding: 18px;
  }
  .about71-reach-stats strong {
    font-size: 2.6rem;
  }
  .about71-reach-stats span {
    font-size: 0.5rem;
  }
  .about71-next-art {
    box-shadow: 8px 8px 0 #fdd103;
  }
  .about71-next-art img {
    aspect-ratio: 4/5;
    object-position: center;
  }
  .about71-next-year {
    font-size: 4.8rem;
  }
  .about71-next-copy .btn {
    min-height: 38px !important;
    padding: 0 13px !important;
    font-size: 0.56rem !important;
  }
  .about71-next-facts {
    gap: 8px;
  }
  .about71-next-facts span {
    font-size: 0.54rem;
    padding: 7px 9px;
  }
  .about71-timeline-rail {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 30px;
  }
  .about71-timeline-item {
    grid-template-columns: 24px 1fr;
    grid-template-rows: 40px auto;
  }
  .about71-time-year {
    font-size: 1.75rem;
  }
  .about71-time-dot {
    width: 15px;
    height: 15px;
    border-width: 3px;
    margin-top: 18px;
  }
  .about71-time-card {
    min-height: 0;
    padding: 18px;
  }
  .about71-time-card h3 {
    font-size: 1.45rem;
  }
  .about71-time-card p {
    margin-bottom: 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about71-season-card,
  .about71-season-image img {
    transition: none !important;
  }
}

/* ======================================================================
   V7.74 — responsive campaign footer + content-system refinement
   ====================================================================== */
.s90-footer-pro {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  min-height: clamp(410px, 34vw, 560px);
  padding: 0 !important;
  color: #111111 !important;
  border: 0 !important;
  background: #fbfbf7 url("assets/footer/footer-desktop.webp") center bottom /
    cover no-repeat !important;
}
.s90-footer-pro::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  height: auto !important;
  background: linear-gradient(
    180deg,
    rgba(251, 251, 247, 0.98) 0%,
    rgba(251, 251, 247, 0.88) 48%,
    rgba(251, 251, 247, 0.28) 78%,
    rgba(251, 251, 247, 0) 100%
  ) !important;
  pointer-events: none !important;
}
.s90-footer-pro::after {
  display: none !important;
}
.s90-footer-shell {
  min-height: inherit;
  padding-top: clamp(42px, 4vw, 64px) !important;
  padding-bottom: clamp(54px, 6vw, 88px) !important;
  display: grid;
  grid-template-columns: minmax(300px, 0.9fr) minmax(480px, 1.1fr);
  grid-template-areas: "lead nav" "bottom bottom";
  column-gap: clamp(54px, 7vw, 110px);
  align-content: start;
}
.s90-footer-lead {
  grid-area: lead;
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 40px;
  align-items: start;
  max-width: 560px;
}
.s90-footer-brandmark {
  display: block;
  width: 104px;
  transition: transform 0.25s ease;
}
.s90-footer-brandmark:hover {
  transform: translateY(-3px);
}
.s90-footer-brandmark img {
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  filter: none !important;
  box-shadow: none !important;
}
.s90-footer-kicker {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-family: var(--v734-body, var(--body)) !important;
  font-size: 0.66rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}
.s90-footer-kicker::before {
  display: none !important;
}
.s90-footer-lead h2 {
  margin: 0;
  font-family: var(--v734-display, var(--display)) !important;
  font-size: clamp(1.75rem, 2vw, 2.8rem) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase;
  color: #111 !important;
}
.s90-footer-lead h2 span {
  color: #111 !important;
  background: linear-gradient(transparent 58%, #fdd103 58%);
  padding: 0 0.06em;
}
.s90-footer-copy {
  margin: 16px 0 0 !important;
  max-width: 44ch !important;
  color: rgba(17, 17, 17, 0.72) !important;
  font-family: var(--v734-body, var(--body)) !important;
  font-size: 0.88rem !important;
  line-height: 1.6 !important;
}
.s90-footer-navgrid {
  grid-area: nav;
  margin-left: 120px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  padding-top: 8px;
}
.s90-footer-col {
  min-width: 0;
}
.s90-footer-col h4 {
  margin: 0 0 17px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #111 !important;
  font-family: var(--v734-display, var(--display)) !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}
.s90-footer-col h4::before {
  display: none !important;
}
.s90-ball-icon {
  position: relative;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 2px solid #111;
  border-radius: 50%;
  background: #fdd103;
  transform: rotate(-18deg);
  overflow: hidden;
}
.s90-ball-icon::before,
.s90-ball-icon::after {
  content: "";
  position: absolute;
  top: -3px;
  width: 7px;
  height: 22px;
  border: 1.4px solid #111;
  border-top: 0;
  border-bottom: 0;
  border-radius: 50%;
}
.s90-ball-icon::before {
  left: 1px;
}
.s90-ball-icon::after {
  right: 1px;
}
.s90-footer-links {
  display: flex;
  flex-direction: column;
  gap: 9px !important;
}
.s90-footer-links a {
  width: max-content;
  max-width: 100%;
  position: relative;
  color: rgba(17, 17, 17, 0.72) !important;
  font-family: var(--v734-body, var(--body)) !important;
  font-size: 0.83rem !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition:
    color 0.2s ease,
    transform 0.2s ease !important;
}
.s90-footer-links a span {
  font-size: 0.78em;
  margin-left: 3px;
}
.s90-footer-links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 2px;
  background: #fdd103;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}
.s90-footer-links a:hover,
.s90-footer-links a:focus-visible {
  color: #111 !important;
  transform: translateX(2px);
}
.s90-footer-links a:hover::after,
.s90-footer-links a:focus-visible::after {
  transform: scaleX(1);
}
.s90-footer-bottom {
  grid-area: bottom;
  margin-top: clamp(36px, 4vw, 56px) !important;
  padding: 17px 0 0 !important;
  border-top: 1px solid rgba(17, 17, 17, 0.16) !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 100px;
  color: rgba(17, 17, 17, 0.64) !important;
  font-family: var(--v734-body, var(--body)) !important;
  font-size: 0.72rem !important;
  line-height: 1.5 !important;
}
.s90-footer-bottom::before {
  display: none !important;
}
.s90-footer-bottom > span {
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.s90-footer-bottom .footer-ownership {
  margin: 0 !important;
  max-width: 46ch !important;
  color: rgba(17, 17, 17, 0.64) !important;
  font-size: 0.72rem !important;
  line-height: 1.5 !important;
}
.s90-footer-bottom .footer-ownership a {
  color: #111 !important;
  text-decoration: none !important;
  border-bottom: 2px solid #fdd103;
  padding-bottom: 1px;
}

@media (min-width: 641px) and (max-width: 1024px) {
  .s90-footer-pro {
    min-height: 640px;
    background-image: url("assets/footer/footer-tablet.webp") !important;
    background-position: center bottom !important;
  }
  .s90-footer-shell {
    place-items: center;
    grid-template-columns: 1fr;
    grid-template-areas: "lead" "nav" "bottom";
    row-gap: 30px;
    padding-top: 46px !important;
    padding-bottom: 68px !important;
  }

  .s90-footer-bottom {
  grid-area: bottom;
  margin-top: clamp(36px, 4vw, 56px) !important;
  padding: 17px 0 0 !important;
  border-top: 1px solid rgba(17, 17, 17, 0.16) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: rgba(17, 17, 17, 0.64) !important;
  font-family: var(--v734-body, var(--body)) !important;
  font-size: 0.72rem !important;
  line-height: 1.5 !important;
}


.s90-footer-lead {
    grid-area: lead;
    display: grid;
    grid-template-columns: 104px 1fr;
    gap: 150px;
    align-items: start;
    max-width: 560px;
}

  .s90-footer-lead {
    max-width: 650px;
  }
  .s90-footer-navgrid {
    max-width: 720px;
    width: 100%;
    padding-top: 0;
  }
  .s90-footer-bottom {
    margin-top: 12px !important;
  }
}
@media (max-width: 640px) {
  .s90-footer-pro {
    min-height: 820px;
    background-image: url("assets/footer/footer-mobile.webp") !important;
    background-position: center bottom !important;
    background-size: contain !important;
  }
  .s90-footer-pro::before {
    background: linear-gradient(
      180deg,
      rgba(251, 251, 247, 0.99) 0%,
      rgba(251, 251, 247, 0.94) 52%,
      rgba(251, 251, 247, 0.5) 76%,
      rgba(251, 251, 247, 0) 100%
    ) !important;
  }
  .s90-footer-shell {
    display: block !important;
    padding-top: 34px !important;
    padding-bottom: 74px !important;
  }
  .s90-footer-lead {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
    max-width: none;
  }
  .s90-footer-brandmark {
    width: 74px;
  }
  .s90-footer-lead h2 {
    font-size: clamp(1.42rem, 5w, 2rem) !important;
    line-height: 0.95 !important;
    text-align: center !important;
  }
  .s90-footer-copy {
    grid-column: 1/-1;
    margin-top: 14px !important;
    font-size: 0.78rem !important;
    max-width: 46ch !important;
    text-align: center !important;
    justify-self: center;
  }
  .s90-footer-navgrid {
    margin-top: 28px;
    display: grid;
    margin-left: 30px;
    grid-template-columns: 1fr 1fr;
    gap: 24px 18px;
    padding: 20px 0 0;
    border-top: 1px solid rgba(17, 17, 17, 0.12);
  }
  .s90-footer-col:last-child {
    grid-column: 1/-1;
  }
  .s90-footer-col h4 {
    font-size: 0.9rem !important;
    margin-bottom: 12px !important;
  }
  .s90-ball-icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
  }
  .s90-footer-links {
    gap: 7px !important;
  }
  .s90-footer-links a {
    font-size: 0.76rem !important;
  }
  .s90-footer-bottom {
    margin-top: 28px !important;
    display: flex !important;
    gap: 0px;
    font-size: 0.65rem !important;
    padding-top: 14px !important;
  }
  .s90-footer-bottom .footer-ownership {
    margin-top: 8px !important;
    text-align: center;
    font-size: 0.65rem !important;
    max-width: none !important;
  }
}

/* V7.76 — footer social handles + fixed black subheadings */
.s90-footer-kicker {
  display: none !important;
}
.s90-footer-socials {
  margin-top: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.s90-footer-social-label {
  color: #111 !important;
  font-family: var(--v734-body, var(--body)) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.s90-footer-social-icons {
  display: flex;
  align-items: center;
  gap: 9px;
}
.s90-footer-social-icons a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(17, 17, 17, 0.18);
  background: rgba(251, 251, 247, 0.78);
  border-radius: 50%;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.s90-footer-social-icons a::after {
  display: none !important;
}
.s90-footer-social-icons a:hover,
.s90-footer-social-icons a:focus-visible {
  transform: translateY(-2px) !important;
  background: #fdd103 !important;
  border-color: #111 !important;
  box-shadow: 0 7px 16px rgba(17, 17, 17, 0.12);
}
.s90-footer-social-icons img {
  width: 19px;
  height: 19px;
  object-fit: contain;
  display: block;
}
.s90-footer-col h4,
.s90-footer-col h4:hover,
.s90-footer-col h4:focus,
.s90-footer-col:hover h4 {
  color: #111111 !important;
}
@media (max-width: 640px) {
  .s90-footer-socials {
    display: flex;
    justify-content: center;
    margin-top: 16px;
    gap: 10px;
  }
  .s90-footer-social-icons a {
    width: 36px;
    height: 36px;
  }
  .s90-footer-social-icons img {
    width: 18px;
    height: 18px;
  }
}

/* V7.77 — footer logo always full opacity */
.s90-footer-brandmark,
.s90-footer-brandmark:hover,
.s90-footer-brandmark:focus,
.s90-footer-brandmark img,
.s90-footer-brandmark:hover img,
.s90-footer-brandmark:focus img {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* ======================================================================
   V7.79 — homepage banner typography lock for large displays
   Keeps the authored line breaks intact on hero / difference / final CTA.
   Tablet and mobile layouts remain unchanged.
   ====================================================================== */
@media (min-width: 1025px) {
  /* Shared banner copy: keep words from creating accidental extra lines. */
  .s32-home .s33-hero-title,
  .s32-home .s33-difference-copy h2,
  .s32-home .s33-final-copy h2 {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  /* Hero — the second line is intentionally one complete statement. */
  .s32-home .s33-hero-copy {
    width: min(680px, 51vw) !important;
    max-width: 680px !important;
  }
  .s32-home .s33-hero-title {
    width: max-content !important;
    max-width: none !important;
    font-size: clamp(2.45rem, 3.15vw, 3.55rem) !important;
    line-height: 0.94 !important;
  }
  .s32-home .s33-hero-title > span {
    display: inline-block !important;
    white-space: nowrap !important;
  }
  .s32-home .s33-hero-copy > p {
    max-width: 430px !important;
  }

  /* What Makes SUPER 90 Different — preserve the deliberate three-line lockup. */
  .s32-home .s33-difference-copy {
    width: min(620px, 45vw) !important;
    max-width: 620px !important;
  }
  .s32-home .s33-difference-copy h2 {
    width: max-content !important;
    max-width: none !important;
    font-size: clamp(2.25rem, 2.8vw, 3.15rem) !important;
    line-height: 0.96 !important;
  }
  .s32-home .s33-difference-copy h2 > span {
    display: inline-block !important;
    white-space: nowrap !important;
  }
  .s32-home .s33-difference-copy p {
    max-width: 420px !important;
  }

  /* Final CTA — keep WORK WITH / SUPER 90. as the intended two lines. */
  .s32-home .s33-final-copy {
    width: min(600px, 43vw) !important;
    max-width: 600px !important;
  }
  .s32-home .s33-final-copy h2 {
    width: max-content !important;
    max-width: none !important;
    font-size: clamp(2.3rem, 2.9vw, 3.25rem) !important;
    line-height: 0.96 !important;
  }
  .s32-home .s33-final-copy h2 > span {
    white-space: nowrap !important;
  }
  .s32-home .s33-final-copy p {
    max-width: 455px !important;
  }
}

/* Extra-wide displays get more breathing room, not larger typography. */
@media (min-width: 1600px) {
  .s32-home .s33-hero-copy {
    width: 700px !important;
    max-width: 700px !important;
  }
  .s32-home .s33-difference-copy {
    width: 640px !important;
    max-width: 640px !important;
  }
  .s32-home .s33-final-copy {
    width: 620px !important;
    max-width: 620px !important;
  }
}


/* V7.80 — Season 4 team artwork cards (no captains announced yet) */
.s32-home .s44-team-card.has-team-art h3 {
  margin-top: 30px !important;
}


/* V7.81 — partner ecosystem marquee above footer */
.s81-partners{
  position:relative;
  overflow:hidden;
  background:#111111;
  color:#FBFBF7;
  padding:72px 0 68px;
  border-top:1px solid rgba(251,251,247,.08);
}
.s81-partners::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 0%,rgba(253,209,3,.11),transparent 28%),
    linear-gradient(115deg,transparent 0 38%,rgba(251,251,247,.025) 38% 39%,transparent 39% 100%);
}
.s81-partners-head{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:48px;
  align-items:end;
  margin-bottom:46px;
}
.s81-partners-kicker{
  margin-bottom:10px;
  color:#FDD103;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.s81-partners h2{
  margin:0;
  color:#FBFBF7;
  font-size:clamp(2.15rem,4.25vw,3rem);
  line-height:.9;
  letter-spacing:-.025em;
}
.s81-partners h2 span{color:#FDD103}
.s81-partners-head>p{
  margin:0 0 4px;
  max-width:44ch;
  color:rgba(251,251,247,.68);
  font-size:.98rem;
  line-height:1.65;
}
.s81-partner-rail{
  position:relative;
  z-index:2;
  padding:0 0 34px;
}
.s81-partner-rail+.s81-partner-rail{
  padding-top:30px;
  border-top:1px solid rgba(251,251,247,.08);
}
.s81-rail-label{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}
.s81-rail-label>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#FDD103;
  color:#111111;
  font-size:.68rem;
  font-weight:900;
}
.s81-rail-label h3{
  margin:0;
  color:#FBFBF7;
  font-size:clamp(1rem,1.35vw,1.25rem);
  font-weight:800;
  letter-spacing:.03em;
}
.s81-marquee{
  width:100%;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.s81-marquee-track{
  display:flex;
  width:max-content;
  animation:s81-marquee-left 52s linear infinite;
  will-change:transform;
}
.s81-marquee-track--reverse{
  animation-name:s81-marquee-right;
  animation-duration:38s;
}
.s81-marquee:hover .s81-marquee-track{animation-play-state:paused}
.s81-marquee-set{
  display:flex;
  gap:14px;
  padding-right:14px;
}
.s81-partner-card{
  flex:0 0 210px;
  width:210px;
  height:110px;
  display:grid;
  place-items:center;
  padding:15px 18px;
  border:1px solid rgba(251,251,247,.09);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(251,251,247,.075),rgba(251,251,247,.035));
  box-shadow:inset 0 1px 0 rgba(251,251,247,.05),0 12px 34px rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.s81-partner-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:none;
}
@keyframes s81-marquee-left{to{transform:translateX(-50%)}}
@keyframes s81-marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(max-width:900px){
  .s81-partners{padding:58px 0 54px}
  .s81-partners-head{grid-template-columns:1fr;gap:18px;margin-bottom:36px}
  .s81-partners-head>p{max-width:56ch}
  .s81-partner-card{flex-basis:184px;width:184px;height:98px;padding:13px 15px}
}
@media(max-width:640px){
  .s81-partners{padding:46px 0 44px}
  .s81-partners-head{margin-bottom:30px}
  .s81-partners h2{font-size:clamp(2rem,7vw,3rem)}
  .s81-partners-head>p{font-size:.9rem;line-height:1.55}
  .s81-rail-label{margin-bottom:13px}
  .s81-rail-label>span{width:30px;height:30px;font-size:.62rem}
  .s81-rail-label h3{font-size:.94rem}
  .s81-partner-card{flex-basis:152px;width:152px;height:84px;border-radius:12px;padding:10px 12px}
  .s81-marquee-set{gap:10px;padding-right:10px}
  .s81-marquee-track{animation-duration:44s}
  .s81-marquee-track--reverse{animation-duration:32s}
}
@media(prefers-reduced-motion:reduce){
  .s81-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none;scrollbar-width:none}
  .s81-marquee::-webkit-scrollbar{display:none}
  .s81-marquee-track,.s81-marquee-track--reverse{animation:none;transform:none}
}


/* ======================================================================
   V7.82 — current content refresh / about intro / tri-colour loader
   ====================================================================== */
.s90-page-wipe{inset:-18% -125%!important;background:linear-gradient(90deg,#111111 0 33.333%,#FDD103 33.333% 66.666%,#FBFBF7 66.666% 100%)!important;transform:translateX(-78%) skewX(-9deg)!important;animation:s82TriSmooth 1.32s cubic-bezier(.65,0,.35,1) both!important;will-change:transform,opacity}
@keyframes s82TriSmooth{0%{transform:translateX(-78%) skewX(-9deg);opacity:1}47%{transform:translateX(-3%) skewX(-9deg);opacity:1}57%{transform:translateX(3%) skewX(-9deg);opacity:1}100%{transform:translateX(78%) skewX(-9deg);opacity:1}}
.about82-hero{padding:calc(var(--header-h,88px) + 58px) 0 clamp(76px,8vw,118px);background:#FBFBF7;color:#111111;overflow:hidden}.about82-hero-top{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:clamp(34px,5vw,82px);align-items:center}.about82-intro h1{margin:10px 0 22px;font-size:clamp(3.2rem,5.15vw,5.65rem)!important;line-height:.86!important;color:#111111!important}.about82-intro h1 span{color:#FDD103}.about82-intro>p{max-width:62ch;margin:0 0 14px;font-size:clamp(.94rem,1.05vw,1.08rem);line-height:1.72;color:rgba(17,17,17,.76)}.about82-intro .about82-lead{font-size:clamp(1.04rem,1.3vw,1.28rem);color:#111111;line-height:1.62}.about82-format-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px;border-top:1px solid rgba(17,17,17,.16);border-bottom:1px solid rgba(17,17,17,.16)}.about82-format-strip span{min-height:82px;padding:15px 16px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(17,17,17,.12);text-transform:uppercase;font-size:.65rem;font-weight:900;letter-spacing:.1em}.about82-format-strip span:last-child{border-right:0}.about82-format-strip b{display:block;margin-bottom:4px;font-family:var(--display);font-size:2rem;line-height:1;letter-spacing:-.03em}.about82-visual{position:relative;margin:0;min-height:clamp(430px,42vw,650px);overflow:hidden;background:#111111;border:1px solid rgba(17,17,17,.12);box-shadow:20px 20px 0 #FDD103}.about82-visual picture,.about82-visual img{width:100%;height:100%;display:block}.about82-visual picture{position:absolute;inset:0}.about82-visual img{object-fit:cover}.about82-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(17,17,17,.72));pointer-events:none}.about82-visual figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#fff}.about82-visual figcaption span{font-size:.62rem;font-weight:900;letter-spacing:.15em}.about82-visual figcaption strong{font-family:var(--display);font-size:clamp(1.25rem,2vw,2rem);line-height:.95;text-align:right}.about82-story-grid{margin-top:clamp(62px,7vw,106px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(44px,7vw,110px);align-items:start}.about82-label{margin-bottom:12px;font-size:.66rem;font-weight:900;letter-spacing:.16em}.about82-history h2{margin:0 0 24px;font-size:clamp(2.65rem,4.15vw,4.45rem)!important;line-height:.88!important}.about82-history h2 span{color:#FDD103}.about82-history>p,.about82-expansion>p{margin:0 0 20px;max-width:64ch;color:rgba(17,17,17,.72);font-size:.98rem;line-height:1.72}.about82-season-list{margin:28px 0;border-top:1px solid rgba(17,17,17,.17)}.about82-season-list article{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid rgba(17,17,17,.14)}.about82-season-list article>span{font-family:var(--display);font-size:1.35rem;color:#FDD103}.about82-season-list b{display:block;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;margin-bottom:4px}.about82-season-list p{margin:0;font-size:.93rem;line-height:1.55;color:rgba(17,17,17,.72)}.about82-expansion blockquote{margin:0 0 30px;padding:28px 30px 28px 34px;background:#111111;color:#FBFBF7;border-left:7px solid #FDD103;box-shadow:12px 12px 0 rgba(253,209,3,.28);font-family:var(--body);font-size:clamp(1.03rem,1.35vw,1.23rem);font-weight:700;line-height:1.65}.about82-owner{margin-top:30px;padding:24px 26px;background:#FDD103;color:#111111}.about82-owner small{display:block;margin-bottom:8px;font-size:.62rem;font-weight:900;letter-spacing:.15em}.about82-owner h3{margin:0 0 10px;font-family:var(--display);font-size:clamp(1.35rem,2vw,2rem);line-height:.95}.about82-owner p{margin:0;font-size:.9rem;line-height:1.6}.about82-tagline{margin-top:22px!important;color:#111111!important;font-size:clamp(1.05rem,1.45vw,1.28rem)!important}
@media(max-width:1024px){.about82-hero{padding-top:calc(var(--header-h,80px) + 42px)}.about82-hero-top{grid-template-columns:1fr;gap:34px}.about82-intro{max-width:760px}.about82-visual{min-height:clamp(430px,62vw,650px);box-shadow:12px 12px 0 #FDD103}.about82-story-grid{grid-template-columns:1fr;gap:42px}}
@media(max-width:640px){.s32-home .s33-final-cta,.s32-home .s33-final-inner{min-height:calc(100vw * 1.296)!important}.s32-home .s33-final-copy{width:90%!important;padding-top:32px!important;margin-left:0!important}.about82-hero{padding-top:calc(var(--header-h,72px) + 26px);padding-bottom:66px}.about82-intro h1{font-size:clamp(2.25rem,10.6vw,3.35rem)!important;line-height:.9!important;margin-bottom:16px}.about82-intro>p{font-size:.86rem;line-height:1.58;margin-bottom:11px}.about82-intro .about82-lead{font-size:.93rem;line-height:1.58}.about82-format-strip{margin-top:20px}.about82-format-strip span{min-height:68px;padding:12px 9px;font-size:.52rem}.about82-format-strip b{font-size:1.5rem}.about82-visual{min-height:74vw;box-shadow:8px 8px 0 #FDD103}.about82-visual figcaption{left:14px;right:14px;bottom:14px;gap:12px}.about82-story-grid{margin-top:52px;gap:34px}.about82-history h2{font-size:clamp(2rem,9.8vw,2.85rem)!important;margin-bottom:16px}.about82-history>p,.about82-expansion>p{font-size:.85rem;line-height:1.58;margin-bottom:15px}.about82-season-list{margin:20px 0}.about82-season-list article{grid-template-columns:40px 1fr;gap:10px;padding:14px 0}.about82-season-list p{font-size:.8rem}.about82-expansion blockquote{padding:21px 20px 21px 24px;font-size:.9rem;line-height:1.58;border-left-width:5px;box-shadow:7px 7px 0 rgba(253,209,3,.28)}.about82-owner{padding:20px;margin-top:22px}.about82-owner h3{font-size:1.35rem}.about82-owner p{font-size:.8rem}.about82-tagline{font-size:.96rem!important}}
/* V7.82 about heading lockup */
.about82-intro h1{max-width:760px!important;font-size:clamp(3.5rem,5.6vw,6.2rem)!important;line-height:.88!important}
@media(max-width:640px){.about82-intro h1{font-size:clamp(2.5rem,12vw,3.7rem)!important;line-height:.9!important}}


/* V7.83 — centered About opening hero, no banner */
.about82-hero{
  position:relative;
}
.about83-centered-hero{
  display:block!important;
  max-width:1120px;
  margin:0 auto;
  padding:clamp(34px,4vw,64px) 0 clamp(26px,3vw,46px);
  text-align:center;
}
.about83-intro{
  max-width:980px!important;
  margin:0 auto!important;
  text-align:center;
}
.about83-intro .eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:7px 14px;
  background:#FDD103;
  color:#111111;
  font-weight:900;
  letter-spacing:.15em;
  border-radius:999px;
}
.about83-intro h1{
  max-width:none!important;
  margin:18px auto 18px!important;
  font-size:clamp(3.6rem,6vw,6.6rem)!important;
  line-height:.88!important;
  text-align:center;
}
.about83-rule{
  width:92px;
  height:4px;
  margin:0 auto 26px;
  background:linear-gradient(90deg,#111111 0 33%,#FDD103 33% 100%);
}
.about83-intro>p{
  max-width:800px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center;
}
.about83-intro .about82-lead{
  max-width:880px!important;
  font-size:clamp(1.08rem,1.35vw,1.32rem)!important;
  line-height:1.68!important;
}
.about83-intro .about82-format-strip{
  max-width:760px;
  margin:34px auto 0!important;
}
.about83-intro .about82-format-strip span{
  align-items:center;
  text-align:center;
}
@media(max-width:1024px){
  .about83-centered-hero{max-width:860px;padding-top:28px}
  .about83-intro h1{font-size:clamp(3.1rem,7vw,5rem)!important}
}
@media(max-width:640px){
  .about83-centered-hero{padding:16px 0 18px}
  .about83-intro .eyebrow{min-height:26px;padding:6px 11px;font-size:.58rem}
  .about83-intro h1{font-size:clamp(2.35rem,11vw,3.45rem)!important;margin:14px auto 14px!important}
  .about83-rule{width:70px;height:3px;margin-bottom:18px}
  .about83-intro .about82-lead{font-size:.94rem!important;line-height:1.6!important}
  .about83-intro>p{font-size:.86rem!important;line-height:1.58!important}
  .about83-intro .about82-format-strip{margin-top:22px!important}
}


/* V7.84 — subtle side graphics for centered About hero */
.about82-hero{
  position:relative;
  isolation:isolate;
}
.about82-hero .container{
  position:relative;
  z-index:1;
}
.about82-hero::before,
.about82-hero::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
  opacity:.9;
}
.about82-hero::before{
  left:clamp(-72px,-4vw,-18px);
  top:clamp(132px,18vw,200px);
  width:clamp(180px,21vw,320px);
  height:clamp(240px,28vw,380px);
  background:
    radial-gradient(circle at 24% 24%, rgba(253,209,3,.78) 0 2px, transparent 2.2px) 0 0/15px 15px,
    linear-gradient(135deg, transparent 0 44%, rgba(253,209,3,.18) 44% 47%, transparent 47% 100%),
    linear-gradient(135deg, transparent 0 57%, rgba(17,17,17,.08) 57% 58%, transparent 58% 100%);
  border-top-right-radius:220px;
  border-bottom-right-radius:220px;
  mask-image: linear-gradient(180deg, transparent 0, rgba(0,0,0,.92) 18%, rgba(0,0,0,.92) 86%, transparent 100%);
}
.about82-hero::after{
  right:clamp(-68px,-4vw,-18px);
  top:clamp(122px,17vw,186px);
  width:clamp(190px,22vw,330px);
  height:clamp(250px,30vw,390px);
  background:
    radial-gradient(circle at 74% 30%, rgba(253,209,3,.72) 0 2px, transparent 2.2px) 100% 0/15px 15px,
    radial-gradient(circle at center, transparent 62%, rgba(253,209,3,.45) 62.4% 63.2%, transparent 63.6%),
    radial-gradient(circle at center, transparent 76%, rgba(17,17,17,.12) 76.3% 76.9%, transparent 77.3%),
    linear-gradient(225deg, transparent 0 44%, rgba(253,209,3,.14) 44% 46%, transparent 46% 100%);
  border-top-left-radius:220px;
  border-bottom-left-radius:220px;
  mask-image: linear-gradient(180deg, transparent 0, rgba(0,0,0,.94) 16%, rgba(0,0,0,.94) 88%, transparent 100%);
}
.about83-centered-hero{
  position:relative;
}
.about83-centered-hero::before,
.about83-centered-hero::after{
  content:"";
  position:absolute;
  top:52%;
  width:clamp(70px,8vw,120px);
  height:1px;
  background:linear-gradient(90deg, rgba(253,209,3,0), rgba(253,209,3,.65), rgba(17,17,17,.12));
  pointer-events:none;
}
.about83-centered-hero::before{
  left:clamp(18px,2vw,34px);
}
.about83-centered-hero::after{
  right:clamp(18px,2vw,34px);
  transform:scaleX(-1);
}
@media(max-width:1024px){
  .about82-hero::before,
  .about82-hero::after{
    width:clamp(140px,20vw,220px);
    height:clamp(180px,26vw,300px);
    opacity:.78;
  }
  .about83-centered-hero::before,
  .about83-centered-hero::after{
    width:clamp(40px,7vw,78px);
  }
}
@media(max-width:640px){
  .about82-hero::before,
  .about82-hero::after,
  .about83-centered-hero::before,
  .about83-centered-hero::after{
    display:none;
  }
}

/* V7.85 — full-bleed season champion feature on Teams page */
[data-page="teams"] .season-champion-panel{
  display:block!important;
  width:100%;
  padding:0!important;
  margin:0 0 clamp(28px,3vw,44px)!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
[data-page="teams"] .season-champion-panel::after{
  display:none!important;
}
[data-page="teams"] .season-champion-feature{
  width:100%;
  background:#FBFBF7;
  border:1px solid rgba(17,17,17,.10);
  overflow:hidden;
}
[data-page="teams"] .season-champion-image{
  width:100%;
  aspect-ratio:20 / 9;
  overflow:hidden;
  background:#111111;
}
[data-page="teams"] .season-champion-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
[data-page="teams"] .season-champion-meta{
  display:flex;
  align-items:center;
  gap:clamp(16px,2vw,26px);
  padding:clamp(18px,2vw,28px) clamp(18px,2.3vw,34px);
  background:#FBFBF7;
  border-top:3px solid #FDD103;
}
[data-page="teams"] .season-champion-logo{
  flex:0 0 clamp(72px,7vw,104px);
  width:clamp(72px,7vw,104px);
  height:clamp(72px,7vw,104px);
  display:grid;
  place-items:center;
}
[data-page="teams"] .season-champion-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
[data-page="teams"] .season-champion-logo span{
  font-family:var(--display);
  font-size:1.4rem;
  color:#111111;
}
[data-page="teams"] .season-champion-name{
  min-width:0;
}
[data-page="teams"] .season-champion-name>span{
  display:block;
  margin-bottom:6px;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(17,17,17,.58);
}
[data-page="teams"] .season-champion-name h2{
  margin:0!important;
  color:#111111!important;
  font-size:clamp(2rem,3.5vw,4rem)!important;
  line-height:.92!important;
}
@media(max-width:760px){
  [data-page="teams"] .season-champion-image{
    aspect-ratio:16 / 9;
  }
  [data-page="teams"] .season-champion-meta{
    gap:14px;
    padding:16px;
  }
  [data-page="teams"] .season-champion-logo{
    flex-basis:64px;
    width:64px;
    height:64px;
  }
  [data-page="teams"] .season-champion-name h2{
    font-size:clamp(1.65rem,8vw,2.4rem)!important;
  }
}

/* V7.86 — Teams champion mobile crop + Season 4 empty panel fix */
[data-page="teams"] .season-champion-panel[hidden]{
  display:none!important;
}
@media(max-width:760px){
  [data-page="teams"] .season-champion-image{
    aspect-ratio:20 / 9!important;
    height:auto!important;
    overflow:hidden!important;
  }
  [data-page="teams"] .season-champion-image img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:20 / 9;
    object-fit:contain!important;
    object-position:center center!important;
  }
}

.video-frame.custom-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  cursor: pointer;
  background: #111;
}

.custom-video-thumbnail {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.custom-video:hover .custom-video-thumbnail {
  transform: scale(1.03);
}

.custom-video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  width: 64px;
  height: 64px;

  border: none;
  border-radius: 50%;

  background: #fdd103;
  color: #111;

  font-size: 24px;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  transition:
    transform 0.25s ease,
    background 0.25s ease;
}

.custom-video:hover .custom-video-play {
  transform: translate(-50%, -50%) scale(1.08);
}

.custom-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}


.contact-form-status {
  margin: 16px 0 0;
  font-size: 0.84rem;
  line-height: 1.55;
}

.contact-form-status:empty {
  display: none;
}

.contact-form-status strong,
.contact-form-status span {
  display: block;
}

.contact-form-status strong {
  margin-bottom: 4px;
  font-weight: 800;
}

.contact-form-status.is-success {
  padding: 16px 18px;
  color: #111111;
  background: #fdd103;
  border-left: 4px solid #111111;
}

.contact-form-status.is-error {
  padding: 16px 18px;
  color: #fbfbf7;
  background: #111111;
  border-left: 4px solid #fdd103;
}

.contact-enquiry-form button[type="submit"]:disabled {
  opacity: 0.65;
  cursor: wait;
  pointer-events: none;
}