/* Apex Racing Team — public theme */

@font-face {
	font-family: "Anton";
	src: url("../fonts/Anton-Regular.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-Variable.woff2") format("woff2");
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}

@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-Variable-Italic.woff2") format("woff2");
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
}

:root {
	--apex-black: #090b0f;
	--apex-black-soft: #0d1117;
	--apex-ink: #151922;
	--apex-ink-2: #202632;
	--apex-white: #f4f3ee;
	--apex-white-pure: #fff;
	--apex-grey: #aab0ba;
	--apex-grey-light: #d8d9d5;
	--apex-cyan: #31d7f2;
	--apex-cyan-dark: #00a9c8;
	--apex-blue: #1258d6;
	--apex-blue-dark: #093a98;
	--apex-red: #ff3547;
	--apex-rule: rgba(21, 25, 34, 0.15);
	--apex-rule-dark: rgba(255, 255, 255, 0.14);
	--apex-heading: "Anton", Impact, "Arial Narrow", sans-serif;
	--apex-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	--apex-shell: 1440px;
	--apex-gutter: clamp(1rem, 4vw, 3.5rem);
	--apex-section: clamp(4.5rem, 9vw, 9rem);
	--apex-shadow: 0 28px 70px rgba(0, 0, 0, 0.25);
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: 7rem;
}

body {
	padding: 0;
	margin: 0;
	overflow-x: hidden;
	color: var(--apex-ink);
	background: var(--apex-white);
	font-family: var(--apex-body);
	font-size: clamp(0.98rem, 0.95rem + 0.15vw, 1.075rem);
	line-height: 1.6;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

a {
	color: inherit;
	text-underline-offset: 0.18em;
	text-decoration-thickness: 0.08em;
}

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

button,
[type="button"],
[type="submit"] {
	cursor: pointer;
}

::selection {
	color: var(--apex-black);
	background: var(--apex-cyan);
}

:focus-visible {
	outline: 3px solid var(--apex-cyan);
	outline-offset: 4px;
}

[hidden] {
	display: none !important;
}

.no-js .apex-tab-panel[hidden] {
	display: block !important;
}

.no-js .apex-tabs {
	display: none;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
	z-index: 100000;
	top: 1rem;
	left: 1rem;
	width: auto;
	height: auto;
	padding: 0.8rem 1rem;
	clip: auto;
	color: var(--apex-black);
	background: var(--apex-cyan);
	font-weight: 800;
}

.apex-shell {
	width: min(100% - (2 * var(--apex-gutter)), var(--apex-shell));
	margin-inline: auto;
}

.site-main {
	min-height: 55vh;
}

.apex-kicker,
.is-style-apex-kicker {
	margin: 0 0 1rem;
	color: var(--apex-blue);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.2em;
	line-height: 1.3;
	text-transform: uppercase;
}

.apex-kicker--light {
	color: var(--apex-cyan);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.6em;
	font-family: var(--apex-heading);
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 0.94;
	text-transform: uppercase;
	text-wrap: balance;
}

h1 {
	font-size: clamp(4rem, 10vw, 10rem);
}

h2 {
	font-size: clamp(3rem, 7vw, 7rem);
}

h3 {
	font-size: clamp(1.7rem, 3vw, 3rem);
}

p {
	margin: 0 0 1.2rem;
}

.apex-muted {
	color: #626b77;
}

.apex-button-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
	margin-top: 2rem;
}

.apex-button,
.wp-block-button__link,
button[type="submit"],
input[type="submit"] {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.35rem;
	padding: 0.85rem 1.7rem;
	overflow: hidden;
	border: 2px solid transparent;
	border-radius: 0;
	font-size: 0.75rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	clip-path: polygon(0.65rem 0, 100% 0, calc(100% - 0.65rem) 100%, 0 100%);
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.apex-button:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	transform: translateY(-2px);
}

.apex-button--cyan,
.wp-block-button__link {
	color: var(--apex-black);
	background: var(--apex-cyan);
}

.apex-button--cyan:hover {
	background: var(--apex-white-pure);
}

.apex-button--dark,
button[type="submit"],
input[type="submit"] {
	color: var(--apex-white);
	background: var(--apex-black);
}

.apex-button--dark:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	color: var(--apex-black);
	background: var(--apex-cyan);
}

.apex-button--outline {
	color: var(--apex-white);
	background: rgba(9, 11, 15, 0.24);
	border-color: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(6px);
}

.apex-button--outline:hover {
	color: var(--apex-black);
	background: var(--apex-white);
}

.apex-text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--apex-ink);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

.apex-text-link::after {
	content: "→";
	color: var(--apex-blue);
	font-size: 1.25rem;
	line-height: 1;
	transition: transform 180ms ease;
}

.apex-text-link:hover::after {
	transform: translateX(0.3rem);
}

.apex-text-link--light {
	color: var(--apex-white);
}

.apex-text-link--light::after {
	color: var(--apex-cyan);
}

/* Championship rail and header */

.apex-track-rail {
	position: relative;
	z-index: 70;
	color: var(--apex-white);
	background: var(--apex-blue-dark);
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 0.66rem;
	font-weight: 750;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.apex-track-rail::after {
	position: absolute;
	inset: 0 0 0 auto;
	width: 28%;
	content: "";
	background: var(--apex-red);
	clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
}

.apex-track-rail__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 2rem;
	gap: 1rem;
}

.apex-track-rail p,
.apex-track-rail a,
.apex-track-rail span {
	margin: 0;
}

