:root {
  --canvas: #ffffff;
  --logo-size: clamp(180px, 22.0139vw, 317px);
  --logo-top: clamp(112px, 30.5998svh, 250px);
  --ink: #000000;
  --red: #ff002f;
  --nav-edge-inset: 1.8056vw;
  --ui-sound-toggle-size: 42px;
  --ui-sound-toggle-edge-inset: max(18px, var(--nav-edge-inset));
  --intro-duration: 900ms;
  --intro-ease: cubic-bezier(0.77, 0, 0.175, 1);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--canvas);
  color: var(--ink);
  font-family: Inter, Arial, Helvetica, sans-serif;
}

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

button {
  border: 0;
  padding: 0;
  background: none;
  color: inherit;
  font: inherit;
}

img {
  display: block;
}

.intro-pending,
.intro-running,
.entry-gate-pending {
  overflow: hidden;
}

.loading-screen {
  position: fixed;
  inset: 0;
  z-index: 90;
  width: 100%;
  min-height: calc(100svh + 2px);
  overflow: hidden;
  background: var(--canvas);
  cursor: pointer;
  transform: translateY(0);
  transition: transform var(--intro-duration) var(--intro-ease);
  will-change: transform;
}

.smith-twins-logo {
  position: absolute;
  top: var(--logo-top);
  left: 50%;
  display: block;
  width: var(--logo-size);
  height: var(--logo-size);
  object-fit: contain;
  transform: translateX(-50%);
}

.loading-screen__cue {
  position: absolute;
  top: calc(var(--logo-top) + var(--logo-size) + clamp(30px, 5.4svh, 54px));
  left: 50%;
  z-index: 2;
  display: block;
  margin: 0;
  color: rgba(5, 7, 27, 0.34);
  font-size: clamp(18px, 1.8056vw, 26px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
  overflow: hidden;
  pointer-events: none;
  transform: translateX(-50%);
  white-space: nowrap;
  animation:
    loadingCueReveal 1150ms steps(14, end) 180ms both,
    loadingCuePulse 2600ms ease-in-out 1500ms infinite alternate;
}

.loading-screen__hitarea {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.loading-screen__hitarea:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: -18px;
}

@keyframes loadingCueReveal {
  from {
    clip-path: inset(0 100% 0 0);
  }

  to {
    clip-path: inset(0 0 0 0);
  }
}

@keyframes loadingCuePulse {
  from {
    color: rgba(5, 7, 27, 0.34);
  }

  to {
    color: rgba(5, 7, 27, 0.78);
  }
}

.home-page {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: var(--canvas);
  transform: translateY(100%);
  transition: transform var(--intro-duration) var(--intro-ease);
  will-change: transform;
}

.intro-running .loading-screen {
  transform: translateY(-100%);
}

.intro-running .home-page {
  transform: translateY(0);
}

.intro-complete .home-page {
  transform: none;
  transition: none;
  will-change: auto;
}

.intro-complete .loading-screen {
  display: none;
}

.intro-pending .ui-sound-toggle,
.intro-running .ui-sound-toggle,
.entry-gate-pending .ui-sound-toggle {
  display: none;
}

.audio-entry-gate {
  opacity: 1;
  transition: opacity 420ms ease;
}

.audio-entry-gate.is-leaving {
  opacity: 0;
  pointer-events: none;
}

.site-nav {
  position: absolute;
  inset: 0 0 auto;
  z-index: 2;
  display: grid;
  grid-template-columns: max-content max-content 1fr max-content;
  align-items: start;
  column-gap: var(--nav-item-gap);
  height: 13.8311svh;
  min-height: 92px;
  padding: 1.4688svh var(--nav-edge-inset) 0;
  --nav-logo-size: clamp(64px, 5.9028vw, 85px);
  --nav-item-gap: clamp(36px, 3.6111vw, 52px);
  font-size: clamp(14px, 1.25vw, 18px);
  font-weight: 300;
}

.site-nav__logo {
  position: relative;
  width: var(--nav-logo-size);
  height: var(--nav-logo-size);
}

.site-nav__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-nav__menu-toggle {
  display: none;
}

.site-nav__bike-lockup {
  position: absolute;
  top: calc(3.672svh + 0.65em);
  left: 50%;
  width: clamp(260px, 19.5vw, 400px);
  aspect-ratio: 2105 / 300;
  background-image: url("assets/brand/bmw-f900-r-lockup.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.site-nav__left,
.site-nav__right {
  position: relative;
  top: 3.672svh;
  display: flex;
  align-items: center;
  gap: var(--nav-item-gap);
}

.site-nav__left {
  grid-column: 2;
}

.site-nav__right {
  grid-column: 4;
  justify-self: end;
}

.nav-item {
  position: relative;
  padding-bottom: 28px;
  margin-bottom: -28px;
}

.nav-trigger {
  cursor: pointer;
}

.site-nav__left > a,
.site-nav__right > a,
.nav-trigger,
.nav-submenu a {
  color: inherit;
  text-decoration: none;
  transition: color 160ms ease;
}

.nav-submenu {
  position: absolute;
  top: calc(100% - 10px);
  left: 50%;
  display: flex;
  min-width: max-content;
  flex-direction: column;
  align-items: center;
  gap: 11px;
  opacity: 0;
  pointer-events: none;
  text-align: center;
  transform: translate(-50%, 8px);
  transform-origin: top center;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.nav-submenu a {
  display: inline-block;
  width: auto;
  font-size: 0.78em;
  line-height: 1;
  white-space: nowrap;
}

.site-nav__left > a:hover,
.site-nav__left > a:focus-visible,
.site-nav__right > a:hover,
.site-nav__right > a:focus-visible,
.nav-submenu a:hover,
.nav-submenu a:focus-visible,
.nav-item:hover .nav-trigger,
.nav-item:focus-within .nav-trigger,
.nav-item.is-open .nav-trigger,
.nav-trigger[aria-expanded="true"],
.nav-trigger:hover,
.nav-trigger:focus-visible {
  color: var(--red);
  text-decoration: none;
}

.site-nav .site-nav__link--active,
.site-nav .nav-trigger.site-nav__link--active {
  color: var(--red);
  text-decoration: none;
}

.nav-item:hover .nav-submenu,
.nav-item:focus-within .nav-submenu,
.nav-item.is-open .nav-submenu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.ui-sound-toggle {
  position: fixed;
  right: var(--ui-sound-toggle-edge-inset);
  bottom: 22px;
  z-index: 80;
  display: inline-flex;
  width: var(--ui-sound-toggle-size);
  height: var(--ui-sound-toggle-size);
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(5, 7, 27, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #05071b;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(5, 7, 27, 0.12);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    opacity 180ms ease,
    transform 180ms ease;
}

.ui-sound-toggle:hover,
.ui-sound-toggle:focus-visible {
  border-color: rgba(255, 0, 47, 0.52);
  background: rgba(255, 255, 255, 0.94);
  color: var(--red);
  outline: none;
  transform: translateY(-2px);
}

.ui-sound-toggle.is-muted {
  color: rgba(5, 7, 27, 0.52);
}

.ui-sound-toggle[hidden] {
  display: none;
}

.has-site-footer:not(.home-body) .ui-sound-toggle {
  right: clamp(20px, 3vw, 52px);
  bottom: calc(clamp(8px, 1vw, 12px) + 49px);
}

.ui-sound-toggle__mark {
  position: relative;
  display: flex;
  width: 24px;
  height: 22px;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.ui-sound-toggle__bar {
  display: block;
  width: 2px;
  height: 14px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.95;
  transform: scaleY(0.56);
  transform-origin: center;
  animation: soundBarPulse 1800ms cubic-bezier(0.45, 0, 0.2, 1) infinite;
  transition:
    height 160ms ease,
    opacity 160ms ease,
    transform 160ms ease;
}

.ui-sound-toggle__bar--one {
  height: 10px;
  animation-duration: 1620ms;
  animation-delay: -280ms;
}

.ui-sound-toggle__bar--two {
  height: 17px;
  animation-name: soundBarPulseAlt;
  animation-duration: 2140ms;
  animation-delay: -920ms;
}

.ui-sound-toggle__bar--three {
  height: 22px;
  animation-duration: 1480ms;
  animation-delay: -540ms;
}

.ui-sound-toggle__bar--four {
  height: 18px;
  animation-name: soundBarPulseAlt;
  animation-duration: 2380ms;
  animation-delay: -1280ms;
}

.ui-sound-toggle__bar--five {
  height: 13px;
  animation-duration: 1860ms;
  animation-delay: -760ms;
}

.ui-sound-toggle__bar--six {
  height: 8px;
  opacity: 0.78;
  animation-name: soundBarPulseAlt;
  animation-duration: 1560ms;
  animation-delay: -420ms;
}

.ui-sound-toggle.is-muted .ui-sound-toggle__bar {
  opacity: 0.58;
  transform: scaleY(0.52);
  animation: none;
}

@keyframes soundBarPulse {
  0%,
  100% {
    transform: scaleY(0.5);
  }

  22% {
    transform: scaleY(0.84);
  }

  43% {
    transform: scaleY(0.62);
  }

  68% {
    transform: scaleY(0.96);
  }

  86% {
    transform: scaleY(0.44);
  }
}

@keyframes soundBarPulseAlt {
  0%,
  100% {
    transform: scaleY(0.72);
  }

  24% {
    transform: scaleY(0.42);
  }

  48% {
    transform: scaleY(0.98);
  }

  72% {
    transform: scaleY(0.55);
  }

  90% {
    transform: scaleY(0.82);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ui-sound-toggle__bar {
    animation: none;
  }
}

@media (hover: none), (pointer: coarse), (max-width: 760px) {
  .ui-sound-toggle {
    display: none;
  }
}

.has-site-footer {
  --site-footer-height: clamp(430px, 51svh, 620px);
  background: #000000;
}

.has-site-footer > main,
.webgl-magazine-page.has-site-footer > .sponsor-ticker,
.webgl-magazine-page.has-site-footer > .rider-reveal {
  position: relative;
  z-index: 1;
}

.has-site-footer > main {
  margin-bottom: var(--site-footer-height);
  border-bottom-right-radius: clamp(34px, 5vw, 86px);
  border-bottom-left-radius: clamp(34px, 5vw, 86px);
  box-shadow: 0 22px 64px rgba(0, 0, 0, 0.24);
}

.webgl-magazine-page.has-site-footer > main {
  margin-bottom: 0;
  border-radius: 0;
  box-shadow: none;
}

.webgl-magazine-page.has-site-footer > .rider-reveal {
  margin-bottom: var(--site-footer-height);
  border-bottom-right-radius: clamp(34px, 5vw, 86px);
  border-bottom-left-radius: clamp(34px, 5vw, 86px);
  overflow: hidden;
  box-shadow: 0 22px 64px rgba(0, 0, 0, 0.24);
}

.calendar-body.has-site-footer,
.circuit-body.has-site-footer,
.contact-body.has-site-footer,
.offtrack-body.has-site-footer,
.sponsors-body.has-site-footer,
.standings-body.has-site-footer,
.rider-detail-body.has-site-footer,
.webgl-magazine-page.has-site-footer {
  background: #000000;
}

.offtrack-body.has-site-footer > main,
.calendar-body.has-site-footer > main,
.standings-body.has-site-footer > main,
.rider-detail-body.has-site-footer > main {
  overflow: hidden;
}

.circuit-body.has-site-footer > main,
.contact-body.has-site-footer > main,
.sponsors-body.has-site-footer > main,
.rider-detail-body.has-site-footer > main {
  background: #ffffff;
}

.site-footer {
  --site-footer-glow-x: 82%;
  --site-footer-glow-y: 28%;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  height: var(--site-footer-height);
  overflow: hidden;
  padding: clamp(32px, 4.8vw, 66px) clamp(20px, 3vw, 52px) clamp(22px, 2.8vw, 34px);
  background:
    radial-gradient(
      circle at var(--site-footer-glow-x) var(--site-footer-glow-y),
      rgba(255, 0, 47, 0.34) 0%,
      rgba(255, 0, 47, 0.2) 16%,
      rgba(255, 0, 47, 0.08) 31%,
      transparent 48%
    ),
    linear-gradient(180deg, #111111 0%, #030303 55%, #000000 100%);
  color: #ffffff;
  isolation: isolate;
}

.site-footer::before,
.site-footer::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.site-footer::before {
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(180deg, transparent 0%, #000000 18%, #000000 76%, transparent 100%);
}

.site-footer::after {
  top: 0;
  right: clamp(20px, 3vw, 52px);
  left: clamp(20px, 3vw, 52px);
  height: 2px;
  background: rgba(255, 0, 47, 0.9);
  box-shadow: 0 0 18px rgba(255, 0, 47, 0.34);
}

.site-footer__top {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  gap: clamp(28px, 5vw, 86px);
  align-items: start;
}

.site-footer__intro p,
.site-footer__intro span,
.site-footer__nav a,
.site-footer__copyright {
  letter-spacing: 0;
}

.site-footer__intro p {
  margin: 0;
  color: var(--red);
  font-size: clamp(12px, 0.92vw, 14px);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.site-footer__intro span {
  display: block;
  max-width: 260px;
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.68);
  font-size: clamp(14px, 1.1vw, 18px);
  font-weight: 500;
  line-height: 1.25;
}

.site-footer__nav {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  justify-self: center;
  gap: 18px clamp(58px, 6.4vw, 124px);
}

.site-footer__nav a {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(14px, 1vw, 17px);
  font-weight: 700;
  line-height: 1;
  transition:
    color 180ms ease,
    transform 180ms ease;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible,
.site-footer__nav a[aria-current="page"] {
  color: #ffffff;
  transform: translateX(3px);
}

.site-footer__nav a[aria-current="page"] {
  text-decoration: underline;
  text-decoration-color: var(--red);
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}

.site-footer__socials {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.site-footer__socials a {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.site-footer__socials a:hover,
.site-footer__socials a:focus-visible {
  border-color: rgba(255, 0, 47, 0.82);
  background: var(--red);
  color: #ffffff;
  transform: translateY(-2px);
}

.site-footer__socials svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.site-footer__brand {
  position: absolute;
  right: clamp(16px, 2.4vw, 42px);
  bottom: clamp(-22px, -1.8vw, -10px);
  left: clamp(16px, 2.4vw, 42px);
  z-index: 1;
  display: flex;
  gap: 0.08em;
  align-items: flex-end;
  margin: 0;
  color: rgba(255, 255, 255, 0.94);
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(96px, 18.5vw, 286px);
  font-weight: 900;
  line-height: 0.72;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-footer__brand--typewriter {
  display: block;
}

.site-footer__typewriter-text {
  display: inline;
}

.site-footer__typewriter-caret {
  display: inline-block;
  width: 0.36em;
  margin-left: 0.02em;
  color: var(--red);
  opacity: 0;
  text-shadow: 0 0 0.18em rgba(255, 0, 47, 0.5);
  transform: translateY(-0.02em);
}

.site-footer__typewriter-caret::before {
  content: "_";
}

.site-footer__brand--typewriter.is-typing .site-footer__typewriter-caret {
  opacity: 1;
  animation: siteFooterCaretBlink 760ms steps(1, end) infinite;
}

@keyframes siteFooterCaretBlink {
  0%,
  48% {
    opacity: 1;
  }

  49%,
  100% {
    opacity: 0.18;
  }
}

.site-footer__copyright {
  position: absolute;
  right: clamp(20px, 3vw, 52px);
  bottom: clamp(8px, 1vw, 12px);
  z-index: 2;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(12px, 0.95vw, 14px);
  font-weight: 800;
  line-height: 1.2;
  text-align: right;
  text-transform: uppercase;
}

.site-footer__credit-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 4px;
  transition: color 180ms ease;
}

.site-footer__credit-link:hover,
.site-footer__credit-link:focus-visible {
  color: #ffffff;
}

@media (min-width: 1025px) and (max-height: 500px) {
  .has-site-footer {
    --site-footer-height: clamp(300px, calc(100svh - 72px), 360px);
  }

  .site-footer {
    padding: 28px clamp(30px, 3vw, 52px) 20px;
  }

  .site-footer__top {
    gap: clamp(28px, 4.2vw, 72px);
  }

  .site-footer__intro span {
    max-width: 300px;
    margin-top: 10px;
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.2;
  }

  .site-footer__nav {
    gap: 12px clamp(48px, 5.4vw, 94px);
  }

  .site-footer__socials a {
    width: 40px;
    height: 40px;
  }

  .site-footer__brand {
    right: clamp(30px, 3vw, 52px);
    bottom: 44px;
    left: clamp(30px, 3vw, 52px);
    font-size: clamp(156px, 11.8vw, 204px);
    line-height: 0.76;
  }

  .site-footer__copyright {
    bottom: 18px;
    font-size: 13px;
  }

  .has-site-footer:not(.home-body) .ui-sound-toggle {
    bottom: 66px;
  }
}

@media (max-width: 1120px) {
  .has-site-footer {
    --site-footer-height: 620px;
  }

  .site-footer__top {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .site-footer__intro span {
    max-width: 360px;
  }

  .site-footer__nav {
    grid-template-columns: repeat(2, max-content);
    justify-self: start;
    column-gap: 44px;
  }

  .site-footer__socials {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .has-site-footer {
    --site-footer-height: 680px;
  }

  .has-site-footer > main,
  .webgl-magazine-page.has-site-footer > .rider-reveal {
    border-bottom-right-radius: 38px;
    border-bottom-left-radius: 38px;
  }

  .site-footer {
    padding: 34px 18px 24px;
  }

  .site-footer::after {
    right: 18px;
    left: 18px;
  }

  .site-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .site-footer__nav a {
    min-height: 24px;
    font-size: 15px;
  }

  .site-footer__socials a {
    width: 42px;
    height: 42px;
  }

  .site-footer__brand {
    right: 18px;
    bottom: 56px;
    left: 18px;
    display: block;
    font-size: clamp(88px, 26vw, 118px);
    line-height: 0.96;
    white-space: normal;
  }

  .site-footer__brand:not(.site-footer__brand--typewriter) span {
    display: block;
  }

  .site-footer__copyright {
    right: 18px;
    bottom: 12px;
    left: 18px;
    max-width: 300px;
    text-align: left;
  }
}

@media (max-width: 340px) {
  .site-footer__nav {
    grid-template-columns: 1fr;
  }
}

/* Desktop home hides the shared footer; phones, portrait tablets, and short
   landscape phones keep it (they use the compact stacked home layout). */
@media ((min-width: 1025px) and (min-height: 501px)), ((min-width: 761px) and (orientation: landscape) and (min-height: 501px)) {
  .home-body.has-site-footer {
    background: var(--canvas);
  }

  .home-body.has-site-footer > main {
    margin-bottom: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .home-body .site-footer {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer__nav a,
  .site-footer__socials a {
    transition: none;
  }
}

.hero {
  position: relative;
  width: 100%;
  min-height: 100svh;
}

.hero__copy {
  position: absolute;
  z-index: 2;
  top: clamp(128px, 17.2svh, 150px);
  left: 2.0139vw;
}

.hero__title {
  margin: 0;
  color: var(--ink);
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(112px, 12.5vw, 180px);
  font-weight: 900;
  line-height: 0.86;
  letter-spacing: 0;
}

.hero__title span {
  display: block;
}

.hero__bike-lockup {
  display: none;
  aspect-ratio: 2105 / 300;
  background-image: url("assets/brand/bmw-f900-r-lockup.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.photo-stack {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.photo-stack.is-dragging {
  cursor: grabbing;
}

.photo-sequence {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.photo-frame {
  position: absolute;
  bottom: 0;
  left: 0;
  width: clamp(18rem, 30vw, 32.8125rem);
  height: clamp(16.5rem, 27.5vw, 30.078rem);
  margin: 0;
  overflow: visible;
  background: #3a3a3a;
  opacity: 0;
  scale: 0;
  transform-origin: bottom left;
  will-change: transform, scale, opacity;
  pointer-events: auto;
  --parallax-x: 0%;
}

.media-link {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
}

.photo-frame img {
  width: 110%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  pointer-events: none;
  transform: translateX(var(--parallax-x));
  transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  user-select: none;
  -webkit-user-drag: none;
}

.photo-frame:hover img {
  transform: translateX(var(--parallax-x)) scale(1.03);
}

.photo-frame--one img {
  object-position: center center;
}

.photo-frame--two img {
  object-position: center 40%;
}

.photo-frame--three img {
  object-position: center center;
}

.photo-frame--four img {
  object-position: center center;
}

.photo-frame--five img {
  object-position: center center;
}

.tag-home-wrap {
  position: absolute;
  top: -5%;
  left: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--ink);
  font-size: 0.75rem;
  line-height: 1;
  text-transform: uppercase;
  opacity: 0;
  translate: 0 100%;
  transform-origin: bottom left;
  transition:
    translate 0.4s cubic-bezier(0.33, 1, 0.68, 1),
    opacity 0.4s cubic-bezier(0.33, 1, 0.68, 1);
  will-change: scale, translate, opacity;
  pointer-events: none;
}

.photo-frame:hover .tag-home-wrap {
  opacity: 1;
  translate: 0 0;
}

.dot {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--ink);
}

.intro-pending .photo-frame,
.intro-running .photo-frame {
  pointer-events: none;
}

@media (min-width: 761px) and (max-width: 991px) and (orientation: landscape) {
  .photo-frame {
    width: 30rem;
    height: 27.5rem;
  }
}

@media (min-width: 761px) and (max-width: 1024px) {
  .site-nav__bike-lockup {
    width: clamp(220px, 25.4vw, 260px);
  }

  .home-body .site-nav .site-nav__bike-lockup {
    display: none;
  }

  .home-body .hero__copy {
    display: grid;
    width: calc(100vw - 44px);
    align-items: center;
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: clamp(12px, 4vw, 32px);
  }

  .home-body .hero__bike-lockup {
    display: block;
    width: min(100%, clamp(140px, 43vw, 360px));
    justify-self: start;
  }
}

@media (max-width: 760px) {
  html.site-nav-open,
  html.site-nav-open body {
    overflow: hidden;
  }


  .site-nav {
    position: absolute;
    display: block;
    height: 80px;
    min-height: 80px;
    padding: 0;
    color: inherit;
  }

  .site-nav__logo {
    position: absolute;
    z-index: 82;
    top: 16px;
    left: 18px;
    width: 52px;
    height: 52px;
  }

  .site-nav__menu-toggle {
    position: absolute;
    top: 20px;
    right: 18px;
    z-index: 82;
    display: inline-grid;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #050505;
    cursor: pointer;
    padding: 0;
    box-shadow: none;
  }

  .site-nav--light .site-nav__menu-toggle,
  .offtrack-nav .site-nav__menu-toggle {
    color: #ffffff;
  }

  .site-nav__menu-toggle-icon {
    display: grid;
    width: 24px;
    gap: 6px;
  }

  .site-nav__menu-toggle-icon span {
    display: block;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition:
      transform 180ms ease,
      opacity 180ms ease;
  }

  .site-nav__left,
  .site-nav__right {
    display: none;
  }

  .site-nav__bike-lockup {
    display: none;
  }

  .site-nav.is-mobile-open {
    position: fixed;
    inset: 0;
    z-index: 80;
    height: 100svh;
    min-height: 100svh;
    overflow-y: auto;
    background: #ffffff;
    color: #050505;
  }

  .site-nav.is-mobile-open .site-nav__logo img {
    opacity: 1;
    filter: none;
  }

  .site-nav.is-mobile-open .site-nav__menu-toggle {
    background: transparent;
    color: #050505;
  }

  .site-nav.is-mobile-open .site-nav__menu-toggle-icon span:first-child {
    transform: translateY(4px) rotate(45deg);
  }

  .site-nav.is-mobile-open .site-nav__menu-toggle-icon span:last-child {
    transform: translateY(-4px) rotate(-45deg);
  }

  .site-nav.is-mobile-open .site-nav__left,
  .site-nav.is-mobile-open .site-nav__right {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    grid-column: auto;
    justify-self: stretch;
    display: grid;
    width: auto;
    align-items: stretch;
    gap: 0;
    margin: 0 18px;
    font-size: 22px;
  }

  .site-nav.is-mobile-open .site-nav__left {
    margin-top: 112px;
  }

  .site-nav.is-mobile-open .site-nav__right {
    margin-top: 0;
    padding-bottom: 32px;
  }

  .site-nav.is-mobile-open .site-nav__bike-lockup {
    position: relative;
    top: auto;
    left: auto;
    display: block;
    width: min(calc(100% - 36px), 420px);
    margin: 0 auto max(36px, env(safe-area-inset-bottom));
    background-image: url("assets/brand/bmw-f900-r-lockup.svg");
    transform: none;
  }

  .site-nav.is-mobile-open .nav-item {
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .site-nav.is-mobile-open .site-nav__left > a,
  .site-nav.is-mobile-open .site-nav__right > a,
  .site-nav.is-mobile-open .nav-trigger {
    display: flex;
    width: 100%;
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(5, 5, 10, 0.12);
    color: inherit;
    font-size: clamp(24px, 8vw, 34px);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
  }

  .site-nav.is-mobile-open .site-nav__right > a:last-child {
    border-bottom: 1px solid rgba(5, 5, 10, 0.12);
  }

  .site-nav.is-mobile-open .nav-trigger::after,
  .site-nav.is-mobile-open .site-nav__left > a::after,
  .site-nav.is-mobile-open .site-nav__right > a::after {
    position: static;
    width: auto;
    height: auto;
    background: none;
    color: rgba(5, 5, 10, 0.38);
    content: "→";
    font-family: Arial, Helvetica, sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0;
  }

  .site-nav.is-mobile-open .nav-trigger__label::after,
  .site-nav.is-mobile-open .site-nav__left > .site-nav__link--active::after,
  .site-nav.is-mobile-open .site-nav__right > .site-nav__link--active::after,
  .site-nav.is-mobile-open .nav-trigger.site-nav__link--active::after {
    content: none;
  }

  .site-nav.is-mobile-open .site-nav__left > .site-nav__link--active,
  .site-nav.is-mobile-open .site-nav__right > .site-nav__link--active,
  .site-nav.is-mobile-open .nav-trigger.site-nav__link--active,
  .site-nav.is-mobile-open .site-nav__left > a:hover,
  .site-nav.is-mobile-open .site-nav__left > a:focus-visible,
  .site-nav.is-mobile-open .site-nav__right > a:hover,
  .site-nav.is-mobile-open .site-nav__right > a:focus-visible,
  .site-nav.is-mobile-open .nav-trigger:hover,
  .site-nav.is-mobile-open .nav-trigger:focus-visible,
  .site-nav.is-mobile-open .nav-trigger[aria-expanded="true"] {
    color: var(--red);
    text-decoration: none;
  }

  .site-nav.is-mobile-open .nav-submenu {
    position: static;
    display: grid;
    min-width: 0;
    align-items: stretch;
    gap: 0;
    margin: 0 0 10px;
    opacity: 1;
    pointer-events: auto;
    text-align: left;
    transform: none;
  }

  .site-nav.is-mobile-open .nav-submenu a {
    min-height: 38px;
    border-top: 0;
    color: rgba(5, 5, 10, 0.62);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    padding-left: 18px;
  }

  .site-nav.is-mobile-open .nav-submenu a:hover,
  .site-nav.is-mobile-open .nav-submenu a:focus-visible {
    color: var(--red);
    text-decoration: none;
  }

  .site-nav.is-mobile-open .nav-submenu a::before {
    content: "/";
    margin-right: 8px;
    color: var(--red);
  }

}

@media (max-width: 760px), ((min-width: 761px) and (max-width: 1024px) and (orientation: portrait)), ((min-width: 761px) and (orientation: landscape) and (max-height: 500px)) {
  .home-body {
    --mobile-gallery-top: clamp(286px, 35svh, 326px);
    --mobile-slide-media-height: clamp(15rem, 43svh, 25rem);
    --mobile-home-bottom-gap: clamp(52px, 7svh, 72px);
  }

  .home-body .site-nav:not(.is-mobile-open) .site-nav__bike-lockup {
    display: none;
  }

  .home-body.has-site-footer .home-page,
  .home-body.has-site-footer .hero {
    min-height: calc(var(--mobile-gallery-top) + var(--mobile-slide-media-height) + var(--mobile-home-bottom-gap));
  }

  .hero__copy {
    display: grid;
    width: calc(100vw - 44px);
    align-items: center;
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: clamp(12px, 4vw, 32px);
    top: 118px;
    left: 22px;
  }

  .hero__title {
    font-size: clamp(86px, 24vw, 122px);
  }

  .hero__bike-lockup {
    display: block;
    width: min(100%, clamp(140px, 43vw, 360px));
    justify-self: start;
  }

  .photo-stack {
    position: absolute;
    top: var(--mobile-gallery-top);
    right: 0;
    bottom: auto;
    left: 0;
    height: calc(var(--mobile-slide-media-height) + 34px);
    overflow-x: auto;
    overflow-y: hidden;
    cursor: auto;
    scroll-padding-inline: 22px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
  }

  .photo-stack::-webkit-scrollbar {
    display: none;
  }

  .photo-sequence {
    display: flex;
    width: max-content;
    min-width: 100%;
    height: 100%;
    align-items: flex-start;
    gap: clamp(12px, 4vw, 20px);
    padding: 0 22px;
    pointer-events: auto;
  }

  .photo-frame {
    position: relative;
    bottom: auto;
    left: auto;
    width: min(86vw, 25rem);
    min-width: 0;
    height: auto;
    flex: 0 0 min(86vw, 25rem);
    overflow: visible;
    background: transparent;
    opacity: 1 !important;
    scale: 1 !important;
    scroll-snap-align: start;
    transform: none !important;
    transform-origin: top left;
    pointer-events: auto;
  }

  .media-link {
    position: relative;
    inset: auto;
    width: 100%;
    height: var(--mobile-slide-media-height);
    overflow: hidden;
  }

  .photo-frame img {
    width: 100%;
    transform: none;
  }

  .tag-home-wrap {
    position: relative;
    top: auto;
    margin-bottom: 0;
    padding-bottom: 10px;
    opacity: 1;
    translate: 0 0;
  }
}

@media (min-width: 761px) and (max-width: 1024px) and (orientation: portrait) {
  .home-body {
    --mobile-gallery-top: clamp(392px, 40svh, 480px);
    --mobile-slide-media-height: clamp(20rem, 46svh, 34rem);
  }

  .hero__copy {
    top: 150px;
    left: 24px;
    width: calc(100vw - 48px);
  }

  .hero__title {
    font-size: clamp(122px, 15vw, 158px);
  }

  .photo-stack {
    scroll-padding-inline: 24px;
  }

  .photo-sequence {
    gap: 24px;
    padding: 0 24px;
  }

  .photo-frame {
    width: min(64vw, 30rem);
    flex: 0 0 min(64vw, 30rem);
  }
}

/* Short landscape phones: the title caps at 122px, so the gallery starts
   below it and the page scrolls vertically like the portrait layout. */
@media (min-width: 761px) and (orientation: landscape) and (max-height: 500px) {
  .home-body {
    --mobile-gallery-top: 352px;
  }

  .photo-frame {
    width: min(52vw, 25rem);
    flex: 0 0 min(52vw, 25rem);
  }
}

@media (max-width: 480px) {
  .site-nav {
    min-height: 76px;
  }

  .site-nav__logo {
    left: 16px;
    width: 50px;
    height: 50px;
  }

  .site-nav__menu-toggle {
    right: 16px;
  }
}

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

  .loading-screen,
  .home-page,
  .loading-screen__cue {
    transition: none;
    animation: none;
  }

  .loading-screen__cue {
    clip-path: none;
    color: rgba(5, 7, 27, 0.68);
  }
}

.about-body {
  min-height: 100svh;
  overflow-x: hidden;
  background: #ffffff;
  color: var(--ink);
}

.about-page {
  position: relative;
  min-height: 100svh;
  padding-top: 0;
  background: #ffffff;
}

.about-nav {
  z-index: 20;
  background: #ffffff;
  display: none;
}

.framer-gallery {
  position: relative;
  height: 100svh;
  min-height: 820px;
  overflow: hidden;
  background: #ffffff;
}

.framer-gallery__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: #ffffff;
  display: block;
}

.magazine-gallery {
  position: relative;
  height: 100svh;
  min-height: 820px;
  overflow: hidden;
  background: #ffffff;
  color: #000000;
  isolation: isolate;
}

.magazine-gallery__hint {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 8;
  margin: 0;
  font-family: "Old English Text MT", "UnifrakturCook", Georgia, serif;
  font-size: clamp(21px, 1.85vw, 28px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  pointer-events: none;
}

.magazine-gallery__stage {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  perspective: 1120px;
  perspective-origin: 50% 54%;
  transform-style: preserve-3d;
  cursor: grab;
  touch-action: none;
  user-select: none;
}

.magazine-gallery__stage.is-dragging {
  cursor: grabbing;
}

.magazine-gallery__book {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  will-change: transform;
}

.magazine-page {
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(170px, 25.5vw, 240px);
  aspect-ratio: 2 / 3;
  height: auto;
  overflow: visible;
  margin: 0;
  background: #f3efe7;
  box-shadow:
    0 18px 50px rgba(0, 0, 0, 0.14),
    inset 0 0 0 1px rgba(0, 0, 0, 0.04);
  opacity: 0;
  transform: translate3d(calc(50vw - 50%), calc(55svh - 50%), 0);
  transform-origin: center center;
  transform-style: preserve-3d;
  backface-visibility: visible;
  will-change: transform, opacity, filter;
}

.magazine-page::before {
  position: absolute;
  top: 0;
  right: -5px;
  width: 5px;
  height: 100%;
  content: "";
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.92), rgba(190, 184, 171, 0.92)),
    repeating-linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0 1px, rgba(255, 255, 255, 0.12) 1px 3px);
  transform: rotateY(90deg);
  transform-origin: left center;
}

.magazine-page::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.16), rgba(255, 255, 255, 0) 16%, rgba(255, 255, 255, 0) 72%, rgba(0, 0, 0, 0.14)),
    radial-gradient(circle at 50% 40%, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0) 58%);
  opacity: var(--magazine-gloss, 0.18);
  pointer-events: none;
}

.magazine-page img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1px;
  transform: skewY(var(--magazine-skew, 0deg)) scaleX(var(--magazine-scale-x, 1));
  transform-origin: center;
  backface-visibility: hidden;
  user-select: none;
  -webkit-user-drag: none;
}

.magazine-page.is-clone img {
  pointer-events: none;
}

@media (max-width: 760px) {
  .framer-gallery {
    min-height: 720px;
  }

  .magazine-gallery {
    min-height: 720px;
  }

  .magazine-gallery__hint {
    top: 16px;
    font-size: 21px;
  }

  .magazine-gallery__stage {
    perspective: 820px;
  }

  .magazine-page {
    width: clamp(150px, 45vw, 190px);
  }
}

.about-story {
  position: relative;
  height: 330svh;
  min-height: 1500px;
  overflow: clip;
  background: #ffffff;
  color: #000000;
}

.about-story__viewport {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 620px;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.86) 68%, rgba(245, 245, 245, 0.94) 100%);
}

.about-story__viewport::before {
  position: absolute;
  right: clamp(18px, 2.8vw, 54px);
  bottom: clamp(114px, 14svh, 150px);
  left: clamp(18px, 2.8vw, 54px);
  height: 1px;
  content: "";
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0));
  opacity: var(--story-line-opacity, 0.16);
  transform: scaleX(var(--story-line-scale, 0.36));
  transform-origin: center;
}

.about-story__intro {
  position: absolute;
  top: clamp(112px, 16svh, 150px);
  left: clamp(20px, 2.8vw, 54px);
  z-index: 7;
  width: min(520px, calc(100vw - 40px));
}

.about-story__eyebrow {
  margin: 0 0 12px;
  color: var(--red);
  font-size: clamp(12px, 0.9vw, 15px);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.about-story h1 {
  margin: 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(94px, 12.3vw, 188px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.76;
  text-transform: uppercase;
}

.about-story__intro > p:last-child {
  width: min(100%, 430px);
  margin: 18px 0 0;
  color: rgba(0, 0, 0, 0.68);
  font-size: clamp(18px, 1.32vw, 24px);
  font-weight: 500;
  line-height: 1.08;
}

.about-story__stage {
  position: absolute;
  inset: 0;
  z-index: 4;
  perspective: 850px;
  transform-style: preserve-3d;
  user-select: none;
  cursor: grab;
  touch-action: pan-y;
}

.about-story__stage.is-dragging {
  cursor: grabbing;
}

.about-story-card {
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(160px, 18vw, 286px);
  aspect-ratio: 3 / 4;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 5px;
  background: #d7d7d7;
  box-shadow:
    0 22px 62px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.42);
  opacity: 0;
  transform: translate3d(calc(50vw - 50%), calc(56svh - 50%), 0) rotateY(0deg);
  transform-style: preserve-3d;
  transform-origin: center;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
  will-change: transform, opacity, filter;
}

.about-story-card.is-active {
  border-color: rgba(255, 0, 47, 0.42);
  box-shadow:
    0 30px 90px rgba(0, 0, 0, 0.26),
    0 16px 58px rgba(255, 0, 47, 0.14);
}

.about-story-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}

.about-story-card__copy {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  color: #ffffff;
  padding: 58px 14px 14px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.74));
  opacity: var(--story-copy-opacity, 0.78);
  transform: translateY(var(--story-copy-y, 0));
}

.about-story-card__copy span {
  display: block;
  color: rgba(255, 255, 255, 0.76);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.about-story-card__copy h2 {
  margin: 7px 0 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(34px, 3vw, 48px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.78;
  text-transform: uppercase;
}

.about-story__panel {
  position: absolute;
  bottom: clamp(88px, 10svh, 116px);
  left: clamp(20px, 2.8vw, 54px);
  z-index: 8;
  width: min(430px, calc(100vw - 40px));
  border-top: 3px solid var(--red);
  padding-top: 18px;
  opacity: var(--story-panel-opacity, 0.58);
  transform: translateY(var(--story-panel-y, 14px));
}

.about-story__year {
  margin: 0;
  color: var(--red);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.about-story__panel h2 {
  margin: 10px 0 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(54px, 4.9vw, 82px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.78;
  text-transform: uppercase;
}

.about-story__panel p:last-child {
  margin: 14px 0 0;
  color: rgba(0, 0, 0, 0.7);
  font-size: clamp(15px, 1.08vw, 18px);
  font-weight: 500;
  line-height: 1.22;
}

.about-story__timeline {
  position: absolute;
  right: clamp(20px, 2.8vw, 54px);
  bottom: clamp(22px, 3svh, 36px);
  left: clamp(20px, 2.8vw, 54px);
  z-index: 9;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 16px);
  padding-top: 18px;
}

.about-story__timeline-line {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.13);
}

.about-story__timeline-line span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--red);
  transform: scaleX(var(--story-progress, 0));
  transform-origin: left center;
}

.about-story__timeline button {
  position: relative;
  min-width: 0;
  color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  font-size: clamp(10px, 0.85vw, 13px);
  font-weight: 900;
  line-height: 1.1;
  text-align: left;
  text-transform: uppercase;
  transition:
    color 160ms ease,
    transform 160ms ease;
}

.about-story__timeline button::before {
  display: block;
  width: 9px;
  height: 9px;
  margin-bottom: 9px;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "";
  background: #ffffff;
}

.about-story__timeline button:hover,
.about-story__timeline button:focus-visible,
.about-story__timeline button.is-active,
.about-story__timeline button[aria-pressed="true"] {
  color: var(--red);
}

.about-story__timeline button.is-active,
.about-story__timeline button[aria-pressed="true"] {
  transform: translateY(-2px);
}

@media (max-width: 760px) {
  .about-page {
    padding-top: 0;
  }

  .about-story,
  .about-story.is-static {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  .about-story__viewport,
  .about-story.is-static .about-story__viewport {
    position: relative;
    height: auto;
    min-height: 100svh;
    overflow: visible;
    padding: 104px 18px 42px;
  }

  .about-story__viewport::before {
    display: none;
  }

  .about-story__intro {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
  }

  .about-story h1 {
    font-size: clamp(82px, 23vw, 126px);
  }

  .about-story__intro > p:last-child {
    max-width: 320px;
    font-size: 18px;
  }

  .about-story__stage,
  .about-story.is-static .about-story__stage {
    position: relative;
    inset: auto;
    display: flex;
    height: auto;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 14px;
    margin-top: 34px;
    margin-right: -18px;
    padding-right: 18px;
    padding-bottom: 6px;
    perspective: none;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    cursor: default;
    -webkit-overflow-scrolling: touch;
  }

  .about-story__stage::-webkit-scrollbar {
    display: none;
  }

  .about-story-card,
  .about-story.is-static .about-story-card {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    max-width: none;
    flex: 0 0 min(76vw, 300px);
    opacity: 1 !important;
    transform: none !important;
    scroll-snap-align: center;
  }

  .about-story__panel,
  .about-story.is-static .about-story__panel {
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
    margin-top: 34px;
    opacity: 1;
    transform: none;
  }

  .about-story__timeline,
  .about-story.is-static .about-story__timeline {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 30px;
  }
}

.about-hero {
  position: relative;
  min-height: clamp(480px, 55.3711svh, 567px);
  overflow: hidden;
  isolation: isolate;
}

.about-hero__image,
.about-hero__shade {
  position: absolute;
  inset: 0;
}

.about-hero__image {
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  filter: grayscale(1);
}

.about-hero__shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.04) 46%, rgba(0, 0, 0, 0.36) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.34) 100%);
}