.apex-track-rail__inner > p {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.apex-track-rail a {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	text-decoration: none;
}

.apex-track-rail a span {
	opacity: 0.75;
}

.apex-live-dot {
	display: inline-block;
	flex: 0 0 auto;
	width: 0.5rem;
	height: 0.5rem;
	background: var(--apex-cyan);
	border-radius: 50%;
	box-shadow: 0 0 0 0.25rem rgba(49, 215, 242, 0.17);
}

.site-header {
	position: sticky;
	z-index: 60;
	top: 0;
	color: var(--apex-white);
	background: rgba(9, 11, 15, 0.96);
	border-bottom: 1px solid var(--apex-rule-dark);
	backdrop-filter: blur(18px);
}

.site-header.is-scrolled {
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 5.1rem;
	gap: 2rem;
}

.site-branding {
	position: relative;
	z-index: 3;
	flex: 0 0 auto;
}

.custom-logo-link {
	display: inline-flex;
	align-items: center;
	width: min(15rem, 34vw);
	max-width: min(15rem, 34vw);
}

.custom-logo {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 3.3rem;
	object-fit: contain;
}

.apex-wordmark {
	display: inline-flex;
	align-items: flex-end;
	gap: 0.6rem;
	color: var(--apex-white);
	line-height: 0.8;
	text-decoration: none;
	transform: skewX(-7deg);
}

.apex-wordmark--light {
	color: var(--apex-white);
}

.apex-wordmark--dark {
	color: var(--apex-black);
}

.apex-wordmark__apex {
	font-family: var(--apex-heading);
	font-size: 2.25rem;
	letter-spacing: 0.02em;
}

.apex-wordmark__team {
	padding-bottom: 0.16rem;
	color: var(--apex-cyan);
	font-size: 0.62rem;
	font-weight: 900;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.primary-navigation {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2.4vw, 2.8rem);
}

.primary-menu,
.primary-menu ul,
.footer-menu,
.legal-menu,
.site-footer__social ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.primary-menu {
	display: flex;
	align-items: center;
	gap: clamp(0.8rem, 1.5vw, 1.65rem);
}

.primary-menu > li {
	position: relative;
}

.primary-menu > li > a {
	display: flex;
	align-items: center;
	min-height: 5.1rem;
	color: rgba(255, 255, 255, 0.82);
	border-bottom: 3px solid transparent;
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 150ms ease, border-color 150ms ease;
}

.primary-menu > li > a:hover,
.primary-menu > .current-menu-item > a,
.primary-menu > .current-menu-ancestor > a {
	color: var(--apex-white);
	border-bottom-color: var(--apex-cyan);
}

.primary-menu .sub-menu {
	position: absolute;
	z-index: 4;
	top: calc(100% - 0.65rem);
	left: -1rem;
	display: grid;
	width: 13rem;
	padding: 0.75rem;
	visibility: hidden;
	opacity: 0;
	background: var(--apex-black);
	border: 1px solid var(--apex-rule-dark);
	box-shadow: var(--apex-shadow);
	transform: translateY(0.5rem);
	transition: opacity 150ms ease, transform 150ms ease, visibility 150ms;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.primary-menu .sub-menu a {
	display: block;
	padding: 0.65rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 750;
	text-decoration: none;
}

.primary-menu .sub-menu a:hover {
	color: var(--apex-cyan);
}

.apex-nav-race {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.5rem 1.1rem;
	color: var(--apex-black);
	background: var(--apex-cyan);
	font-size: 0.66rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
	clip-path: polygon(0.55rem 0, 100% 0, calc(100% - 0.55rem) 100%, 0 100%);
}

.apex-nav-race:hover {
	background: var(--apex-white);
}

.menu-toggle {
	position: relative;
	z-index: 3;
	display: none;
	align-items: center;
	gap: 0.8rem;
	padding: 0;
	color: var(--apex-white);
	background: transparent;
	border: 0;
}

.menu-toggle__label {
	font-size: 0.65rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.menu-toggle__lines {
	display: grid;
	align-content: center;
	width: 2.5rem;
	height: 2.5rem;
	gap: 0.38rem;
	background: var(--apex-cyan);
	clip-path: polygon(0.45rem 0, 100% 0, calc(100% - 0.45rem) 100%, 0 100%);
}

.menu-toggle__lines i {
	display: block;
	width: 1rem;
	height: 2px;
	margin-inline: auto;
	background: var(--apex-black);
	transition: transform 180ms ease;
}

.menu-open .menu-toggle__lines i:first-child {
	transform: translateY(4px) rotate(45deg);
}

.menu-open .menu-toggle__lines i:last-child {
	transform: translateY(-4px) rotate(-45deg);
}

/* Home hero */

.apex-home-hero {
	position: relative;
	display: grid;
	align-items: end;
	min-height: clamp(42rem, calc(100svh - 7rem), 62rem);
	overflow: hidden;
	color: var(--apex-white);
	background: var(--apex-black);
	isolation: isolate;
}

.apex-home-hero__media,
.apex-home-hero__scrim {
	position: absolute;
	z-index: -3;
	inset: 0;
}

.apex-home-hero__media {
	background:
		radial-gradient(circle at 74% 42%, rgba(49, 215, 242, 0.2), transparent 0 7%, rgba(18, 88, 214, 0.18) 7.2% 15%, transparent 15.3%),
		linear-gradient(112deg, transparent 0 56%, rgba(255, 255, 255, 0.045) 56.2% 56.7%, transparent 57%),
		repeating-linear-gradient(135deg, transparent 0 34px, rgba(255, 255, 255, 0.018) 34px 35px),
		linear-gradient(130deg, #07101e, #0e1f3a 56%, #090c12);
}

.apex-home-hero__media::after {
	position: absolute;
	right: clamp(4rem, 12vw, 13rem);
	bottom: -18rem;
	width: clamp(23rem, 48vw, 48rem);
	aspect-ratio: 0.72;
	content: "";
	border: clamp(2.4rem, 5vw, 5rem) solid rgba(49, 215, 242, 0.085);
	border-radius: 48% 52% 43% 57% / 58% 38% 62% 42%;
	transform: rotate(27deg) skewX(-8deg);
}

.apex-home-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% 35%;
	filter: saturate(0.92) contrast(1.05);
}

.apex-home-hero__scrim {
	z-index: -2;
	background:
		linear-gradient(90deg, rgba(5, 8, 13, 0.96) 0%, rgba(5, 8, 13, 0.78) 43%, rgba(5, 8, 13, 0.12) 72%),
		linear-gradient(0deg, rgba(5, 8, 13, 0.96) 0%, transparent 45%),
		linear-gradient(135deg, transparent 59%, rgba(49, 215, 242, 0.12) 59.2%, transparent 59.5%);
}

.apex-home-hero::after {
	position: absolute;
	z-index: -1;
	inset: auto 0 0;
	height: 0.42rem;
	content: "";
	background: linear-gradient(90deg, var(--apex-cyan) 0 34%, var(--apex-blue) 34% 69%, var(--apex-red) 69%);
}

.apex-home-hero__numbers {
	--apex-roster-count: 1;
	--apex-roster-columns: 1;
	--apex-roster-rows: 1;

	position: absolute;
	z-index: -1;
	top: 4%;
	right: -1vw;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	width: min(34vw, 34rem);
	height: 86%;
	gap: 0;
	color: transparent;
	font-family: var(--apex-heading);
	font-size: clamp(4rem, 5vw, 7rem);
	line-height: 0.68;
	transform: skewX(-8deg);
}

.apex-home-hero__numbers span {
	--apex-rider-accent: var(--apex-cyan);
	--apex-rider-accent-on-dark: var(--apex-cyan);

	display: block;
	flex: 0 0 auto;
	max-width: 100%;
	color: transparent;
	font-size: 1em;
	-webkit-text-stroke: 1px var(--apex-rider-accent-on-dark);
	color: color-mix(in srgb, var(--apex-rider-accent-on-dark) 10%, transparent);
	line-height: 0.68;
	white-space: nowrap;
	-webkit-text-stroke: 1px color-mix(in srgb, var(--apex-rider-accent-on-dark) 76%, transparent);
}

.apex-home-hero__numbers > .apex-roster-number + .apex-roster-number {
	margin-block-start: -0.1em;
}

.apex-home-hero__numbers[data-roster-count="1"] {
	font-size: clamp(9rem, 22vw, 22rem);
}

.apex-home-hero__numbers[data-roster-count="2"] {
	font-size: clamp(8rem, 19vw, 19rem);
}

.apex-home-hero__numbers[data-roster-count="3"] {
	font-size: clamp(7rem, 17vw, 17rem);
}

.apex-home-hero__numbers[data-roster-count="4"] {
	font-size: clamp(5.5rem, 12vw, 13rem);
}

.apex-home-hero__numbers[data-roster-count="5"] {
	font-size: clamp(4.5rem, 9.5vw, 10.5rem);
}

.apex-home-hero__numbers[data-roster-count="6"] {
	font-size: clamp(4rem, 8vw, 9rem);
}

.apex-home-hero__numbers[data-roster-density="dense"] {
	right: 10vw;
	width: min(42vw, 42rem);
	font-size: clamp(1.35rem, min(var(--apex-roster-width-size), var(--apex-roster-height-size)), 8rem);
}

.apex-home-hero__content {
	padding-top: 9rem;
	padding-bottom: clamp(5.5rem, 10vw, 9rem);
}

.apex-home-hero h1 {
	max-width: 8.2ch;
	margin-bottom: 0.18em;
	font-size: clamp(5rem, 11.7vw, 12rem);
	line-height: 0.78;
	transform: skewX(-3deg);
}

.apex-home-hero h1 em {
	display: block;
	color: var(--apex-cyan);
	font-style: normal;
}

.apex-home-hero__lede {
	max-width: 38rem;
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(1.05rem, 1.6vw, 1.35rem);
	line-height: 1.55;
}

.apex-home-hero__scroll {
	position: absolute;
	right: var(--apex-gutter);
	bottom: 3rem;
	display: flex;
	align-items: center;
	gap: 1rem;
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.61rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-decoration: none;
	text-transform: uppercase;
	writing-mode: vertical-rl;
}

.apex-home-hero__scroll i {
	width: 1px;
	height: 3.5rem;
	background: linear-gradient(var(--apex-cyan) 50%, rgba(255, 255, 255, 0.18) 50%);
}

/* Page hero and breadcrumbs */

.apex-page-hero {
	position: relative;
	display: grid;
	align-items: end;
	min-height: clamp(25rem, 50vw, 40rem);
	overflow: hidden;
	color: var(--apex-white);
	background:
		linear-gradient(120deg, var(--apex-black), #121923 70%, #0c2347);
	isolation: isolate;
}

.apex-page-hero::after {
	position: absolute;
	z-index: -1;
	right: -12%;
	bottom: -70%;
	width: 70%;
	aspect-ratio: 1;
	content: "";
	border: 1px solid rgba(49, 215, 242, 0.22);
	transform: rotate(42deg);
}

.apex-page-hero__media {
	position: absolute;
	z-index: -3;
	inset: 0;
}

.apex-page-hero__media::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, rgba(5, 8, 13, 0.96), rgba(5, 8, 13, 0.68) 55%, rgba(5, 8, 13, 0.14));
}

.apex-page-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.apex-page-hero__texture {
	position: absolute;
	z-index: -2;
	inset: 0;
	opacity: 0.5;
	background:
		repeating-linear-gradient(135deg, transparent 0 28px, rgba(255, 255, 255, 0.025) 28px 29px),
		linear-gradient(0deg, rgba(9, 11, 15, 0.93), transparent 75%);
}

.apex-page-hero__content {
	position: relative;
	z-index: 2;
	padding-top: 7rem;
	padding-bottom: clamp(4rem, 8vw, 7.5rem);
	container-type: inline-size;
}

.apex-page-hero h1 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(4.4rem, 10vw, 10rem);
	line-height: 0.82;
}

.apex-page-hero h1.apex-page-hero__title--round {
	max-width: none;
	font-size: clamp(2.4rem, 10cqi, 8rem);
}

.apex-page-hero__intro {
	max-width: 46rem;
	margin-top: 2rem;
	color: rgba(255, 255, 255, 0.74);
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
}

.apex-page-hero__intro p:last-child {
	margin-bottom: 0;
}

.apex-page-hero__number {
	position: absolute;
	z-index: -1;
	right: -0.05em;
	bottom: -0.15em;
	max-width: 75vw;
	overflow: hidden;
	color: transparent;
	font-family: var(--apex-heading);
	font-size: clamp(10rem, 28vw, 29rem);
	line-height: 0.75;
	white-space: nowrap;
	-webkit-text-stroke: 1px rgba(49, 215, 242, 0.22);
	transform: skewX(-6deg);
}

.apex-page-hero__number > span {
	--apex-rider-accent-on-dark: var(--apex-cyan);

	-webkit-text-stroke-color: var(--apex-rider-accent-on-dark);
}

.apex-page-hero__number--roster {
	--apex-roster-count: 1;
	--apex-roster-columns: 1;
	--apex-roster-rows: 1;

	right: -2%;
	left: 24%;
	display: grid;
	grid-template-columns: repeat(var(--apex-roster-columns), minmax(0, 1fr));
	grid-template-rows: repeat(var(--apex-roster-rows), minmax(0, 1fr));
	align-items: end;
	max-width: none;
	overflow: visible;
	font-size: clamp(2.5rem, 7vw, 9rem);
	column-gap: clamp(0.2rem, 0.65vw, 0.65rem);
}

.apex-page-hero__number--roster > .apex-roster-number {
	display: block;
	min-width: 0;
	font-size: 1em;
	line-height: 0.75;
	text-align: center;
	white-space: nowrap;
}

.apex-page-hero__number--roster[data-roster-count="1"] {
	font-size: clamp(10rem, 28vw, 29rem);
}

.apex-page-hero__number--roster[data-roster-count="2"] {
	font-size: clamp(8rem, 24vw, 24rem);
}

.apex-page-hero__number--roster[data-roster-count="3"] {
	font-size: clamp(7rem, 21vw, 21rem);
}

.apex-page-hero__number--roster[data-roster-count="4"] {
	font-size: clamp(5.5rem, 15vw, 15rem);
}

.apex-page-hero__number--roster[data-roster-count="5"] {
	font-size: clamp(4.75rem, 11.5vw, 12rem);
}

.apex-page-hero__number--roster[data-roster-count="6"] {
	font-size: clamp(4.25rem, 9.5vw, 10rem);
}

.apex-page-hero__number--roster[data-roster-density="dense"] {
	right: 3%;
	left: 40%;
	align-items: center;
	font-size: clamp(1.25rem, min(var(--apex-roster-width-size), var(--apex-roster-height-size)), 9rem);
	row-gap: clamp(0.15rem, 0.5vw, 0.5rem);
}

.apex-page-hero__number--roster > .apex-roster-number[data-number-length="3"] {
	font-size: 0.62em;
}

.apex-page-hero__number--roster > .apex-roster-number[data-number-length="4"] {
	font-size: 0.46em;
}

.apex-page-hero--roster-row .apex-page-hero__number--roster {
	right: 1%;
	left: 24%;
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: flex-end;
	gap: 0;
}

.apex-page-hero--roster-row .apex-page-hero__number--roster > .apex-roster-number {
	flex: 0 0 auto;
	font-size: 1em;
}

.apex-page-hero--roster-row .apex-page-hero__number--roster > .apex-roster-number + .apex-roster-number {
	margin-inline-start: -0.1em;
}

.apex-breadcrumbs {
	margin-bottom: clamp(2rem, 5vw, 4rem);
}

.apex-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	list-style: none;
	gap: 0.5rem;
	color: rgba(255, 255, 255, 0.54);
	font-size: 0.65rem;
	font-weight: 750;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.apex-breadcrumbs li + li::before {
	margin-right: 0.5rem;
	color: var(--apex-cyan);
	content: "/";
}

.apex-breadcrumbs a {
	text-decoration: none;
}

.apex-breadcrumbs a:hover {
	color: var(--apex-white);
}

.apex-page-hero--rider {
	min-height: clamp(34rem, 67vw, 52rem);
}

.apex-page-hero--rider .apex-page-hero__media img {
	object-position: 70% 26%;
}

.apex-page-hero--article h1 {
	max-width: 14ch;
	font-size: clamp(3.5rem, 8vw, 8rem);
}

/* Shared sections */

.apex-section {
	padding-block: var(--apex-section);
}

.apex-section--light {
	color: var(--apex-ink);
	background: var(--apex-white);
}

.apex-section--dark {
	color: var(--apex-white);
	background: var(--apex-black);
}

.apex-section-head {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.65fr);
	align-items: end;
	margin-bottom: clamp(2.7rem, 6vw, 5.5rem);
	gap: 2rem 5rem;
}

.apex-section-head h2 {
	max-width: 9ch;
	margin: 0;
}

.apex-section-head > p {
	max-width: 38rem;
	margin: 0 0 0.5rem;
	color: #626b77;
}

.apex-section--dark .apex-section-head > p,
.apex-team-manifesto p,
.apex-programme-band p {
	color: rgba(255, 255, 255, 0.66);
}

.apex-section-head--inline {
	display: flex;
	align-items: end;
	justify-content: space-between;
}

.apex-section-head--inline h2 {
	max-width: none;
}

/* Race Centre */

.apex-home-race {
	position: relative;
	padding-block: clamp(3rem, 6vw, 6rem);
	color: var(--apex-white);
	background:
		linear-gradient(115deg, #0b1018, #0e1b31 72%, #111a25);
}

.apex-home-race::before,
.apex-race-centre-page::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
	opacity: 0.32;
	background: repeating-linear-gradient(135deg, transparent 0 34px, rgba(255, 255, 255, 0.035) 34px 35px);
}

.apex-home-race > .apex-shell,
.apex-race-centre-page > .apex-shell {
	position: relative;
	z-index: 1;
}

.apex-race-centre {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(34rem, 1.25fr);
	background: var(--apex-black-soft);
	border: 1px solid var(--apex-rule-dark);
	box-shadow: var(--apex-shadow);
}

.apex-race-centre__round,
.apex-race-centre__standings {
	min-width: 0;
	padding: clamp(1.5rem, 3vw, 3rem);
}

.apex-race-centre__round {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 100% 0, rgba(18, 88, 214, 0.3), transparent 45%),
		var(--apex-black);
	container-type: inline-size;
}

.apex-race-centre__round::after {
	position: absolute;
	right: -3rem;
	bottom: -5rem;
	width: 11rem;
	height: 15rem;
	content: "";
	border: 1px solid rgba(49, 215, 242, 0.15);
	transform: skewX(-17deg) rotate(26deg);
}

.apex-race-centre__round-head {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: end;
	justify-content: space-between;
	margin-bottom: clamp(2rem, 4vw, 4rem);
	gap: 1rem;
}

.apex-race-centre h2 {
	margin: 0;
	font-size: clamp(2.8rem, 5vw, 5rem);
}

.apex-next-round {
	position: relative;
	z-index: 1;
}

.apex-next-round__identity {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 1.5rem;
}

.apex-next-round__identity > div:last-child,
.apex-round-card__body {
	min-width: 0;
}

.apex-next-round__badge {
	display: grid;
	place-content: center;
	width: clamp(5rem, 8vw, 7.2rem);
	aspect-ratio: 0.86;
	color: var(--apex-white-pure);
	text-align: center;
	background: var(--apex-blue);
	clip-path: polygon(0.75rem 0, 100% 0, calc(100% - 0.75rem) 100%, 0 100%);
}