.about-hero__content {
  position: relative;
  display: grid;
  min-height: clamp(480px, 55.3711svh, 567px);
  align-items: end;
  gap: clamp(32px, 7vw, 110px);
  grid-template-columns: minmax(320px, 0.92fr) minmax(320px, 1fr);
  padding: 0 clamp(24px, 2.2vw, 32px) clamp(68px, 10svh, 120px);
}

.about-hero h1 {
  margin: 0;
  color: #ffffff;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(82px, 7.5vw, 108px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.8;
  text-transform: uppercase;
}

.about-hero p {
  max-width: 620px;
  margin: 0 0 1px;
  color: #ffffff;
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 500;
  line-height: 1.12;
}

.about-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 17px;
  margin-top: clamp(14px, 2.4svh, 24px);
}

.about-pill {
  display: inline-flex;
  min-height: 37px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  padding: 0 20px;
  box-shadow: -3px 6px 6px rgba(0, 0, 0, 0.25);
  transition:
    background 180ms ease,
    transform 180ms ease;
}

.about-pill:hover,
.about-pill:focus-visible {
  transform: translateY(-2px);
}

.about-pill--red {
  background: linear-gradient(96deg, var(--red) 44%, #000000 274%);
}

.about-pill--dark {
  background: #000000;
}

.about-brand-strip {
  width: 100%;
  overflow: hidden;
  border-radius: 0 0 8px 8px;
  background: rgba(218, 218, 218, 0.4);
}

.about-brand-strip__track {
  display: flex;
  width: max-content;
  min-width: 100%;
  align-items: center;
  justify-content: space-around;
  gap: clamp(48px, 6.8vw, 92px);
  padding: 3px 9px;
}

.about-brand-strip img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  filter: brightness(0);
}

.about-brand-strip img[src*="yamaha"],
.about-brand-strip img[src*="ducati"],
.about-brand-strip img[src*="bmw"],
.about-brand-strip img[src*="suzuki"] {
  width: 48px;
  height: 48px;
}

.about-riders {
  width: min(100%, 1320px);
  margin: 0 auto;
  padding: clamp(64px, 7.8svh, 84px) clamp(24px, 4.4vw, 64px) clamp(82px, 12svh, 150px);
  text-align: center;
}

.about-riders__eyebrow {
  margin: 0;
  color: #818181;
  font-size: clamp(20px, 2.22vw, 32px);
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}

.about-riders h2 {
  margin: clamp(18px, 3.1svh, 32px) 0 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(76px, 7.5vw, 108px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.8;
  text-transform: uppercase;
}

.about-rider-grid {
  display: grid;
  gap: clamp(32px, 4.8vw, 64px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(54px, 8.2svh, 92px);
  text-align: left;
}

.about-rider-card {
  overflow: hidden;
  border-radius: 8px;
  background: #dfdfdf;
}

.about-rider-card__image {
  position: relative;
  height: clamp(310px, 33.2vw, 450px);
  overflow: hidden;
  margin: 0;
}

.about-rider-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.about-rider-card__body {
  position: relative;
  min-height: 265px;
  padding: 29px 32px 34px;
}

.about-rider-card__meta {
  display: flex;
  align-items: center;
  gap: 26px;
  color: #818181;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
}

.about-rider-card__number {
  display: inline-flex;
  min-width: 72px;
  min-height: 29px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(103deg, #000000 18%, #ffffff 278%);
  box-shadow: -3px 6px 6px rgba(0, 0, 0, 0.25);
  color: #ffffff;
  font-weight: 800;
}

.about-rider-card h3 {
  margin: 26px 0 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(58px, 5vw, 72px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.78;
  text-transform: uppercase;
}

.about-rider-card p {
  width: min(100%, 345px);
  margin: 22px 0 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.16;
}

.about-rider-card__link {
  position: absolute;
  right: 32px;
  bottom: 50px;
  display: inline-flex;
  min-height: 29px;
  align-items: center;
  justify-content: center;
  border: 1px solid #000000;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
  box-shadow: -3px 6px 6px rgba(0, 0, 0, 0.25);
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  padding: 0 17px;
  white-space: nowrap;
  transition:
    background 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.about-rider-card__link:hover,
.about-rider-card__link:focus-visible {
  background: #000000;
  color: #ffffff;
  transform: translateY(-2px);
}

.calendar-body {
  min-height: 100svh;
  overflow-x: hidden;
  background: #ffffff;
  color: var(--ink);
}

.calendar-page {
  position: relative;
  min-height: 100svh;
  background: #ffffff;
}

.site-nav--light {
  color: #ffffff;
}

.site-nav--light .site-nav__bike-lockup {
  background-image: url("assets/brand/bmw-f900-r-lockup-on-dark.svg");
}

.site-nav--light .site-nav__logo img {
  opacity: 0.92;
  filter: brightness(0) invert(1);
}

.site-nav--light .nav-submenu {
  color: #ffffff;
}

.calendar-hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
}

.calendar-hero__image,
.calendar-hero__shade {
  position: absolute;
  inset: 0;
}

.calendar-hero__image {
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
}

.calendar-hero__shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(2, 4, 17, 0.74) 0%, rgba(2, 4, 17, 0.42) 44%, rgba(2, 4, 17, 0.2) 70%),
    linear-gradient(180deg, rgba(2, 4, 17, 0.56) 0%, rgba(2, 4, 17, 0.08) 39%, rgba(2, 4, 17, 0.8) 100%);
}

.calendar-hero__content {
  position: relative;
  min-height: 100svh;
  padding: clamp(250px, 36svh, 310px) clamp(20px, 2.7vw, 52px) clamp(30px, 6svh, 64px);
}

.calendar-hero__title {
  margin: 0;
  max-width: 76vw;
  color: #ffffff;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(112px, 17.8vw, 258px);
  font-weight: 900;
  line-height: 0.78;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.calendar-hero__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: clamp(22px, 4svh, 38px);
}

.calendar-filter {
  display: inline-flex;
  min-height: 60px;
  align-items: center;
  justify-content: center;
  gap: 15px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.95);
  color: #111522;
  font-size: clamp(13px, 0.89vw, 18px);
  font-weight: 800;
  line-height: 1;
  padding: 0 22px;
  text-transform: uppercase;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22);
  cursor: pointer;
}

.calendar-filter:hover,
.calendar-filter:focus-visible {
  background: #ffffff;
}

.next-race {
  position: absolute;
  right: clamp(20px, 5.6vw, 112px);
  bottom: clamp(28px, 5.8svh, 58px);
  width: min(35rem, calc(100vw - 40px));
  color: #ffffff;
}

.next-race__eyebrow {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #26293a;
  font-size: clamp(11px, 0.68vw, 14px);
  font-weight: 800;
  line-height: 1;
  padding: 0 12px;
  text-transform: uppercase;
}

.next-race__line {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 9px;
  margin-top: 18px;
  font-size: clamp(17px, 1.18vw, 24px);
  line-height: 1;
}

.next-race__line span:nth-child(2) {
  height: 1px;
  background: currentColor;
  opacity: 0.82;
}