.apex-next-round__badge span {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.57rem;
	font-weight: 850;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.apex-next-round__badge strong {
	color: var(--apex-white-pure);
	font-family: var(--apex-heading);
	font-size: clamp(2.8rem, 5vw, 4.7rem);
	font-weight: 400;
	line-height: 0.9;
}

.apex-next-round__status {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 0.65rem;
	color: var(--apex-cyan);
	font-size: 0.65rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.apex-next-round__status span {
	width: 0.5rem;
	height: 0.5rem;
	background: currentColor;
	border-radius: 50%;
	box-shadow: 0 0 0 0.22rem rgba(49, 215, 242, 0.12);
}

.apex-next-round h3 {
	max-width: none;
	margin: 0 0 0.2em;
	font-size: clamp(2.25rem, 4.6vw, 4.8rem);
	font-size: clamp(1.9rem, 8cqi, 4.8rem);
	line-height: 0.84;
}

.apex-next-round h3 a {
	display: block;
	text-decoration: none;
}

.apex-next-round__title-round,
.apex-next-round__title-separator,
.apex-next-round__title-name {
	display: block;
}

.apex-next-round__title-round,
.apex-next-round__title-name {
	white-space: nowrap;
}

.apex-next-round__title-separator {
	line-height: 0.58;
}

.apex-next-round__title-name {
	font-size: 0.72em;
}

.apex-next-round h3 a:hover {
	color: var(--apex-cyan);
}

.apex-next-round__identity p:not(.apex-next-round__status) {
	display: block;
	margin: 0;
	color: rgba(255, 255, 255, 0.64);
	font-size: 0.83rem;
}

.apex-next-round__identity time {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 0.36rem 0.65rem;
	margin-top: 0.55rem;
	color: var(--apex-white);
	background: rgba(49, 215, 242, 0.09);
	border-inline-start: 3px solid var(--apex-cyan);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	line-height: 1.2;
}

.apex-countdown {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 2.5rem;
	border-top: 1px solid var(--apex-rule-dark);
	border-bottom: 1px solid var(--apex-rule-dark);
}

.apex-countdown > div {
	padding: clamp(0.8rem, 2vw, 1.4rem) 0.5rem;
	text-align: center;
	border-right: 1px solid var(--apex-rule-dark);
}

.apex-countdown > div:last-child {
	border-right: 0;
}

.apex-countdown strong {
	display: block;
	font-family: var(--apex-heading);
	font-size: clamp(2rem, 4.3vw, 4rem);
	font-weight: 400;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.apex-countdown span {
	display: block;
	margin-top: 0.35rem;
	color: var(--apex-grey);
	font-size: 0.54rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.apex-race-message {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 8rem;
	padding: 1rem 1.5rem;
	margin-top: 2.5rem;
	overflow: hidden;
	color: var(--apex-black);
	background: var(--apex-cyan);
	clip-path: polygon(1rem 0, 100% 0, calc(100% - 1rem) 100%, 0 100%);
}

.apex-race-message strong {
	position: relative;
	z-index: 1;
	font-family: var(--apex-heading);
	font-size: clamp(2.2rem, 4.5vw, 4.8rem);
	font-weight: 400;
	line-height: 0.9;
	text-transform: uppercase;
}

.apex-race-message span {
	position: absolute;
	right: -1rem;
	width: 5rem;
	height: 9rem;
	border: 1.2rem solid rgba(9, 11, 15, 0.08);
	transform: skewX(-16deg);
}

.apex-race-message--results_pending {
	background: var(--apex-white);
}

.apex-race-message--cancelled,
.apex-race-message--postponed {
	background: var(--apex-red);
}

.apex-next-round__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 2rem;
	gap: 1rem 1.5rem;
}

.apex-next-round--empty {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 1.5rem;
}

.apex-next-round--empty h3 {
	max-width: none;
}

.apex-plugin-race-centre {
	margin-top: 2rem;
}

.apex-race-centre__standings {
	background: #121720;
}

.apex-standings-head {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 1.5rem;
	gap: 1rem 2rem;
}

.apex-standings-head > * {
	min-width: 0;
}

.apex-tabs {
	display: flex;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	border-bottom: 1px solid var(--apex-rule-dark);
	overscroll-behavior-inline: contain;
	scrollbar-width: thin;
}

.apex-tabs button {
	flex: 0 0 auto;
	padding: 0.75rem 0.9rem;
	color: var(--apex-grey);
	background: transparent;
	border: 0;
	border-bottom: 3px solid transparent;
	font-size: 0.62rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
}

.apex-tabs button[aria-selected="true"] {
	color: var(--apex-white);
	border-bottom-color: var(--apex-cyan);
}

.apex-tab-panel {
	min-height: 20rem;
}

.apex-team-championships {
	display: grid;
	gap: 2rem;
}

.apex-team-championship + .apex-team-championship {
	padding-top: 2rem;
	border-top: 1px solid var(--apex-rule-dark);
}

.apex-team-championship h3 {
	margin: 0 0 0.75rem;
	color: var(--apex-cyan);
	font-size: 1.55rem;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

.apex-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
}

.apex-standings {
	width: 100%;
	min-width: 38rem;
	border-collapse: collapse;
	font-size: 0.78rem;
	font-variant-numeric: tabular-nums;
}

.apex-standings th,
.apex-standings td {
	padding: 0.72rem 0.75rem;
	text-align: left;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.apex-standings thead th {
	color: var(--apex-grey);
	font-size: 0.56rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.apex-standings tbody th {
	font-weight: 750;
}

.apex-standings tbody tr {
	transition: background-color 130ms ease;
}

.apex-standings tbody tr:hover {
	background: rgba(255, 255, 255, 0.04);
}

.apex-standings .is-apex-row {
	--apex-rider-accent: var(--apex-cyan);
	--apex-rider-accent-foreground: var(--apex-black);

	color: var(--apex-rider-accent-foreground);
	background: var(--apex-rider-accent);
}

.apex-standings .is-apex-row th,
.apex-standings .is-apex-row td {
	border-bottom-color: color-mix(in srgb, var(--apex-rider-accent-foreground) 16%, transparent);
}

.apex-standings tbody tr.is-apex-row:is(:hover, :focus-within) {
	color: var(--apex-rider-accent-foreground);
	background: var(--apex-rider-accent);
	box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--apex-rider-accent-foreground) 24%, transparent);
}

.apex-standings .is-apex-row a:focus-visible {
	outline-color: var(--apex-rider-accent-foreground);
}

.apex-data-empty {
	display: flex;
	align-items: center;
	min-height: 11rem;
	padding: 1.5rem;
	color: #424b57;
	background: rgba(255, 255, 255, 0.03);
	border: 1px dashed rgba(255, 255, 255, 0.2);
	gap: 1rem;
}

.apex-data-empty__flag {
	flex: 0 0 auto;
	width: 2.75rem;
	height: 3.6rem;
	background: linear-gradient(135deg, var(--apex-blue) 0 50%, var(--apex-cyan) 50%);
	clip-path: polygon(0.45rem 0, 100% 0, calc(100% - 0.45rem) 100%, 0 100%);
}

.apex-data-empty p {
	margin: 0;
}

.apex-data-empty--dark,
.apex-race-centre .apex-data-empty {
	color: rgba(255, 255, 255, 0.66);
}

.apex-data-empty strong {
	color: inherit;
}

.apex-data-meta {
	display: flex;
	align-items: start;
	justify-content: space-between;
	padding-top: 1rem;
	margin-top: 1rem;
	color: var(--apex-grey);
	border-top: 1px solid var(--apex-rule-dark);
	gap: 1rem;
	font-size: 0.66rem;
}

.apex-data-meta p {
	margin: 0;
}

/* Rider cards */

.apex-rider-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 2rem);
}

.apex-rider-card {
	--apex-rider-accent: var(--apex-cyan);
	--apex-rider-accent-foreground: var(--apex-black);
	--apex-rider-accent-on-dark: var(--apex-cyan);

	position: relative;
	min-width: 0;
	overflow: hidden;
	color: var(--apex-white);
	background: var(--apex-black);
	box-shadow: 0 18px 45px rgba(9, 11, 15, 0.17);
}

.apex-rider-card__link {
	display: block;
	text-decoration: none;
}

.apex-rider-card__media {
	position: relative;
	aspect-ratio: 0.82;
	overflow: hidden;
	background:
		linear-gradient(145deg, #182334, var(--apex-black) 66%),
		var(--apex-black);
}

.apex-rider-card__media::after {
	position: absolute;
	inset: 0;
	content: "";
	background:
		linear-gradient(0deg, rgba(9, 11, 15, 0.96), transparent 58%),
		linear-gradient(130deg, transparent 66%, color-mix(in srgb, var(--apex-rider-accent) 26%, transparent) 66.2%, transparent 66.5%);
}

.apex-rider-card__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center top;
	filter: saturate(0.84);
	transition: filter 300ms ease;
}

.apex-rider-card:hover .apex-rider-card__media img {
	filter: saturate(1);
}

.apex-rider-card__ghost-number {
	position: absolute;
	z-index: 1;
	right: -0.04em;
	bottom: -0.08em;
	color: transparent;
	font-family: var(--apex-heading);
	font-size: clamp(8rem, 18vw, 15rem);
	line-height: 0.72;
	-webkit-text-stroke: 1px color-mix(in srgb, var(--apex-rider-accent-on-dark) 72%, transparent);
	transform: skewX(-8deg);
}

.apex-rider-card__class {
	position: absolute;
	z-index: 2;
	top: 1rem;
	left: 1rem;
	padding: 0.45rem 0.7rem;
	color: var(--apex-rider-accent-foreground);
	background: var(--apex-rider-accent);
	font-size: 0.57rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	clip-path: polygon(0.4rem 0, 100% 0, calc(100% - 0.4rem) 100%, 0 100%);
}

.apex-rider-card__body {
	position: relative;
	padding: clamp(1.3rem, 3vw, 2.2rem);
	border-top: 3px solid var(--apex-rider-accent);
}

.apex-rider-card__body h2 {
	max-width: 8ch;
	margin-bottom: 1.4rem;
	font-size: clamp(2.5rem, 4vw, 4.4rem);
}

.apex-rider-card__number {
	margin: 0 0 0.45rem;
	color: var(--apex-rider-accent-on-dark);
	font-family: var(--apex-heading);
	font-size: 1.35rem;
	line-height: 1;
}

.apex-rider-card__number span {
	font-family: var(--apex-body);
	font-size: 0.7rem;
	font-weight: 800;
}

.apex-rider-card dl {
	display: grid;
	margin: 0;
	gap: 0.6rem;
}

.apex-rider-card dl div {
	display: grid;
	grid-template-columns: 4.2rem 1fr;
	gap: 0.6rem;
}

.apex-rider-card dt {
	color: var(--apex-grey);
	font-size: 0.56rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.apex-rider-card dd {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
}

.apex-card-arrow {
	position: absolute;
	right: 1.4rem;
	bottom: 1.2rem;
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	color: var(--apex-rider-accent-foreground);
	background: var(--apex-rider-accent);
	font-size: 1.1rem;
	transition: transform 180ms ease;
}

.apex-rider-card:hover .apex-card-arrow,
.apex-round-card:hover .apex-card-arrow {
	transform: translate(0.2rem, -0.2rem);
}

.apex-rider-card__sponsors {
	padding: 1rem 1.5rem;
	background: var(--apex-white-pure);
	border-top: 1px solid var(--apex-grey-light);
}

.apex-rider-card__sponsors .apex-sponsor-strip {
	min-height: 2rem;
}

/* Team manifesto */

.apex-team-manifesto {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(24rem, 0.9fr);
	min-height: clamp(32rem, 55vw, 48rem);
	overflow: hidden;
	color: var(--apex-white);
	background: var(--apex-blue-dark);
}

.apex-team-manifesto__media {
	position: relative;
	min-height: 32rem;
	background:
		radial-gradient(circle at 26% 54%, transparent 0 11%, rgba(49, 215, 242, 0.2) 11.3% 12%, transparent 12.3%),
		linear-gradient(132deg, transparent 0 48%, rgba(255, 255, 255, 0.07) 48.2% 48.7%, transparent 49%),
		repeating-linear-gradient(135deg, transparent 0 29px, rgba(255, 255, 255, 0.035) 29px 30px),
		linear-gradient(145deg, #111b2c, #07101e);
}

.apex-team-manifesto__media::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, transparent 60%, var(--apex-blue-dark));
}

.apex-team-manifesto__media::before {
	position: absolute;
	top: 18%;
	left: 12%;
	width: 63%;
	aspect-ratio: 1.5;
	content: "";
	border: 1.2rem solid rgba(49, 215, 242, 0.1);
	border-radius: 57% 43% 61% 39% / 48% 59% 41% 52%;
	transform: rotate(-12deg) skewX(-6deg);
}

.apex-team-manifesto__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.apex-team-manifesto__copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--apex-gutter);
}

.apex-team-manifesto__copy h2 {
	max-width: 8ch;
}

.apex-team-manifesto__copy > p:not(.apex-kicker) {
	max-width: 35rem;
}

.apex-team-manifesto__number {
	position: absolute;
	z-index: 1;
	right: -0.04em;
	bottom: -0.2em;
	color: transparent;
	font-family: var(--apex-heading);
	font-size: clamp(10rem, 22vw, 23rem);
	line-height: 0.7;
	white-space: nowrap;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.13);
	transform: skewX(-9deg);
}

/* News */

.apex-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 3rem);
}

.apex-post-card {
	min-width: 0;
	background: var(--apex-white-pure);
	border-bottom: 3px solid var(--apex-blue);
	box-shadow: 0 16px 38px rgba(9, 11, 15, 0.08);
}

.apex-post-card__media {
	display: block;
	aspect-ratio: 1.45;
	overflow: hidden;
	background: var(--apex-black);
}

.apex-post-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
}

.apex-post-card:hover .apex-post-card__media img {
	transform: scale(1.035);
}

.apex-post-card__placeholder {
	display: grid;
	place-items: center;
	height: 100%;
	color: transparent;
	background:
		linear-gradient(135deg, transparent 50%, rgba(49, 215, 242, 0.13) 50% 51%, transparent 51%),
		linear-gradient(145deg, #121a27, var(--apex-black));
	font-family: var(--apex-heading);
	font-size: clamp(4rem, 10vw, 8rem);
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.16);
}

.apex-post-card__body {
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.apex-post-card__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 1.3rem;
	color: #65707e;
	gap: 0.5rem;
	font-size: 0.6rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.apex-post-card__meta span {
	color: var(--apex-blue);
}

.apex-post-card h2 {
	font-size: clamp(2rem, 3.2vw, 3.3rem);
}

.apex-post-card h2 a {
	text-decoration: none;
}

.apex-post-card h2 a:hover {
	color: var(--apex-blue);
}

.apex-post-card__body > p {
	color: #626b77;
	font-size: 0.87rem;
}

.apex-editorial-placeholder {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	padding: clamp(2rem, 5vw, 4rem);
	background: var(--apex-white-pure);
	border: 1px dashed #aeb4bb;
	gap: 2rem;
}

.apex-editorial-placeholder > span {
	color: var(--apex-blue);
	font-family: var(--apex-heading);
	font-size: clamp(5rem, 12vw, 10rem);
	line-height: 0.8;
}

.apex-editorial-placeholder h3 {
	margin-bottom: 0.25em;
}

.apex-editorial-placeholder p {
	max-width: 40rem;
	margin: 0;
	color: #626b77;
}

/* Galleries */

.apex-gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2.5rem);
}

.apex-gallery-card {
	min-width: 0;
	overflow: hidden;
	color: var(--apex-white);
	background: var(--apex-black-soft);
	border: 1px solid var(--apex-rule-dark);
}

.apex-gallery-card > a {
	display: block;
	text-decoration: none;
}

.apex-gallery-card__media {
	position: relative;
	aspect-ratio: 1.48;
	overflow: hidden;
	background: linear-gradient(135deg, #17202e, var(--apex-black));
}

.apex-gallery-card__media::after {
	position: absolute;
	inset: auto 0 0;
	height: 45%;
	content: "";
	background: linear-gradient(transparent, rgba(9, 11, 15, 0.85));
}

.apex-gallery-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 450ms ease;
}

.apex-gallery-card:hover .apex-gallery-card__media img {
	transform: scale(1.04);
}

.apex-gallery-card__placeholder {
	display: block;
	height: 100%;
	background:
		repeating-linear-gradient(135deg, transparent 0 30px, rgba(49, 215, 242, 0.04) 30px 31px),
		linear-gradient(135deg, #17202e, var(--apex-black));
}

.apex-gallery-card__count {
	position: absolute;
	z-index: 1;
	right: 1rem;
	bottom: 1rem;
	padding: 0.35rem 0.6rem;
	color: var(--apex-black);
	background: var(--apex-cyan);
	font-size: 0.57rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.apex-gallery-card__body {
	padding: clamp(1.25rem, 3vw, 2.2rem);
}

.apex-gallery-card h2 {
	font-size: clamp(2.2rem, 4vw, 4rem);
}

.apex-gallery-riders {
	margin-bottom: clamp(2.5rem, 5vw, 5rem);
}

.apex-gallery-riders__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
	gap: 1rem;
}

.apex-gallery-riders__head p {
	margin: 0;
}

.apex-gallery-riders__head .is-active {
	color: var(--apex-cyan);
}

.apex-gallery-riders__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	min-width: 0;
	gap: 1rem;
}

.apex-gallery-riders__card {
	--apex-rider-accent: var(--apex-cyan);
	--apex-rider-accent-on-dark: var(--apex-cyan);

	position: relative;
	display: grid;
	place-items: center;
	min-width: 0;
	aspect-ratio: 1.35;
	overflow: hidden;
	color: var(--apex-white);
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--apex-rider-accent) 7%, #161e2a), #0b0e13 72%);
	border: 1px solid var(--apex-rule-dark);
	text-decoration: none;
	transition: border-color 180ms ease, transform 180ms ease;
}

.apex-gallery-riders__card::before {
	position: absolute;
	inset: 0;
	content: "";
	background:
		linear-gradient(135deg, transparent 0 66%, color-mix(in srgb, var(--apex-rider-accent) 18%, transparent) 66.2% 66.6%, transparent 66.8%);
	pointer-events: none;
}

.apex-gallery-riders__card:hover,
.apex-gallery-riders__card.is-active {
	border-color: var(--apex-rider-accent-on-dark);
}

.apex-gallery-riders__card:hover {
	transform: translateY(-0.2rem);
}

.apex-gallery-riders__card.is-active {
	box-shadow: inset 0 -4px 0 var(--apex-rider-accent);
}

.apex-gallery-riders__number {
	display: block;
	max-width: 100%;
	color: transparent;
	font-family: var(--apex-heading);
	font-size: clamp(5rem, 11vw, 10rem);
	line-height: 0.8;
	-webkit-text-stroke: 1px color-mix(in srgb, var(--apex-rider-accent-on-dark) 76%, transparent);
	transition: transform 220ms ease;
}

.apex-gallery-riders__card:hover .apex-gallery-riders__number {
	transform: scale(1.035);
}

.apex-gallery-riders__meta {
	position: absolute;
	z-index: 1;
	inset: auto 1rem 1rem;
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
}

.apex-gallery-riders__meta strong {
	font-family: var(--apex-heading);
	font-size: clamp(1.35rem, 2.4vw, 2.2rem);
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 0.9;
	text-transform: uppercase;
}

.apex-gallery-riders__meta > span {
	flex-shrink: 0;
	color: var(--apex-grey);
	font-size: 0.56rem;
	font-weight: 850;
	letter-spacing: 0.09em;
	text-align: right;
	text-transform: uppercase;
	white-space: nowrap;
}

.apex-gallery-riders__meta > span::after {
	margin-left: 0.35rem;
	color: var(--apex-rider-accent-on-dark);
	content: "→";
	font-size: 1rem;
}

.apex-gallery-preview__title {
	margin-bottom: 1.25rem;
	font-size: clamp(2rem, 3vw, 3rem);
}

.apex-gallery-preview__empty {
	margin: -1.5rem 0 0;
	color: var(--apex-grey);
	font-size: 0.8rem;
	text-align: center;
}

.apex-gallery-results {
	scroll-margin-top: 7rem;
}

.apex-gallery-results__head {
	--apex-rider-accent-on-dark: var(--apex-cyan);

	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--apex-rule-dark);
}

.apex-gallery-results__head h2 {
	margin: 0;
	font-size: clamp(3rem, 6vw, 6rem);
}

.apex-gallery-results__head h2 span {
	color: var(--apex-rider-accent-on-dark);
}

.apex-filter-chips {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3rem;
	gap: 0.65rem;
}

.apex-filter-chips a {
	padding: 0.55rem 0.85rem;
	color: var(--apex-grey);
	border: 1px solid var(--apex-rule-dark);
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
}

.apex-filter-chips a:hover,
.apex-filter-chips a.is-active {
	color: var(--apex-black);
	background: var(--apex-cyan);
	border-color: var(--apex-cyan);
}

.apex-gallery-intro {
	max-width: 52rem;
	margin-bottom: 3rem;
	color: rgba(255, 255, 255, 0.75);
}

.apex-gallery-credit {
	margin-bottom: 2rem;
	color: var(--apex-grey);
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.apex-photo-grid {
	display: grid;
	grid-auto-flow: dense;
	grid-template-columns: repeat(12, 1fr);
	gap: clamp(0.5rem, 1vw, 1rem);
}

.apex-photo-grid__item {
	position: relative;
	grid-column: span 4;
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--apex-ink);
}

.apex-photo-grid__item--1,
.apex-photo-grid__item--6 {
	grid-column: span 8;
	grid-row: span 2;
	aspect-ratio: 1.55;
}

.apex-photo-grid__item--3,
.apex-photo-grid__item--7 {
	grid-column: span 4;
	aspect-ratio: 0.76;
}

.apex-photo-grid__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter 220ms ease, transform 400ms ease;
}

.apex-photo-grid__item::after {
	position: absolute;
	right: 0.75rem;
	bottom: 0.75rem;
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	content: "+";
	color: var(--apex-black);
	background: var(--apex-cyan);
	font-weight: 900;
	opacity: 0;
	transform: scale(0.75);
	transition: opacity 180ms ease, transform 180ms ease;
}

.apex-photo-grid__item:hover img {
	filter: saturate(1.1);
	transform: scale(1.025);
}

.apex-photo-grid__item:hover::after,
.apex-photo-grid__item:focus-visible::after {
	opacity: 1;
	transform: scale(1);
}

/* Partners */

.apex-partner-band,
.apex-rider-partners {
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
	background: var(--apex-white-pure);
	border-block: 1px solid var(--apex-rule);
}

.apex-partner-band > .apex-shell,
.apex-rider-partners > .apex-shell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

.apex-partner-band .apex-kicker,
.apex-rider-partners .apex-kicker {
	flex: 0 0 auto;
	margin: 0;
}

.apex-sponsor-strip,
.apex-partner-logos {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	gap: 1.2rem 2.2rem;
	list-style: none;
}

.apex-sponsor-strip__item,
.apex-partner-logos__item {
	display: grid;
	place-items: center;
	min-width: 12rem;
	min-height: 5.5rem;
	color: var(--apex-ink);
	font-size: 0.8rem;
	font-weight: 850;
	text-align: center;
	text-transform: uppercase;
}

.apex-sponsor-strip__item a,
.apex-partner-logos__item a {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.apex-sponsor-strip__item img,
.apex-partner-logos__item img {
	width: auto;
	max-width: 14rem;
	max-height: 5rem;
	object-fit: contain;
	filter: none;
}

.apex-sponsor-strip--on-dark,
.apex-partner-logos--on-dark,
.apex-block-surface--dark .apex-sponsor-strip,
.apex-block-surface--dark .apex-partner-logos {
	color: var(--apex-white);
}

.apex-sponsor-strip--on-dark .apex-sponsor-strip__item,
.apex-partner-logos--on-dark .apex-partner-logos__item,
.apex-block-surface--dark .apex-sponsor-strip__item,
.apex-block-surface--dark .apex-partner-logos__item {
	color: inherit;
}

.apex-sponsor-strip--on-light,
.apex-partner-logos--on-light,
.apex-block-surface--light .apex-sponsor-strip,
.apex-block-surface--light .apex-partner-logos {
	color: var(--apex-ink);
}

.apex-sponsor-strip__item--principal,
.apex-sponsor-strip__item--featured,
.apex-partner-logos__item--principal,
.apex-partner-logos__item--featured {
	flex-basis: 14rem;
	min-height: 6rem;
}

.apex-sponsor-strip__item--principal img,
.apex-sponsor-strip__item--featured img,
.apex-partner-logos__item--principal img,
.apex-partner-logos__item--featured img {
	max-width: 15rem;
	max-height: 5.5rem;
}

.apex-sponsor-strip__item--technical img,
.apex-sponsor-strip__item--supporter img,
.apex-partner-logos__item--technical img,
.apex-partner-logos__item--supporter img {
	max-width: 12rem;
	max-height: 4.5rem;
}

.apex-sponsor-strip__item--featured img,
.apex-partner-logos__item--featured img {
	max-width: 15rem;
	max-height: 5.5rem;
}

.apex-rider-card__sponsors .apex-sponsor-strip__item,
.apex-rider-card__sponsors .apex-partner-logos__item {
	min-width: 5.5rem;
	min-height: 2.75rem;
}

.apex-rider-card__sponsors .apex-sponsor-strip__item img,
.apex-rider-card__sponsors .apex-partner-logos__item img {
	max-width: 8rem;
	max-height: 2.5rem;
}

.apex-partner-band__empty {
	flex: 1;
	padding: 1.2rem 2rem;
	text-align: center;
	border-inline: 1px solid var(--apex-rule);
}

.apex-partner-band__empty p,
.apex-partner-band__empty span {
	margin: 0;
}

.apex-partner-band__empty p {
	font-family: var(--apex-heading);
	font-size: 1.55rem;
	text-transform: uppercase;
}

.apex-partner-band__empty span {
	color: #6c7480;
	font-size: 0.65rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.apex-partner-scope,
.apex-contact,
.apex-team-story,
.apex-rider-profile,
.apex-round-detail {
	padding-block: var(--apex-section);
	background: var(--apex-white);
}

.apex-scope-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--apex-rule);
	border-left: 1px solid var(--apex-rule);
}

.apex-scope-grid article {
	position: relative;
	min-height: 18rem;
	padding: clamp(1.5rem, 3vw, 3rem);
	overflow: hidden;
	background: var(--apex-white-pure);
	border-right: 1px solid var(--apex-rule);
	border-bottom: 1px solid var(--apex-rule);
}

.apex-scope-grid article > span {
	position: absolute;
	right: -0.05em;
	bottom: -0.15em;
	color: transparent;
	font-family: var(--apex-heading);
	font-size: 9rem;
	line-height: 0.8;
	-webkit-text-stroke: 1px rgba(18, 88, 214, 0.17);
}

.apex-scope-grid h3 {
	position: relative;
	font-size: clamp(2.2rem, 4vw, 4rem);
}

.apex-scope-grid p {
	position: relative;
	max-width: 22rem;
	color: #626b77;
}

.apex-partner-tier + .apex-partner-tier {
	padding-top: 5rem;
	margin-top: 5rem;
	border-top: 1px solid var(--apex-rule);
}

.apex-partner-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.apex-partner-tier--principal .apex-partner-grid {
	grid-template-columns: repeat(2, 1fr);
}