.next-race__timer {
  margin: 11px 0 0;
  font-size: clamp(30px, 4.85vw, 58px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

/* Short landscape viewports (phones held sideways): the pinned next-race
   panel has no room next to the title, so it flows below the filters. */
@media (orientation: landscape) and (max-height: 500px) {
  .calendar-hero__content {
    padding-top: clamp(110px, 28svh, 150px);
  }

  .calendar-hero__title {
    font-size: clamp(72px, 13vw, 132px);
  }

  .next-race {
    position: static;
    margin-top: 34px;
  }

  .next-race__timer {
    font-size: clamp(28px, 4.2vw, 40px);
  }
}

.race-section {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  color: var(--ink);
}

.race-section--past {
  padding-top: clamp(64px, 8svh, 92px);
  padding-bottom: clamp(32px, 4svh, 52px);
}

.race-section--upcoming {
  padding-top: clamp(42px, 6svh, 72px);
  padding-bottom: clamp(170px, 18svh, 240px);
}

.race-section__inner {
  width: 100%;
  padding: 0 clamp(20px, 2.7vw, 52px);
}

.race-section__header {
  margin-bottom: clamp(22px, 3svh, 34px);
}

.race-section__header--with-toggle {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.race-section__eyebrow {
  margin: 0 0 9px;
  color: var(--red);
  font-size: clamp(12px, 0.9vw, 14px);
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.race-section h2 {
  margin: 0;
  font-size: clamp(31px, 2.5vw, 48px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}

.rider-selector {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.rider-selector__note {
  margin: 0;
  color: rgba(0, 0, 0, 0.48);
  font-size: clamp(11px, 0.8vw, 13px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}

.rider-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  padding: 4px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 8px 28px rgba(0, 0, 0, 0.045);
  backdrop-filter: blur(18px);
}

.rider-toggle__button {
  min-height: 40px;
  border-radius: 999px;
  color: var(--ink);
  cursor: pointer;
  font-size: clamp(12px, 0.9vw, 14px);
  font-weight: 800;
  line-height: 1;
  padding: 0 18px;
  text-transform: uppercase;
  transition:
    background 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease;
}

.rider-toggle__button:hover,
.rider-toggle__button:focus-visible {
  color: var(--red);
}

.rider-toggle__button.is-active,
.rider-toggle__button[aria-pressed="true"] {
  background: var(--red);
  box-shadow: 0 12px 28px rgba(255, 0, 47, 0.2);
  color: #ffffff;
}

.rider-toggle__button.is-active:hover,
.rider-toggle__button[aria-pressed="true"]:hover,
.rider-toggle__button.is-active:focus-visible,
.rider-toggle__button[aria-pressed="true"]:focus-visible {
  color: #ffffff;
}

.race-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 34px);
}

.race-card {
  position: relative;
  display: flex;
  min-height: clamp(250px, 23.5vw, 390px);
  overflow: hidden;
  flex-direction: column;
  justify-content: flex-start;
  border: 1px solid rgba(0, 0, 0, 0.09);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  padding: clamp(20px, 1.9vw, 34px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 8px 28px rgba(0, 0, 0, 0.045);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.race-card > * {
  position: relative;
  z-index: 1;
}

.race-card:hover,
.race-card:focus-visible {
  border-color: rgba(255, 0, 47, 0.62);
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.08);
  color: var(--red);
}

.race-card:focus-visible {
  transform: translateY(-4px);
}

.race-card.is-calendar-target {
  border-color: rgba(255, 0, 47, 0.72);
  box-shadow:
    0 0 0 3px rgba(255, 0, 47, 0.16),
    0 18px 42px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
}

.race-card__round {
  align-self: flex-end;
  font-size: clamp(12px, 0.9vw, 16px);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.race-card__track {
  width: clamp(100px, 8.5vw, 160px);
  height: clamp(96px, 6.2vw, 124px);
  color: rgba(0, 0, 0, 0.44);
  margin-top: -8px;
  object-fit: contain;
  object-position: center top;
  transition: color 180ms ease, transform 180ms ease;
}

.race-card__track--image {
  display: block;
  opacity: 0.44;
  filter: brightness(0);
  transition: filter 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.race-card__track--donington {
  width: clamp(104px, 8.2vw, 154px);
  margin-top: -4px;
  margin-left: 4px;
}

.race-card__track--knockhill {
  width: clamp(104px, 8.1vw, 152px);
  aspect-ratio: 322 / 275;
  margin-top: -8px;
  margin-left: 2px;
}

.race-card__track--snetterton {
  width: clamp(112px, 8.6vw, 160px);
  aspect-ratio: 331 / 264;
  margin-top: -8px;
  object-position: center top;
  transform-origin: center;
}

.race-card__track--brands-hatch {
  width: clamp(88px, 6.8vw, 106px);
  aspect-ratio: 482 / 563;
  margin-top: -8px;
  margin-left: 10px;
  object-position: center top;
  transform-origin: center;
}

.race-card__track--oulton-park {
  width: clamp(88px, 6.8vw, 106px);
  aspect-ratio: 792 / 990;
  margin-top: -8px;
  margin-left: 10px;
  object-position: center top;
  transform-origin: center;
}

.race-card__track--thruxton {
  width: clamp(118px, 8.2vw, 154px);
  aspect-ratio: 890 / 625;
  margin-top: -8px;
  margin-left: 2px;
  object-position: center top;
  transform-origin: center;
}

.race-card__track--cadwell {
  width: clamp(104px, 7.4vw, 136px);
  aspect-ratio: 822 / 675;
  margin-top: -8px;
  margin-left: 2px;
  object-position: center top;
  transform-origin: center;
}

.race-card__track--assen {
  width: clamp(92px, 7vw, 126px);
  aspect-ratio: 692 / 719;
  margin-top: -8px;
  margin-left: 8px;
  object-position: center top;
  transform-origin: center;
}

.race-card__track path {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
}

.race-card:hover .race-card__track,
.race-card:focus-visible .race-card__track {
  color: var(--red);
  transform: translateX(4px);
}

.race-card:hover .race-card__track--image,
.race-card:focus-visible .race-card__track--image {
  opacity: 1;
  filter: brightness(0) saturate(100%) invert(17%) sepia(95%) saturate(7479%) hue-rotate(340deg) brightness(107%) contrast(107%);
}

.race-card:hover .race-card__track--snetterton,
.race-card:focus-visible .race-card__track--snetterton {
  transform: translateX(4px);
}

.race-card:hover .race-card__track--brands-hatch,
.race-card:focus-visible .race-card__track--brands-hatch {
  transform: translateX(4px);
}

.race-card:hover .race-card__track--oulton-park,
.race-card:focus-visible .race-card__track--oulton-park {
  transform: translateX(4px);
}

.race-card:hover .race-card__track--thruxton,
.race-card:focus-visible .race-card__track--thruxton {
  transform: translateX(4px);
}

.race-card:hover .race-card__track--cadwell,
.race-card:focus-visible .race-card__track--cadwell {
  transform: translateX(4px);
}

.race-card:hover .race-card__track--assen,
.race-card:focus-visible .race-card__track--assen {
  transform: translateX(4px);
}

.race-card__body {
  margin-top: clamp(24px, 3vw, 46px);
}

.race-card--has-result .race-card__body {
  margin-top: clamp(24px, 3vw, 46px);
}

.race-card h3 {
  margin: 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(54px, 4.1vw, 80px);
  font-weight: 900;
  line-height: 0.78;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.race-card p {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 12px 0 0;
  color: #111111;
  font-size: clamp(18px, 1.2vw, 24px);
  line-height: 1.08;
  transition: color 180ms ease;
}

.race-card:hover p,
.race-card:focus-visible p {
  color: var(--ink);
}

.race-card__result {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: clamp(42px, 4.2vw, 76px) 38px 0 0;
}

.race-card__result div {
  min-width: 0;
}

.race-card__result dt {
  color: rgba(0, 0, 0, 0.46);
  font-size: clamp(12px, 0.9vw, 16px);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.race-card__result dd {
  margin: 8px 0 0;
  color: var(--ink);
  font-size: clamp(14px, 1vw, 18px);
  font-weight: 800;
  line-height: 1;
}

.race-card__result + .race-card__status {
  margin-top: clamp(28px, 3.4vw, 50px);
}

.race-card__spacer {
  display: block;
  min-height: clamp(42px, 4.2vw, 76px);
  pointer-events: none;
}

.race-card__status {
  position: absolute;
  bottom: clamp(18px, 1.7vw, 32px);
  left: clamp(20px, 1.9vw, 34px);
  width: fit-content;
  margin-top: 0;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 999px;
  color: rgba(0, 0, 0, 0.58);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  padding: 8px 11px;
  text-transform: uppercase;
  transition: border-color 180ms ease, color 180ms ease;
}

.race-card:hover .race-card__status,
.race-card:focus-visible .race-card__status {
  border-color: rgba(255, 0, 47, 0.35);
  color: var(--red);
}

.race-card__arrow {
  position: absolute;
  right: clamp(18px, 1.7vw, 32px);
  bottom: clamp(18px, 1.7vw, 32px);
  color: rgba(0, 0, 0, 0.62);
  font-size: clamp(34px, 2.4vw, 46px);
  font-weight: 300;
  line-height: 0.8;
  transition: color 180ms ease, transform 180ms ease;
}

.race-card:hover .race-card__arrow,
.race-card:focus-visible .race-card__arrow {
  color: var(--red);
  transform: translateX(4px);
}

.race-card--has-result {
  min-height: clamp(420px, 28vw, 500px);
}

.race-card--has-result .race-card__result {
  margin-top: clamp(24px, 2.4vw, 44px);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.circuit-body {
  min-height: 100svh;
  background: #ffffff;
  color: #05071b;
}

.circuit-page {
  min-height: 100svh;
}

.circuit-detail {
  position: relative;
  display: grid;
  min-height: 100svh;
  overflow: hidden;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  isolation: isolate;
  padding:
    clamp(88px, 11svh, 126px)
    clamp(24px, 9vw, 180px)
    clamp(24px, 4svh, 44px);
  background: #ffffff;
}

.circuit-detail__map-stage,
.circuit-detail__stats {
  min-width: 0;
  position: relative;
  z-index: 1;
}

.circuit-detail__map-stage {
  display: flex;
  min-height: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 0 0 clamp(22px, 3.2svh, 42px);
}

.circuit-detail__map {
  position: relative;
  width: min(100%, 1180px);
  aspect-ratio: 1826 / 870;
  overflow: hidden;
}

.circuit-detail__map--snetterton {
  width: min(100%, 1180px);
  aspect-ratio: 779 / 343;
}

.circuit-detail__track-map {
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
}

.circuit-corner {
  cursor: pointer;
  outline: none;
}

.circuit-corner > circle,
.circuit-corner > path {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 160ms ease;
}

.circuit-corner:hover > circle,
.circuit-corner:hover > path,
.circuit-corner:focus-visible > circle,
.circuit-corner:focus-visible > path {
  transform: scale(1.14);
}

.circuit-corner-tooltip {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  padding: 9px 13px;
  background: #05071b;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 140ms ease;
}

.circuit-corner-tooltip.is-visible {
  opacity: 1;
}

.circuit-detail__stats {
  display: grid;
  grid-template-columns: minmax(220px, 1.45fr) minmax(86px, 0.52fr) minmax(128px, 0.78fr) minmax(132px, 0.8fr);
  gap: clamp(16px, 3vw, 58px);
  margin: 0;
}

.circuit-detail__stat {
  min-width: 0;
  border-top: 2px solid rgba(5, 7, 27, 0.9);
  padding-top: clamp(14px, 1.6vw, 20px);
}

.circuit-detail__stat dt {
  margin: 0 0 clamp(18px, 2.4vw, 32px);
  color: rgba(5, 7, 27, 0.92);
  font-size: clamp(12px, 0.9vw, 16px);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1;
  text-transform: uppercase;
}

.circuit-detail__stat dd {
  margin: 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(40px, 3.6vw, 74px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.72;
  text-transform: uppercase;
  white-space: nowrap;
}

.circuit-detail__stat--circuit dd {
  max-width: none;
}

.circuit-scroll-prompt {
  position: absolute;
  right: var(--nav-edge-inset);
  bottom: clamp(24px, 4svh, 44px);
  z-index: 2;
  display: inline-flex;
  width: max-content;
  min-width: 42px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: rgba(5, 7, 27, 0.72);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
  transition:
    color 180ms ease,
    transform 180ms ease;
}

.circuit-scroll-prompt:hover,
.circuit-scroll-prompt:focus-visible {
  color: var(--red);
  outline: none;
  transform: translateY(-2px);
}

.circuit-scroll-prompt:hover .circuit-scroll-prompt__icon,
.circuit-scroll-prompt:focus-visible .circuit-scroll-prompt__icon {
  border-color: rgba(255, 0, 47, 0.34);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 24px 64px rgba(255, 0, 47, 0.14);
}

.circuit-scroll-prompt__label {
  color: rgba(5, 7, 27, 0.48);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  margin-bottom: 8px;
}

.circuit-scroll-prompt__icon {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(5, 7, 27, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 18px 50px rgba(5, 7, 27, 0.08);
  font-size: 18px;
  line-height: 0.8;
  backdrop-filter: blur(18px);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.race-update {
  --race-update-inline-padding: clamp(40px, 8vw, 120px);
  --race-update-inner-width: min(calc(100vw - (2 * var(--race-update-inline-padding))), 1500px);
  --race-quote-pin-distance: clamp(220px, 32svh, 360px);
  --race-update-title-size: clamp(74px, 8vw, 112px);
  position: relative;
  display: block;
  min-height: calc(100svh + var(--race-quote-pin-distance));
  background: #ffffff;
  color: var(--ink);
  padding: 0 var(--race-update-inline-padding);
}

.race-update__inner {
  position: sticky;
  top: 0;
  display: grid;
  min-height: 100svh;
  width: min(100%, var(--race-update-inner-width));
  align-items: center;
  gap: clamp(44px, 5vw, 88px);
  grid-template-columns: minmax(0, 0.86fr) minmax(460px, 1.04fr);
  margin: 0 auto;
  padding:
    clamp(64px, 8svh, 88px)
    0
    clamp(40px, 5svh, 64px);
}

.race-update__meta {
  position: relative;
  display: grid;
  width: min(100%, calc(var(--race-update-title-size) * 4.26));
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: center;
  gap: clamp(26px, 3vw, 42px);
  min-height: 50px;
  color: #7e7e7e;
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1;
}

.race-update__meta time {
  position: absolute;
  left: 50%;
  justify-self: auto;
  transform: translateX(-50%);
  white-space: nowrap;
}

.race-update__round {
  grid-column: 1;
  justify-self: start;
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  border-radius: 999px;
  background: linear-gradient(97deg, #000000 12%, #ffffff 288%);
  box-shadow: -2px 4px 4px rgba(0, 0, 0, 0.25);
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  padding: 0 17px;
  white-space: nowrap;
}

.race-update__badge {
  grid-column: 3;
  justify-self: end;
  display: inline-flex;
  width: 50px;
  height: 50px;
  margin-left: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 50%;
  color: var(--red);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
}

.race-update__badge--image {
  border: 0;
}

.race-update__badge--image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

.race-update h2 {
  margin: clamp(18px, 2.7svh, 34px) 0 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: var(--race-update-title-size);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.78;
  text-transform: uppercase;
}

.circuit-body--knockhill .race-update h2,
.circuit-body--snetterton .race-update h2 {
  width: min(100%, calc(var(--race-update-title-size) * 4.26));
  text-align: center;
}

.race-update__results {
  display: grid;
  width: min(100%, calc(var(--race-update-title-size) * 4.26));
  grid-template-columns: repeat(2, minmax(104px, max-content));
  justify-content: center;
  margin: clamp(22px, 3svh, 34px) 0 0;
}

.race-update__results div {
  min-width: 0;
  text-align: center;
}

.race-update__results div + div {
  border-left: 1px solid rgba(0, 0, 0, 0.28);
}

.race-update__results dt {
  color: #7e7e7e;
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 400;
  line-height: 1;
}

.race-update__results dd {
  margin: 16px 0 0;
  color: var(--ink);
  font-size: clamp(28px, 2.2vw, 36px);
  font-weight: 500;
  line-height: 1;
}

.race-update__quote {
  --race-quote-highlight: 0%;
  --race-quote-mark-color: rgba(5, 7, 27, 0.42);
  width: min(100%, 610px);
  margin: clamp(26px, 4svh, 42px) 0 0;
  color: var(--ink);
}

.race-update__quote p {
  margin: 0;
  color: rgba(5, 7, 27, 0.42);
  font-size: clamp(20px, 1.42vw, 28px);
  font-style: italic;
  font-weight: 650;
  line-height: 1.08;
}

.race-update__quote-text {
  background: linear-gradient(
    90deg,
    #05071b 0%,
    #05071b var(--race-quote-highlight),
    rgba(5, 7, 27, 0.42) var(--race-quote-highlight),
    rgba(5, 7, 27, 0.42) 100%
  );
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.race-update__quote-mark {
  color: var(--race-quote-mark-color);
}

.race-update__quote cite {
  display: inline-flex;
  align-items: center;
  gap: clamp(12px, 1.2vw, 18px);
  margin-top: clamp(34px, 5svh, 52px);
  color: #05071b;
  font-size: clamp(16px, 1vw, 19px);
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}

.race-update__quote cite::before {
  width: clamp(34px, 3vw, 50px);
  height: 2px;
  flex: 0 0 auto;
  background: var(--red);
  content: "";
}

.race-update__media {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 10px;
  margin: 0;
}

.race-gallery__main {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 8px;
  background: #f1f1f2;
  box-shadow: -2px 4px 4px rgba(0, 0, 0, 0.25);
}

.race-gallery__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: var(--race-gallery-fit, cover);
  object-position: var(--race-gallery-position, center);
  transform: scale(1);
  transition:
    opacity 180ms ease,
    transform 420ms cubic-bezier(0.33, 1, 0.68, 1);
  user-select: none;
}

.race-gallery__image.is-switching {
  opacity: 0;
  transform: scale(1.018);
}

.race-gallery__image--incoming {
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transform: scale(1.012);
  transition:
    opacity 520ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 680ms cubic-bezier(0.16, 1, 0.3, 1);
}

.race-gallery__image--incoming.is-visible {
  opacity: 1;
  transform: scale(1);
}

.race-gallery__thumbs {
  --race-gallery-thumb-gap: 10px;
  --race-gallery-thumb-size: clamp(66px, 5.8vw, 88px);
  display: flex;
  align-self: center;
  justify-content: center;
  width: min(100%, calc((var(--race-gallery-thumb-size) * 5) + (var(--race-gallery-thumb-gap) * 4)));
  gap: var(--race-gallery-thumb-gap);
  overflow-x: hidden;
  overflow-y: hidden;
  padding: 1px 1px 4px;
  cursor: default;
  scrollbar-width: none;
  touch-action: manipulation;
  -webkit-overflow-scrolling: touch;
}

.race-gallery__thumbs::-webkit-scrollbar {
  display: none;
}

.race-gallery__thumb {
  position: relative;
  display: block;
  width: var(--race-gallery-thumb-size);
  min-width: 0;
  flex: 0 1 var(--race-gallery-thumb-size);
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 4px;
  background: #e9e9eb;
  cursor: pointer;
  opacity: 0.72;
  transition:
    border-color 220ms ease,
    opacity 260ms ease,
    transform 560ms cubic-bezier(0.16, 1, 0.3, 1);
}

.race-gallery__thumb:hover,
.race-gallery__thumb:focus-visible {
  border-color: rgba(5, 7, 27, 0.32);
  opacity: 1;
  outline: none;
}

.race-gallery__thumb[aria-current="true"] {
  border-color: rgba(5, 7, 27, 0.9);
  opacity: 1;
}

.race-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: var(--race-gallery-thumb-fit, cover);
  object-position: var(--race-gallery-thumb-position, center);
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.circuit-body--knockhill .race-gallery__image,
.circuit-body--snetterton .race-gallery__image {
  background: #f1f1f2;
}

.race-notes {
  --race-update-inline-padding: clamp(40px, 8vw, 120px);
  --race-update-inner-width: min(calc(100vw - (2 * var(--race-update-inline-padding))), 1500px);
  --race-notes-pin-distance: 900px;
  display: block;
  min-height: calc(100svh + var(--race-notes-pin-distance));
  background: #ffffff;
  color: #05071b;
  padding:
    clamp(64px, 8svh, 108px)
    var(--race-update-inline-padding)
    clamp(76px, 10svh, 128px);
}

.race-notes[hidden] {
  display: none;
}

.race-notes__inner {
  position: sticky;
  top: clamp(64px, 8svh, 108px);
  display: grid;
  width: min(100%, var(--race-update-inner-width));
  align-items: start;
  gap: clamp(44px, 5vw, 88px);
  grid-template-columns: minmax(0, 0.86fr) minmax(460px, 1.04fr);
  margin: 0 auto;
  border-top: 2px solid rgba(5, 7, 27, 0.88);
  padding-top: clamp(26px, 4svh, 44px);
}

.race-notes__header {
  min-width: 0;
}

.race-notes__eyebrow {
  margin: 0 0 14px;
  color: var(--red);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.race-notes h2 {
  margin: 0;
  max-width: 320px;
  color: #05071b;
  font-size: clamp(38px, 3.5vw, 62px);
  font-weight: 650;
  letter-spacing: 0;
  line-height: 0.92;
}

.race-notes__body {
  --race-notes-body-shift: 0px;
  --race-notes-body-window: none;
  max-width: 780px;
  max-height: var(--race-notes-body-window);
  min-width: 0;
}

.race-notes__body.is-read-along {
  contain: paint;
  overflow: hidden;
}

.race-notes__body.is-read-along p {
  transform: translate3d(0, var(--race-notes-body-shift), 0);
  will-change: transform;
}

.race-notes__body p {
  margin: 0;
  color: rgba(5, 7, 27, 0.76);
  font-size: clamp(18px, 1.25vw, 22px);
  font-weight: 450;
  line-height: 1.54;
}

.race-notes__body p:first-child {
  color: #05071b;
  font-size: clamp(20px, 1.46vw, 25px);
  font-weight: 600;
  line-height: 1.38;
}

.race-notes__body p + p {
  margin-top: clamp(18px, 2.5svh, 28px);
}

.race-notes__body.is-line-highlighted .race-notes__line {
  --race-notes-line-highlight: 0%;
  display: block;
  background: linear-gradient(
    90deg,
    #05071b 0%,
    #05071b var(--race-notes-line-highlight),
    rgba(5, 7, 27, 0.48) var(--race-notes-line-highlight),
    rgba(5, 7, 27, 0.48) 100%
  );
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.race-sessions {
  position: relative;
  display: grid;
  align-content: start;
  min-height: 100svh;
  overflow: hidden;
  background: #f7f7f8;
  color: #05071b;
  padding:
    clamp(42px, 5.4svh, 68px)
    clamp(20px, 2.7vw, 52px)
    clamp(34px, 4.6svh, 58px);
}

.race-sessions__inner {
  width: min(100%, 2200px);
  margin: 0 auto;
}

.circuit-body.has-site-footer .race-sessions {
  min-height: auto;
  padding-bottom: clamp(170px, 18svh, 240px);
  border-bottom-right-radius: clamp(34px, 5vw, 86px);
  border-bottom-left-radius: clamp(34px, 5vw, 86px);
}

.race-sessions h2 {
  margin: 0 0 clamp(30px, 4.6svh, 56px);
  color: #05071b;
  font-size: clamp(38px, 3vw, 56px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}

.race-sessions__layout {
  display: grid;
  align-items: start;
  gap: clamp(26px, 3.4vw, 58px);
  grid-template-columns: clamp(148px, 10.5vw, 190px) minmax(0, 1fr);
}

.race-sessions__tabs {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  border-left: 1px solid rgba(5, 7, 27, 0.18);
  padding: 3px 0 3px clamp(18px, 1.5vw, 24px);
}

.race-sessions__tab {
  position: relative;
  display: flex;
  width: 100%;
  min-height: clamp(42px, 4.5svh, 48px);
  align-items: center;
  color: rgba(5, 7, 27, 0.38);
  cursor: pointer;
  font-size: clamp(14px, 0.96vw, 18px);
  font-weight: 600;
  line-height: 1;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 180ms ease;
}

.race-sessions__tab::before {
  position: absolute;
  top: 50%;
  left: calc(-1 * clamp(19px, 1.5vw, 25px));
  width: 3px;
  height: 60%;
  content: "";
  background: #05071b;
  opacity: 0;
  transform: translateY(-50%) scaleY(0.45);
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.race-sessions__tab:hover,
.race-sessions__tab:focus-visible {
  color: var(--red);
}

.race-sessions__tab.is-active,
.race-sessions__tab[aria-selected="true"] {
  color: var(--red);
  font-weight: 800;
}

.race-sessions__tab.is-active::before,
.race-sessions__tab[aria-selected="true"]::before {
  background: var(--red);
  opacity: 1;
  transform: translateY(-50%) scaleY(1);
}

.race-sessions__panel {
  min-width: 0;
}

.race-sessions__table-wrap {
  overflow-x: auto;
}

.race-sessions__table {
  width: 100%;
  min-width: min(100%, 780px);
  border-collapse: collapse;
  table-layout: fixed;
}

.race-sessions__table th {
  border-top: 2px solid rgba(5, 7, 27, 0.88);
  color: rgba(5, 7, 27, 0.86);
  font-size: clamp(12px, 0.78vw, 14px);
  font-weight: 900;
  letter-spacing: 0.03em;
  line-height: 1;
  padding: 13px clamp(16px, 1.35vw, 22px) 23px;
  text-align: left;
  text-transform: uppercase;
}

.race-sessions__table th:first-child,
.race-sessions__table td:first-child {
  width: 10%;
}

.race-sessions__table th:nth-child(2),
.race-sessions__table td:nth-child(2) {
  width: 30%;
}

.race-sessions__table th:nth-child(3),
.race-sessions__table td:nth-child(3) {
  width: 44%;
}

.race-sessions__table th:nth-child(4),
.race-sessions__table td:nth-child(4) {
  width: 16%;
  text-align: left;
}

.race-sessions__table td {
  border-bottom: 1px solid rgba(5, 7, 27, 0.08);
  color: #05071b;
  font-size: clamp(20px, 1.42vw, 27px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  padding: 12px clamp(16px, 1.35vw, 22px) 14px;
  white-space: nowrap;
}

.race-sessions__table tr.is-selected-rider td {
  background: #020217;
  color: #ffffff;
}

.race-sessions__table tr.is-selected-rider td + td {
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.race-sessions__details {
  display: grid;
  align-items: center;
  gap: clamp(18px, 2.5vw, 34px);
  grid-template-columns: max-content minmax(0, 1fr);
  margin-top: clamp(22px, 3.2svh, 36px);
}

.race-sessions__status {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #020217;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  margin: 0;
  padding: 0 14px;
  text-transform: uppercase;
  white-space: nowrap;
}

.race-sessions__note {
  max-width: 760px;
  margin: 0;
  color: rgba(5, 7, 27, 0.72);
  font-size: clamp(15px, 1.1vw, 18px);
  font-weight: 500;
  line-height: 1;
  transform: translateY(0.08em);
}

.standings-body {
  min-height: 100svh;
  overflow-x: hidden;
  background: #05071b;
  color: #ffffff;
}

.standings-page {
  position: relative;
  min-height: 100svh;
  background: #ffffff;
}

.standings-hero {
  --standings-hero-bottom-pad: clamp(42px, 7svh, 76px);
  --standings-jump-height: 60px;
  --standings-jump-margin-top: clamp(22px, 4svh, 38px);
  --standings-title-line-height: clamp(85.8px, 13.884vw, 201.24px);
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: #05071b;
  isolation: isolate;
}

.standings-hero__image,
.standings-hero__shade {
  position: absolute;
  inset: 0;
}

.standings-hero__image {
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 46% center;
}

.standings-hero__shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(2, 4, 17, 0.78) 0%, rgba(2, 4, 17, 0.42) 45%, rgba(2, 4, 17, 0.1) 78%),
    linear-gradient(180deg, rgba(2, 4, 17, 0.58) 0%, rgba(2, 4, 17, 0.1) 42%, rgba(2, 4, 17, 0.82) 100%);
}

.standings-hero__content {
  position: relative;
  display: grid;
  min-height: 100svh;
  align-items: end;
  gap: clamp(34px, 5vw, 92px);
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.58fr);
  padding:
    clamp(138px, 18svh, 190px)
    clamp(20px, 2.7vw, 52px)
    var(--standings-hero-bottom-pad);
}

.standings-hero__copy {
  min-width: 0;
}

.standings-hero__eyebrow,
.standings-board__eyebrow {
  margin: 0 0 11px;
  color: var(--red);
  font-size: clamp(12px, 0.9vw, 14px);
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.standings-hero__eyebrow {
  margin-bottom: clamp(40px, 5svh, 68px);
}

.standings-hero h1 {
  margin: 0;
  color: #ffffff;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(110px, 17.8vw, 258px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.78;
  text-transform: uppercase;
  white-space: nowrap;
}

.standings-jump {
  display: inline-flex;
  min-height: var(--standings-jump-height);
  align-items: center;
  justify-content: center;
  gap: 15px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.95);
  color: #111522;
  font-size: clamp(13px, 0.89vw, 18px);
  font-weight: 900;
  line-height: 1;
  margin-top: var(--standings-jump-margin-top);
  padding: 0 22px;
  text-transform: uppercase;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22);
  transition:
    background 180ms ease,
    transform 180ms ease;
}

.standings-jump__arrow {
  width: 12px;
  height: 12px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-3px) rotate(45deg);
  transition: transform 180ms ease;
}

.standings-jump:hover,
.standings-jump:focus-visible {
  background: #ffffff;
  transform: translateY(-2px);
}

.standings-jump:hover .standings-jump__arrow,
.standings-jump:focus-visible .standings-jump__arrow {
  transform: translateY(0) rotate(45deg);
}

.standings-ranking-grid {
  display: grid;
  position: absolute;
  top: calc(100svh - var(--standings-hero-bottom-pad) - var(--standings-jump-height) - var(--standings-jump-margin-top) - var(--standings-title-line-height));
  right: clamp(20px, 2.7vw, 52px);
  bottom: auto;
  width: min(39vw, 520px);
  gap: clamp(18px, 2.5svh, 28px);
  justify-self: end;
}

.standings-ranking-panel {
  position: relative;
  color: #ffffff;
  padding: 0;
}

.standings-ranking-panel h2 {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #05071b;
  font-size: clamp(11px, 0.82vw, 14px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  padding: 0 12px;
  text-transform: uppercase;
}

.standings-ranking-panel dl {
  display: grid;
  grid-template-columns: minmax(72px, 0.82fr) minmax(112px, 1fr) minmax(150px, 1.35fr);
  gap: clamp(16px, 2vw, 30px);
  border-top: 1px solid rgba(255, 255, 255, 0.82);
  margin: 18px 0 0;
  padding-top: 16px;
}

.standings-ranking-panel div {
  min-width: 0;
}

.standings-ranking-panel dt {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(11px, 0.82vw, 14px);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.standings-ranking-panel dd {
  margin: clamp(20px, 2.8svh, 32px) 0 0;
  color: #ffffff;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(46px, 4.2vw, 70px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.72;
  text-transform: uppercase;
}

.standings-board {
  overflow-x: visible;
  background: #ffffff;
  color: #05071b;
  padding:
    clamp(42px, 5.2svh, 68px)
    0
    clamp(170px, 18svh, 240px);
}

.standings-board__inner {
  width: 100%;
  margin: 0;
}

.standings-board__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(24px, 4vw, 72px);
  margin-bottom: clamp(38px, 5.2svh, 56px);
  padding: 0 clamp(20px, 2.7vw, 52px);
}

.standings-board__title {
  min-width: 0;
}

.standings-board h2 {
  margin: 0;
  color: #05071b;
  font-size: clamp(40px, 3.35vw, 64px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}

.standings-controls {
  display: flex;
  max-width: min(100%, 820px);
  align-items: flex-end;
  justify-content: flex-end;
  gap: 12px;
  margin: 0;
}

.standings-select {
  position: relative;
  display: grid;
  min-width: 184px;
  flex: 0 1 230px;
  gap: 9px;
}

.standings-select--series {
  min-width: min(336px, 36vw);
  flex-basis: 348px;
}

.standings-select span {
  color: rgba(5, 7, 27, 0.46);
  font-size: clamp(11px, 0.82vw, 13px);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.standings-select select {
  width: 100%;
  height: 48px;
  appearance: none;
  border: 1px solid rgba(5, 7, 27, 0.18);
  border-radius: 4px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8f9fb 100%);
  color: #05071b;
  cursor: pointer;
  font-size: clamp(13px, 0.92vw, 16px);
  font-weight: 900;
  line-height: 1;
  outline: 0;
  padding: 0 42px 0 15px;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.standings-select::after {
  position: absolute;
  right: 17px;
  bottom: 19px;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  color: rgba(5, 7, 27, 0.62);
  content: "";
  pointer-events: none;
  transform: rotate(45deg);
  transition:
    color 180ms ease,
    transform 180ms ease;
}

.standings-select:focus-within select,
.standings-select:hover select {
  border-color: rgba(255, 0, 47, 0.44);
  box-shadow: 0 14px 34px rgba(5, 7, 27, 0.12);
  transform: translateY(-1px);
}

.standings-select:focus-within::after,
.standings-select:hover::after {
  color: var(--red);
  transform: translateY(-2px) rotate(45deg);
}

.standings-export {
  display: inline-flex;
  height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 4px;
  background: #05071b;
  color: #ffffff;
  cursor: pointer;
  font-size: clamp(12px, 0.82vw, 14px);
  font-weight: 900;
  line-height: 1;
  padding: 0 18px;
  text-transform: uppercase;
  transition:
    background 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
  white-space: nowrap;
}

.standings-export__icon {
  position: relative;
  width: 15px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 2px;
}

.standings-export__icon::before,
.standings-export__icon::after {
  position: absolute;
  content: "";
}

.standings-export__icon::before {
  top: 4px;
  left: 3px;
  width: 7px;
  height: 2px;
  background: currentColor;
  box-shadow: 0 5px 0 currentColor;
}

.standings-export__icon::after {
  top: -2px;
  right: -2px;
  width: 6px;
  height: 6px;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  background: #05071b;
}

.standings-export:hover,
.standings-export:focus-visible {
  background: var(--red);
  box-shadow: 0 18px 34px rgba(255, 0, 47, 0.22);
  transform: translateY(-1px);
}

.standings-export:hover .standings-export__icon::after,
.standings-export:focus-visible .standings-export__icon::after {
  background: var(--red);
}

.standings-board__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  max-width: min(48vw, 680px);
  margin: 0;
  padding: 0;
}

.standings-board__meta span {
  --glow-x: 50%;
  --glow-y: 50%;
  --glow-opacity: 0;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  overflow: visible;
  border: 1px solid rgba(5, 7, 27, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: rgba(5, 7, 27, 0.72);
  font-size: clamp(11px, 0.78vw, 13px);
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1;
  padding: 0 14px;
  text-transform: uppercase;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.standings-board__meta span::before,
.standings-board__meta span::after {
  position: absolute;
  content: "";
  pointer-events: none;
  opacity: var(--glow-opacity);
  transition: opacity 180ms ease;
}

.standings-board__meta span::before {
  inset: -6px;
  z-index: -1;
  border-radius: inherit;
  padding: 6px;
  background: radial-gradient(74px circle at calc(var(--glow-x) + 6px) calc(var(--glow-y) + 6px), rgba(255, 0, 47, 0.16), transparent 62%);
  filter: blur(3px);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.standings-board__meta span::after {
  inset: -1px;
  z-index: 2;
  border-radius: inherit;
  padding: 1px;
  background: radial-gradient(82px circle at calc(var(--glow-x) + 1px) calc(var(--glow-y) + 1px), rgba(255, 0, 47, 0.72), transparent 56%);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.standings-board__meta span.is-hovered,
.standings-board__meta span:hover {
  z-index: 1;
  border-color: rgba(255, 0, 47, 0.36);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 26px rgba(255, 0, 47, 0.13);
  color: #05071b;
  transform: translateY(-1px);
}

.standings-mobile-board {
  display: none;
}

.standings-table-shell {
  position: relative;
  border-top: 1px solid rgba(5, 7, 27, 0.12);
  background: #ffffff;
  padding-bottom: 0;
}

.standings-scroll-progress {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 12;
  width: 100%;
  height: 3px;
  background: rgba(5, 7, 27, 0.08);
  overflow: hidden;
}

.standings-scroll-progress span {
  display: block;
  width: calc(var(--standings-progress, 0) * 100%);
  height: 100%;
  background: var(--red);
  transform-origin: left center;
  transition: width 160ms ease;
}

.standings-table-wrap {
  width: 100%;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: visible;
  background-color: transparent;
  cursor: default;
  overscroll-behavior-x: contain;
  scrollbar-color: rgba(255, 0, 47, 0.9) rgba(5, 7, 27, 0.1);
  scrollbar-width: thin;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;
}

.standings-table-wrap:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: -2px;
}

.standings-table-wrap::-webkit-scrollbar {
  height: 10px;
}

.standings-table-wrap::-webkit-scrollbar-track {
  background: rgba(5, 7, 27, 0.08);
}

.standings-table-wrap::-webkit-scrollbar-thumb {
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: var(--red);
}

.standings-table {
  --standings-pos-col: 4.1%;
  --standings-number-col: 4.1%;
  --standings-rider-col: 17%;
  --standings-points-col: 5.4%;
  --standings-identity-cols: calc(var(--standings-pos-col) + var(--standings-number-col) + var(--standings-rider-col) + var(--standings-points-col));
  --standings-session-col: calc((100% - var(--standings-identity-cols)) / 27);
  --standings-session-gridline: rgba(5, 7, 27, 0.07);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  color: #05071b;
}

.standings-col--pos {
  width: var(--standings-pos-col);
}

.standings-col--number {
  width: var(--standings-number-col);
}

.standings-col--rider {
  width: var(--standings-rider-col);
}

.standings-col--points {
  width: var(--standings-points-col);
}

.standings-col--session {
  width: var(--standings-session-col);
}

.standings-table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.standings-table th {
  position: relative;
  color: inherit;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.08;
  text-transform: uppercase;
  transition:
    background 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.standings-table abbr {
  text-decoration: none;
}

.standings-table__rounds th {
  height: 132px;
  background:
    linear-gradient(180deg, #080a18 0%, #11172a 100%);
  color: #ffffff;
  padding: 11px 4px 17px;
  text-align: center;
  vertical-align: bottom;
}

.standings-table__rounds th:nth-child(-n + 4) {
  background:
    linear-gradient(180deg, #080a18 0%, #11172a 100%);
  color: #ffffff;
  text-align: left;
  font-size: clamp(13px, 1.05vw, 20px);
  letter-spacing: 0.02em;
  vertical-align: bottom;
  padding: 11px 8px 60px;
}

.standings-table__rounds th:nth-child(1),
.standings-table td:nth-child(1) {
  width: var(--standings-pos-col);
}

.standings-table__rounds th:nth-child(1) {
  text-align: center;
}

.standings-table__rounds th:nth-child(2),
.standings-table td:nth-child(2) {
  width: var(--standings-number-col);
  text-align: center;
}

.standings-table__rounds th:nth-child(3),
.standings-table td:nth-child(3) {
  width: var(--standings-rider-col);
}

.standings-table__rounds th:nth-child(4),
.standings-table td:nth-child(4) {
  width: var(--standings-points-col);
  text-align: center;
}

.standings-table__sessions th:not(.standings-table__identity-spacer),
.standings-table td:nth-child(n + 5) {
  width: var(--standings-session-col);
  text-align: center;
}

.standings-table__rounds th.standings-round-heading {
  border-left: 1px solid rgba(255, 255, 255, 0.13);
  padding-top: 18px;
  padding-bottom: 18px;
  text-align: center;
  vertical-align: middle;
}

.standings-round-heading span:not(.standings-track-outline),
.standings-round-heading time {
  display: block;
}

.standings-round-heading span:not(.standings-track-outline) {
  min-height: calc(clamp(9px, 0.78vw, 12px) * 2.16);
  margin-top: 4px;
  font-size: clamp(9px, 0.78vw, 12px);
  line-height: 1.08;
}

.standings-round-heading time {
  margin-top: 6px;
  font-size: clamp(8px, 0.66vw, 10px);
  line-height: 1.1;
}

.standings-track-outline {
  display: block;
  width: 36px;
  height: 25px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.62);
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.2));
  transition:
    color 180ms ease,
    transform 180ms ease;
}

.standings-track-outline--asset {
  display: block;
  background: currentColor;
}

.standings-track-outline--donington {
  width: 36px;
  height: 25px;
  transform: rotate(28deg);
  -webkit-mask: url("assets/trackside/donington/donington-park-circuit.svg") center / contain no-repeat;
  mask: url("assets/trackside/donington/donington-park-circuit.svg") center / contain no-repeat;
}

.standings-track-outline--knockhill {
  width: 30px;
  height: 28px;
}

.standings-track-outline.standings-track-outline--knockhill path {
  stroke-width: 12;
}

.standings-track-outline--snetterton {
  width: 34px;
  height: 27px;
  -webkit-mask: url("assets/trackside/snetterton/snetterton-circuit-card.svg") center / contain no-repeat;
  mask: url("assets/trackside/snetterton/snetterton-circuit-card.svg") center / contain no-repeat;
}

.standings-track-outline--brands-hatch {
  width: 24px;
  height: 28px;
  -webkit-mask: url("assets/trackside/brands-hatch/brandshatch.svg") center / contain no-repeat;
  mask: url("assets/trackside/brands-hatch/brandshatch.svg") center / contain no-repeat;
}

.standings-track-outline--oulton-park {
  width: 24px;
  height: 28px;
  -webkit-mask: url("assets/trackside/oulton-park/oultonpark.svg") center / contain no-repeat;
  mask: url("assets/trackside/oulton-park/oultonpark.svg") center / contain no-repeat;
}

.standings-track-outline--thruxton {
  width: 34px;
  height: 24px;
  -webkit-mask: url("assets/trackside/thruxton/thruxton.svg") center / contain no-repeat;
  mask: url("assets/trackside/thruxton/thruxton.svg") center / contain no-repeat;
}

.standings-track-outline--cadwell {
  width: 34px;
  height: 28px;
  -webkit-mask: url("assets/trackside/cadwell/cadwell.svg") center / contain no-repeat;
  mask: url("assets/trackside/cadwell/cadwell.svg") center / contain no-repeat;
}

.standings-track-outline--assen {
  width: 27px;
  height: 28px;
  -webkit-mask: url("assets/trackside/assen/assentrack.svg") center / contain no-repeat;
  mask: url("assets/trackside/assen/assentrack.svg") center / contain no-repeat;
}

.standings-track-outline path {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.standings-table__sessions th {
  height: 40px;
  border-bottom: 1px solid rgba(5, 7, 27, 0.14);
  background: #ffffff;
  color: rgba(5, 7, 27, 0.86);
  font-size: clamp(10px, 0.74vw, 13px);
  padding: 0 2px;
}

.standings-table__sessions .standings-table__identity-spacer {
  width: var(--standings-identity-cols);
  border-right: 1px solid rgba(5, 7, 27, 0.08);
  background: #ffffff;
  padding: 0;
}

.standings-table td {
  position: relative;
  height: 54px;
  border-bottom: 1px solid rgba(5, 7, 27, 0.045);
  color: rgba(5, 7, 27, 0.82);
  font-size: clamp(11px, 0.74vw, 14px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.1;
  padding: 0 6px;
  vertical-align: middle;
  transition:
    background 170ms ease,
    color 170ms ease,
    opacity 170ms ease;
}

.standings-table td strong {
  font-weight: 800;
}

.standings-table tbody tr:nth-child(odd) td {
  background: #eef1f4;
}

.standings-table tbody tr:nth-child(even) td {
  background: #ffffff;
}

.standings-table__rounds th:nth-child(1),
.standings-table tbody td:nth-child(1) {
  position: relative;
  left: auto;
  z-index: auto;
  background-clip: padding-box;
}

.standings-table__rounds th:nth-child(2),
.standings-table tbody td:nth-child(2) {
  position: relative;
  left: auto;
  z-index: auto;
  background-clip: padding-box;
}

.standings-table__rounds th:nth-child(3),
.standings-table tbody td:nth-child(3) {
  position: relative;
  left: auto;
  z-index: auto;
  background-clip: padding-box;
}

.standings-table__rounds th:nth-child(4),
.standings-table tbody td:nth-child(4) {
  position: relative;
  left: auto;
  z-index: auto;
  background-clip: padding-box;
  box-shadow: none;
}

.standings-table__rounds th:nth-child(-n + 4) {
  z-index: auto;
}

.standings-table tbody tr td.standings-position-cell {
  color: #130b82;
  font-size: clamp(12px, 0.88vw, 17px);
  font-weight: 600;
  line-height: 1;
  text-align: center;
}

.standings-table tbody tr td.standings-number-cell {
  background: #747f90;
  color: #ffffff;
  font-size: clamp(12px, 0.88vw, 17px);
  font-weight: 900;
}

.standings-rider-cell {
  color: #3b3c42;
}

.standings-rider-name {
  display: block;
  font-size: clamp(11px, 0.86vw, 16px);
  font-weight: 500;
  text-transform: uppercase;
}

.standings-rider-name span {
  color: #05071b;
  font-weight: 800;
}

.standings-rider-team {
  display: block;
  margin-top: 3px;
  color: rgba(5, 7, 27, 0.7);
  font-size: clamp(9px, 0.68vw, 12px);
  font-weight: 500;
  line-height: 1.08;
}

.standings-table tbody tr td.standings-points-cell {
  background: #202738;
  color: #ffffff;
  font-size: clamp(13px, 0.96vw, 18px);
  font-weight: 900;
}

.standings-session-cell {
  border-left: 1px solid var(--standings-session-gridline);
  font-size: clamp(10px, 0.74vw, 14px);
  font-weight: 600;
}

.standings-table__sessions th:not(.standings-table__identity-spacer) {
  border-left: 1px solid var(--standings-session-gridline);
}

.standings-session-cell.has-points {
  color: #05071b;
  font-weight: 900;
}

.standings-table td:nth-child(5),
.standings-table td:nth-child(8),
.standings-table td:nth-child(11),
.standings-table td:nth-child(14),
.standings-table td:nth-child(17),
.standings-table td:nth-child(20),
.standings-table td:nth-child(23),
.standings-table td:nth-child(26),
.standings-table td:nth-child(29),
.standings-table__sessions th:nth-child(2),
.standings-table__sessions th:nth-child(5),
.standings-table__sessions th:nth-child(8),
.standings-table__sessions th:nth-child(11),
.standings-table__sessions th:nth-child(14),
.standings-table__sessions th:nth-child(17),
.standings-table__sessions th:nth-child(20),
.standings-table__sessions th:nth-child(23),
.standings-table__sessions th:nth-child(26) {
  border-left: 1px solid rgba(255, 0, 47, 0.38);
}

.standings-table td:nth-child(7),
.standings-table td:nth-child(10),
.standings-table td:nth-child(13),
.standings-table td:nth-child(16),
.standings-table td:nth-child(19),
.standings-table td:nth-child(22),
.standings-table td:nth-child(25),
.standings-table td:nth-child(28),
.standings-table td:nth-child(31) {
  border-right: 1px solid rgba(79, 172, 224, 0.64);
}

.standings-table tbody tr:hover td,
.standings-table tbody tr:focus-within td {
  color: #05071b;
  background: #f8f0f2;
}

.standings-table tbody tr {
  outline: 0;
}

.standings-table tbody tr:focus-visible td {
  box-shadow: inset 0 0 0 2px rgba(255, 0, 47, 0.54);
}

.standings-table th.is-column-hover,
.standings-table td.is-column-hover {
  color: #05071b;
  background: #ffe8ed;
}

.standings-table th.is-column-hover {
  color: #ffffff;
  background:
    linear-gradient(180deg, #ff002f 0%, #b80021 100%);
}

.standings-table th.is-column-hover .standings-track-outline {
  color: #ffffff;
  transform: translateY(-2px) scale(1.03);
}

.standings-table th.is-column-hover .standings-track-outline--donington {
  transform: translateY(-2px) scale(1.03) rotate(28deg);
}

.standings-table.is-round-pinned .standings-round-heading[data-round]:not(.is-column-hover),
.standings-table.is-round-pinned .standings-session-cell[data-round]:not(.is-column-hover) {
  opacity: 0.34;
}

.standings-table tbody tr.is-smith-rider td {
  background: #ffe7eb;
  color: #05071b;
}

.standings-table tbody tr.is-smith-rider .standings-number-cell,
.standings-table tbody tr.is-smith-rider .standings-points-cell {
  background: var(--red);
  color: #ffffff;
}

.standings-table tbody tr.is-smith-rider .standings-rider-name span {
  color: var(--red);
}

.standings-table tbody tr.is-smith-rider:hover td,
.standings-table tbody tr.is-smith-rider:focus-within td {
  background: #ffd8df;
}

.standings-table tbody tr.is-smith-rider:hover .standings-number-cell,
.standings-table tbody tr.is-smith-rider:hover .standings-points-cell,
.standings-table tbody tr.is-smith-rider:focus-within .standings-number-cell,
.standings-table tbody tr.is-smith-rider:focus-within .standings-points-cell {
  background: var(--red);
  color: #ffffff;
}

.standings-table tbody tr.is-smith-rider + tr.is-smith-rider td {
  border-top: 1px solid rgba(255, 255, 255, 0.38);
}

.standings-table .standings-round-heading[data-round] {
  cursor: pointer;
}

.standings-table .standings-session-cell[data-round] {
  cursor: crosshair;
}

@media (max-width: 1180px) {
  .race-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .circuit-detail {
    padding-right: clamp(24px, 5vw, 72px);
    padding-left: clamp(24px, 5vw, 72px);
  }

  .circuit-detail__map {
    width: min(100%, 1080px);
  }

  .circuit-detail__stats {
    grid-template-columns: minmax(190px, 1.35fr) minmax(74px, 0.46fr) minmax(108px, 0.76fr) minmax(118px, 0.8fr);
    gap: clamp(14px, 2.5vw, 38px);
  }

  .standings-hero__content {
    grid-template-columns: 1fr;
  }

  .standings-ranking-grid {
    width: min(54vw, 560px);
  }

  .standings-board__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .standings-board__meta {
    justify-content: flex-start;
    max-width: none;
  }

  .standings-controls {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .standings-select,
  .standings-select--series {
    min-width: min(100%, 260px);
  }
}

@media (max-width: 900px) {
  .race-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-hero__content {
    gap: 28px;
    padding-bottom: 48px;
  }

  .about-hero p {
    max-width: 560px;
  }

  .about-brand-strip__track {
    justify-content: flex-start;
    gap: 54px;
  }

  .about-rider-grid {
    gap: 28px;
  }

  .about-rider-card__body {
    min-height: 300px;
  }

  .about-rider-card__link {
    right: auto;
    bottom: 28px;
    left: 32px;
  }

  .circuit-detail {
    grid-template-rows: auto auto;
  }

  .circuit-detail__stats {
    grid-template-columns: minmax(160px, 1.32fr) minmax(62px, 0.44fr) minmax(92px, 0.74fr) minmax(104px, 0.78fr);
    gap: clamp(10px, 2vw, 22px);
  }

  .circuit-detail__stat dd {
    font-size: clamp(32px, 5.6vw, 54px);
  }

  .race-update {
    padding-right: clamp(32px, 6vw, 72px);
    padding-left: clamp(32px, 6vw, 72px);
  }

  .race-update__inner {
    gap: clamp(34px, 6vw, 72px);
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.82fr);
  }

  .race-notes {
    padding-right: clamp(32px, 6vw, 72px);
    padding-left: clamp(32px, 6vw, 72px);
  }

  .race-notes__inner {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.82fr);
  }

  .race-sessions__layout {
    gap: 34px;
    grid-template-columns: 1fr;
  }

  .race-sessions__tabs {
    overflow-x: auto;
    flex-direction: row;
    gap: clamp(22px, 5vw, 44px);
    width: auto;
    min-width: 0;
    border-bottom: 1px solid rgba(5, 7, 27, 0.18);
    border-left: 0;
    padding: 0 0 13px;
  }

  .race-sessions__tab {
    width: auto;
    min-height: 38px;
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .race-sessions__tab::before {
    top: auto;
    right: 0;
    bottom: -14px;
    left: 0;
    width: auto;
    height: 2px;
    transform: scaleX(0.4);
    transform-origin: left;
  }

  .race-sessions__tab.is-active::before,
  .race-sessions__tab[aria-selected="true"]::before {
    transform: scaleX(1);
  }

}

@media (max-width: 760px) {
  .about-page {
    padding-top: 78px;
  }

  .about-hero,
  .about-hero__content {
    min-height: calc(100svh - 78px);
  }

  .about-hero__content {
    padding: 0 20px 42px;
  }

  .about-hero h1 {
    font-size: clamp(74px, 19vw, 112px);
  }

  .about-hero p {
    font-size: clamp(21px, 5.8vw, 30px);
  }

  .about-hero__actions {
    gap: 10px;
  }

  .about-pill {
    min-height: 34px;
    font-size: 13px;
    padding: 0 15px;
  }

  .about-brand-strip {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .about-brand-strip::-webkit-scrollbar {
    display: none;
  }

  .about-brand-strip__track {
    min-width: max-content;
    padding-right: 24px;
    padding-left: 24px;
  }

  .about-riders {
    padding-right: 20px;
    padding-left: 20px;
  }

  .about-rider-grid {
    grid-template-columns: 1fr;
    margin-top: 44px;
  }

  .about-rider-card__image {
    height: clamp(300px, 62vw, 420px);
  }

  .calendar-hero__image {
    object-position: 70% center;
  }

  .calendar-hero__content {
    padding-top: 120px;
  }

  .calendar-hero__title {
    max-width: 92vw;
    font-size: clamp(84px, 19vw, 150px);
  }

  .calendar-hero__filters {
    position: absolute;
    left: 20px;
    top: auto;
    bottom: 190px;
  }

  .next-race {
    left: 20px;
    right: 20px;
    width: auto;
  }

  .next-race__timer {
    font-size: clamp(24px, 7vw, 34px);
    font-variant-numeric: tabular-nums;
  }

  .race-section__inner {
    padding-right: 20px;
    padding-left: 20px;
  }

  .race-section--upcoming {
    padding-bottom: 132px;
  }

  .race-section__header--with-toggle {
    align-items: flex-start;
    flex-direction: column;
  }

  .rider-selector {
    width: 100%;
    align-items: stretch;
  }

  .rider-selector__note {
    display: none;
  }

  .rider-toggle {
    width: 100%;
  }

  .rider-toggle__button {
    flex: 1 1 0;
  }

  .race-card {
    min-height: 300px;
  }

  .race-card--has-result {
    min-height: 420px;
  }

  .circuit-detail {
    min-height: 100svh;
    align-content: stretch;
    grid-template-rows: minmax(0, 1fr) auto;
    padding-top: clamp(94px, 13svh, 122px);
    padding-bottom: clamp(58px, 8svh, 76px);
  }

  .circuit-detail__map-stage {
    align-items: center;
    justify-content: center;
    overflow: visible;
    padding-bottom: clamp(34px, 6svh, 46px);
  }

  .circuit-detail__map {
    width: min(calc(100vw - 12px), 680px);
    max-width: 680px;
    flex: 0 1 auto;
    transform: translate(-8px, -8px);
  }

  .circuit-body:not(.circuit-body--snetterton) .circuit-detail__track-map .circuit-corner:not(.circuit-corner--arrow) > circle {
    transform: scale(1.28);
  }

  .circuit-detail__track-map .circuit-corner:not(.circuit-corner--arrow) > text {
    alignment-baseline: central;
    dominant-baseline: central;
    text-anchor: middle;
  }

  .circuit-body:not(.circuit-body--snetterton) .circuit-detail__track-map .circuit-corner:not(.circuit-corner--arrow) > text {
    font-size: 30px;
    font-weight: 800;
  }

  .circuit-body--snetterton .circuit-detail__track-map .circuit-corner:not(.circuit-corner--arrow) > circle {
    transform: scale(1.18);
  }

  .circuit-body--snetterton .circuit-detail__track-map .circuit-corner:not(.circuit-corner--arrow) > text {
    font-size: 13px;
    font-weight: 800;
  }

  .circuit-scroll-prompt {
    right: 20px;
    bottom: 18px;
  }

  .circuit-detail > .circuit-scroll-prompt {
    display: none;
  }

  .race-update {
    display: block;
    min-height: calc(100svh + var(--race-quote-pin-distance));
    padding: 0 20px;
  }

  .race-update__inner {
    position: sticky;
    top: 0;
    display: flex;
    min-height: 100svh;
    flex-direction: column;
    gap: 34px;
    justify-content: center;
    padding: 76px 0 56px;
  }

  .race-update__copy {
    --race-update-mobile-title-measure: min(100%, calc(clamp(66px, 18vw, 102px) * 4.26));
    --race-update-mobile-meta-offset: 19px;
    display: grid;
    width: 100%;
    justify-items: start;
  }

  .race-update__meta {
    display: grid;
    width: var(--race-update-mobile-title-measure);
    grid-template-columns: max-content minmax(0, 1fr) max-content;
    column-gap: 14px;
  }

  .race-update__meta time {
    position: static;
    grid-column: 2;
    justify-self: center;
    transform: none;
  }

  .race-update__badge {
    margin-left: 0;
  }

  .race-update h2 {
    width: var(--race-update-mobile-title-measure);
    font-size: clamp(66px, 18vw, 102px);
  }

  .circuit-body--donington .race-update h2 {
    width: min(100%, calc(100vw - 40px));
    font-size: clamp(38px, 12.2vw, 48px);
    white-space: nowrap;
  }

  .circuit-body--knockhill .race-update h2,
  .circuit-body--snetterton .race-update h2 {
    width: var(--race-update-mobile-title-measure);
  }

  .circuit-body--snetterton .race-update__meta,
  .circuit-body--snetterton .race-update h2,
  .circuit-body--snetterton .race-update__results {
    width: min(100%, calc(100vw - 64px));
  }

  .circuit-body--snetterton .race-update__copy {
    justify-items: center;
  }

  .circuit-body--snetterton .race-update h2 {
    font-size: clamp(56px, 15.2vw, 74px);
    text-align: center;
  }

  .race-update__results {
    transform: translateX(var(--race-update-mobile-meta-offset));
    width: var(--race-update-mobile-title-measure);
  }

  .circuit-body--snetterton .race-update__results {
    transform: none;
    width: min(100%, calc(100vw - 64px));
  }

  .race-update__quote {
    width: 100%;
  }

  .race-update__quote p {
    font-size: clamp(18px, 5.05vw, 22px);
    line-height: 1.08;
  }

  .race-update__quote cite {
    gap: 10px;
    margin-top: 22px;
    font-size: clamp(14px, 3.9vw, 16px);
    transform: none;
  }

  .race-update__quote cite::before {
    width: 30px;
  }

  .race-update__media {
    width: min(100%, 420px);
  }

  .race-notes {
    min-height: calc(100svh + var(--race-notes-pin-distance));
    padding: 0 20px;
  }

  .race-notes__inner {
    position: sticky;
    top: 0;
    gap: 24px;
    grid-template-columns: 1fr;
    padding: 76px 0 56px;
  }

  .race-notes h2 {
    max-width: 360px;
    font-size: clamp(34px, 10vw, 46px);
  }

  .race-notes__body p {
    font-size: clamp(16px, 4.35vw, 18px);
    line-height: 1.5;
  }

  .race-notes__body p:first-child {
    font-size: clamp(18px, 5vw, 21px);
    line-height: 1.4;
  }

  .race-sessions {
    padding: 44px 20px 86px;
  }

  .circuit-body.has-site-footer .race-sessions {
    padding-bottom: 132px;
  }

  .race-sessions h2 {
    font-size: clamp(34px, 10vw, 48px);
  }

  .race-sessions__table-wrap {
    overflow-x: visible;
  }

  .race-sessions__table {
    min-width: 0;
  }

  .race-sessions__table th {
    font-size: clamp(9px, 2.45vw, 11px);
    padding: 10px 5px 14px;
  }

  .race-sessions__table th:first-child,
  .race-sessions__table td:first-child {
    width: 13%;
  }

  .race-sessions__table th:first-child {
    font-size: 0;
  }

  .race-sessions__table th:first-child::after {
    content: "Pos";
    font-size: clamp(9px, 2.45vw, 11px);
  }

  .race-sessions__table th:nth-child(2),
  .race-sessions__table td:nth-child(2) {
    width: 29%;
  }

  .race-sessions__table th:nth-child(3),
  .race-sessions__table td:nth-child(3) {
    width: 39%;
  }

  .race-sessions__table th:nth-child(4),
  .race-sessions__table td:nth-child(4) {
    width: 19%;
    padding-right: 2px;
    padding-left: 2px;
    text-align: left;
  }

  .race-sessions__table td {
    font-size: clamp(14px, 3.9vw, 19px);
    line-height: 1.04;
    overflow-wrap: anywhere;
    padding: 12px 5px 13px;
    white-space: normal;
  }

  .race-sessions__table td:first-child {
    font-size: clamp(20px, 5.6vw, 26px);
    overflow-wrap: normal;
  }

  .race-sessions__table td:nth-child(4) {
    font-size: clamp(12px, 3.55vw, 17px);
    overflow-wrap: normal;
    white-space: nowrap;
  }

  .race-sessions__details {
    align-items: start;
    gap: 14px;
    grid-template-columns: 1fr;
  }

  .race-sessions__status {
    justify-self: start;
  }

  .race-sessions__note {
    line-height: 1.35;
    transform: none;
  }

  .standings-hero {
    min-height: 100svh;
  }

  .standings-hero__content {
    display: flex;
    min-height: 100svh;
    flex-direction: column;
    align-content: stretch;
    align-items: stretch;
    gap: 0;
    grid-template-columns: 1fr;
    padding:
      clamp(104px, 13svh, 132px)
      20px
      clamp(34px, 6svh, 52px);
  }

  .standings-hero__copy {
    display: contents;
  }

  .standings-hero__shade {
    background:
      linear-gradient(180deg, rgba(2, 4, 17, 0.72) 0%, rgba(2, 4, 17, 0.4) 42%, rgba(2, 4, 17, 0.84) 100%),
      linear-gradient(90deg, rgba(2, 4, 17, 0.82) 0%, rgba(2, 4, 17, 0.5) 52%, rgba(2, 4, 17, 0.24) 100%);
  }

  .standings-hero__eyebrow {
    margin-bottom: clamp(20px, 3svh, 30px);
    font-size: 11px;
  }

  .standings-hero h1 {
    max-width: 7ch;
    font-size: clamp(84px, 17vw, 118px);
    white-space: normal;
  }

  .standings-jump {
    min-height: 54px;
    width: min(100%, 520px);
    justify-content: space-between;
    margin-top: auto;
    border-radius: 4px;
    font-size: clamp(12px, 2.3vw, 14px);
    padding: 0 18px;
  }

  .standings-ranking-grid {
    position: static;
    width: min(100%, 760px);
    grid-template-columns: 1fr;
    gap: clamp(28px, 4.5svh, 42px);
    justify-self: start;
    margin-top: clamp(28px, 4svh, 38px);
  }

  .standings-ranking-panel {
    border: 0;
    background: transparent;
    backdrop-filter: none;
    padding: 0;
  }

  .standings-ranking-panel h2 {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #05071b;
    font-size: clamp(11px, 2.2vw, 13px);
    font-weight: 500;
    letter-spacing: 0;
    padding: 0 14px;
  }

  .standings-ranking-panel dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(10px, 4vw, 42px);
    border-top-color: rgba(255, 255, 255, 0.78);
    margin-top: 14px;
    padding-top: 14px;
  }

  .standings-ranking-panel div:first-child {
    grid-column: auto;
  }

  .standings-ranking-panel dt {
    font-size: clamp(9px, 2vw, 12px);
    line-height: 1.05;
    white-space: normal;
  }

  .standings-ranking-panel dd {
    margin-top: clamp(12px, 2svh, 18px);
    font-size: clamp(42px, 9vw, 62px);
  }

  .standings-ranking-panel div:first-child dd {
    font-size: clamp(42px, 9vw, 62px);
  }

  .standings-board__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .standings-board__meta {
    justify-content: flex-start;
    max-width: none;
  }

  .standings-board {
    padding-bottom: 132px;
  }

  .standings-controls {
    width: 100%;
  }

  .standings-select {
    min-width: min(100%, 220px);
  }

  .standings-select--series {
    min-width: min(100%, 330px);
  }

}

@media (max-width: 900px) {
  .standings-mobile-board {
    display: block;
    padding: 0 clamp(20px, 2.7vw, 26px);
  }

  .standings-mobile-view {
    display: grid;
    gap: 18px;
  }

  .standings-mobile-filter {
    display: grid;
    gap: 12px;
  }

  .standings-mobile-filter__copy {
    display: grid;
    gap: 6px;
  }

  .standings-mobile-filter__label,
  .standings-mobile-filter__status {
    margin: 0;
    line-height: 1;
    text-transform: uppercase;
  }

  .standings-mobile-filter__label {
    color: var(--red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.1em;
  }

  .standings-mobile-filter__status {
    color: rgba(5, 7, 27, 0.74);
    font-size: 12px;
    font-weight: 900;
  }

  .standings-mobile-filter__tracks {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    margin-right: -20px;
    margin-left: -20px;
    padding: 0 20px 4px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .standings-mobile-filter__tracks::-webkit-scrollbar {
    display: none;
  }

  .standings-mobile-filter__track {
    display: inline-flex;
    min-height: 38px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(5, 7, 27, 0.12);
    border-radius: 999px;
    background: #ffffff;
    color: rgba(5, 7, 27, 0.72);
    cursor: pointer;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    padding: 0 14px;
    text-transform: uppercase;
  }

  .standings-mobile-filter__track.is-active {
    border-color: var(--red);
    background: var(--red);
    color: #ffffff;
  }

  .standings-mobile-filter__track.is-upcoming:not(.is-active) {
    color: rgba(5, 7, 27, 0.38);
  }

  .standings-mobile-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .standings-mobile-card {
    overflow: hidden;
    border: 1px solid rgba(5, 7, 27, 0.1);
    border-radius: 4px;
    background: #ffffff;
    color: #05071b;
    box-shadow: 0 18px 42px rgba(5, 7, 27, 0.06);
  }

  .standings-mobile-card[open] {
    border-color: rgba(5, 7, 27, 0.18);
    box-shadow: 0 22px 54px rgba(5, 7, 27, 0.1);
  }

  .standings-mobile-card.is-smith-rider {
    border-color: rgba(255, 0, 47, 0.28);
    background: #ffe7eb;
  }

  .standings-mobile-card__summary {
    display: grid;
    min-height: 78px;
    align-items: center;
    grid-template-columns: 34px minmax(0, 1fr) 58px 14px;
    gap: 10px;
    cursor: pointer;
    list-style: none;
    padding: 12px 14px;
  }

  .standings-mobile-card__summary::-webkit-details-marker {
    display: none;
  }

  .standings-mobile-card__position {
    color: #130b82;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
  }

  .standings-mobile-card.is-smith-rider .standings-mobile-card__position {
    color: var(--red);
  }

  .standings-mobile-card__rider {
    display: grid;
    min-width: 0;
    gap: 6px;
  }

  .standings-mobile-card__name {
    display: block;
    overflow-wrap: anywhere;
    color: #111522;
    font-size: clamp(15px, 4.4vw, 18px);
    font-weight: 900;
    line-height: 0.98;
    text-transform: uppercase;
  }

  .standings-mobile-card.is-smith-rider .standings-mobile-card__name {
    color: var(--red);
  }

  .standings-mobile-card__meta {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
  }

  .standings-mobile-card__number {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #747f90;
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    padding: 0 8px;
  }

  .standings-mobile-card.is-smith-rider .standings-mobile-card__number {
    background: var(--red);
  }

  .standings-mobile-card__team {
    overflow: hidden;
    color: rgba(5, 7, 27, 0.62);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .standings-mobile-card__points {
    color: #05071b;
    font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 48px;
    font-weight: 900;
    line-height: 0.76;
    text-align: right;
  }

  .standings-mobile-card.is-smith-rider .standings-mobile-card__points {
    color: var(--red);
  }

  .standings-mobile-card__chevron {
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    color: rgba(5, 7, 27, 0.58);
    transform: translateY(-2px) rotate(45deg);
    transition: transform 180ms ease;
  }

  .standings-mobile-card[open] .standings-mobile-card__chevron {
    transform: translateY(2px) rotate(225deg);
  }

  .standings-mobile-card__breakdown {
    border-top: 1px solid rgba(5, 7, 27, 0.1);
    padding: 0 14px 14px 58px;
  }

  .standings-mobile-round {
    padding-top: 12px;
  }

  .standings-mobile-round__title {
    margin: 0 0 9px;
    color: rgba(5, 7, 27, 0.58);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
  }

  .standings-mobile-round__sessions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin: 0;
  }

  .standings-mobile-round__sessions div {
    display: grid;
    min-height: 48px;
    align-content: center;
    gap: 5px;
    border: 1px solid rgba(5, 7, 27, 0.1);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.72);
    padding: 8px;
  }

  .standings-mobile-round__sessions dt {
    color: rgba(5, 7, 27, 0.5);
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
  }

  .standings-mobile-round__sessions dd {
    margin: 0;
    color: #05071b;
    font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 28px;
    font-weight: 900;
    line-height: 0.76;
  }

  .standings-mobile-card__empty {
    margin: 0;
    padding-top: 12px;
    color: rgba(5, 7, 27, 0.58);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
  }

  .standings-table-shell {
    display: none;
  }
}

@media (max-width: 560px) {
  .about-hero__image {
    object-position: 48% center;
  }

  .about-riders__eyebrow {
    font-size: 18px;
  }

  .about-riders h2 {
    font-size: clamp(70px, 20vw, 96px);
  }

  .about-rider-card__body {
    min-height: 290px;
    padding: 24px 22px 32px;
  }

  .about-rider-card__meta {
    gap: 16px;
    font-size: 12px;
  }

  .about-rider-card__number {
    min-width: 58px;
    min-height: 25px;
  }

  .about-rider-card h3 {
    font-size: clamp(56px, 18vw, 76px);
  }

  .about-rider-card p {
    font-size: 14px;
  }

  .about-rider-card__link {
    left: 22px;
    font-size: 13px;
  }

  .calendar-hero__image {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
  }

  .calendar-hero__content {
    padding-top: 116px;
  }

  .calendar-hero__title {
    max-width: calc(100vw - 40px);
    font-size: clamp(60px, 18vw, 74px);
    white-space: nowrap;
  }

  .calendar-hero__filters {
    right: 20px;
    bottom: max(22px, env(safe-area-inset-bottom));
    flex-direction: column;
    gap: 10px;
  }

  .calendar-filter {
    min-height: 44px;
    justify-content: space-between;
    border-radius: 5px;
    font-size: 13px;
    padding: 0 18px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
  }

  .next-race {
    bottom: calc(clamp(136px, 16svh, 158px) + env(safe-area-inset-bottom));
  }

  .next-race__eyebrow {
    min-height: 25px;
    padding: 0 14px;
  }

  .next-race__line {
    font-size: 16px;
    margin-top: 15px;
  }

  .next-race__timer {
    margin-top: 12px;
    font-size: clamp(28px, 8.4vw, 36px);
  }

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

  .race-card__result {
    margin-right: 42px;
  }

  .circuit-detail {
    padding-right: 20px;
    padding-top: 96px;
    padding-bottom: max(58px, calc(env(safe-area-inset-bottom) + 52px));
    padding-left: 20px;
  }

  .circuit-detail__map {
    width: calc(100vw - 12px);
  }

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

  .circuit-detail__stat {
    padding-top: 8px;
  }

  .circuit-detail__stat dt {
    margin-bottom: 8px;
    font-size: 10px;
  }

  .circuit-detail__stat dd {
    font-size: clamp(28px, 8vw, 34px);
  }

  .circuit-body--snetterton .circuit-detail {
    overflow-x: hidden;
  }

  .circuit-body--donington .circuit-detail__map {
    transform: translateY(-8px);
  }

  .circuit-body--knockhill .circuit-detail__map {
    transform: translateY(-8px);
  }

  .circuit-body--snetterton .circuit-detail__map {
    max-width: 386px;
    transform: translateY(-8px);
  }

  .standings-hero {
    min-height: 100svh;
  }

  .standings-page .site-nav__logo {
    left: 16px;
    width: 50px;
    height: 50px;
  }

  .standings-page .site-nav__left {
    left: 82px;
    gap: 16px;
  }

  .standings-page .site-nav__left {
    font-size: 12px;
  }

  .standings-hero__image {
    object-position: 43% center;
  }

  .standings-hero__content {
    min-height: 100svh;
    padding: 106px 20px 42px;
  }

  .standings-hero h1 {
    font-size: clamp(76px, 22vw, 104px);
    white-space: normal;
  }

  .standings-jump {
    min-height: 50px;
    width: 100%;
    justify-content: space-between;
  }

  .standings-ranking-grid {
    position: static;
    width: 100%;
    gap: clamp(28px, 4.5svh, 36px);
    justify-self: stretch;
    margin-top: clamp(24px, 3.8svh, 34px);
  }

  .standings-ranking-panel h2 {
    font-size: 11px;
    min-height: 26px;
    padding: 0 13px;
  }

  .standings-ranking-panel dl {
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
  }

  .standings-ranking-panel dd {
    font-size: clamp(36px, 10vw, 46px);
  }

  .standings-ranking-panel div:first-child dd {
    font-size: clamp(36px, 10vw, 46px);
  }

  .standings-board {
    padding: 48px 0 132px;
  }

  .standings-board h2 {
    font-size: clamp(34px, 10vw, 48px);
  }

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

  .standings-select,
  .standings-select--series,
  .standings-export {
    width: 100%;
    min-width: 0;
  }

  .standings-export {
    justify-content: space-between;
  }

  .standings-board__meta {
    gap: 6px;
  }

  .standings-board__meta span {
    min-height: 34px;
    font-size: 10px;
  }

  .standings-table {
    min-width: 0;
  }

  .standings-table__rounds th:nth-child(3),
  .standings-table__rounds th:nth-child(4),
  .standings-table tbody td:nth-child(3),
  .standings-table tbody td:nth-child(4) {
    position: relative;
    left: auto;
    z-index: auto;
  }

  .standings-table__rounds th:nth-child(4),
  .standings-table tbody td:nth-child(4) {
    box-shadow: none;
  }

  .standings-table__rounds th {
    padding: 11px 4px 17px;
  }

  .standings-table__sessions th {
    padding: 0 2px;
  }

  .standings-table td {
    padding: 0 3px;
  }

}

@media (max-width: 340px) {
  .race-update__meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    row-gap: 12px;
  }

  .race-update__results {
    transform: none;
  }

  .race-update__meta time {
    position: static;
    grid-column: 1 / 3;
    grid-row: 2;
    justify-self: center;
    transform: none;
  }

  .race-update__round {
    grid-column: 1;
    grid-row: 1;
  }

  .race-update__badge {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }
}

@media (max-width: 380px) {
  .standings-ranking-grid {
    gap: clamp(24px, 4svh, 30px);
  }

  .standings-ranking-panel {
    padding: 0;
  }

  .standings-ranking-panel dl {
    align-items: end;
    gap: 6px;
  }

  .standings-ranking-panel dt {
    font-size: 8px;
  }

  .standings-ranking-panel dd,
  .standings-ranking-panel div:first-child dd {
    font-size: clamp(34px, 11vw, 42px);
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .standings-hero {
    min-height: 100svh;
  }

  .standings-hero__shade {
    background:
      linear-gradient(180deg, rgba(2, 4, 17, 0.64) 0%, rgba(2, 4, 17, 0.34) 42%, rgba(2, 4, 17, 0.82) 100%),
      linear-gradient(90deg, rgba(2, 4, 17, 0.82) 0%, rgba(2, 4, 17, 0.42) 58%, rgba(2, 4, 17, 0.18) 100%);
  }

  .standings-hero__content {
    display: flex;
    min-height: 100svh;
    flex-direction: column;
    align-content: stretch;
    align-items: stretch;
    gap: 0;
    grid-template-columns: 1fr;
    padding:
      clamp(132px, 16svh, 170px)
      clamp(24px, 5vw, 56px)
      clamp(46px, 7svh, 70px);
  }

  .standings-hero__copy {
    display: contents;
  }

  .standings-hero__eyebrow {
    margin-bottom: clamp(28px, 4svh, 42px);
  }

  .standings-hero h1 {
    max-width: 7ch;
    font-size: clamp(118px, 15vw, 160px);
    white-space: normal;
  }

  .standings-jump {
    width: min(100%, 360px);
    justify-content: space-between;
    margin-top: auto;
  }

  .standings-ranking-grid {
    position: static;
    width: min(100%, 760px);
    grid-template-columns: 1fr;
    gap: clamp(30px, 4svh, 44px);
    justify-self: start;
    margin-top: clamp(30px, 4svh, 44px);
  }

  .standings-ranking-panel {
    border: 0;
    background: transparent;
    backdrop-filter: none;
    padding: 0;
  }

  .standings-ranking-panel h2 {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #05071b;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    padding: 0 14px;
  }

  .standings-ranking-panel dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 5vw, 64px);
    border-top-color: rgba(255, 255, 255, 0.78);
    margin-top: 14px;
    padding-top: 14px;
  }

  .standings-ranking-panel div:first-child {
    grid-column: auto;
  }

  .standings-ranking-panel dt {
    font-size: 12px;
    white-space: normal;
  }

  .standings-ranking-panel dd {
    margin-top: 16px;
    font-size: clamp(54px, 7vw, 70px);
  }

  .standings-ranking-panel div:first-child dd {
    font-size: clamp(54px, 7vw, 70px);
  }
}

@media (max-width: 360px) {
  .next-race__timer {
    font-size: clamp(27px, 8.8vw, 31px);
  }
}

.offtrack-body {
  min-height: 100svh;
  overflow-x: hidden;
  background: #03040d;
  color: #ffffff;
}

.offtrack-page {
  position: relative;
  min-height: 100svh;
  background: #03040d;
}

@media (min-width: 1024px) {
  .offtrack-body .depth-gallery__background img {
    object-position: center 43%;
  }
}

.offtrack-nav {
  color: #ffffff;
  transition:
    color 180ms ease,
    text-shadow 180ms ease;
}

.offtrack-body.is-gallery-light .offtrack-nav {
  color: #090909;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.36);
}

.offtrack-body.is-gallery-light .offtrack-nav.site-nav--light .site-nav__logo img {
  filter: none;
  opacity: 1;
}

.offtrack-body.is-gallery-light .offtrack-nav.site-nav--light .nav-submenu {
  color: #090909;
}

.offtrack-body.is-gallery-light .offtrack-nav .site-nav__bike-lockup {
  background-image: url("assets/brand/bmw-f900-r-lockup.svg");
}

.offtrack-gallery {
  position: relative;
  min-height: 760svh;
  background: #03040d;
}

.offtrack-stage {
  position: sticky;
  top: 0;
  height: 100svh;
  overflow: hidden;
  isolation: isolate;
}

.offtrack-stage::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background:
    linear-gradient(180deg, rgba(3, 4, 13, 0.06) 0%, rgba(3, 4, 13, 0.34) 100%),
    linear-gradient(90deg, rgba(3, 4, 13, 0.42) 0%, rgba(3, 4, 13, 0.02) 48%, rgba(3, 4, 13, 0.38) 100%);
}

.offtrack-stage__background,
.offtrack-stage__shade,
.offtrack-stage__grid,
.offtrack-stage__light {
  position: absolute;
  pointer-events: none;
}

.offtrack-stage__background {
  inset: -3svh -3vw;
  z-index: -5;
  width: 106%;
  height: 106%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.9) brightness(0.42) blur(2px);
  transform: translate3d(var(--offtrack-bg-x, 0), 0, 0) scale(1.04);
  transition: transform 80ms linear;
}

.offtrack-stage__shade {
  inset: 0;
  z-index: -4;
  background: rgba(2, 3, 11, 0.42);
}

.offtrack-stage__grid {
  inset: 0;
  z-index: 4;
  opacity: 0.08;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.82) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.82) 1px, transparent 1px);
  background-size: 128px 128px;
  transform: skewX(-8deg) scale(1.1);
  transform-origin: center;
}

.offtrack-stage__light {
  z-index: -2;
  width: clamp(130px, 16vw, 300px);
  height: 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow:
    0 0 18px rgba(255, 255, 255, 0.9),
    0 0 58px rgba(159, 186, 255, 0.36);
  filter: blur(1px);
  opacity: 0.68;
  transform: rotate(2deg);
}

.offtrack-stage__light--one {
  top: 18svh;
  left: 25vw;
}

.offtrack-stage__light--two {
  top: 57svh;
  left: 58vw;
}

.offtrack-stage__light--three {
  top: 28svh;
  right: 8vw;
  width: clamp(100px, 11vw, 210px);
  opacity: 0.52;
}

.offtrack-title {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: min-content;
  margin: 0;
  color: rgba(255, 255, 255, 0.16);
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(88px, 16.5vw, 270px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.76;
  text-align: center;
  text-transform: uppercase;
  transform: translate(-50%, -50%);
  transition: opacity 90ms linear;
  pointer-events: none;
}

.offtrack-frames {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}

.offtrack-frame {
  position: absolute;
  top: 0;
  left: 0;
  width: min(34vw, 620px);
  aspect-ratio: var(--ratio);
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 26px 80px rgba(0, 0, 0, 0.44),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
  opacity: 0;
  transform: translate3d(calc(50vw - 50%), calc(50svh - 50%), 0) scale(0.45);
  transform-origin: center;
  transition:
    border-color 240ms ease,
    box-shadow 240ms ease;
  will-change: transform, opacity, filter;
}

.offtrack-frame.is-active {
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow:
    0 34px 100px rgba(0, 0, 0, 0.56),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.offtrack-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 520ms ease;
  user-select: none;
  -webkit-user-drag: none;
}

.offtrack-frame.is-loaded img {
  opacity: 1;
}

.offtrack-caption {
  position: absolute;
  right: 24px;
  bottom: clamp(26px, 4svh, 44px);
  left: 24px;
  z-index: 8;
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(17px, 1.4vw, 25px);
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-shadow: 0 8px 22px rgba(0, 0, 0, 0.6);
  transition: opacity 180ms ease;
  pointer-events: none;
}

.offtrack-progress {
  position: absolute;
  right: clamp(22px, 3vw, 54px);
  bottom: clamp(24px, 4svh, 42px);
  z-index: 8;
  width: clamp(80px, 8vw, 150px);
  height: 2px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.22);
}

.offtrack-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: #ffffff;
  transform: scaleX(var(--offtrack-progress, 0));
  transform-origin: left center;
}

.offtrack-gallery.is-static {
  min-height: auto;
}

.offtrack-gallery.is-static .offtrack-stage {
  position: relative;
  height: auto;
  min-height: 100svh;
  padding: clamp(112px, 16svh, 160px) clamp(18px, 4vw, 56px) clamp(70px, 10svh, 110px);
}

.offtrack-gallery.is-static .offtrack-title {
  position: relative;
  top: auto;
  left: auto;
  width: auto;
  margin-bottom: 32px;
  color: rgba(255, 255, 255, 0.72);
  font-size: clamp(82px, 20vw, 160px);
  text-align: left;
  transform: none;
}

.offtrack-gallery.is-static .offtrack-frames {
  position: relative;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.offtrack-gallery.is-static .offtrack-frame,
.offtrack-gallery.is-static .offtrack-frame--portrait {
  position: relative;
  top: auto;
  left: auto;
  width: 100%;
  opacity: 1;
  transform: none !important;
}

.offtrack-gallery.is-static .offtrack-frame--portrait {
  grid-row: span 2;
}

.offtrack-gallery.is-static .offtrack-caption,
.offtrack-gallery.is-static .offtrack-progress {
  display: none;
}

@media (max-width: 760px) {
  .offtrack-gallery.is-static .offtrack-stage {
    padding-right: 18px;
    padding-left: 18px;
  }

  .offtrack-gallery.is-static .offtrack-frames {
    grid-template-columns: 1fr;
  }

  .offtrack-stage__light--two,
  .offtrack-stage__light--three {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .offtrack-stage__background,
  .offtrack-title,
  .offtrack-frame,
  .offtrack-frame img,
  .offtrack-caption {
    transition: none;
  }
}

.rider-detail-body {
  min-height: 100svh;
  overflow-x: hidden;
  background: #ffffff;
  color: #000000;
}

.rider-detail-nav {
  z-index: 6;
}

.rider-profile {
  position: relative;
  display: grid;
  min-height: 100svh;
  overflow: hidden;
  align-items: center;
  grid-template-columns: minmax(620px, 0.92fr) minmax(480px, 0.9fr);
  gap: clamp(42px, 5.4vw, 86px);
  padding: clamp(48px, 6.8svh, 70px) clamp(38px, 4.55vw, 70px) clamp(48px, 6.8svh, 70px) calc(var(--nav-edge-inset) + 12px);
  background: #ffffff;
  color: #000000;
  isolation: isolate;
  scroll-margin-top: 0;
}

.rider-profile__copy {
  position: relative;
  z-index: 2;
  width: min(100%, 640px);
  padding-top: 0;
  transform: translateY(clamp(20px, 4svh, 38px));
}

.rider-profile__heading-row {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.1vw, 32px);
}

.rider-profile__identity {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
}

.rider-profile__identity-text {
  display: none;
}

.rider-profile__title {
  margin: 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(86px, 8.35vw, 136px);
  font-weight: 900;
  line-height: 0.76;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

@media (min-width: 1101px) {
  .rider-profile--christian .rider-profile__title {
    margin-right: -0.87em;
    transform: scaleX(0.8);
    transform-origin: left center;
  }
}

.rider-profile__badge {
  position: relative;
  display: grid;
  width: clamp(58px, 5.3vw, 82px);
  height: clamp(58px, 5.3vw, 82px);
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(0, 0, 0, 0.38);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #ffffff 0 47%, transparent 48%),
    conic-gradient(from 7deg, rgba(255, 0, 47, 0.82), rgba(0, 0, 0, 0.78), rgba(255, 0, 47, 0.82), rgba(0, 0, 0, 0.78));
  box-shadow: inset 0 0 0 5px #ffffff;
  color: #050505;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  line-height: 0.86;
  text-align: center;
  transform: rotate(-7deg);
}

.rider-profile__badge::before,
.rider-profile__badge::after {
  position: absolute;
  inset: 7px;
  content: "";
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: inherit;
  pointer-events: none;
}

.rider-profile__badge::after {
  inset: 12px;
  border-color: rgba(255, 0, 47, 0.2);
}

.rider-profile__badge span,
.rider-profile__badge strong {
  position: relative;
  z-index: 1;
  display: block;
}

.rider-profile__badge span {
  font-size: clamp(18px, 1.8vw, 27px);
  letter-spacing: 0;
}

.rider-profile__badge strong {
  color: var(--red);
  font-size: clamp(20px, 2.1vw, 32px);
  font-weight: 900;
  letter-spacing: 0;
}

.rider-profile__badge--image {
  border: 0;
  background: none;
  box-shadow: none;
  transform: translateY(-14px);
}

.rider-profile__badge--image::before,
.rider-profile__badge--image::after {
  content: none;
}

.rider-profile__badge--image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

.rider-profile__lede {
  max-width: 430px;
  margin: clamp(28px, 4svh, 40px) 0 0;
  font-size: clamp(18px, 1.32vw, 22px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: 0;
}

.rider-profile__actions {
  --rider-profile-contact-width: clamp(184px, 11.4vw, 220px);

  display: grid;
  width: min(100%, 640px);
  grid-template-columns: max-content minmax(0, 1fr);
  grid-template-areas:
    "contact controls";
  align-items: center;
  column-gap: 16px;
  margin-top: clamp(28px, 4.4svh, 42px);
}

.rider-profile__contact {
  grid-area: contact;
  display: inline-flex;
  width: var(--rider-profile-contact-width);
  min-height: clamp(48px, 3.05vw, 56px);
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 14px 20px;
  border-radius: 8px;
  background: #000000;
  box-shadow: none;
  color: #ffffff;
  font-size: clamp(13px, 0.82vw, 15px);
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    background-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.rider-profile__contact:hover,
.rider-profile__contact:focus-visible {
  background: var(--red);
  box-shadow: 0 14px 22px rgba(255, 0, 47, 0.18);
  outline: none;
  transform: translateY(-2px);
}

.rider-profile__contact svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

.rider-profile__contact svg path {
  stroke-width: 2;
}

.rider-profile__slider-button:focus-visible {
  outline: 2px solid rgba(255, 0, 47, 0.9);
  outline-offset: 3px;
}

.rider-profile__slider-controls {
  grid-area: controls;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-self: start;
  margin-left: clamp(226px, calc(13vw + 35px), 270px);
}

.rider-profile--christian .rider-profile__slider-controls,
.rider-profile--kieran .rider-profile__slider-controls {
  margin-left: calc(clamp(287px, calc(36.4vw - 114px), 472px) - var(--rider-profile-contact-width));
}

.rider-profile__slider-button {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  background: #ffffff;
  color: rgba(0, 0, 0, 0.54);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.rider-profile__slider-button:hover {
  border-color: #000000;
  background: #000000;
  color: #ffffff;
  transform: translateY(-1px);
}

.rider-profile__media {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: clamp(540px, 86svh, 690px);
  overflow: visible;
}

.rider-profile__slider-window {
  position: absolute;
  top: 0;
  right: clamp(96px, 10vw, 170px);
  width: min(100%, 575px);
  height: 100%;
  overflow: visible;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.rider-detail-body .rider-profile__media {
  --rider-profile-nav-clearance: clamp(72px, 9svh, 88px);
}

.rider-detail-body .rider-profile__slider-window {
  top: var(--rider-profile-nav-clearance);
  height: calc(100% - var(--rider-profile-nav-clearance));
}

.rider-profile__slider-window.is-dragging {
  cursor: grabbing;
}

.rider-profile__slide {
  position: absolute;
  inset: 0;
  width: min(100%, 575px);
  height: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #dddddd;
  box-shadow: 0 26px 58px rgba(0, 0, 0, 0.12);
  opacity: var(--shift-opacity, 0);
  transform: translate3d(var(--shift-x, 96%), var(--shift-y, 0), 0) scale(var(--shift-scale, 0.82));
  transform-origin: center center;
  transition:
    transform 720ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 520ms ease,
    filter 720ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, opacity, filter;
}

.rider-profile__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--rider-profile-image-position, center);
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.rider-profile__slide:nth-child(1) img {
  --rider-profile-image-position: 48% 50%;
}

.rider-profile__slide:nth-child(2) img {
  --rider-profile-image-position: 44% 50%;
}

.rider-profile__slide:nth-child(3) img {
  --rider-profile-image-position: 52% 44%;
}

.rider-profile__slide:nth-child(4) img {
  --rider-profile-image-position: 42% 50%;
}

.rider-profile--christian .rider-profile__slide:nth-child(1) img {
  --rider-profile-image-position: 58% 50%;
}

.rider-profile--christian .rider-profile__slide:nth-child(2) img {
  --rider-profile-image-position: 58% 50%;
}

.rider-profile--christian .rider-profile__slide:nth-child(3) img {
  --rider-profile-image-position: 52% 50%;
}

.rider-profile--christian .rider-profile__slide:nth-child(4) img {
  --rider-profile-image-position: 66% 50%;
}

.rider-profile--christian .rider-profile__slide:nth-child(5) img {
  --rider-profile-image-position: 56% 50%;
}

.rider-profile--christian .rider-profile__slide:nth-child(6) img {
  --rider-profile-image-position: 46% 50%;
}

.rider-profile--christian .rider-profile__slide:nth-child(7) img {
  --rider-profile-image-position: 50% 58%;
}

.rider-profile--christian .rider-profile__slide:nth-child(8) img {
  --rider-profile-image-position: 50% 50%;
}

.rider-profile--kieran .rider-profile__slide:nth-child(1) img {
  --rider-profile-image-position: 50% 50%;
}

.rider-profile--kieran .rider-profile__slide:nth-child(2) img {
  --rider-profile-image-position: 48% 50%;
}

.rider-profile--kieran .rider-profile__slide:nth-child(3) img {
  --rider-profile-image-position: 44% 50%;
}

.rider-profile--kieran .rider-profile__slide:nth-child(4) img {
  --rider-profile-image-position: 42% 44%;
}

.rider-profile--kieran .rider-profile__slide:nth-child(5) img {
  --rider-profile-image-position: 42% 50%;
}

.rider-profile--kieran .rider-profile__slide:nth-child(6) img {
  --rider-profile-image-position: 64% 50%;
}

.rider-profile--kieran .rider-profile__slide:nth-child(7) img {
  --rider-profile-image-position: 58% 50%;
}

.rider-profile--kieran .rider-profile__slide:nth-child(8) img {
  --rider-profile-image-position: 50% 58%;
}

.rider-profile__caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.rider-tabs {
  padding: clamp(24px, 5svh, 54px) calc(var(--nav-edge-inset) + 12px) clamp(170px, 18svh, 240px);
  background: #ffffff;
  color: #000000;
}

.rider-tabs__nav {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.rider-tabs__tab {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 72px;
  align-items: center;
  gap: clamp(12px, 1.4vw, 22px);
  color: rgba(0, 0, 0, 0.34);
  cursor: pointer;
  font-size: clamp(13px, 1vw, 18px);
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-align: left;
  text-transform: uppercase;
  transition:
    color 180ms ease,
    opacity 180ms ease;
}

.rider-tabs__tab::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  content: "";
  background: var(--red);
  opacity: 0;
  transform: scaleX(0.4);
  transition:
    opacity 180ms ease,
    transform 220ms ease;
}

.rider-tabs__tab:hover,
.rider-tabs__tab.is-active {
  color: #000000;
}

.rider-tabs__tab.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.rider-tabs__icon {
  display: grid;
  width: clamp(44px, 4.1vw, 58px);
  height: clamp(44px, 4.1vw, 58px);
  flex: 0 0 auto;
  place-items: center;
  background: #f3f3f3;
  color: currentColor;
  transition:
    background 180ms ease,
    color 180ms ease;
}

.rider-tabs__tab.is-active .rider-tabs__icon,
.rider-tabs__tab:hover .rider-tabs__icon {
  background: #ededed;
}

.rider-tabs__panels {
  margin-top: clamp(22px, 3.3svh, 34px);
}

.rider-tabs__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.45fr);
  gap: clamp(18px, 2vw, 28px);
}

.rider-tabs__panel[hidden] {
  display: none;
}

.rider-tabs__visual,
.rider-tabs__card {
  background: #f5f5f5;
}

.rider-tabs__visual {
  position: relative;
  min-height: clamp(430px, 58svh, 640px);
  overflow: hidden;
  padding: clamp(26px, 3vw, 48px);
}

.rider-tabs__visual--profile {
  display: flex;
  flex-direction: column;
}

.rider-tabs__cards {
  display: grid;
  gap: clamp(16px, 2svh, 24px);
}

.rider-tabs__card {
  display: grid;
  min-height: clamp(132px, 17svh, 184px);
  align-content: center;
  gap: clamp(16px, 2svh, 24px);
  padding: clamp(24px, 2.7vw, 36px);
}

.rider-tabs__card p {
  max-width: 510px;
  margin: 0;
  color: rgba(0, 0, 0, 0.62);
  font-size: clamp(18px, 1.45vw, 28px);
  font-weight: 500;
  line-height: 1.22;
  letter-spacing: 0;
}

.rider-tabs__card-icon {
  display: inline-grid;
  width: fit-content;
  min-width: 52px;
  height: 52px;
  max-width: 100%;
  place-items: center;
  padding: 0;
  background: #ffffff;
  color: #000000;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.rider-tabs__card-icon--pill {
  --glow-x: 50%;
  --glow-y: 50%;
  --glow-opacity: 0;
  position: relative;
  isolation: isolate;
  min-width: 0;
  height: 34px;
  overflow: visible;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.08em;
}

.rider-tabs__card-icon--pill::before,
.rider-tabs__card-icon--pill::after {
  position: absolute;
  content: "";
  pointer-events: none;
  opacity: var(--glow-opacity);
  transition: opacity 180ms ease;
}

.rider-tabs__card-icon--pill::before {
  inset: -5px;
  z-index: -1;
  border-radius: inherit;
  padding: 5px;
  background: radial-gradient(62px circle at calc(var(--glow-x) + 5px) calc(var(--glow-y) + 5px), rgba(255, 0, 47, 0.16), transparent 62%);
  filter: blur(3px);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.rider-tabs__card-icon--pill::after {
  inset: -1px;
  z-index: 2;
  border-radius: inherit;
  padding: 1px;
  background: radial-gradient(70px circle at calc(var(--glow-x) + 1px) calc(var(--glow-y) + 1px), rgba(255, 0, 47, 0.72), transparent 56%);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.rider-tabs__card-icon--pill.is-hovered,
.rider-tabs__card-icon--pill:hover {
  z-index: 1;
}

.rider-profile-card {
  display: grid;
  grid-template-columns: minmax(150px, 0.38fr) minmax(0, 1fr);
  gap: clamp(20px, 2.4vw, 34px);
  align-items: end;
}

.rider-profile-card > div {
  transform: translateY(clamp(-74px, -8svh, -42px));
}

.rider-profile-card > .rider-profile-card__content {
  display: block;
  min-height: 100%;
  align-self: stretch;
  transform: none;
}

.rider-profile-card__header {
  display: grid;
  width: fit-content;
  max-width: 100%;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: clamp(18px, 2.1vw, 28px);
  row-gap: clamp(12px, 1.8svh, 18px);
  align-items: center;
}

.rider-profile-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
  filter: grayscale(100%);
}

.rider-profile-card p {
  margin: 0 0 clamp(28px, 4svh, 42px);
  color: var(--red);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
}

.rider-profile-card h2 {
  grid-column: 1 / -1;
  max-width: 620px;
  margin: 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(76px, 8vw, 128px);
  font-weight: 900;
  line-height: 0.76;
  letter-spacing: 0;
  text-transform: uppercase;
}

.rider-profile-card span {
  display: block;
  margin-top: 18px;
  color: rgba(0, 0, 0, 0.58);
  font-size: clamp(16px, 1.15vw, 22px);
  font-weight: 600;
  line-height: 1.2;
}

.rider-profile-card__socials {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  justify-self: end;
}

.rider-profile-card__socials a {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  background: #ffffff;
  color: #000000;
  transition:
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.rider-profile-card__socials a:hover {
  border-color: rgba(255, 0, 47, 0.42);
  color: var(--red);
  transform: translateY(-1px);
}

.rider-profile-card__socials a:focus-visible {
  outline: 2px solid rgba(255, 0, 47, 0.9);
  outline-offset: 3px;
}

.rider-profile-card__socials svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}

.rider-profile-card__team {
  margin-top: 0 !important;
  font-size: clamp(14px, 0.9vw, 18px);
}

.rider-profile-bio {
  width: min(100%, 860px);
  margin: clamp(24px, 4svh, 46px) 0 clamp(24px, 4svh, 42px);
}

.rider-profile-bio p {
  margin: 0;
  color: #000000;
  font-size: clamp(18px, 1.35vw, 28px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
}

.rider-profile-bio p + p {
  margin-top: clamp(18px, 3svh, 34px);
}

.rider-profile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: auto 0 0;
  background: rgba(0, 0, 0, 0.1);
}

.rider-profile-grid div,
.rider-stat-strip div {
  min-width: 0;
  background: #ffffff;
  padding: clamp(16px, 1.7vw, 24px);
}

.rider-profile-grid div {
  --glow-x: 50%;
  --glow-y: 50%;
  --glow-opacity: 0;
  position: relative;
  isolation: isolate;
  overflow: visible;
}

.rider-profile-grid div::before,
.rider-profile-grid div::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: var(--glow-opacity);
  transition: opacity 180ms ease;
}

.rider-profile-grid div::before {
  inset: -10px;
  z-index: -1;
  padding: 10px;
  background: radial-gradient(104px circle at calc(var(--glow-x) + 10px) calc(var(--glow-y) + 10px), rgba(255, 0, 47, 0.24), transparent 58%);
  filter: blur(4px);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.rider-profile-grid div::after {
  inset: -1px;
  z-index: 2;
  padding: 2px;
  background: radial-gradient(118px circle at calc(var(--glow-x) + 1px) calc(var(--glow-y) + 1px), rgba(255, 0, 47, 0.95), transparent 48%);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.rider-profile-grid div.is-hovered,
.rider-profile-grid div:hover {
  z-index: 1;
}

.rider-profile-grid dt,
.rider-stat-strip dt {
  margin: 0 0 12px;
  color: rgba(0, 0, 0, 0.44);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.rider-profile-grid dd,
.rider-stat-strip dd {
  margin: 0;
  color: #000000;
  font-size: clamp(16px, 1.25vw, 22px);
  font-weight: 800;
  line-height: 1.05;
}

.rider-stat-board {
  display: grid;
  width: min(100%, 720px);
  grid-template-columns: repeat(7, minmax(54px, 1fr));
  gap: clamp(10px, 1.1vw, 16px);
  margin: clamp(28px, 4svh, 54px) auto 0;
}

.rider-stat-board span {
  display: grid;
  aspect-ratio: 1;
  place-items: end start;
  border: 2px solid rgba(0, 0, 0, 0.24);
  background: #e9e9e9;
  color: rgba(0, 0, 0, 0.46);
  font-size: clamp(16px, 1.35vw, 24px);
  font-weight: 700;
  line-height: 1;
  padding: 8px;
}

.rider-stat-board .is-highlighted {
  border-color: rgba(255, 0, 47, 0.3);
  background: linear-gradient(180deg, rgba(255, 0, 47, 0.18), rgba(255, 255, 255, 0.8));
  color: #000000;
}

.rider-stat-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: clamp(26px, 4svh, 46px) 0 0;
  background: rgba(0, 0, 0, 0.1);
}

.rider-tabs__panel--stats {
  grid-template-columns: 1fr;
}

.rider-tabs__visual--stats {
  display: grid;
  min-height: auto;
  gap: clamp(16px, 2.2svh, 24px);
  overflow: visible;
  padding: clamp(18px, 2.2vw, 30px);
}

.rider-stats-bento__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(18px, 3vw, 42px);
  align-items: end;
}

.rider-stats-bento__header p {
  margin: 0 0 clamp(16px, 1.8vw, 24px);
  color: var(--red);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

.rider-stats-bento__header h2 {
  max-width: 590px;
  margin: 0;
  color: #000000;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(56px, 5.6vw, 84px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.76;
  text-transform: uppercase;
}

.rider-stats-switch {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rider-stats-switch button {
  min-height: 36px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 999px;
  padding: 0 18px;
  background: #ffffff;
  color: rgba(0, 0, 0, 0.46);
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
  transition:
    background 180ms ease,
    color 180ms ease;
}

.rider-stats-switch button:hover {
  border-color: #000000;
  background: #000000;
  color: #ffffff;
}

.rider-stats-switch button.is-active {
  border-color: var(--red);
  background: var(--red);
  color: #ffffff;
}

.rider-stats-bento__panel {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: clamp(12px, 1.2vw, 16px);
}

.rider-stats-bento__panel[hidden] {
  display: none;
}

.rider-stat-card {
  --glow-x: 50%;
  --glow-y: 50%;
  --glow-opacity: 0;
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(156px, 18svh, 188px);
  flex-direction: column;
  grid-column: span 3;
  overflow: visible;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  padding: clamp(20px, 2vw, 28px);
  background: #ffffff;
  color: #000000;
  transition:
    transform 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}

.rider-stat-card::before,
.rider-stat-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: var(--glow-opacity);
  transition: opacity 180ms ease;
}

.rider-stat-card::before {
  inset: -10px;
  z-index: -1;
  border-radius: 16px;
  padding: 10px;
  background: radial-gradient(104px circle at calc(var(--glow-x) + 10px) calc(var(--glow-y) + 10px), rgba(255, 0, 47, 0.24), transparent 58%);
  filter: blur(4px);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.rider-stat-card::after {
  inset: -1px;
  z-index: 2;
  border-radius: 9px;
  padding: 2px;
  background: radial-gradient(118px circle at calc(var(--glow-x) + 1px) calc(var(--glow-y) + 1px), rgba(255, 0, 47, 0.95), transparent 48%);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.rider-stat-card.is-hovered,
.rider-stat-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.08);
}

.rider-stat-card--large {
  grid-column: span 6;
  min-height: clamp(220px, 28svh, 260px);
}

.rider-stat-card--wide {
  grid-column: span 6;
  min-height: clamp(156px, 18svh, 188px);
}

.rider-stat-card--tall {
  grid-column: span 6;
  grid-row: auto;
  min-height: clamp(220px, 28svh, 260px);
}

.rider-stat-card p,
.rider-stat-card h3,
.rider-stat-card strong,
.rider-stat-card > span {
  position: relative;
  z-index: 1;
}

.rider-stat-card p {
  margin: 0 0 clamp(12px, 1.3svh, 18px);
  color: var(--red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
}

.rider-stat-card h3 {
  max-width: 360px;
  margin: 0;
  color: #000000;
  font-size: clamp(18px, 1.35vw, 23px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
}

.rider-stat-card strong {
  display: block;
  margin: auto 0 0;
  padding-top: clamp(22px, 4svh, 48px);
  color: rgba(0, 0, 0, 0.75);
  font-size: clamp(52px, 4.7vw, 74px);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.78;
}

.rider-stat-card--large h3,
.rider-stat-card--tall h3 {
  max-width: 430px;
  font-size: clamp(24px, 2vw, 34px);
}

.rider-stat-card--large strong,
.rider-stat-card--tall strong {
  font-size: clamp(86px, 8.5vw, 122px);
}

.rider-stat-card--wide strong {
  font-size: clamp(62px, 5.2vw, 86px);
}

.rider-stat-card > span {
  max-width: 430px;
  margin-top: clamp(12px, 1.4svh, 18px);
  color: rgba(0, 0, 0, 0.56);
  font-size: clamp(13px, 0.95vw, 15px);
  font-weight: 500;
  line-height: 1.3;
}

.rider-stat-card * {
  min-width: 0;
}

.rider-tabs__panel--story {
  grid-template-columns: 1fr;
}

.rider-tabs__visual--story {
  --story-card-width: clamp(620px, 58vw, 800px);
  --story-image-width: clamp(460px, 44vw, 600px);
  --story-image-height: clamp(250px, 26vw, 300px);
  position: relative;
  display: grid;
  min-height: clamp(460px, 56svh, 610px);
  overflow: hidden;
  align-content: center;
  background: #f8f8f8;
  color: #000000;
  padding: clamp(34px, 5vw, 68px) 0;
}

.rider-story-scroll__controls {
  position: absolute;
  top: clamp(20px, 3vw, 34px);
  left: clamp(20px, 3vw, 38px);
  z-index: 3;
  display: inline-flex;
  gap: 10px;
}

.rider-story-scroll__button {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 999px;
  background: #ffffff;
  color: #000000;
  cursor: pointer;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    opacity 180ms ease;
}

.rider-story-scroll__button:hover,
.rider-story-scroll__button:focus-visible {
  border-color: #000000;
  background: #000000;
  color: #ffffff;
}

.rider-story-scroll__button:disabled {
  cursor: default;
  opacity: 0.28;
}

.rider-story-scroll__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-padding-inline: clamp(48px, 9vw, 128px);
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.rider-story-scroll__viewport::-webkit-scrollbar {
  display: none;
}

.rider-story-scroll__track {
  display: flex;
  width: max-content;
  min-width: 100%;
  align-items: start;
  gap: 0;
  padding: 0 clamp(48px, 9vw, 128px);
}

.rider-story-scroll__card {
  position: relative;
  flex: 0 0 var(--story-card-width);
  scroll-snap-align: start;
  perspective: 1200px;
}

.rider-story-scroll__card figure {
  position: relative;
  width: var(--story-image-width);
  margin: 0 0 0 clamp(72px, 7vw, 100px);
  transform-origin: center;
  transform: rotateX(0deg) rotateY(0deg) translateZ(0);
  transition:
    transform 280ms ease,
    opacity 280ms ease;
}

.rider-story-scroll__card:not(.is-near) figure {
  opacity: 0.72;
  transform: rotateX(7deg) rotateY(-18deg) translateY(-20px) translateZ(-20px);
}

.rider-story-scroll__card img {
  display: block;
  width: 100%;
  height: var(--story-image-height);
  object-fit: cover;
  object-position: center;
  user-select: none;
}

.rider-story-scroll__card img.rider-story-scroll__image--full {
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: contain;
}

.rider-story-scroll__card span {
  position: absolute;
  left: -34px;
  bottom: 0;
  display: block;
  color: rgba(0, 0, 0, 0.32);
  font-size: clamp(14px, 1.2vw, 18px);
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
  transform: rotate(-90deg);
  transform-origin: left bottom;
  white-space: nowrap;
}

.rider-story-scroll__card p {
  width: min(var(--story-image-width), 100%);
  margin: clamp(18px, 2.4svh, 26px) 0 0 clamp(72px, 7vw, 100px);
  color: rgba(0, 0, 0, 0.72);
  font-size: clamp(19px, 1.8vw, 30px);
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.06;
}

.rider-tabs__visual--gear {
  display: grid;
  min-height: clamp(720px, 82svh, 900px);
}

.rider-tabs__panel--gear {
  grid-template-columns: minmax(0, 1fr);
}

.rider-gear-loadout {
  display: grid;
  min-width: 0;
  gap: clamp(24px, 3svh, 36px);
}

.rider-gear-card {
  display: grid;
  min-height: 100%;
  grid-template-rows: auto minmax(500px, 1fr) auto;
  gap: clamp(28px, 3.8svh, 46px);
}

.rider-gear-brand {
  display: flex;
  align-items: center;
  gap: clamp(16px, 1.4vw, 22px);
  justify-self: center;
}

.rider-gear-brand__bmw {
  width: clamp(48px, 4.5vw, 66px);
  height: clamp(48px, 4.5vw, 66px);
  object-fit: contain;
}

.rider-gear-brand__slash {
  width: 1px;
  height: clamp(40px, 3.9vw, 58px);
  background: #000000;
  transform: rotate(31deg);
  transform-origin: center;
}

.rider-gear-brand__bathams {
  display: flex;
  width: clamp(94px, 8vw, 128px);
  height: clamp(32px, 2.9vw, 44px);
  overflow: hidden;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #050505;
}

.rider-gear-brand__bathams img {
  width: 126%;
  height: 378%;
  object-fit: cover;
  object-position: center 48%;
}

.rider-gear-brand__bathams--racing {
  width: clamp(112px, 8.4vw, 136px);
  height: clamp(36px, 2.75vw, 44px);
  margin-left: 0;
  border-radius: 8px;
}

.rider-gear-brand__bathams--racing img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.rider-gear-bento {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(178px, auto);
  gap: clamp(12px, 1.3vw, 18px);
}

.rider-gear-tile {
  --glow-x: 50%;
  --glow-y: 50%;
  --glow-opacity: 0;
  position: relative;
  isolation: isolate;
  display: grid;
  min-width: 0;
  min-height: 178px;
  align-content: end;
  overflow: visible;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  background: #ffffff;
  color: #000000;
  padding: clamp(18px, 1.8vw, 26px);
  transition:
    transform 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}

.rider-gear-tile::before,
.rider-gear-tile::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: var(--glow-opacity);
  transition: opacity 180ms ease;
}

.rider-gear-tile::before {
  inset: -10px;
  z-index: -1;
  border-radius: 16px;
  padding: 10px;
  background: radial-gradient(104px circle at calc(var(--glow-x) + 10px) calc(var(--glow-y) + 10px), rgba(255, 0, 47, 0.24), transparent 58%);
  filter: blur(4px);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.rider-gear-tile::after {
  inset: -1px;
  z-index: 2;
  border-radius: 9px;
  padding: 2px;
  background: radial-gradient(118px circle at calc(var(--glow-x) + 1px) calc(var(--glow-y) + 1px), rgba(255, 0, 47, 0.95), transparent 48%);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.rider-gear-tile.is-hovered,
.rider-gear-tile:hover {
  z-index: 1;
  transform: translateY(-3px);
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.08);
}

.rider-gear-tile:not(.rider-gear-tile--hero):not(.rider-gear-tile--logo):not(.rider-gear-tile--number) {
  align-content: start;
}

.rider-gear-tile--hero {
  min-height: clamp(440px, 54svh, 560px);
  grid-column: span 2;
  grid-row: span 2;
  padding: clamp(22px, 2.4vw, 34px);
  background: #111111;
  color: #ffffff;
}

.rider-gear-tile--hero > img {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  object-position: center;
  user-select: none;
}

.rider-gear-tile__shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 54%, rgba(0, 0, 0, 0.64) 100%);
  pointer-events: none;
}

.rider-gear-tile__copy {
  position: relative;
  z-index: 2;
  display: grid;
  max-width: 520px;
  gap: 14px;
}

.rider-gear-tile--hero .rider-gear-tile__copy {
  width: min(100%, 720px);
  max-width: none;
  justify-self: center;
  align-self: end;
  justify-items: center;
}

.rider-gear-tile span {
  position: relative;
  z-index: 3;
  display: block;
  width: fit-content;
  max-width: 100%;
  color: rgba(0, 0, 0, 0.48);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.rider-gear-tile h2,
.rider-gear-tile h3,
.rider-gear-tile p,
.rider-gear-tile strong {
  position: relative;
  z-index: 3;
  margin: 0;
}

.rider-gear-tile h2 {
  max-width: 560px;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(56px, 7vw, 98px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.98;
  text-transform: uppercase;
}

.rider-gear-tile h3 {
  margin-top: 14px;
  font-size: clamp(22px, 1.9vw, 32px);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.1;
}

#kieran-panel-gear .rider-gear-tile:not(.rider-gear-tile--hero):not(.rider-gear-tile--number) h3 {
  font-size: clamp(21px, 1.62vw, 28px);
}

.rider-gear-tile p {
  margin-top: 12px;
  color: rgba(0, 0, 0, 0.58);
  font-size: clamp(15px, 1.08vw, 18px);
  font-weight: 560;
  letter-spacing: 0;
  line-height: 1.22;
}

.rider-gear-tile--hero span,
.rider-gear-tile--hero p {
  color: rgba(255, 255, 255, 0.74);
}

.rider-gear-tile--hero p {
  max-width: 620px;
  margin-top: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(14px, 1.04vw, 17px);
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
}

.rider-gear-tile--logo {
  align-content: space-between;
}

.rider-gear-tile--logo > img {
  position: relative;
  z-index: 3;
  display: block;
  width: clamp(46px, 4.8vw, 72px);
  height: clamp(46px, 4.8vw, 72px);
  object-fit: contain;
}

.rider-gear-tile--bathams > img {
  width: clamp(96px, 9vw, 136px);
  height: clamp(34px, 3.4vw, 48px);
  border-radius: 999px;
  background: #050505;
  object-fit: cover;
  object-position: center 48%;
}

.rider-gear-tile--number {
  align-content: space-between;
}

.rider-gear-tile--number strong {
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(82px, 9vw, 132px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.96;
}

.rider-gear-tile--bike {
  grid-column: span 2;
}

.rider-media-carousel {
  display: grid;
  min-width: 0;
  align-self: center;
  overflow: hidden;
  gap: 10px;
  border-radius: 14px;
  background: #171717;
  padding: 10px;
}

.rider-media-carousel__stage {
  position: relative;
  display: grid;
  min-width: 0;
  height: clamp(390px, 48svh, 460px);
  overflow: hidden;
  grid-template-columns: minmax(82px, 0.11fr) minmax(0, 1fr) minmax(82px, 0.11fr);
  gap: 12px;
  background: #171717;
}

.rider-media-carousel__panel {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 0;
  background: #111111;
  color: inherit;
  cursor: pointer;
}

.rider-media-carousel__panel img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition:
    opacity 220ms ease,
    transform 420ms ease,
    filter 220ms ease;
  user-select: none;
}

.rider-media-carousel__panel--side img {
  filter: saturate(0.88) brightness(0.58);
}

.rider-media-carousel__panel:hover img,
.rider-media-carousel__panel:focus-visible img {
  transform: scale(1.018);
}

.rider-media-carousel__arrow {
  position: absolute;
  z-index: 2;
  top: 54%;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.66);
  color: #050505;
  cursor: pointer;
  opacity: 0.78;
  transform: translateY(-50%);
  transition:
    background 180ms ease,
    color 180ms ease,
    opacity 180ms ease;
}

.rider-media-carousel__arrow:hover,
.rider-media-carousel__arrow:focus-visible {
  background: #ffffff;
  opacity: 1;
}

.rider-media-carousel__arrow--prev {
  left: 12px;
}

.rider-media-carousel__arrow--next {
  right: 12px;
}

.rider-media-carousel__thumbs {
  display: flex;
  min-width: 0;
  overflow-x: auto;
  gap: 10px;
  cursor: grab;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.rider-media-carousel__thumbs::-webkit-scrollbar {
  display: none;
}

.rider-media-carousel__thumbs.is-dragging {
  cursor: grabbing;
}

.rider-media-carousel__thumbs button {
  flex: 0 0 clamp(180px, 20vw, 280px);
  height: clamp(86px, 11svh, 112px);
  overflow: hidden;
  border: 1px solid transparent;
  background: #111111;
  cursor: pointer;
  opacity: 0.58;
  padding: 0;
  transition:
    border-color 180ms ease,
    opacity 180ms ease;
}

.rider-media-carousel__thumbs button.is-active {
  border-color: #ffffff;
  opacity: 1;
}

.rider-media-carousel__thumbs img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  user-select: none;
}

.rider-media-lightbox {
  position: fixed;
  z-index: 40;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(18px, 5vw, 78px);
  background: rgba(0, 0, 0, 0.88);
}

.rider-media-lightbox[hidden] {
  display: none;
}

.rider-media-lightbox img {
  display: block;
  max-width: min(100%, 1280px);
  max-height: 82svh;
  object-fit: contain;
}

.rider-media-lightbox__close {
  position: fixed;
  top: clamp(18px, 3vw, 34px);
  right: clamp(18px, 3vw, 34px);
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #000000;
  cursor: pointer;
}

.rider-gear-card__footer {
  display: grid;
  gap: clamp(18px, 2.4svh, 28px);
  align-self: end;
}

.rider-gear-card p {
  max-width: 660px;
  margin: 0;
  color: rgba(0, 0, 0, 0.58);
  font-size: clamp(17px, 1.25vw, 22px);
  font-weight: 500;
  line-height: 1.3;
}

.rider-gear-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 0;
  background: rgba(0, 0, 0, 0.1);
}

.rider-gear-list span {
  --glow-x: 50%;
  --glow-y: 50%;
  --glow-opacity: 0;
  position: relative;
  isolation: isolate;
  display: grid;
  min-width: 0;
  place-items: center;
  overflow: visible;
  background: #ffffff;
  padding: clamp(18px, 2vw, 28px);
  color: rgba(0, 0, 0, 0.72);
  font-size: clamp(15px, 1.05vw, 18px);
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  transition:
    color 180ms ease,
    background 180ms ease;
}

.rider-gear-list span::before,
.rider-gear-list span::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: var(--glow-opacity);
  transition: opacity 180ms ease;
}

.rider-gear-list span::before {
  inset: -10px;
  z-index: -1;
  padding: 10px;
  background: radial-gradient(104px circle at calc(var(--glow-x) + 10px) calc(var(--glow-y) + 10px), rgba(255, 0, 47, 0.24), transparent 58%);
  filter: blur(4px);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.rider-gear-list span::after {
  inset: -1px;
  z-index: 2;
  padding: 2px;
  background: radial-gradient(118px circle at calc(var(--glow-x) + 1px) calc(var(--glow-y) + 1px), rgba(255, 0, 47, 0.95), transparent 48%);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.rider-gear-list span.is-hovered,
.rider-gear-list span:hover {
  z-index: 1;
  color: #161616;
}

@media (max-width: 1100px) {
  .rider-profile {
    grid-template-columns: minmax(320px, 0.78fr) minmax(400px, 1fr);
    gap: clamp(28px, 4.4vw, 56px);
    padding-right: clamp(24px, 4vw, 42px);
    padding-left: calc(var(--nav-edge-inset) + 12px);
  }

  .rider-profile__copy {
    min-width: 0;
  }

  .rider-profile__title {
    min-width: 0;
    font-size: clamp(76px, 8.6vw, 112px);
    white-space: normal;
  }

  .rider-profile__slider-window {
    right: 0;
  }

  .rider-profile__media {
    min-height: clamp(500px, 74svh, 640px);
  }

  .rider-profile__slider-controls {
    margin-left: clamp(70px, 10vw, 120px);
  }

  .rider-profile--christian .rider-profile__slider-controls,
  .rider-profile--kieran .rider-profile__slider-controls {
    margin-left: clamp(0px, calc(34vw - 305px), 70px);
  }

  .rider-tabs {
    padding-right: calc(var(--nav-edge-inset) + 12px);
    padding-left: calc(var(--nav-edge-inset) + 12px);
  }

  .rider-tabs__panel {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.48fr);
  }

  .rider-tabs__panel--gear {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .rider-gear-tile--hero,
  .rider-gear-tile--bike {
    grid-column: span 2;
  }

  .rider-tabs__card p {
    font-size: clamp(17px, 1.8vw, 22px);
  }

  .rider-profile-grid,
  .rider-gear-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Phones and portrait tablets share the stacked rider hero. */
@media (max-width: 760px), ((min-width: 761px) and (max-width: 1100px) and (orientation: portrait)) {
  .rider-profile {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: clamp(26px, 7vw, 30px);
    padding: 92px clamp(18px, 3vw, 28px) 58px;
  }

  .rider-profile__copy {
    width: 100%;
    padding-top: 0;
    transform: none;
  }

  .rider-profile__heading-row {
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
  }

  .rider-profile__title {
    max-width: min-content;
    font-size: clamp(78px, 24vw, 112px);
    line-height: 0.98;
  }

  .rider-profile__badge {
    margin-top: 3px;
  }

  .rider-profile__badge--image {
    align-self: center;
    margin-top: 0;
    transform: none;
  }

  .rider-profile__lede {
    max-width: 340px;
    margin-top: 24px;
    font-size: 18px;
  }

  .rider-profile__actions {
    grid-template-columns: 1fr;
    grid-template-areas:
      "contact"
      "controls";
    row-gap: clamp(26px, 7vw, 30px);
    margin-top: 26px;
  }

  .rider-profile__slider-controls {
    margin-left: 0;
  }

  .rider-profile__media {
    min-height: min(74svh, 570px);
  }

  .rider-profile__slider-window {
    position: relative;
    top: auto;
    right: 0;
    width: 100%;
    height: min(74svh, 570px);
  }

  .rider-detail-body .rider-profile__slider-window {
    top: auto;
    height: min(74svh, 570px);
  }

  .rider-profile__slide {
    width: min(82vw, 360px);
    border-radius: 14px;
  }
}

@media (max-width: 760px) {
  .rider-profile__heading-row {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 11px;
  }

  .rider-profile__identity {
    max-width: 100%;
    gap: 11px;
    margin-top: 2px;
  }

  .rider-profile__identity .rider-profile__badge {
    width: clamp(48px, 14vw, 58px);
    height: clamp(48px, 14vw, 58px);
    margin-top: 0;
  }

  .rider-profile__identity-text {
    display: grid;
    min-width: 0;
    gap: 5px;
  }

  .rider-profile__identity-text span {
    color: var(--red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
  }

  .rider-profile__identity-text strong {
    color: #000000;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.92;
    text-transform: uppercase;
  }

  .rider-profile__lede {
    margin-top: 20px;
  }

  .rider-tabs {
    padding: 20px 18px 132px;
  }

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

  .rider-tabs__tab {
    min-height: 64px;
    gap: 10px;
    font-size: 12px;
  }

  .rider-tabs__icon {
    width: 40px;
    height: 40px;
  }

  .rider-tabs__panel {
    grid-template-columns: 1fr;
  }

  .rider-tabs__visual {
    min-height: auto;
    padding: 20px;
  }

  .rider-gear-loadout {
    gap: 24px;
  }

  .rider-gear-bento {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 12px;
  }

  .rider-gear-tile,
  .rider-gear-tile--hero,
  .rider-gear-tile--bike {
    min-height: 168px;
    grid-column: auto;
    grid-row: auto;
  }

  .rider-gear-tile--hero {
    min-height: 430px;
  }

  .rider-gear-tile h2 {
    font-size: clamp(50px, 17vw, 72px);
  }

  .rider-gear-tile h3 {
    font-size: 22px;
  }

  .rider-gear-card {
    grid-template-rows: auto auto auto;
    gap: 28px;
  }

  .rider-media-carousel__stage {
    height: 280px;
    grid-template-columns: 1fr;
    gap: 0;
  }

  .rider-media-carousel__panel--side {
    display: none;
  }

  .rider-media-carousel__arrow {
    width: 34px;
    height: 34px;
  }

  .rider-media-carousel__arrow--prev {
    left: 7px;
  }

  .rider-media-carousel__arrow--next {
    right: 7px;
  }

  .rider-media-carousel__thumbs button {
    flex-basis: 142px;
    height: 78px;
  }

  .rider-profile-card {
    grid-template-columns: 1fr;
  }

  .rider-profile-card img {
    width: min(100%, 280px);
  }

  .rider-profile-card > div {
    transform: none;
  }

  .rider-profile-card__header {
    width: auto;
    grid-template-columns: 1fr;
  }

  .rider-profile-card__socials {
    justify-self: start;
  }

  .rider-profile-card h2 {
    font-size: clamp(64px, 20vw, 94px);
    line-height: 0.98;
  }

  .rider-profile-bio {
    margin-top: 24px;
  }

  .rider-profile-bio p {
    font-size: 18px;
    line-height: 1.28;
  }

  .rider-profile-grid,
  .rider-stat-strip,
  .rider-gear-list {
    grid-template-columns: 1fr;
  }

  .rider-tabs__visual--stats {
    gap: 18px;
  }

  .rider-stats-bento__header {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .rider-stats-bento__header h2 {
    font-size: clamp(46px, 14vw, 62px);
    line-height: 0.98;
  }

  .rider-stats-switch {
    justify-content: flex-start;
  }

  .rider-stats-switch button {
    min-height: 36px;
    padding: 0 12px;
    font-size: 10px;
  }

  .rider-stats-bento__panel {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .rider-stat-card,
  .rider-stat-card--large,
  .rider-stat-card--wide,
  .rider-stat-card--tall {
    grid-column: auto;
    grid-row: auto;
  }

  .rider-stat-card {
    min-height: 164px;
    padding: 20px;
  }

  .rider-stat-card h3 {
    font-size: 20px;
  }

  .rider-stat-card strong {
    padding-top: 26px;
    font-size: clamp(52px, 15vw, 66px);
  }

  .rider-stat-card--large,
  .rider-stat-card--tall {
    min-height: 196px;
  }

  .rider-stat-card--large strong,
  .rider-stat-card--tall strong,
  .rider-stat-card--wide strong {
    font-size: clamp(62px, 19vw, 84px);
  }

  .rider-stat-board {
    grid-template-columns: repeat(4, minmax(48px, 1fr));
    gap: 8px;
  }

  .rider-tabs__visual--story {
    --story-card-width: min(86vw, 360px);
    --story-image-width: min(76vw, 310px);
    --story-image-height: min(44vw, 190px);
    min-height: auto;
    padding: 64px 0 30px;
  }

  .rider-story-scroll__controls {
    top: 16px;
    left: 18px;
  }

  .rider-story-scroll__button {
    width: 38px;
    height: 38px;
  }

  .rider-story-scroll__viewport {
    scroll-padding-inline: 18px;
  }

  .rider-story-scroll__track {
    padding: 0 18px;
  }

  .rider-story-scroll__card figure,
  .rider-story-scroll__card p {
    margin-left: 42px;
  }

  .rider-story-scroll__card span {
    left: -26px;
    font-size: 12px;
    letter-spacing: 0.12em;
  }

  .rider-story-scroll__card p {
    font-size: 18px;
  }

  .rider-story-scroll__card:not(.is-near) figure {
    opacity: 1;
    transform: none;
  }

  .rider-tabs__card {
    min-height: 128px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rider-profile__slide,
  .rider-profile__slider-button,
  .rider-media-carousel__panel img,
  .rider-media-carousel__arrow,
  .rider-media-carousel__thumbs button,
  .rider-story-scroll__viewport,
  .rider-story-scroll__card figure {
    scroll-behavior: auto;
    transition: none;
  }
}

.sponsors-body {
  min-height: 100svh;
  overflow-x: hidden;
  background: #f5f5f2;
  color: #080808;
}

.sponsors-page {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  padding: clamp(126px, 15.5svh, 158px) 0 clamp(170px, 18svh, 240px);
  background:
    linear-gradient(rgba(0, 0, 0, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.018) 1px, transparent 1px),
    #f7f7f4;
  background-size: 28px 28px, 28px 28px, auto;
  isolation: isolate;
}

.sponsors-page *,
.sponsor-profile-drawer,
.sponsor-profile-drawer * {
  box-sizing: border-box;
}

.sponsors-page::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.68), transparent 42%),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.24) 0 1px, transparent 1px 9px);
  opacity: 0.72;
  pointer-events: none;
}

.sponsors-hero {
  position: relative;
  z-index: 1;
  width: min(680px, calc(100% - 40px));
  margin: 0 auto;
  text-align: center;
}

.sponsors-hero__eyebrow,
.sponsors-hero__dek,
.sponsor-wall-card p,
.sponsor-wall-card > span,
.sponsor-wall-card a,
.sponsor-wall-card button {
  letter-spacing: 0;
}

.sponsors-hero__eyebrow {
  margin: 0;
  color: #a31a23;
  font-size: clamp(12px, 0.96vw, 14px);
  font-weight: 700;
  line-height: 1;
}

.sponsors-hero__title {
  margin: clamp(24px, 3.2svh, 36px) 0 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(66px, 7.4vw, 112px);
  font-weight: 900;
  line-height: 0.82;
  letter-spacing: 0;
}

.sponsors-hero__title span {
  display: block;
}

.sponsors-hero__dek {
  max-width: 520px;
  margin: 18px auto 0;
  color: rgba(0, 0, 0, 0.48);
  font-size: clamp(15px, 1.16vw, 17px);
  font-weight: 500;
  line-height: 1.45;
}

.sponsors-wall {
  position: relative;
  z-index: 1;
  width: 100vw;
  margin: clamp(50px, 7.4svh, 78px) calc(50% - 50vw) 0;
  overflow: hidden;
  border-top: 1px solid rgba(0, 0, 0, 0.055);
  border-bottom: 1px solid rgba(0, 0, 0, 0.055);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.42), rgba(242, 242, 238, 0.82)),
    #f3f3ef;
  box-shadow:
    0 22px 58px rgba(0, 0, 0, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    inset 0 -1px 0 rgba(0, 0, 0, 0.035);
}

.sponsors-wall__row {
  --sponsors-row-duration: 52s;
  --sponsors-row-rest: clamp(-100px, -5vw, -48px);
  --sponsors-row-from: -50%;
  --sponsors-row-to: 0%;
  display: flex;
  width: max-content;
  min-width: 1120px;
  transform: translate3d(var(--sponsors-row-rest), 0, 0);
  will-change: transform;
}

.sponsors-wall__row[data-sponsors-marquee-ready="true"] {
  min-width: 0;
  animation: sponsors-row-marquee var(--sponsors-row-duration) linear infinite;
}

.sponsors-wall__row + .sponsors-wall__row {
  border-top: 1px solid rgba(0, 0, 0, 0.055);
}

.sponsors-wall__row--left {
  --sponsors-row-rest: clamp(-24px, 2vw, 34px);
  --sponsors-row-from: 0%;
  --sponsors-row-to: -50%;
}

.sponsors-wall__row--offset {
  animation-delay: -14s;
}

@keyframes sponsors-row-marquee {
  from {
    transform: translate3d(var(--sponsors-row-from), 0, 0);
  }

  to {
    transform: translate3d(var(--sponsors-row-to), 0, 0);
  }
}

.sponsor-wall-card {
  --sponsor-card-glow-x: 50%;
  --sponsor-card-glow-y: 50%;
  --sponsor-card-glow-angle: 0deg;
  --sponsor-card-glow-opacity: 0;
  position: relative;
  display: grid;
  width: clamp(340px, 27.6vw, 450px);
  min-height: clamp(176px, 14.6vw, 214px);
  flex: 0 0 clamp(340px, 27.6vw, 450px);
  align-content: space-between;
  gap: 26px;
  overflow: hidden;
  padding: clamp(23px, 2vw, 30px) clamp(26px, 2.3vw, 36px);
  border-right: 1px solid rgba(0, 0, 0, 0.06);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.74), rgba(247, 247, 244, 0.92) 46%, rgba(226, 226, 220, 0.72)),
    #f6f6f2;
  box-shadow:
    inset 10px 10px 22px rgba(0, 0, 0, 0.052),
    inset -10px -10px 24px rgba(255, 255, 255, 0.95);
}

.sponsor-wall-card--linked,
.sponsor-wall-card--profile {
  cursor: pointer;
}

.sponsor-wall-card__link,
.sponsor-wall-card__action {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  border-radius: inherit;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-decoration: none;
}

.sponsor-wall-card__link:focus-visible,
.sponsor-wall-card__action:focus-visible {
  outline: none;
}

.sponsor-wall-card::before,
.sponsor-wall-card::after {
  position: absolute;
  inset: 13px;
  border-radius: 6px;
  content: "";
  pointer-events: none;
}

.sponsor-wall-card::before {
  border: 1px solid rgba(255, 255, 255, 0.46);
  background:
    radial-gradient(
      circle at var(--sponsor-card-glow-x) var(--sponsor-card-glow-y),
      rgba(255, 0, 47, calc(var(--sponsor-card-glow-opacity) * 0.06)) 0%,
      rgba(255, 0, 47, 0) 62%
    ),
    linear-gradient(145deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0) 46%);
  box-shadow:
    0 0 18px rgba(255, 0, 47, calc(var(--sponsor-card-glow-opacity) * 0.1)),
    inset 2px 2px 8px rgba(0, 0, 0, 0.078),
    inset -2px -2px 8px rgba(255, 255, 255, 0.84);
  transition: border-color 420ms cubic-bezier(0.23, 1, 0.32, 1);
}

.sponsor-wall-card:not(.sponsor-wall-card--cta):hover::before,
.sponsor-wall-card:not(.sponsor-wall-card--cta):focus-within::before {
  border-color: rgba(184, 0, 36, 0.24);
}

/*
 * Hairline arc of light that orbits the inner frame. The conic gradient's
 * peak sits at --sponsor-card-glow-angle (JS-driven, eased); the mask pair
 * keeps only the 2px ring between the padding box and content box visible.
 */
.sponsor-wall-card::after {
  padding: 2px;
  background: conic-gradient(
    from calc(var(--sponsor-card-glow-angle) - 105deg),
    rgba(255, 0, 47, 0) 0deg,
    rgba(255, 0, 47, 0.04) 28deg,
    rgba(255, 0, 47, 0.12) 56deg,
    rgba(255, 0, 47, 0.3) 82deg,
    rgba(255, 0, 47, 0.6) 98deg,
    rgba(255, 30, 64, 0.92) 105deg,
    rgba(255, 0, 47, 0.6) 112deg,
    rgba(255, 0, 47, 0.3) 128deg,
    rgba(255, 0, 47, 0.12) 154deg,
    rgba(255, 0, 47, 0.04) 182deg,
    rgba(255, 0, 47, 0) 210deg
  );
  opacity: var(--sponsor-card-glow-opacity);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}

.sponsor-wall-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 44ch;
  color: rgba(0, 0, 0, 0.58);
  font-size: clamp(13px, 0.98vw, 15px);
  font-weight: 500;
  line-height: 1.55;
}

.sponsor-wall-card__footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.sponsor-wall-card__footer strong {
  max-width: 12ch;
  color: #090909;
  font-size: clamp(22px, 1.9vw, 30px);
  font-weight: 900;
  line-height: 0.94;
  text-align: right;
}

.sponsor-wall-card img {
  display: block;
  max-width: min(156px, 48%);
  max-height: 70px;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.12));
}

.sponsor-wall-card__logo {
  width: min(170px, 52%);
  max-width: min(170px, 52%);
  max-height: 74px;
}

.sponsor-wall-card__logo--wide {
  width: min(190px, 56%);
  max-width: min(190px, 56%);
}

.sponsor-wall-card__logo--seven-sixty-logistics {
  width: min(176px, 52%);
  max-width: min(176px, 52%);
  max-height: 78px;
}

.sponsor-wall-card__logo--compact,
.sponsor-wall-card__logo--tall {
  width: min(120px, 42%);
  max-width: min(120px, 42%);
  max-height: 82px;
}

.sponsor-wall-card__icon {
  width: 72px;
}

.sponsor-wall-card__crest {
  width: 82px;
}

.sponsor-wall-card__footer span,
.sponsor-wall-card__footer a {
  position: relative;
  z-index: 1;
  color: rgba(0, 0, 0, 0.52);
  font-size: clamp(12px, 0.92vw, 14px);
  font-weight: 600;
  line-height: 1.2;
}

.sponsor-wall-card__footer a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--red);
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  box-shadow:
    0 8px 18px rgba(255, 0, 47, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.sponsor-wall-card--cta {
  background:
    radial-gradient(circle at 82% 28%, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.08) 28%, transparent 54%),
    linear-gradient(145deg, #ff1748 0%, #ee002f 44%, #b80024 100%),
    var(--red);
  color: #ffffff;
  box-shadow:
    0 0 34px rgba(255, 0, 47, 0.22),
    inset 8px 8px 18px rgba(87, 0, 18, 0.22),
    inset -8px -8px 20px rgba(255, 255, 255, 0.18);
}

.sponsor-wall-card--cta::before {
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow:
    inset 2px 2px 8px rgba(85, 0, 17, 0.22),
    inset -2px -2px 8px rgba(255, 255, 255, 0.18);
}

.sponsor-wall-card--cta::after {
  opacity: 0;
}

.sponsor-wall-card--cta p,
.sponsor-wall-card--cta .sponsor-wall-card__footer span {
  color: rgba(255, 255, 255, 0.72);
}

.sponsor-wall-card--cta p {
  color: rgba(255, 255, 255, 0.92);
}

.sponsor-wall-card--cta .sponsor-wall-card__footer a {
  background: #ffffff;
  color: var(--red);
  box-shadow:
    0 8px 18px rgba(106, 0, 22, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

.sponsor-wall-card--cta:hover,
.sponsor-wall-card--cta:focus-within {
  box-shadow:
    0 0 42px rgba(255, 0, 47, 0.28),
    inset 8px 8px 18px rgba(87, 0, 18, 0.2),
    inset -8px -8px 20px rgba(255, 255, 255, 0.2);
}

.sponsors-partner-cta {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 100%;
  margin-top: clamp(28px, 4.2svh, 44px);
  padding: 0 clamp(20px, 2.4vw, 32px);
  text-align: center;
}

.sponsors-partner-cta .contact-card__button {
  margin-top: 0;
  margin-inline: auto;
  border-color: #000000;
  background: #000000;
  color: #ffffff;
}

.sponsor-profile-drawer {
  position: fixed;
  inset: 0;
  z-index: 120;
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
}

.sponsor-profile-drawer.is-open {
  opacity: 1;
  pointer-events: auto;
}

.sponsor-profile-drawer__scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(8, 8, 8, 0.28);
  cursor: pointer;
}

.sponsor-profile-drawer__panel {
  position: absolute;
  top: 16px;
  right: 16px;
  bottom: 16px;
  width: min(520px, calc(100% - 32px));
  overflow: auto;
  padding: clamp(24px, 3.4vw, 38px);
  border: 1px solid rgba(0, 0, 0, 0.09);
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(245, 245, 241, 0.96)),
    #f7f7f4;
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.28),
    inset 1px 1px 0 rgba(255, 255, 255, 0.82);
  transform: translate3d(28px, 0, 0);
  transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.sponsor-profile-drawer.is-open .sponsor-profile-drawer__panel {
  transform: translate3d(0, 0, 0);
}

.sponsor-profile-drawer__panel:focus {
  outline: none;
}

.sponsor-profile-drawer__close {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  margin: 0 0 24px auto;
  padding: 0 15px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.68);
  color: rgba(0, 0, 0, 0.68);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.sponsor-profile-drawer__close:hover,
.sponsor-profile-drawer__close:focus-visible {
  border-color: rgba(255, 0, 47, 0.34);
  color: #090909;
  outline: none;
}

.sponsor-profile-drawer .sponsor-profile-card__media {
  min-height: 160px;
  margin-bottom: 28px;
}

.sponsor-profile-drawer .sponsor-profile-card__content {
  min-width: 0;
  padding: 0;
}

.sponsor-profile-drawer .sponsor-profile-card__content p {
  max-width: none;
  margin: 0;
  color: rgba(0, 0, 0, 0.72);
  font-size: clamp(14px, 1vw, 16px);
  font-weight: 500;
  line-height: 1.42;
  overflow-wrap: break-word;
}

.sponsor-profile-drawer .sponsor-profile-card__content p + p {
  margin-top: 16px;
}

.sponsor-profile-drawer .sponsor-profile-card__eyebrow {
  margin-top: 0;
}

.sponsor-profile-drawer h2 {
  margin-top: 0;
}

.sponsor-profile-card__media {
  display: grid;
  min-height: 100%;
  place-items: center;
  padding: clamp(28px, 4vw, 52px);
  border-right: 1px solid rgba(0, 0, 0, 0.065);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.78), rgba(225, 225, 218, 0.54)),
    #f1f1ec;
}

.sponsor-profile-card__logo {
  display: block;
  width: min(230px, 78%);
  max-height: 130px;
  object-fit: contain;
  filter: drop-shadow(0 12px 18px rgba(0, 0, 0, 0.13));
}

.sponsor-profile-card__logo--wide {
  width: min(260px, 86%);
}

.sponsor-profile-card__logo--compact,
.sponsor-profile-card__logo--tall {
  width: min(170px, 66%);
}

.sponsor-profile-card__eyebrow {
  margin: 0 0 14px;
  color: #a31a23;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.sponsor-profile-card__services {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 16px 0 0;
  padding: 0 0 0 20px;
  color: rgba(0, 0, 0, 0.62);
  font-size: clamp(13px, 0.94vw, 15px);
  font-weight: 600;
  line-height: 1.4;
}

.sponsor-profile-card__services li {
  padding-left: 2px;
}

.sponsor-profile-card__cta {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
  padding: 0 18px;
  border-radius: 6px;
  background: var(--red);
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  box-shadow:
    0 9px 20px rgba(255, 0, 47, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.32);
}

.sponsor-profile-card__cta:hover,
.sponsor-profile-card__cta:focus-visible {
  background: #d90029;
  outline: none;
}

.sponsor-drawer-open {
  overflow: hidden;
}

@media (max-width: 760px) {
  .sponsors-page {
    padding: 128px 0 132px;
  }

  .sponsors-hero {
    width: min(460px, calc(100% - 32px));
  }

  .sponsors-hero__title {
    font-size: clamp(40px, 11.5vw, 48px);
  }

  .sponsors-hero__dek {
    max-width: 32ch;
    font-size: 14px;
  }

  .sponsors-wall {
    width: calc(100% - 28px);
    margin-right: auto;
    margin-left: auto;
    margin-top: 42px;
    overflow: visible;
    border: 1px solid rgba(0, 0, 0, 0.055);
  }

  .sponsors-partner-cta {
    margin-top: 28px;
    padding: 0 20px;
  }

  .sponsors-wall__row,
  .sponsors-wall__row--offset,
  .sponsors-wall__row[data-sponsors-marquee-ready="true"] {
    width: 100%;
    min-width: 0;
    flex-direction: column;
    animation: none;
    transform: none;
  }

  .sponsors-wall__row > [aria-hidden="true"] {
    display: none;
  }

  .sponsor-wall-card {
    width: 100%;
    min-height: 176px;
    flex-basis: auto;
    border-right: 0;
  }

  .sponsor-wall-card + .sponsor-wall-card {
    border-top: 1px solid rgba(0, 0, 0, 0.055);
  }

  .sponsor-wall-card__footer {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 14px;
  }

  .sponsor-wall-card__footer strong {
    text-align: left;
  }

  .sponsor-wall-card__footer strong {
    max-width: 12ch;
  }

  .sponsor-wall-card__logo,
  .sponsor-wall-card__logo--wide,
  .sponsor-wall-card__logo--seven-sixty-logistics,
  .sponsor-wall-card__logo--compact,
  .sponsor-wall-card__logo--tall {
    width: min(190px, 72%);
    max-width: min(190px, 72%);
  }

  .sponsor-wall-card__logo--seven-sixty-logistics {
    width: min(210px, 76%);
    max-width: min(210px, 76%);
  }

  .sponsor-profile-drawer__panel {
    top: auto;
    right: 10px;
    bottom: 10px;
    left: 10px;
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    max-height: calc(100svh - 20px);
    overflow-x: hidden;
    padding: 22px;
    transform: translate3d(0, 28px, 0);
  }

  .sponsor-profile-drawer__content,
  .sponsor-profile-drawer .sponsor-profile-card__media,
  .sponsor-profile-drawer .sponsor-profile-card__content {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .sponsor-profile-drawer .sponsor-profile-card__content {
    width: calc(100vw - 84px) !important;
    max-width: calc(100vw - 84px) !important;
  }

  .sponsor-profile-drawer .sponsor-profile-card__eyebrow,
  .sponsor-profile-drawer h2,
  .sponsor-profile-drawer .sponsor-profile-card__content p,
  .sponsor-profile-drawer .sponsor-profile-card__services {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  .sponsor-profile-drawer .sponsor-profile-card__media {
    min-height: 112px;
    margin-bottom: 20px;
  }

  .sponsor-profile-card__media {
    min-height: 150px;
    border-right: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.065);
    padding: 28px;
  }

  .sponsor-profile-card__services {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sponsors-wall__row[data-sponsors-marquee-ready="true"] {
    animation: none;
    transform: none;
  }

  /* Swap the orbiting arc for a still, uniform ring that simply fades. */
  .sponsor-wall-card::after {
    transition: opacity 360ms ease;
  }

  .sponsor-wall-card:not(.sponsor-wall-card--cta):hover::after,
  .sponsor-wall-card:not(.sponsor-wall-card--cta):focus-within::after {
    opacity: 1;
    background: rgba(184, 0, 36, 0.22);
  }
}

.contact-body {
  min-height: 100svh;
  overflow-x: hidden;
  background: #ffffff;
  color: #000000;
}

.contact-page {
  position: relative;
  min-height: 100svh;
  overflow-x: hidden;
  --contact-edge: clamp(20px, 2.222vw, 32px);
  --contact-grid-gap: clamp(22px, 2.222vw, 32px);
  padding:
    clamp(112px, 12.8svh, 132px)
    var(--contact-edge)
    clamp(170px, 18svh, 240px);
}

.contact-page__title {
  margin: 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(70px, 10.8vw, 156px);
  font-weight: 900;
  line-height: 0.78;
  text-align: center;
  letter-spacing: 0;
}

.contact-options {
  display: grid;
  width: 100%;
  margin: clamp(38px, 5.2svh, 56px) auto 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--contact-grid-gap);
}

.contact-card {
  min-width: 0;
}

.contact-card__media {
  width: 100%;
  aspect-ratio: 1600 / 972;
  overflow: hidden;
  border-radius: 8px;
  background: #dedede;
}

.contact-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contact-card__media img.contact-card__image--partners {
  object-position: center bottom;
}

.contact-card__media img.contact-card__image--contain {
  object-fit: contain;
  transform: scale(1.035);
}

.contact-card h2 {
  margin: clamp(34px, 2.8vw, 40px) 0 0;
  font-family: "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(46px, 3.611vw, 52px);
  font-weight: 900;
  line-height: 0.74;
  letter-spacing: 0;
}

.contact-card p {
  max-width: 66.666%;
  margin: 8px 0 0;
  color: rgba(0, 0, 0, 0.64);
  font-size: clamp(15px, 1.042vw, 15px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
}

.contact-card__button {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 20px;
  padding: 13px 18px 12px;
  border-radius: 5px;
  background: #000000;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: none;
  transition:
    background-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.contact-card__button svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

.contact-card__button:hover,
.contact-card__button:focus-visible {
  background: var(--red);
  box-shadow: 0 14px 22px rgba(255, 0, 47, 0.18);
  outline: none;
  transform: translateY(-2px);
}

.contact-social {
  margin: clamp(58px, 6.6vw, 92px) auto 0;
  text-align: center;
}

.contact-social h2 {
  margin: 0;
  color: rgba(0, 0, 0, 0.64);
  font-size: clamp(17px, 1.25vw, 20px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
}

.contact-social__links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(48px, 5vw, 72px);
  margin-top: 22px;
}

.contact-social__links a {
  display: inline-flex;
  width: clamp(28px, 2.1vw, 34px);
  height: clamp(28px, 2.1vw, 34px);
  align-items: center;
  justify-content: center;
  color: #000000;
  transition:
    color 180ms ease,
    transform 180ms ease;
}

.contact-social__links a:hover,
.contact-social__links a:focus-visible {
  color: var(--red);
  transform: translateY(-2px);
}

.contact-social__links svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

@media (max-width: 760px) {
  .contact-page {
    min-height: auto;
    --contact-edge: 16px;
    --contact-grid-gap: 0px;
    padding:
      116px
      var(--contact-edge)
      132px;
  }

  .contact-page__title {
    font-size: clamp(54px, 16.8vw, 68px);
  }

  .contact-options {
    width: min(calc(100vw - (2 * var(--contact-edge))), 420px);
    margin-top: 54px;
    grid-template-columns: 1fr;
    gap: 58px;
  }

  .contact-card__media {
    aspect-ratio: 1 / 1;
  }

  .contact-card h2 {
    margin-top: 26px;
    font-size: clamp(42px, 13.9vw, 52px);
  }

  .contact-card p {
    max-width: min(100%, calc(100vw - (2 * var(--contact-edge))));
    margin-top: 8px;
    font-size: 15px;
  }

  .contact-card__media img.contact-card__image--contain {
    object-fit: cover;
    transform: none;
  }

  .contact-card__button {
    min-height: 42px;
    gap: 9px;
    margin-top: 20px;
    padding: 13px 18px 12px;
    font-size: 12px;
  }

  .contact-card__button svg {
    width: 16px;
    height: 16px;
  }

  .contact-social {
    margin-top: 64px;
  }

  .contact-social h2 {
    font-size: 17px;
  }

  .contact-social__links {
    justify-content: space-between;
    gap: 28px;
    width: 112px;
    margin: 22px auto 0;
  }
}

.contact-body {
  --contact-nav-logo-size: clamp(54px, 4.45vw, 66px);
  background:
    radial-gradient(circle at 79% 16%, rgba(0, 0, 0, 0.035), transparent 26%),
    linear-gradient(180deg, #fafafa 0%, #ffffff 42%, #f6f6f6 100%);
  font-family: Inter, Arial, Helvetica, sans-serif;
}

.contact-nav {
  z-index: 5;
  padding-right: var(--nav-edge-inset);
  padding-left: var(--nav-edge-inset);
  background: linear-gradient(180deg, rgba(250, 250, 250, 0.96) 0%, rgba(250, 250, 250, 0) 100%);
}

.contact-nav .site-nav__logo {
  --nav-logo-size: var(--contact-nav-logo-size);
}

.contact-page {
  --contact-content-left: var(--nav-edge-inset);
  --contact-content-right: var(--nav-edge-inset);
  z-index: 1;
  padding:
    clamp(128px, 16svh, 152px)
    var(--contact-content-right)
    clamp(170px, 18svh, 240px)
    var(--contact-content-left);
}

.contact-page__masthead {
  display: grid;
  grid-template-columns: minmax(650px, 730px) minmax(360px, 432px);
  column-gap: clamp(38px, 2.7vw, 45px);
  align-items: start;
}

.contact-page__title-group {
  position: relative;
  display: grid;
  grid-template-columns: max-content;
  align-items: start;
}

.contact-page__title {
  font-family: "Teko", "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(146px, 13.52vw, 226px);
  font-weight: 700;
  line-height: 0.68;
  text-align: left;
  text-transform: uppercase;
  transform: translateY(12px) scaleX(0.8);
  transform-origin: left top;
}

.contact-page__title span {
  display: block;
}

.contact-track-tag {
  position: absolute;
  top: 2px;
  left: clamp(330px, 26.3vw, 440px);
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 0;
  color: #000000;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.08;
  text-transform: uppercase;
}

.contact-track-tag__stripes {
  position: relative;
  top: 2px;
  display: block;
  width: 84px;
  height: 19px;
  overflow: hidden;
  background: repeating-linear-gradient(
    120deg,
    var(--red) 0 5px,
    transparent 5px 12px
  );
}

.contact-page__intro {
  width: min(100%, 432px);
  margin-top: clamp(140px, 16.6svh, 166px);
}

.contact-page__intro p {
  margin: 0;
  font-size: clamp(21px, 1.46vw, 25px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0;
}

.contact-page__intro > span {
  display: block;
  width: 43px;
  height: 5px;
  margin-top: 31px;
  background: var(--red);
}

.contact-mobile-break {
  display: none;
}

.contact-options {
  margin-top: clamp(22px, 3.4svh, 32px);
  gap: clamp(30px, 4.7vw, 96px);
}

.contact-card {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: #111111;
  color: #ffffff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

.contact-card__media {
  height: auto;
  aspect-ratio: 1600 / 972;
  border-radius: 0;
}

.contact-card__media img.contact-card__image--partners {
  object-position: center top;
}

.contact-card__content {
  display: grid;
  min-height: clamp(168px, 20.1svh, 189px);
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: start;
  gap: clamp(18px, 1.2vw, 22px);
  padding: 22px clamp(28px, 1.75vw, 32px) 28px;
  background:
    linear-gradient(180deg, rgba(20, 20, 20, 0.98) 0%, rgba(17, 17, 17, 0.98) 63%, rgba(16, 16, 16, 0.72) 100%),
    repeating-linear-gradient(
      125deg,
      transparent 0 20px,
      rgba(255, 255, 255, 0.05) 20px 30px,
      transparent 30px 48px
    ),
    #101010;
}

.contact-card h2 {
  position: relative;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  justify-self: start;
  margin: 0;
  font-family: "Teko", "Mango Grotesque", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(45px, 3.2vw, 55px);
  font-weight: 700;
  line-height: 0.74;
  text-transform: uppercase;
  transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.contact-card h2::after {
  position: absolute;
  top: 50%;
  left: -18px;
  width: 3px;
  height: 0.82em;
  border-radius: 999px;
  background: var(--red);
  content: "";
  opacity: 0;
  transform: translateY(-50%) skewX(-10deg) scaleY(0.35);
  transform-origin: center;
  transition:
    opacity 180ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.contact-card:hover h2,
.contact-card:focus-within h2 {
  transform: translateX(12px);
}

.contact-card:hover h2::after,
.contact-card:focus-within h2::after {
  opacity: 1;
  transform: translateY(-50%) skewX(-10deg) scaleY(1);
}

.contact-card p {
  max-width: 510px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(14px, 0.9vw, 15px);
  font-weight: 400;
  line-height: 1.42;
}

.contact-card__button {
  width: fit-content;
  min-width: clamp(186px, 11vw, 212px);
  min-height: 50px;
  gap: 12px;
  align-self: center;
  margin-top: 26px;
  padding: 13px 17px 12px 18px;
  border: 2px solid var(--red);
  background: rgba(0, 0, 0, 0.12);
  font-size: clamp(13px, 0.84vw, 15px);
  transition:
    background-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.contact-card__button i {
  color: var(--red);
  font-size: 20px;
  line-height: 1;
  transition: color 180ms ease;
}

.contact-card__button:hover,
.contact-card__button:focus-visible {
  border-color: var(--red);
  background: var(--red);
  color: #ffffff;
  box-shadow: 0 14px 28px rgba(255, 0, 47, 0.24);
  transform: translateY(-1px);
}

.contact-card__button:hover i,
.contact-card__button:focus-visible i {
  color: #ffffff;
}

@media (min-width: 1181px) {
  .contact-card__content {
    min-height: auto;
    grid-template-rows: auto auto;
    align-content: start;
    column-gap: clamp(18px, 1.2vw, 22px);
    row-gap: 28px;
    padding-block: clamp(36px, 2vw, 42px);
  }

  .contact-card__content > div {
    display: contents;
  }

  .contact-card__content h2 {
    grid-column: 1;
    grid-row: 1;
  }

  .contact-card__content p {
    grid-column: 1;
    grid-row: 2;
    align-self: center;
    margin: 0;
  }

  .contact-card__content > .contact-card__button {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    margin-top: 0;
  }
}

@media (max-width: 1180px) {
  .contact-page__masthead {
    grid-template-columns: 1fr;
  }

  .contact-page__intro {
    max-width: 520px;
    margin-top: 34px;
    margin-left: clamp(0px, 31vw, 400px);
  }

  .contact-card__content {
    grid-template-columns: 1fr;
  }

  .contact-card__button {
    align-self: start;
    justify-self: start;
    margin-top: 8px;
    margin-bottom: 0;
  }
}

@media (max-width: 900px) {
  .contact-page {
    padding-right: 24px;
  }

  .contact-options {
    grid-template-columns: 1fr;
  }

  .contact-card__media {
    height: clamp(260px, 42vw, 380px);
  }
}

@media (max-width: 760px) {
  .contact-body {
    background: #ffffff;
  }

  .contact-nav {
    left: 0;
    width: 100%;
    padding: 0;
    background: #ffffff;
  }

  .contact-nav .site-nav__menu-toggle {
    position: fixed;
    top: 20px;
    z-index: 90;
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: #050505;
    opacity: 1;
    visibility: visible;
  }

  .contact-nav .site-nav__menu-toggle-icon {
    display: grid;
    width: 24px;
    gap: 6px;
  }

  .contact-nav .site-nav__menu-toggle-icon span {
    display: block;
    height: 2px;
    background: #050505;
  }

  .contact-page {
    width: 100vw;
    padding: 104px 16px 132px;
  }

  .contact-page__title-group {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }

  .contact-page__masthead,
  .contact-page__title-group,
  .contact-page__title,
  .contact-page__intro {
    min-width: 0;
    max-width: 100%;
  }

  .contact-page__title {
    font-size: clamp(76px, 23vw, 96px);
    line-height: 0.72;
    transform: scaleX(0.86);
    transform-origin: left top;
  }

  .contact-track-tag {
    position: static;
    margin-top: 0;
  }

  .contact-page__intro {
    width: calc(100vw - 32px);
    margin: 28px 0 0;
  }

  .contact-page__intro p {
    max-width: min(100%, 340px);
    font-size: 20px;
    overflow-wrap: break-word;
  }

  .contact-mobile-break {
    display: inline;
  }

  .contact-options {
    width: calc(100vw - 32px);
    margin-top: 34px;
    margin-right: 0;
    margin-left: 0;
    gap: 24px;
  }

  .contact-card h2 {
    font-size: 45px;
  }

  .contact-card__media {
    height: auto;
    aspect-ratio: 1600 / 972;
  }

  .contact-card__content {
    min-height: 0;
    padding: 28px 22px;
  }

  .contact-card__button {
    width: fit-content;
    min-width: min(100%, 238px);
    min-height: 48px;
    gap: 10px;
    padding: 12px 15px 11px;
    font-size: 13px;
  }
}

@media print {
  .standings-page {
    background: #ffffff;
  }

  .site-nav,
  .standings-hero,
  .standings-controls,
  .standings-board__meta,
  .standings-scroll-progress {
    display: none;
  }

  .standings-board {
    padding: 0;
    background: #ffffff;
    color: #000000;
  }

  .standings-board__header {
    margin-bottom: 18px;
    padding: 0;
  }

  .standings-table-shell {
    border: 0;
    box-shadow: none;
    padding-bottom: 0;
  }

  .standings-table-wrap {
    overflow: visible;
  }

  .standings-table {
    width: 100%;
    min-width: 0;
    font-size: 9px;
  }
}