.apex-partner-card {
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--apex-white-pure);
	border-bottom: 3px solid var(--apex-blue);
	box-shadow: 0 15px 35px rgba(9, 11, 15, 0.07);
}

.apex-partner-card__logo {
	display: grid;
	place-items: center;
	min-height: 8rem;
	padding: 1rem;
	margin-bottom: 1.5rem;
	background: #f8f8f6;
	border: 1px solid var(--apex-rule);
	text-align: center;
}

.apex-partner-card__logo img {
	width: auto;
	max-width: 16rem;
	max-height: 7rem;
	object-fit: contain;
}

.apex-partner-card h2 {
	font-size: clamp(2rem, 3vw, 3.2rem);
}

.apex-partner-card p {
	color: #626b77;
	font-size: 0.86rem;
}

.apex-partner-launch {
	width: 100vw;
	max-width: none;
	margin-left: 50%;
	color: var(--apex-white);
	background: var(--apex-black);
	transform: translateX(-50%);
}

.apex-partner-directory--empty {
	padding-top: 0;
}

.apex-partner-launch__inner {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	padding: clamp(2rem, 6vw, 6rem);
	gap: 3rem;
}

.apex-partner-launch__inner > span {
	color: rgba(49, 215, 242, 0.14);
	font-family: var(--apex-heading);
	font-size: clamp(5rem, 12vw, 11rem);
	line-height: 0.75;
	white-space: nowrap;
	-webkit-text-stroke: 1.5px rgba(49, 215, 242, 0.9);
}

.apex-partner-launch h2 {
	max-width: 8ch;
}

.apex-partner-launch p:not(.apex-kicker) {
	max-width: 36rem;
	color: rgba(255, 255, 255, 0.68);
}

/* CTA */

.apex-cta {
	position: relative;
	overflow: hidden;
	color: var(--apex-white);
	background:
		linear-gradient(100deg, var(--apex-blue-dark), var(--apex-blue) 72%, var(--apex-cyan-dark));
}

.apex-cta::before {
	position: absolute;
	inset: 0;
	content: "";
	background: repeating-linear-gradient(135deg, transparent 0 35px, rgba(255, 255, 255, 0.04) 35px 36px);
}

.apex-cta__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: clamp(21rem, 35vw, 31rem);
	padding-block: 4rem;
	gap: 2rem;
}

.apex-cta h2 {
	max-width: 8ch;
	margin: 0;
}

.apex-cta__ghost {
	position: absolute;
	right: -0.02em;
	bottom: -0.2em;
	color: transparent;
	font-family: var(--apex-heading);
	font-size: clamp(8rem, 20vw, 20rem);
	line-height: 0.72;
	white-space: nowrap;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.13);
}

.apex-cta .apex-button {
	flex: 0 0 auto;
}

/* Team and race units */

.apex-team-story__grid {
	display: grid;
	grid-template-columns: minmax(18rem, 0.75fr) minmax(0, 1fr);
	gap: clamp(3rem, 8vw, 9rem);
}

.apex-team-story__lead h2 {
	max-width: 8ch;
}

.apex-team-story__copy {
	max-width: 46rem;
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
}

.apex-stat-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: clamp(4rem, 8vw, 8rem);
	border-top: 1px solid var(--apex-rule);
	border-left: 1px solid var(--apex-rule);
}

.apex-stat-row > div {
	display: grid;
	min-height: 10rem;
	padding: 1.5rem;
	border-right: 1px solid var(--apex-rule);
	border-bottom: 1px solid var(--apex-rule);
}

.apex-stat-row strong {
	font-family: var(--apex-heading);
	font-size: clamp(3.5rem, 7vw, 7rem);
	font-weight: 400;
	line-height: 0.8;
}

.apex-stat-row span {
	align-self: end;
	color: #626b77;
	font-size: 0.64rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.apex-race-unit-list {
	border-top: 1px solid var(--apex-rule-dark);
}

.apex-race-unit {
	--apex-rider-accent: var(--apex-cyan);
	--apex-rider-accent-foreground: var(--apex-black);
	--apex-rider-accent-on-dark: var(--apex-cyan);

	display: grid;
	grid-template-columns: minmax(22rem, 0.8fr) minmax(0, 1fr);
	align-items: center;
	min-height: 14rem;
	border-bottom: 1px solid var(--apex-rule-dark);
	box-shadow: inset 3px 0 0 var(--apex-rider-accent);
}

.apex-race-unit__rider {
	display: grid;
	grid-template-columns: auto 6.5rem 1fr;
	align-items: center;
	padding: 1.5rem 2rem 1.5rem clamp(1rem, 2vw, 1.5rem);
	gap: 1rem;
}

.apex-race-unit__index {
	color: var(--apex-rider-accent-on-dark);
	font-family: var(--apex-heading);
	font-size: 1.2rem;
}

.apex-race-unit .apex-kicker {
	display: inline-block;
	width: fit-content;
	padding: 0.38rem 0.6rem;
	color: var(--apex-rider-accent-foreground);
	background: var(--apex-rider-accent);
	clip-path: polygon(0.4rem 0, 100% 0, calc(100% - 0.4rem) 100%, 0 100%);
}

.apex-race-unit__portrait {
	display: grid;
	place-items: center;
	width: 6.5rem;
	aspect-ratio: 0.82;
	overflow: hidden;
	color: transparent;
	background: #151d29;
	border-bottom: 2px solid var(--apex-rider-accent);
	font-family: var(--apex-heading);
	font-size: 4.2rem;
	-webkit-text-stroke: 1px color-mix(in srgb, var(--apex-rider-accent-on-dark) 78%, transparent);
	clip-path: polygon(0.65rem 0, 100% 0, calc(100% - 0.65rem) 100%, 0 100%);
}

.apex-race-unit__portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.apex-race-unit h3 {
	margin: 0;
	font-size: clamp(2.1rem, 4vw, 4rem);
}

.apex-race-unit h3 a {
	text-decoration: none;
}

.apex-race-unit h3 span {
	color: var(--apex-rider-accent-on-dark);
}

.apex-race-unit__crew {
	display: flex;
	flex-wrap: wrap;
	align-self: stretch;
	align-content: stretch;
	border-left: 1px solid var(--apex-rule-dark);
}

.apex-race-unit__crew-member,
.apex-race-unit__crew > div {
	display: flex;
	flex: 1 1 13.5rem;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	min-height: 6.5rem;
	padding: clamp(1rem, 1vw + 0.65rem, 1.5rem);
	gap: 0.5rem;
	border-right: 1px solid var(--apex-rule-dark);
	border-bottom: 1px solid var(--apex-rule-dark);
}

.apex-race-unit__role,
.apex-race-unit__crew span {
	color: var(--apex-grey);
	font-size: clamp(0.75rem, 0.75rem + 0.12vw, 0.85rem);
	font-weight: 800;
	letter-spacing: 0.07em;
	line-height: 1.4;
	overflow-wrap: anywhere;
	text-wrap: pretty;
	text-transform: uppercase;
}

.apex-race-unit__name,
.apex-race-unit__crew strong {
	font-size: clamp(1rem, 1rem + 0.12vw, 1.15rem);
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.apex-team-member-grid,
.apex-crew-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
}

.apex-team-member-grid article,
.apex-crew-card {
	min-width: 0;
}

.apex-team-member-grid article > div,
.apex-crew-card__media {
	display: grid;
	place-items: center;
	aspect-ratio: 0.88;
	overflow: hidden;
	color: transparent;
	background: #e6e7e5;
	font-family: var(--apex-heading);
	font-size: 8rem;
	-webkit-text-stroke: 1px rgba(18, 88, 214, 0.3);
}

.apex-crew-card__media {
	background: #151d29;
	-webkit-text-stroke-color: rgba(49, 215, 242, 0.4);
}

.apex-team-member-grid article img,
.apex-crew-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.apex-team-member-grid article p,
.apex-crew-card p,
.apex-crew-card__role {
	margin: 1rem 0 0.3rem;
	color: var(--apex-blue);
	font-size: 0.75rem;
	font-weight: 850;
	letter-spacing: 0.07em;
	line-height: 1.4;
	overflow-wrap: anywhere;
	text-transform: uppercase;
}

.apex-crew-card p {
	color: var(--apex-cyan);
}

.apex-team-member-grid h3,
.apex-crew-card h3,
.apex-crew-card__name {
	font-size: clamp(1.7rem, 2.5vw, 2.7rem);
	overflow-wrap: anywhere;
}

.apex-programme-band {
	padding-block: clamp(4rem, 8vw, 8rem);
	color: var(--apex-white);
	background: var(--apex-blue-dark);
}

.apex-programme-band__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.65fr);
	align-items: end;
	gap: 3rem 8rem;
}

.apex-programme-band h2 {
	max-width: 9ch;
	margin: 0;
}

/* Rider single */

.apex-rider-theme {
	--apex-rider-accent: var(--apex-cyan);
	--apex-rider-accent-foreground: var(--apex-black);
	--apex-rider-accent-on-dark: var(--apex-cyan);
}

.apex-rider-theme .apex-page-hero--rider .apex-kicker,
.apex-rider-theme .apex-rider-crew .apex-kicker {
	display: inline-block;
	width: fit-content;
	padding: 0.38rem 0.6rem;
	color: var(--apex-rider-accent-foreground);
	background: var(--apex-rider-accent);
	clip-path: polygon(0.4rem 0, 100% 0, calc(100% - 0.4rem) 100%, 0 100%);
}

.apex-rider-theme .apex-rider-partners {
	border-top: 3px solid var(--apex-rider-accent);
}

.apex-rider-theme .apex-page-hero--rider .apex-page-hero__number {
	-webkit-text-stroke-color: color-mix(in srgb, var(--apex-rider-accent-on-dark) 76%, transparent);
}

.apex-rider-theme .apex-page-hero--rider .apex-breadcrumbs li + li::before {
	color: var(--apex-rider-accent-on-dark);
}

.apex-rider-theme .apex-crew-card p {
	color: var(--apex-rider-accent-on-dark);
}

.apex-page-hero__title--round .apex-page-hero__title-line,
.apex-page-hero__title--round .apex-page-hero__title-separator,
.apex-page-hero__title--round .apex-page-hero__title-name {
	display: block;
	white-space: nowrap;
}

.apex-page-hero__title--round .apex-page-hero__title-separator {
	line-height: 0.58;
}

.apex-page-hero__title--round .apex-page-hero__title-name {
	font-size: 0.62em;
}

.apex-rider-profile__portrait {
	position: relative;
	display: grid;
	place-items: center;
	align-self: start;
	width: 100%;
	min-width: 0;
	height: clamp(31rem, 42vw, 37.5rem);
	min-height: 0;
	padding-bottom: clamp(4rem, 8vw, 6rem);
	box-sizing: border-box;
	margin: 0;
	overflow: hidden;
	color: var(--apex-rider-accent-on-dark, var(--apex-cyan));
	background:
		linear-gradient(135deg, transparent 0 49%, rgba(255, 255, 255, 0.05) 49.2% 50%, transparent 50.2%),
		#151d29;
	border-bottom: 3px solid var(--apex-rider-accent, var(--apex-cyan));
	box-shadow: var(--apex-shadow);
}

.apex-rider-profile__portrait img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: contain;
	object-position: center top;
}

.apex-rider-profile__portrait > span {
	padding: 1rem;
	font-family: var(--apex-heading);
	font-size: clamp(4rem, 8vw, 7rem);
	line-height: 0.8;
	text-align: center;
	-webkit-text-stroke: 1px color-mix(in srgb, var(--apex-rider-accent-on-dark, var(--apex-cyan)) 78%, transparent);
}

.apex-rider-profile__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 6vw, 6rem);
}

.apex-rider-profile__facts {
	display: grid;
	align-self: start;
	min-width: 0;
	gap: clamp(0.75rem, 2vw, 1.5rem);
}

.apex-rider-profile__stage {
	position: relative;
	container-type: inline-size;
	padding-bottom: 1px;
	background: linear-gradient(160deg, rgba(7, 16, 30, 0.08), transparent 45%);
}

.apex-rider-spec {
	position: relative;
	z-index: 1;
	align-self: start;
	width: calc(100% - clamp(1.5rem, 4vw, 4rem));
	margin: -4.5rem auto 0;
	padding: clamp(1.25rem, 2.5vw, 2rem);
	display: grid;
	grid-template-columns: minmax(0, max-content) minmax(0, 1fr);
	align-items: start;
	gap: 1rem clamp(1rem, 2vw, 2rem);
	color: var(--apex-white);
	background: var(--apex-black);
	border-top: 4px solid var(--apex-rider-accent, var(--apex-cyan));
	box-shadow: var(--apex-shadow);
}

.apex-rider-spec__number {
	margin: 0;
	color: var(--apex-rider-accent-on-dark, var(--apex-cyan));
	font-family: var(--apex-heading);
	font-size: clamp(3.5rem, 6vw, 5.5rem);
	line-height: 0.78;
}

.apex-rider-spec__number span {
	color: var(--apex-white);
	font-size: 0.32em;
}

.apex-rider-spec dl {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
}

.apex-rider-spec dl div {
	padding-block: 0.85rem;
	border-top: 1px solid var(--apex-rule-dark);
}

.apex-rider-spec dt {
	color: var(--apex-grey);
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.apex-rider-spec dd {
	margin: 0.2rem 0 0;
	font-size: 0.95rem;
	font-weight: 720;
	overflow-wrap: anywhere;
}

.apex-rider-profile__copy {
	max-width: 50rem;
}

@container (max-width: 34rem) {
	.apex-rider-spec {
		grid-template-columns: 1fr;
	}

	.apex-rider-spec dl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@container (max-width: 21rem) {
	.apex-rider-spec dl {
		grid-template-columns: 1fr;
	}
}

/* Round cards and calendar */

.apex-round-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--apex-rule-dark);
	border-left: 1px solid var(--apex-rule-dark);
}

.apex-round-card {
	position: relative;
	min-width: 0;
	border-right: 1px solid var(--apex-rule-dark);
	border-bottom: 1px solid var(--apex-rule-dark);
	container-type: inline-size;
}

.apex-round-card > a {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	min-height: 15rem;
	padding: clamp(1.25rem, 3vw, 2.3rem);
	text-decoration: none;
	gap: 1.5rem;
	transition: background-color 180ms ease;
}

.apex-round-card > a:hover {
	background: rgba(49, 215, 242, 0.05);
}

.apex-round-card__number {
	display: grid;
	place-content: center;
	width: 5.7rem;
	aspect-ratio: 0.86;
	color: var(--apex-white-pure);
	text-align: center;
	background: var(--apex-blue);
	clip-path: polygon(0.6rem 0, 100% 0, calc(100% - 0.6rem) 100%, 0 100%);
}

.apex-round-card__number span {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.54rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.apex-round-card__number strong {
	color: var(--apex-white-pure);
	font-family: var(--apex-heading);
	font-size: 3.8rem;
	font-weight: 400;
	line-height: 0.9;
}

.apex-round-card__body .apex-kicker {
	margin-bottom: 0.6rem;
}

.apex-round-card h2 {
	max-width: none;
	margin-bottom: 0.2em;
	font-size: clamp(1.6rem, 3vw, 3.5rem);
	font-size: clamp(1.45rem, 6cqi, 3.5rem);
	line-height: 0.84;
}

.apex-round-card__title-round,
.apex-round-card__title-separator,
.apex-round-card__title-name {
	display: block;
}

.apex-round-card__title-round,
.apex-round-card__title-name {
	white-space: nowrap;
}

.apex-round-card__title-separator {
	line-height: 0.58;
}

.apex-round-card__body p {
	display: block;
	margin: 0;
	color: var(--apex-grey);
	font-size: 0.75rem;
}

.apex-round-card__body time {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 0.33rem 0.55rem;
	margin-top: 0.45rem;
	color: var(--apex-white);
	background: rgba(49, 215, 242, 0.08);
	border-inline-start: 3px solid var(--apex-cyan);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.025em;
	line-height: 1.2;
}

.apex-round-card--live .apex-round-card__number {
	color: var(--apex-black);
	background: var(--apex-cyan);
}

.apex-round-card--live .apex-round-card__number span,
.apex-round-card--live .apex-round-card__number strong {
	color: var(--apex-black);
}

.apex-round-card--cancelled {
	opacity: 0.62;
}

.apex-round-grid--light {
	border-color: var(--apex-rule);
}

.apex-round-grid--light .apex-round-card {
	border-color: var(--apex-rule);
}

.apex-round-grid--light .apex-round-card > a:hover {
	background: var(--apex-white-pure);
}

.apex-round-grid--light .apex-round-card__body p {
	color: #626b77;
}

.apex-round-grid--light .apex-round-card__body time {
	color: var(--apex-black);
	background: rgba(18, 88, 214, 0.08);
	border-inline-start-color: var(--apex-blue);
}

.apex-calendar-placeholder {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--apex-rule);
	border-left: 1px solid var(--apex-rule);
}

.apex-calendar-placeholder > div {
	display: grid;
	grid-template-columns: 3rem 1fr auto;
	align-items: center;
	min-height: 7rem;
	padding: 1rem 1.5rem;
	border-right: 1px solid var(--apex-rule);
	border-bottom: 1px solid var(--apex-rule);
	gap: 1rem;
}

.apex-calendar-placeholder strong {
	color: var(--apex-blue);
	font-family: var(--apex-heading);
	font-size: 2.8rem;
	font-weight: 400;
}

.apex-calendar-placeholder span {
	font-family: var(--apex-heading);
	font-size: 1.55rem;
	text-transform: uppercase;
}

.apex-calendar-placeholder time {
	color: #626b77;
	font-size: 0.7rem;
	font-weight: 750;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.apex-calendar-placeholder > p {
	grid-column: 1 / -1;
	padding: 1rem;
	margin: 0;
	color: #6a737f;
	font-size: 0.67rem;
	text-align: center;
	border-right: 1px solid var(--apex-rule);
	border-bottom: 1px solid var(--apex-rule);
}

.apex-round-detail__grid {
	display: grid;
	grid-template-columns: minmax(18rem, 0.52fr) minmax(0, 1fr);
	gap: clamp(3rem, 8vw, 9rem);
}

.apex-round-detail__status {
	align-self: start;
	padding: 2rem;
	background: var(--apex-white-pure);
	border-top: 4px solid var(--apex-cyan);
	box-shadow: 0 16px 45px rgba(9, 11, 15, 0.08);
}

.apex-round-detail__status h2 {
	font-size: clamp(2.5rem, 4vw, 4rem);
}

.apex-round-detail__status dl {
	margin: 1.5rem 0 0;
}

.apex-round-detail__status dl div {
	padding-block: 0.8rem;
	border-top: 1px solid var(--apex-rule);
}

.apex-round-detail__status dt {
	color: #68717c;
	font-size: 0.58rem;
	font-weight: 850;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.apex-round-detail__status dd {
	margin: 0.2rem 0 0;
	font-weight: 730;
}

/* Contact */

.apex-contact-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--apex-rule);
	border-left: 1px solid var(--apex-rule);
}

.apex-contact-cards article {
	position: relative;
	min-height: 22rem;
	padding: clamp(1.5rem, 3vw, 3rem);
	overflow: hidden;
	background: var(--apex-white-pure);
	border-right: 1px solid var(--apex-rule);
	border-bottom: 1px solid var(--apex-rule);
}

.apex-contact-cards article > span {
	position: absolute;
	right: -0.05em;
	bottom: -0.15em;
	color: transparent;
	font-family: var(--apex-heading);
	font-size: 10rem;
	line-height: 0.75;
	-webkit-text-stroke: 1px rgba(18, 88, 214, 0.13);
}

.apex-contact-cards h2,
.apex-contact-cards p,
.apex-contact-cards a {
	position: relative;
}

.apex-contact-cards h2 {
	font-size: clamp(2rem, 3.4vw, 3.5rem);
}

.apex-contact-cards p:not(.apex-kicker) {
	color: #626b77;
}

.apex-contact-form {
	display: grid;
	grid-template-columns: minmax(18rem, 0.55fr) minmax(0, 1fr);
	margin-top: clamp(4rem, 8vw, 8rem);
	color: var(--apex-white);
	background: var(--apex-black);
}

.apex-contact-form__intro,
.apex-contact-form__body {
	min-width: 0;
	padding: clamp(2rem, 5vw, 5rem);
}

.apex-contact-form__intro {
	background: linear-gradient(145deg, var(--apex-blue-dark), var(--apex-blue));
	container-type: inline-size;
}

.apex-contact-form__intro h2 {
	max-width: 100%;
	font-size: clamp(2.5rem, 5vw, 5rem);
	font-size: clamp(2.5rem, 20cqi, 5rem);
	overflow-wrap: anywhere;
}

.apex-contact-form__body {
	border-left: 1px solid var(--apex-rule-dark);
}

.apex-form-placeholder {
	padding: 2rem;
	border: 1px dashed rgba(255, 255, 255, 0.25);
}

.apex-enquiry-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1.25rem;
}

.apex-enquiry-form > p {
	margin: 0 0 1.25rem;
}

.apex-enquiry-form > p:nth-of-type(4),
.apex-enquiry-form .apex-form-consent,
.apex-enquiry-form > p:last-child {
	grid-column: 1 / -1;
}

.apex-enquiry-form label {
	color: rgba(255, 255, 255, 0.8);
}

.apex-enquiry-form label > span {
	color: var(--apex-cyan);
}

.apex-enquiry-form .apex-form-consent label {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: 0.75rem;
	font-size: 0.68rem;
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1.5;
	text-transform: none;
}

.apex-enquiry-form .apex-form-consent input {
	width: 1.1rem;
	height: 1.1rem;
	margin-top: 0.15rem;
	accent-color: var(--apex-cyan);
}

.apex-form-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.apex-form-message {
	padding: 1rem 1.2rem;
	margin-bottom: 1.5rem;
	color: var(--apex-white);
	background: #143b2b;
	border-left: 4px solid #59e29a;
	font-size: 0.82rem;
	font-weight: 720;
}

.apex-form-message--error {
	background: #43151c;
	border-left-color: var(--apex-red);
}

/* Content and forms */

.apex-prose {
	max-width: 760px;
}

.apex-prose > *:first-child {
	margin-top: 0;
}

.apex-prose > *:last-child {
	margin-bottom: 0;
}

.apex-prose h2,
.apex-prose h3,
.apex-prose h4 {
	margin-top: 1.2em;
}

.apex-prose h2 {
	font-size: clamp(2.6rem, 5vw, 5rem);
}

.apex-prose h3 {
	font-size: clamp(2rem, 3.5vw, 3.4rem);
}

.apex-prose a:not(.apex-button):not(.wp-block-button__link) {
	color: var(--apex-blue);
	font-weight: 700;
}

.apex-prose blockquote {
	padding: 0.5rem 0 0.5rem 1.5rem;
	margin: 2.5rem 0;
	border-left: 4px solid var(--apex-cyan);
	font-size: clamp(1.3rem, 2.4vw, 2rem);
	font-weight: 650;
	line-height: 1.4;
}

.apex-prose blockquote cite {
	display: block;
	margin-top: 1rem;
	color: #68717c;
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.apex-prose ul,
.apex-prose ol {
	padding-left: 1.3rem;
}

.apex-prose li + li {
	margin-top: 0.5rem;
}

.entry-content .alignwide {
	width: min(100vw - (2 * var(--apex-gutter)), 1280px);
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.entry-content .alignfull {
	width: 100vw;
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.entry-content .is-style-apex-dark-panel {
	padding: clamp(2rem, 5vw, 5rem);
	color: var(--apex-white);
	background: var(--apex-black);
	border-left: 4px solid var(--apex-cyan);
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
}

.entry-content th,
.entry-content td {
	padding: 0.75rem;
	text-align: left;
	border-bottom: 1px solid var(--apex-rule);
}

.entry-content label,
.comment-form label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.66rem;
	font-weight: 850;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
select,
textarea {
	width: 100%;
	min-height: 3.25rem;
	padding: 0.75rem 0.9rem;
	color: var(--apex-ink);
	background: var(--apex-white-pure);
	border: 1px solid #abb1b9;
	border-radius: 0;
}

textarea {
	min-height: 10rem;
	resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--apex-blue);
	outline: 3px solid rgba(49, 215, 242, 0.28);
	outline-offset: 1px;
}

.search-form {
	display: flex;
	max-width: 40rem;
}

.search-form label {
	flex: 1;
}

.search-form .search-field {
	min-height: 3.5rem;
}

.search-form .search-submit {
	flex: 0 0 auto;
	min-width: 7rem;
}

.apex-search-bar {
	margin-bottom: 3rem;
}

.apex-article {
	padding-block: var(--apex-section);
	background: var(--apex-white);
}

.apex-article__layout {
	display: grid;
	grid-template-columns: minmax(0, 760px) minmax(12rem, 0.25fr);
	justify-content: center;
	gap: clamp(3rem, 8vw, 8rem);
}

.apex-article__aside {
	align-self: start;
	padding-top: 1rem;
	border-top: 3px solid var(--apex-cyan);
}

.apex-article__aside time {
	font-weight: 700;
}

.apex-tag-list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 2rem;
	gap: 0.5rem;
}

.apex-tag-list a {
	padding: 0.35rem 0.55rem;
	background: #e6e8e9;
	font-size: 0.62rem;
	font-weight: 750;
	text-decoration: none;
}

.apex-post-nav {
	padding-bottom: var(--apex-section);
}

.apex-post-nav .nav-links {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-top: 1px solid var(--apex-rule);
	border-left: 1px solid var(--apex-rule);
}

.apex-post-nav a {
	display: grid;
	min-height: 8rem;
	padding: 1.5rem;
	border-right: 1px solid var(--apex-rule);
	border-bottom: 1px solid var(--apex-rule);
	text-decoration: none;
}

.apex-post-nav a span {
	color: #68717c;
	font-size: 0.6rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.apex-post-nav a strong {
	align-self: end;
	font-family: var(--apex-heading);
	font-size: 1.7rem;
	line-height: 1;
	text-transform: uppercase;
}

.apex-comments {
	border-top: 1px solid var(--apex-rule);
}

.comment-list {
	padding: 0;
	list-style: none;
}

.comment-list .comment {
	padding: 1.5rem 0;
	border-top: 1px solid var(--apex-rule);
}

.comment-list .children {
	list-style: none;
}

.apex-empty-state {
	max-width: 52rem;
	padding: clamp(2rem, 5vw, 5rem);
	background: var(--apex-white-pure);
	border-left: 4px solid var(--apex-cyan);
	box-shadow: 0 16px 40px rgba(9, 11, 15, 0.08);
}

.apex-empty-state h2 {
	font-size: clamp(3rem, 6vw, 6rem);
}

.apex-empty-state .search-form {
	margin-block: 2rem;
}

/* Pagination */

.apex-pagination {
	margin-top: 4rem;
}

.apex-pagination ul {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	list-style: none;
	gap: 0.5rem;
}

.apex-pagination a,
.apex-pagination span {
	display: grid;
	place-items: center;
	min-width: 2.8rem;
	min-height: 2.8rem;
	padding: 0.4rem;
	background: var(--apex-white-pure);
	border: 1px solid var(--apex-rule);
	font-size: 0.75rem;
	font-weight: 800;
	text-decoration: none;
}

.apex-pagination .current,
.apex-pagination a:hover {
	color: var(--apex-black);
	background: var(--apex-cyan);
	border-color: var(--apex-cyan);
}

.apex-section--dark .apex-pagination a,
.apex-section--dark .apex-pagination span {
	background: var(--apex-ink);
	border-color: var(--apex-rule-dark);
}

/* 404 */

.apex-404 {
	position: relative;
	display: grid;
	align-items: center;
	min-height: 72vh;
	overflow: hidden;
	color: var(--apex-white);
	background:
		linear-gradient(120deg, var(--apex-black), #111b2b);
}

.apex-404::after {
	position: absolute;
	inset: 0;
	content: "";
	background: repeating-linear-gradient(135deg, transparent 0 36px, rgba(255, 255, 255, 0.025) 36px 37px);
}

.apex-404__number {
	position: absolute;
	right: -0.03em;
	bottom: -0.17em;
	color: transparent;
	font-family: var(--apex-heading);
	font-size: clamp(16rem, 45vw, 45rem);
	line-height: 0.7;
	-webkit-text-stroke: 1px rgba(49, 215, 242, 0.18);
	transform: skewX(-8deg);
}

.apex-404__content {
	position: relative;
	z-index: 2;
	padding-block: 6rem;
}

.apex-404 h1 {
	font-size: clamp(5rem, 12vw, 12rem);
}

.apex-404__content > p:not(.apex-kicker) {
	max-width: 38rem;
	color: rgba(255, 255, 255, 0.7);
}

.apex-404__search {
	max-width: 36rem;
	margin-block: 2rem;
}

/* Footer */

.footer-utility {
	padding-block: 2rem;
	background: #f0efeb;
	border-top: 1px solid var(--apex-rule);
}

.site-footer {
	position: relative;
	color: var(--apex-white);
	background: var(--apex-black);
}

.site-footer__stripe {
	display: grid;
	grid-template-columns: 34% 35% 31%;
	height: 0.42rem;
}

.site-footer__stripe i:nth-child(1) {
	background: var(--apex-cyan);
}

.site-footer__stripe i:nth-child(2) {
	background: var(--apex-blue);
}

.site-footer__stripe i:nth-child(3) {
	background: var(--apex-red);
}

.site-footer__partners {
	padding-block: 2rem;
	border-bottom: 1px solid var(--apex-rule-dark);
}

.site-footer__partners > .apex-shell {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.site-footer__partners .apex-kicker {
	flex: 0 0 auto;
	margin: 0;
}

.site-footer__partners .apex-sponsor-strip__item,
.site-footer__partners .apex-partner-logos__item {
	min-width: 7rem;
	min-height: 3.5rem;
	color: var(--apex-white);
}

.site-footer__partners .apex-sponsor-strip__item img,
.site-footer__partners .apex-partner-logos__item img {
	max-width: 12rem;
	max-height: 4rem;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: minmax(15rem, 1.3fr) repeat(3, minmax(9rem, 0.6fr));
	padding-block: clamp(4rem, 8vw, 7rem);
	gap: 2rem 4rem;
}

.site-footer__brand p {
	max-width: 24rem;
	margin-top: 1.5rem;
	color: var(--apex-grey);
	font-size: 0.82rem;
}

.site-footer .apex-wordmark__apex {
	font-size: 3.4rem;
}

.site-footer .custom-logo-link {
	width: min(20rem, 100%);
	max-width: min(20rem, 100%);
}

.site-footer .custom-logo {
	max-height: 5rem;
}

.site-footer .apex-kicker {
	color: var(--apex-cyan);
}

.footer-menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(5rem, 1fr));
	gap: 0.55rem 1.5rem;
}

.footer-menu a,
.site-footer__contact > a,
.site-footer__social a {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.74rem;
	font-weight: 700;
	text-decoration: none;
}

.footer-menu a:hover,
.site-footer__contact > a:hover,
.site-footer__social a:hover {
	color: var(--apex-cyan);
}

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

.site-footer__contact > a + a {
	margin-top: 0.5rem;
}

.site-footer__contact .apex-text-link {
	margin-top: 1rem;
	font-size: 0.61rem;
}

.site-footer__social ul {
	display: grid;
	gap: 0.5rem;
}

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding-block: 1.2rem;
	color: #747b85;
	border-top: 1px solid var(--apex-rule-dark);
	gap: 1rem 2rem;
	font-size: 0.6rem;
}

.site-footer__bottom p {
	margin: 0;
}

.legal-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.legal-menu a {
	text-decoration: none;
}

/* Granular tracking consent */

.apex-privacy-choices {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.55rem 0;
	color: #aeb6c2;
	background: transparent;
	border: 0;
	font-size: inherit;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.apex-privacy-choices:hover {
	color: var(--apex-cyan);
}

.apex-consent[hidden] {
	display: none;
}

.apex-consent {
	position: fixed;
	z-index: 10000;
	right: clamp(0.75rem, 2vw, 1.5rem);
	bottom: clamp(0.75rem, 2vw, 1.5rem);
	left: clamp(0.75rem, 2vw, 1.5rem);
	max-width: 86rem;
	padding: clamp(1rem, 2.5vw, 1.6rem);
	margin-inline: auto;
	color: var(--apex-white);
	background:
		linear-gradient(105deg, rgba(18, 88, 214, 0.18), transparent 48%),
		#0b1018;
	border: 1px solid rgba(49, 215, 242, 0.42);
	box-shadow: 0 1.4rem 4rem rgba(0, 0, 0, 0.55);
}

.apex-consent__inner {
	display: grid;
	grid-template-columns: minmax(16rem, 1.6fr) minmax(13rem, 0.85fr) auto;
	align-items: center;
	gap: 1rem clamp(1rem, 3vw, 2.5rem);
}

.apex-consent .apex-kicker {
	margin-bottom: 0.35rem;
	color: var(--apex-cyan);
}

.apex-consent h2 {
	margin: 0 0 0.35rem;
	font-size: clamp(2rem, 4vw, 3.4rem);
}

.apex-consent__copy > p:last-child {
	max-width: 45rem;
	margin: 0;
	color: #c1c8d1;
	font-size: 0.72rem;
}

.apex-consent__copy a {
	color: var(--apex-cyan);
}

.apex-consent__options {
	display: grid;
	gap: 0.55rem;
}

.apex-consent__options label {
	display: flex;
	align-items: center;
	min-height: 2.8rem;
	padding: 0.6rem 0.75rem;
	background: rgba(255, 255, 255, 0.045);
	border: 1px solid var(--apex-rule-dark);
	cursor: pointer;
	gap: 0.7rem;
}

.apex-consent__options input {
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
	accent-color: var(--apex-cyan);
}

.apex-consent__options span {
	color: #b7c0cb;
	font-size: 0.66rem;
	line-height: 1.35;
}

.apex-consent__options strong {
	display: block;
	color: var(--apex-white);
	font-size: 0.7rem;
}

.apex-consent__actions {
	display: grid;
	min-width: 11rem;
	gap: 0.55rem;
}

.apex-consent__actions .apex-button {
	width: 100%;
	min-height: 2.8rem;
	padding: 0.65rem 0.9rem;
}

.apex-consent__reject {
	padding: 0.3rem;
	color: #b8c0cb;
	background: transparent;
	border: 0;
	font-size: 0.63rem;
	font-weight: 750;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.apex-consent__reject:hover {
	color: var(--apex-cyan);
}

/* Lightbox */

.apex-lightbox {
	width: 100vw;
	max-width: none;
	height: 100vh;
	max-height: none;
	padding: 0;
	margin: 0;
	color: var(--apex-white);
	background: rgba(4, 6, 9, 0.97);
	border: 0;
}

.apex-lightbox::backdrop {
	background: rgba(4, 6, 9, 0.92);
}

.apex-lightbox__frame {
	position: relative;
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr) 4rem;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 4.5rem 1rem 1rem;
}

.apex-lightbox figure {
	display: grid;
	align-content: center;
	height: 100%;
	min-height: 0;
}

.apex-lightbox figure img {
	width: auto;
	max-width: 100%;
	max-height: calc(100vh - 9rem);
	margin-inline: auto;
	object-fit: contain;
}

.apex-lightbox figcaption {
	min-height: 1.5rem;
	margin-top: 0.7rem;
	color: var(--apex-grey);
	font-size: 0.72rem;
	text-align: center;
}

.apex-lightbox button {
	color: var(--apex-white);
	background: transparent;
	border: 1px solid var(--apex-rule-dark);
}

.apex-lightbox__close {
	position: absolute;
	z-index: 2;
	top: 1rem;
	right: 1rem;
	padding: 0.6rem 0.8rem;
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.apex-lightbox__previous,
.apex-lightbox__next {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	font-size: 1.4rem;
}

.apex-lightbox button:hover {
	color: var(--apex-black);
	background: var(--apex-cyan);
	border-color: var(--apex-cyan);
}

/* Responsive */

@media (max-width: 1180px) {
	.primary-menu {
		gap: 0.8rem;
	}

	.primary-menu > li > a {
		font-size: 0.61rem;
	}

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

	.apex-tab-panel {
		min-height: 0;
	}

	.site-footer__grid {
		grid-template-columns: 1.3fr repeat(2, 0.7fr);
	}

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

	.apex-consent__inner {
		grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.7fr);
	}

	.apex-consent__actions {
		grid-column: 1 / -1;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1040px) {
	.site-header {
		/* A filtered ancestor becomes the containing block for fixed children.
		 * Disable the desktop blur so the mobile menu fills the viewport. */
		backdrop-filter: none;
	}

	.js .menu-toggle {
		display: flex;
	}

	.js .primary-navigation {
		position: fixed;
		z-index: 2;
		inset: 5.1rem 0 0;
		display: grid;
		align-content: start;
		padding: clamp(2rem, 8vw, 5rem) var(--apex-gutter);
		overflow-y: auto;
		visibility: hidden;
		opacity: 0;
		background:
			linear-gradient(135deg, rgba(18, 88, 214, 0.2), transparent 45%),
			var(--apex-black);
		transform: translateX(2rem);
		transition: none;
	}

	.js.menu-ready .primary-navigation {
		transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
	}

	.js .menu-open .primary-navigation {
		visibility: visible;
		opacity: 1;
		transform: translateX(0);
	}

	.js .primary-menu {
		display: grid;
		align-items: stretch;
	}

	.js .primary-menu > li > a {
		min-height: 0;
		padding: 0.65rem 0;
		border-bottom: 1px solid var(--apex-rule-dark);
		font-family: var(--apex-heading);
		font-size: clamp(2.3rem, 7vw, 5rem);
		font-weight: 400;
		letter-spacing: 0.01em;
		line-height: 0.95;
		text-transform: uppercase;
	}

	.js .primary-menu > .current-menu-item > a,
	.js .primary-menu > .current-menu-ancestor > a {
		color: var(--apex-cyan);
		border-bottom-color: var(--apex-cyan);
	}

	.js .primary-menu .sub-menu {
		position: static;
		display: grid;
		width: auto;
		padding: 0.5rem 0 0.7rem 1rem;
		visibility: visible;
		opacity: 1;
		background: transparent;
		border: 0;
		box-shadow: none;
		transform: none;
	}

	.js .apex-nav-race {
		justify-self: start;
		min-height: 3.4rem;
		padding-inline: 1.5rem;
	}

	.no-js .site-header__inner {
		flex-wrap: wrap;
		padding-block: 1rem;
	}

	.no-js .primary-navigation,
	.no-js .primary-menu {
		display: flex;
		flex-wrap: wrap;
	}

	.apex-rider-grid,
	.apex-post-grid {
		grid-template-columns: repeat(2, 1fr);
	}

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

	.apex-rider-grid > :last-child:nth-child(odd),
	.apex-post-grid > :last-child:nth-child(odd) {
		grid-column: span 2;
	}

	.apex-rider-grid > :last-child:nth-child(odd) .apex-rider-card__media {
		aspect-ratio: 1.4;
	}

	.apex-team-manifesto {
		grid-template-columns: 1fr;
	}

	.apex-team-manifesto__media {
		min-height: 28rem;
	}

	.apex-team-manifesto__media::after {
		background: linear-gradient(0deg, var(--apex-blue-dark), transparent 58%);
	}

	.apex-team-manifesto__copy {
		padding: var(--apex-section) var(--apex-gutter);
	}

	.apex-race-unit {
		grid-template-columns: 1fr;
		padding-block: 1rem;
	}

	.apex-race-unit__crew {
		border-top: 1px solid var(--apex-rule-dark);
		border-left: 0;
	}

	.apex-team-member-grid,
	.apex-crew-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.apex-contact-cards,
	.apex-scope-grid {
		grid-template-columns: 1fr;
	}

	.apex-contact-cards article,
	.apex-scope-grid article {
		min-height: 15rem;
	}

	.apex-contact-form {
		grid-template-columns: 1fr;
	}

	.apex-contact-form__body {
		border-top: 1px solid var(--apex-rule-dark);
		border-left: 0;
	}

	.apex-enquiry-form {
		grid-template-columns: 1fr;
	}

	.apex-enquiry-form > p {
		grid-column: 1;
	}

	.apex-partner-grid,
	.apex-partner-tier--principal .apex-partner-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.apex-round-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 780px) {
	:root {
		--apex-section: 4.5rem;
	}

	h2 {
		font-size: clamp(2.8rem, 15vw, 5.2rem);
	}

	.apex-track-rail::after {
		display: none;
	}

	.apex-track-rail__inner {
		justify-content: center;
	}

	.apex-track-rail__inner > p {
		display: none;
	}

	.apex-track-rail a {
		width: 100%;
		justify-content: space-between;
	}

	.apex-consent {
		max-height: calc(100svh - 1.5rem);
		overflow-y: auto;
	}

	.apex-consent__inner {
		grid-template-columns: 1fr;
	}

	.apex-consent__actions {
		grid-column: auto;
		grid-template-columns: 1fr;
	}

	.site-header__inner {
		min-height: 4.5rem;
	}

	.js .primary-navigation {
		inset: 4.5rem 0 0;
	}

	.apex-wordmark__apex {
		font-size: 1.85rem;
	}

	.apex-home-hero {
		min-height: calc(100svh - 6.5rem);
	}

	.apex-home-hero__media img {
		object-position: 60% 34%;
	}

	.apex-home-hero__scrim {
		background:
			linear-gradient(0deg, rgba(5, 8, 13, 0.98) 0%, rgba(5, 8, 13, 0.7) 62%, rgba(5, 8, 13, 0.26)),
			linear-gradient(90deg, rgba(5, 8, 13, 0.84), transparent);
	}

	.apex-home-hero__content {
		padding-top: 7rem;
		padding-bottom: 5rem;
	}

	.apex-home-hero h1 {
		font-size: clamp(4.4rem, 22vw, 7.3rem);
	}

	.apex-home-hero__numbers {
		top: 8%;
		width: 40vw;
		height: 72%;
		opacity: 0.6;
	}

	.apex-home-hero__numbers[data-roster-count="1"] {
		font-size: 38vw;
	}

	.apex-home-hero__numbers[data-roster-count="2"] {
		font-size: 32vw;
	}

	.apex-home-hero__numbers[data-roster-count="3"] {
		font-size: 27vw;
	}

	.apex-home-hero__numbers[data-roster-count="4"] {
		font-size: 21vw;
	}

	.apex-home-hero__numbers[data-roster-count="5"] {
		font-size: 17vw;
	}

	.apex-home-hero__numbers[data-roster-count="6"] {
		font-size: 14vw;
	}

	.apex-home-hero__numbers[data-roster-density="dense"] {
		right: 8vw;
		width: 44vw;
		font-size: clamp(1.2rem, min(var(--apex-roster-width-size), var(--apex-roster-height-size)), 6rem);
	}

	.apex-home-hero__scroll {
		display: none;
	}

	.apex-page-hero {
		min-height: 27rem;
	}

	.apex-page-hero__content {
		padding-top: 5rem;
		padding-bottom: 4rem;
	}

	.apex-page-hero h1 {
		font-size: clamp(4rem, 18vw, 7rem);
	}

	.apex-page-hero__intro {
		font-size: 1rem;
	}

	.apex-page-hero__number--roster {
		right: -4%;
		left: 8%;
	}

	.apex-page-hero__number--roster[data-roster-count="1"] {
		font-size: 44vw;
	}

	.apex-page-hero__number--roster[data-roster-count="2"] {
		font-size: 36vw;
	}

	.apex-page-hero__number--roster[data-roster-count="3"] {
		font-size: 28vw;
	}

	.apex-page-hero__number--roster[data-roster-count="4"] {
		font-size: 18vw;
	}

	.apex-page-hero__number--roster[data-roster-count="5"] {
		font-size: 14.5vw;
	}

	.apex-page-hero__number--roster[data-roster-count="6"] {
		font-size: 12.5vw;
	}

	.apex-page-hero__number--roster[data-roster-density="dense"] {
		right: 2%;
		left: 18%;
		font-size: clamp(1.1rem, min(var(--apex-roster-width-size), var(--apex-roster-height-size)), 5.5rem);
	}

	.apex-page-hero--roster-row .apex-page-hero__number--roster {
		right: 2%;
		left: 8%;
	}

	.apex-section-head,
	.apex-team-story__grid,
	.apex-programme-band__grid,
	.apex-rider-profile__grid,
	.apex-round-detail__grid {
		grid-template-columns: 1fr;
	}

	.apex-rider-profile__portrait {
		height: clamp(21.875rem, 105vw, 27.5rem);
		padding-bottom: 3.5rem;
	}

	.apex-rider-spec {
		width: 100%;
		margin: 1rem 0 0;
	}

	.apex-section-head {
		align-items: start;
		gap: 1.4rem;
	}

	.apex-section-head--inline {
		align-items: start;
	}

	.apex-rider-grid,
	.apex-post-grid,
	.apex-gallery-grid,
	.apex-round-grid,
	.apex-calendar-placeholder {
		grid-template-columns: 1fr;
	}

	.apex-rider-grid > :last-child:nth-child(odd),
	.apex-post-grid > :last-child:nth-child(odd) {
		grid-column: auto;
	}

	.apex-rider-grid > :last-child:nth-child(odd) .apex-rider-card__media {
		aspect-ratio: 0.82;
	}

	.apex-rider-card__media {
		aspect-ratio: 1;
	}

	.apex-rider-card__body h2 {
		font-size: 3.5rem;
	}

	.apex-team-manifesto__media {
		min-height: 22rem;
	}

	.apex-race-centre__round,
	.apex-race-centre__standings {
		padding: 1.25rem;
	}

	.apex-race-centre__round-head,
	.apex-standings-head,
	.apex-section-head--inline,
	.apex-data-meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.apex-next-round__identity {
		grid-template-columns: 4.7rem 1fr;
		gap: 1rem;
	}

	.apex-next-round__badge {
		width: 4.7rem;
	}

	.apex-next-round h3 {
		font-size: clamp(1.9rem, 8.2vw, 3.1rem);
	}

	.apex-countdown strong {
		font-size: clamp(1.8rem, 10vw, 3rem);
	}

	.apex-countdown span {
		font-size: 0.47rem;
		letter-spacing: 0.05em;
	}

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

	.apex-standings thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.apex-standings,
	.apex-standings tbody,
	.apex-standings tr,
	.apex-standings th,
	.apex-standings td {
		display: block;
	}

	.apex-standings tbody {
		display: grid;
		gap: 0.65rem;
	}

	.apex-standings tbody tr {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		padding: 0.8rem;
		background: rgba(255, 255, 255, 0.035);
		border-left: 3px solid rgba(255, 255, 255, 0.16);
	}

	.apex-standings tbody tr.is-apex-row {
		background: var(--apex-rider-accent);
		border-left-color: var(--apex-rider-accent-foreground);
	}

	.apex-standings th,
	.apex-standings td {
		padding: 0.3rem;
		border: 0;
	}

	.apex-standings th::before,
	.apex-standings td::before {
		display: block;
		color: var(--apex-grey);
		content: attr(data-label);
		font-size: 0.47rem;
		font-weight: 850;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.apex-standings .is-apex-row th::before,
	.apex-standings .is-apex-row td::before {
		color: color-mix(in srgb, var(--apex-rider-accent-foreground) 68%, transparent);
	}

	.apex-standings tbody th {
		grid-column: span 2;
		grid-row: 1;
		font-size: 1rem;
	}

	.apex-gallery-riders__grid {
		grid-template-columns: 1fr;
	}

	.apex-gallery-riders__card {
		aspect-ratio: 1.8;
	}

	.apex-gallery-riders__meta strong {
		font-size: clamp(1.6rem, 7vw, 2.6rem);
	}

	.apex-photo-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.apex-photo-grid__item,
	.apex-photo-grid__item--1,
	.apex-photo-grid__item--3,
	.apex-photo-grid__item--6,
	.apex-photo-grid__item--7 {
		grid-column: span 1;
		grid-row: auto;
		aspect-ratio: 1;
	}

	.apex-photo-grid__item:first-child {
		grid-column: span 2;
		aspect-ratio: 1.45;
	}

	.apex-partner-band > .apex-shell,
	.apex-rider-partners > .apex-shell {
		flex-direction: column;
		align-items: stretch;
	}

	.apex-partner-band .apex-kicker,
	.apex-rider-partners .apex-kicker {
		text-align: center;
	}

	.apex-partner-band__empty {
		border-block: 1px solid var(--apex-rule);
		border-inline: 0;
	}

	.apex-cta__inner {
		align-items: flex-start;
		flex-direction: column;
		justify-content: center;
	}

	.apex-stat-row {
		grid-template-columns: repeat(2, 1fr);
	}

	.apex-stat-row > div {
		min-height: 8rem;
	}

	.apex-race-unit__rider {
		grid-template-columns: auto 4.8rem 1fr;
		padding-right: 0;
	}

	.apex-race-unit__portrait {
		width: 4.8rem;
		font-size: 3rem;
	}

	.apex-race-unit__crew {
		align-self: stretch;
	}

	.apex-race-unit__crew-member,
	.apex-race-unit__crew > div {
		flex-basis: calc(50% - 1px);
		min-height: 4.8rem;
		border-bottom: 1px solid var(--apex-rule-dark);
	}

	.apex-team-member-grid,
	.apex-crew-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.apex-partner-grid,
	.apex-partner-tier--principal .apex-partner-grid {
		grid-template-columns: 1fr;
	}

	.apex-partner-launch__inner {
		grid-template-columns: 1fr;
	}

	.apex-partner-launch__inner > span {
		white-space: normal;
	}

	.apex-calendar-placeholder > div {
		grid-template-columns: 2.5rem 1fr;
	}

	.apex-calendar-placeholder time {
		grid-column: 2;
	}

	.apex-article__layout {
		grid-template-columns: 1fr;
	}

	.apex-article__aside {
		grid-row: 1;
	}

	.apex-post-nav .nav-links {
		grid-template-columns: 1fr;
	}

	.site-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.site-footer__partners > .apex-shell {
		align-items: stretch;
		flex-direction: column;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}

	.site-footer__social {
		grid-column: auto;
	}

	.apex-lightbox__frame {
		grid-template-columns: 3rem minmax(0, 1fr) 3rem;
		padding-inline: 0.25rem;
	}

	.apex-lightbox__previous,
	.apex-lightbox__next {
		width: 2.5rem;
	}
}

@media (max-width: 480px) {
	.apex-track-rail a span {
		display: none;
	}

	.menu-toggle__label {
		display: none;
	}

	.apex-home-hero .apex-button-row {
		align-items: stretch;
		flex-direction: column;
	}

	.apex-home-hero .apex-button {
		width: 100%;
	}

	.apex-race-centre__round,
	.apex-race-centre__standings {
		padding-inline: 0.85rem;
	}

	.apex-countdown > div {
		padding-inline: 0.2rem;
	}

	.apex-next-round--empty {
		grid-template-columns: 1fr;
	}

	.apex-next-round__identity,
	.apex-round-card > a {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.apex-round-card h2 {
		font-size: clamp(1.3rem, 7.5cqi, 3.5rem);
	}

	.apex-tabs {
		width: 100%;
	}

	.apex-tabs button {
		flex: 1 0 auto;
	}

	.apex-team-member-grid,
	.apex-crew-grid {
		grid-template-columns: 1fr;
	}

	.apex-race-unit__crew-member,
	.apex-race-unit__crew > div {
		flex-basis: 100%;
	}

	.site-footer__grid {
		grid-template-columns: 1fr;
	}

	.site-footer__brand,
	.site-footer__social {
		grid-column: auto;
	}

	.site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.apex-lightbox__frame {
		grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem;
	}
}

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

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

@media print {
	.apex-track-rail,
	.site-header,
	.site-footer,
	.apex-cta,
	.apex-button,
	.apex-home-hero__scroll,
	.apex-lightbox,
	.apex-consent {
		display: none !important;
	}

	body,
	.apex-section--dark,
	.apex-race-centre {
		color: #000;
		background: #fff;
	}

	a {
		text-decoration: underline;
	}
}
