@font-face {
    font-family: "Eurocine Black";
    src: url("../fonts/granfondo/eurocine-black.otf") format("opentype");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

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

@font-face {
    font-family: "Syne";
    src: url("../fonts/granfondo/syne-variable.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Changa";
    src: url("../fonts/granfondo/changa-variable.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --gf-electric-violet: #6809E9;
    --gf-shadow-violet: #240056;
    --gf-violet: #8920FF;
    --gf-lilac: #C4A4FF;
    --gf-magenta: #F906F0;
    --gf-black: #000000;
    --gf-white: #FFFFFF;

    --gf-font-headline-en: "Eurocine Black";
    --gf-font-headline-ar: "Changa";
    --gf-font-supporting: "Syne";
    --gf-font-body: "Syne";
    --gf-font-headline-weight: 900;
    --gf-font-body-weight: 400;
    --gf-campaign-heading-size: clamp(32px, 4vw, 44px);
    --gf-section-heading-size: clamp(24px, 3vw, 34px);
    --gf-partner-heading-size: 17px;
    --gf-section-heading-line-height: 1.5;
    --gf-section-heading-spacing: 1.5rem;

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    --space-8: 4rem;
    --space-section: clamp(3rem, 7vw, 6rem);

    --breakpoint-mobile-max: 47.9375rem;
    --breakpoint-tablet-min: 48rem;
    --breakpoint-tablet-max: 64rem;
    --breakpoint-desktop-min: 64.0625rem;
    --breakpoint-desktop-max: 90rem;
    --breakpoint-large-desktop-min: 90.0625rem;

    --page-gutter: clamp(1rem, 4vw, 4rem);
    --container-max-width: 90rem;
    --gf-site-content-max: 1400px;
    --gf-content-gutter: clamp(1.25rem, 3.95vw, 4.25rem);
    --gf-content-section-start: clamp(3.8rem, 5.9vw, 6.375rem);
    --gf-content-section-end: clamp(3rem, 5.73vw, 6.1875rem);
    --gf-content-gap: clamp(1.5rem, 2vw, 2rem);
    --gf-content-background: #07020E;
    --gf-content-body-color: rgb(255 255 255 / 85%);
    --gf-content-body-line-height: 1.875rem;
    --gf-content-card-background: #050505;
    --gf-content-card-outline: 1.5px solid rgb(137 32 255 / 45%);
    --gf-content-card-radius: 0.75rem;
    --gf-content-card-shadow: 0 18px 40px rgb(137 32 255 / 10%);
}

html[lang^="ar"],
html[dir="rtl"] {
    --gf-font-headline: var(--gf-font-headline-ar);
    --gf-font-supporting: "Changa";
    --gf-font-body: "Changa";
    --gf-font-headline-weight: 700;
    --gf-font-body-weight: 700;
}

html[dir="ltr"] {
    --gf-font-headline: var(--gf-font-headline-en);
}

body {
    font-family: var(--gf-font-body);
    font-weight: var(--gf-font-body-weight);
    font-synthesis: none;
    /* LINING-NUMS: Syne's default digits are old-style figures (3 4 5 7 9 descend, 6 8 ascend). lnum swaps in
       Syne's lining set so every digit sits on the baseline at cap height. Changa and Eurocine have no lnum
       feature, so Arabic pages and display headings are unaffected. Rollback: delete the LINING-NUMS lines. */
    font-variant-numeric: lining-nums;
}

/* LINING-NUMS: form controls don't inherit font-variant-numeric from body by default. */
input,
select,
textarea,
button {
    font-variant-numeric: inherit;
}

/* ARABIC-LETTER-SPACING: Arabic is a joined script, so any tracking pulls the connected letters apart.
   The legacy bundles and some inline styles add letter-spacing (0.02em-0.26em) to labels, headings and
   buttons, so it is reset for all Arabic text. !important is needed to beat inline styles and the
   higher-specificity legacy rules. :lang(ar) also covers Arabic text on English pages (e.g. the language
   toggle). Rollback: delete this block. */
:lang(ar),
html[dir="rtl"] * {
    letter-spacing: normal !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
button,
label,
th,
strong,
b {
    font-family: var(--gf-font-supporting);
    font-weight: 700;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    min-width: 0;
    overflow-wrap: anywhere;
}

input,
select,
textarea,
p,
li,
td,
dd {
    font-family: var(--gf-font-body);
    font-weight: var(--gf-font-body-weight);
}

p[class*="_supporting__"],
p[class*="_description__"],
[class*="_body__"] p,
[class*="_description__"],
.type-body,
.type-caption,
.Footer_copyright__1v3uR {
    font-family: var(--gf-font-body);
    font-weight: var(--gf-font-body-weight);
}

.type-display {
    font-family: var(--gf-font-headline);
    font-size: var(--gf-campaign-heading-size);
    font-weight: var(--gf-font-headline-weight);
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

.type-display [class*="lineInner"] {
    white-space: normal;
    overflow-wrap: anywhere;
}

.type-heading {
    font-family: var(--gf-font-supporting);
    font-size: var(--gf-section-heading-size);
    font-weight: 700;
    line-height: var(--gf-section-heading-line-height);
    letter-spacing: normal;
    margin: 0 0 var(--gf-section-heading-spacing);
    max-inline-size: 100%;
    overflow: visible;
    text-wrap: balance;
}

header h1.type-heading {
    color: var(--gf-white);
}

.type-heading [class*="lineInner"],
.type-heading [class*="discoverInner"],
.type-heading [class*="headingInner"],
.type-heading .SectionHeading_label__II8mZ {
    font: inherit;
    letter-spacing: inherit;
    white-space: normal;
    overflow-wrap: anywhere;
}

.type-heading [class*="_line__"],
.type-heading [class*="_discoverLine__"],
.type-heading .SectionHeading_label__II8mZ {
    overflow: visible;
}

.type-subheading {
    font-family: var(--gf-font-supporting);
    font-size: clamp(1.125rem, 0.95rem + 0.9vw, 1.75rem);
    font-weight: 700;
    line-height: 1.3;
}

.type-body {
    font-family: var(--gf-font-body);
    font-size: 1rem;
    font-weight: var(--gf-font-body-weight);
    line-height: 1.6;
}

.type-caption {
    font-family: var(--gf-font-body);
    font-size: 0.75rem;
    font-weight: var(--gf-font-body-weight);
    line-height: 1.4;
}

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

.ds-partner-grid,
.ds-internal-page .ds-partner-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 15rem));
    justify-content: center;
    gap: clamp(1rem, 2vw, 2rem);
    width: 100%;
}

.PartnersSection_section__NOoIp {
    padding-block: clamp(3rem, 5.9vw, 6.375rem);
    padding-block-start: clamp(2.5rem, 4vw, 4rem);
    padding-inline: 0;
    border-block-start: 1px solid rgb(137 32 255 / 25%);
    background-color: var(--gf-black);
    color: var(--gf-white);
    color-scheme: dark;
}

.PartnersSection_atmosphere__SKZHI,
.PartnersSection_atmosphereOverlay__pPGFO {
    display: none;
}

.PartnersSection_showcase__00E76 {
    width: calc(100% - 2 * var(--gf-content-gutter));
    max-width: var(--gf-site-content-max);
    margin-inline: auto;
    gap: clamp(2.5rem, 3.5vw, 3.5rem);
}

.PartnersSection_introduction {
    width: calc(100% - 2 * var(--gf-content-gutter));
    max-width: var(--gf-site-content-max);
    margin-inline: auto;
    margin-block-end: var(--space-7);
    display: grid;
    gap: var(--space-4);
    text-align: start;
}

.PartnersSection_introductionLabel {
    margin: 0;
    color: var(--gf-lilac);
    font-family: var(--gf-font-supporting);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.5;
}

.PartnersSection_introductionHeading.type-heading {
    margin: 0;
    color: var(--gf-white);
    font-family: var(--gf-font-supporting);
    font-size: var(--gf-section-heading-size);
    font-weight: 700;
    line-height: var(--gf-section-heading-line-height);
    overflow-wrap: anywhere;
}

.PartnersSection_introductionDescription {
    margin: 0;
    color: var(--gf-content-body-color);
    font-family: var(--gf-font-body);
    font-size: 1rem;
    font-weight: var(--gf-font-body-weight);
    line-height: var(--gf-content-body-line-height);
}

.PartnerTier_tier__hOWLq {
    padding-block-start: 1rem;
    border-block-start: 0;
}

.PartnerTier_header__33uK8 {
    justify-content: flex-start;
    padding-block: 0 0.5rem;
}

.PartnerTier_name__XeHsn {
    color: var(--gf-white);
}

.PartnerTier_name__XeHsn.type-heading,
.SponsorCategorySection_heading__dDK6u.type-heading {
    font-size: var(--gf-partner-heading-size);
}

html[dir="rtl"] .PartnerTier_name__XeHsn {
    letter-spacing: normal;
    text-align: start;
}

.ds-partner-logo {
    box-sizing: border-box;
    display: flex;
    width: 15rem;
    max-width: 100%;
    height: 6rem;
    min-width: 0;
    align-items: center;
    justify-content: center;
    padding: 0.25rem 0.5rem;
    background: transparent;
    border-radius: 0.625rem;
    outline: 1.5px solid rgb(137 32 255 / 35%);
    outline-offset: -1.5px;
}

/* Logos fill the whole card (contained) so artwork with transparent padding is not shrunk further by a max-height cap. */
.ds-partner-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    image-rendering: -webkit-optimize-contrast;
}

@media (max-width: 64rem) {
    .ds-partner-grid,
    .ds-internal-page .ds-partner-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 15rem));
        gap: 1.25rem;
    }
}

.FooterNavigation_nav__5aZ5q {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
    gap: var(--space-6) var(--space-5);
    align-items: start;
}

.ds-footer-sponsor-group {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
}

.ds-footer-sponsor-logo {
    box-sizing: border-box;
    display: flex;
    width: min(100%, 9.25rem);
    height: 3.75rem;
    align-items: center;
    justify-content: center;
    padding: 0.125rem 0.25rem;
    background: transparent;
    border-radius: 0.375rem;
}

.ds-footer-sponsor-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    image-rendering: -webkit-optimize-contrast;
}

@media (min-width: 90.0625rem) {
    :root {
        --page-gutter: max(4rem, calc((100vw - var(--container-max-width)) / 2));
    }
}

.Hero_hero__1d92z .Hero_overlay__Vle1u {
    background:
        linear-gradient(115deg, color-mix(in srgb, var(--gf-electric-violet) 16%, transparent) 0%, color-mix(in srgb, var(--gf-violet) 9%, transparent) 45%, transparent 80%),
        linear-gradient(90deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.78) 38%, color-mix(in srgb, var(--gf-shadow-violet) 35%, transparent) 65%, rgba(0, 0, 0, 0.15) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, transparent 20%, transparent 74%, rgba(0, 0, 0, 0.82) 100%);
}

.Hero_hero__1d92z {
    --hero-gutter: clamp(1rem, 3.95vw, 4.25rem);
    min-height: 82svh;
    min-height: 82dvh;
}

.Hero_hero__1d92z .Hero_inner__6YMQY {
    min-height: 82svh;
    min-height: 82dvh;
}

.Hero_headline__sJ33x {
    font-size: var(--gf-campaign-heading-size);
}

.Hero_hero__1d92z .Hero_inner__6YMQY {
    display: grid;
    grid-template-rows: 1fr auto;
    justify-content: initial;
    gap: clamp(2rem, 6vh, 4rem);
    padding: 0;
    padding-block-start: calc(var(--nav-height) + clamp(0.75rem, 1.5vh, 1.5rem));
    padding-block-end: clamp(1.25rem, 2.5vh, 2rem);
    padding-inline: var(--hero-gutter);
}

.Hero_hero__1d92z .adgf-hero-primary {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(1.25rem, 3vh, 2rem);
}

.Hero_hero__1d92z .Hero_content__FJG4L {
    width: min(100%, 85rem);
}

.Hero_hero__1d92z .Hero_mainRow__okOON {
    width: min(100%, 34rem);
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.Hero_hero__1d92z .Hero_bottomRow___b0HH {
    min-width: 0;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-4) var(--space-6);
    border-top: 0;
    padding-block-start: 0;
}

.Hero_hero__1d92z .Hero_countdownWrap__OfYBR {
    justify-self: initial;
}

.Hero_hero__1d92z .Countdown_countdown__gSi7P {
    align-items: flex-start;
}

.Hero_hero__1d92z .Hero_scrollHint__3F7bi {
    align-self: flex-end;
}

.Hero_hero__1d92z .HeroCTA_cta__sj_hC {
    min-inline-size: 2.75rem;
    min-block-size: 2.75rem;
}

html[dir="rtl"] .Hero_hero__1d92z .Hero_headline__sJ33x {
    direction: rtl;
    text-align: start;
    letter-spacing: normal;
    line-height: 1.4;
    text-transform: none;
}

html[dir="rtl"] .Hero_hero__1d92z .Hero_line__MSeOI {
    overflow: visible;
}

html[dir="rtl"] .Hero_hero__1d92z .Hero_lineInner__JklBo {
    white-space: normal;
    overflow-wrap: break-word;
}

html[dir="rtl"] .Hero_hero__1d92z .Hero_supporting__89Vns {
    direction: rtl;
    text-align: start;
    line-height: 1.75;
}

html[dir="rtl"] .Hero_hero__1d92z .Hero_actions__cIe5F {
    direction: rtl;
    align-items: flex-start;
}

html[dir="rtl"] .Hero_hero__1d92z .HeroCTA_cta__sj_hC {
    max-inline-size: 100%;
    min-block-size: 2.75rem;
    block-size: auto;
    flex-wrap: wrap;
    direction: rtl;
    text-align: start;
    text-transform: none;
    letter-spacing: normal;
    white-space: normal;
}

html[dir="rtl"] .Hero_hero__1d92z .Hero_bottomRow___b0HH {
    direction: rtl;
}

html[dir="rtl"] .Hero_hero__1d92z .Countdown_countdown__gSi7P {
    align-items: flex-start;
    direction: rtl;
}

html[dir="rtl"] .Hero_hero__1d92z .Countdown_caption__ug__s {
    max-inline-size: 100%;
    white-space: normal;
    overflow-wrap: normal;
    text-align: center;
    letter-spacing: normal;
    line-height: 1.6;
}

@media (max-width: 767px) {
    /* Phones: fit the portrait video to the screen instead of the desktop bleed, zoom and parallax. */
    .Hero_hero__1d92z .Hero_media__K63MP {
        inset: 0;
    }

    .Hero_hero__1d92z .Hero_poster__mc_gH,
    .Hero_hero__1d92z .Hero_video__5aIGo {
        object-position: center center;
        transform: none;
        transition: none;
    }

    /* The desktop overlay darkens the left half for the headline; on phones the text spans the
       full width, so darken top and bottom only and let the video show through. */
    .Hero_hero__1d92z .Hero_overlay__Vle1u {
        background:
            linear-gradient(115deg, color-mix(in srgb, var(--gf-electric-violet) 14%, transparent) 0%, transparent 70%),
            linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.25) 30%, rgba(0, 0, 0, 0.35) 60%, rgba(0, 0, 0, 0.85) 100%);
    }

    .Hero_hero__1d92z .Hero_inner__6YMQY {
        row-gap: clamp(2rem, 7vh, 3.5rem);
    }

    .Hero_hero__1d92z .Hero_bottomRow___b0HH {
        flex-wrap: wrap;
        align-items: flex-end;
    }

    .Hero_hero__1d92z .Hero_actions__cIe5F {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-3);
    }
}

@media (max-width: 480px) {
    html[dir="rtl"] .Hero_hero__1d92z .Hero_countdownWrap__OfYBR,
    html[dir="rtl"] .Hero_hero__1d92z .Countdown_countdown__gSi7P,
    html[dir="rtl"] .Hero_hero__1d92z .Countdown_track__PgjAe {
        width: min(100%, 22rem);
    }

    html[dir="rtl"] .Hero_hero__1d92z .Countdown_track__PgjAe {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    html[dir="rtl"] .Hero_hero__1d92z .Countdown_unit__5t__b {
        min-width: 0;
    }

    html[dir="rtl"] .Hero_hero__1d92z .Countdown_unit__5t__b + .Countdown_unit__5t__b {
        margin-inline-start: 0;
        padding-inline-start: clamp(0.2rem, 1vw, 0.5rem);
    }

    html[dir="rtl"] .Hero_hero__1d92z .Countdown_caption__ug__s {
        font-size: 0.625rem;
    }
}

.EventOverview_section__VlRTe {
    overflow: visible;
    padding-block: var(--gf-content-section-start) var(--gf-content-section-end);
    color: var(--gf-white);
    background-color: var(--gf-content-background);
    color-scheme: dark;
}

.EventOverview_inner__TbpaX,
.ds-internal-page .ds-content-container {
    width: calc(100% - 2 * var(--gf-content-gutter));
    max-width: var(--gf-site-content-max);
    margin-inline: auto;
    padding-inline: 0;
}

.ds-internal-page {
    --gf-content-narrow-max: 1100px;
    --gf-content-standard-max: var(--gf-site-content-max);
    --gf-content-media-max: var(--gf-site-content-max);
    --gf-internal-content-max: var(--gf-content-standard-max);
}

.ds-internal-page .ds-content-container {
    max-width: var(--gf-internal-content-max, var(--container-max-width));
    margin-inline: auto;
}

.ds-internal-page.ds-layout-narrow {
    --gf-internal-content-max: var(--gf-content-narrow-max);
}

.ds-internal-page:is(.ds-layout-standard, .ds-layout-wide, .ds-layout-two-column) {
    --gf-internal-content-max: var(--gf-content-standard-max);
}

.ds-internal-page.ds-layout-media {
    --gf-internal-content-max: var(--gf-content-media-max);
}

.ds-internal-page .LocationOverview_inner__1hAR6 {
    --gf-content-copy-track: 1fr;
    --gf-content-visual-track: 1fr;
}

.ds-internal-page .PackCollection_inner__9RNnH {
    --gf-content-copy-track: 1.1fr;
    --gf-content-visual-track: 0.9fr;
}

@media (min-width: 1025px) {
    .ds-internal-page.ds-layout-two-column .ds-content-container:is(.ds-content-split, .ds-content-grid) {
        grid-template-columns: minmax(0, var(--gf-content-copy-track, 1.3fr)) minmax(0, var(--gf-content-visual-track, 0.7fr));
        gap: var(--space-8);
    }
}

@media (max-width: 1024px) {
    .ds-internal-page.ds-layout-two-column .ds-content-container:is(.ds-content-split, .ds-content-grid) {
        grid-template-columns: minmax(0, 1fr);
    }

    .ds-internal-page.ds-layout-two-column .PackCollection_inner__9RNnH {
        grid-template-areas:
            "information"
            "action"
            "visual";
    }

    .ds-internal-page.ds-layout-two-column .PackCollection_visual__WCaSC {
        position: static;
    }
}

.EventOverview_inner__TbpaX {
    gap: clamp(2rem, 3vw, 3rem);
}

.EventOverview_inner__TbpaX,
.EventOverview_split__jssWt,
.EventOverview_copy__dNLzI,
.EventOverview_body__Qi60Z,
.EventOverview_visual__tr8YF {
    min-width: 0;
}

.EventOverview_split__jssWt,
.ds-internal-page .ds-content-grid,
.ds-internal-page .ds-content-split {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--gf-content-gap);
    align-items: start;
}

.EventOverview_split__jssWt {
    grid-template-areas: "copy visual";
    direction: ltr;
}

.EventOverview_copy__dNLzI {
    grid-area: copy;
    width: auto;
    max-width: none;
    direction: ltr;
}

.EventOverview_body__Qi60Z {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    text-align: start;
}

.EventOverview_body__Qi60Z p {
    min-width: 0;
    text-align: start;
}

.EventOverview_kicker__o97tm {
    overflow: visible;
}

.Hero_kicker__d1Z1K {
    overflow: visible;
}

.EventOverview_visual__tr8YF {
    grid-area: visual;
    width: auto;
    margin-inline: 0;
    direction: ltr;
}

.EventOverview_frame__Yd6cU {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    clip-path: inset(0);
}

.EventOverview_parallax__o2_HL,
.EventOverview_image__VnKwD {
    width: 100%;
    max-width: 100%;
}

.EventOverview_parallax__o2_HL {
    height: 100%;
}

.EventOverview_image__VnKwD {
    height: 100%;
}

html[dir="rtl"] .EventOverview_copy__dNLzI,
html[dir="rtl"] .EventOverview_body__Qi60Z,
html[dir="rtl"] .EventOverview_body__Qi60Z p,
html[dir="rtl"] .EventOverview_kicker__o97tm,
html[dir="rtl"] .PartnerTier_header__33uK8,
html[dir="rtl"] .PartnerTier_name__XeHsn {
    direction: rtl;
    text-align: start;
}

html[dir="rtl"] .EventOverview_kickerInner__aS9_l,
html[dir="rtl"] .PartnerTier_name__XeHsn {
    letter-spacing: normal;
    text-transform: none;
}

html[dir="rtl"] .EventOverview_body__Qi60Z p {
    line-height: 1.8;
}

html[dir="rtl"] .EventOverview_visual__tr8YF {
    direction: rtl;
    width: 100%;
    max-inline-size: 100%;
    margin-inline: 0;
}

html[dir="rtl"] .EventOverview_split__jssWt {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "visual copy";
}

.PartnerTier_tier__hOWLq {
    width: 100%;
    min-width: 0;
}

.Navbar_menuButton__ojN59 {
    min-inline-size: 2.75rem;
    min-block-size: 2.75rem;
    justify-content: center;
    padding: 0;
}

@media (max-width: 900px) {
    .ds-internal-page .ds-content-grid,
    .ds-internal-page .ds-content-split {
        grid-template-columns: minmax(0, 1fr);
    }

    .EventOverview_split__jssWt {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "copy"
            "visual";
    }

    html[dir="rtl"] .EventOverview_split__jssWt {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "copy"
            "visual";
    }

    .EventOverview_frame__Yd6cU {
        aspect-ratio: 3 / 2;
    }
}

@media (max-width: 640px) {
    html[dir="ltr"] {
        --nav-height: 7.5rem;
        --nav-height-scrolled: 7.5rem;
    }

    html[dir="ltr"] .Navbar_header__7TllB .Navbar_bar__ROtoH,
    html[dir="ltr"] .Navbar_header__7TllB[data-scrolled="true"] .Navbar_bar__ROtoH {
        height: auto;
        min-height: 7.5rem;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto;
        row-gap: 0.25rem;
        padding-block: 0.5rem;
    }

    .Navbar_header__7TllB[data-scrolled="true"] .Navbar_bar__ROtoH {
        height: max(var(--nav-height-scrolled), 5.75rem);
    }

    html[dir="ltr"] .Navbar_wordmarkPrimary___BORF {
        font-family: var(--gf-font-supporting);
        letter-spacing: normal;
    }
}

.Navbar_bar__ROtoH {
    border-bottom-color: color-mix(in srgb, var(--gf-violet) 25%, transparent);
    background-color: rgb(5 2 10 / 75%);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

@media (min-width: 85.375rem) {
    .Navbar_brand__cIDQ_ {
        min-width: max-content;
    }

    .Navbar_bar__ROtoH {
        grid-template-columns: max-content minmax(0, 1fr) max-content;
        column-gap: clamp(0.75rem, 1vw, 1rem);
        padding-inline: clamp(1.25rem, 3.95vw, 4.25rem);
    }

    .Navbar_desktopNav__N4F0X {
        width: 100%;
        max-width: 56rem;
        justify-self: center;
        justify-content: space-between;
        gap: clamp(0.25rem, 0.3vw, 0.625rem);
        align-items: center;
        flex-wrap: nowrap;
        min-width: 0;
        white-space: nowrap;
    }

    html[dir="rtl"] .Navbar_desktopNav__N4F0X {
        justify-content: space-between;
    }

    html[dir="ltr"] .Navbar_link__ZPZJD,
    html[dir="ltr"] .Navbar_trigger__I9PKO {
        letter-spacing: 0.02em;
    }

    .Navbar_desktopNav__N4F0X .Navbar_link__ZPZJD,
    .Navbar_desktopNav__N4F0X .Navbar_trigger__I9PKO {
        font-size: clamp(0.625rem, calc(0.5rem + 0.35vw), 0.75rem);
        white-space: nowrap;
    }

    .Navbar_actions__aJJwf {
        gap: clamp(0.5rem, 0.8vw, 0.75rem);
        min-width: max-content;
    }

    .Navbar_desktopLang__njRrE .LanguageToggle_group__RKuIQ {
        gap: 0.35rem;
    }

    .Navbar_actions__aJJwf .HeroCTA_nav__eVX0N {
        padding-inline: clamp(0.5rem, 0.8vw, 0.75rem);
        white-space: nowrap;
    }
}

@media (max-width: 85.374rem) {
    html[dir="ltr"] .Navbar_bar__ROtoH {
        grid-template-columns: max-content minmax(0, 1fr);
    }

    html[dir="ltr"] .Navbar_actions__aJJwf {
        justify-self: end;
    }

    .Navbar_desktopNav__N4F0X {
        display: none;
    }

    .Navbar_menuButton__ojN59 {
        display: flex;
    }

    .MobileMenu_label__pb1Ux {
        font-size: clamp(1.65rem, calc(1.4rem + 1.25vw), 2rem);
        line-height: 1.1;
    }

    html[dir="ltr"] .MobileMenu_label__pb1Ux {
        letter-spacing: 0.02em;
    }

    .MobileMenu_link__QHSTj,
    .MobileMenu_accordionTrigger__qQhHv {
        min-block-size: 2.75rem;
        align-items: center;
        padding-block: 0.4rem;
    }
}

/* Phones: calmer menu sizing so labels don't dominate the screen, CTA sits under the list. */
@media (max-width: 767px) {
    .MobileMenu_top__Q780g {
        margin-bottom: 1.25rem;
    }

    .MobileMenu_list__SxUcQ {
        flex: 0 0 auto;
        gap: 0;
    }

    .MobileMenu_label__pb1Ux {
        font-size: clamp(1.15rem, calc(0.95rem + 1.5vw), 1.4rem);
        line-height: 1.2;
    }

    html[dir="ltr"] .MobileMenu_label__pb1Ux {
        letter-spacing: 0.04em;
    }

    .MobileMenu_index__KPkx2 {
        font-size: 0.68rem;
        min-width: 1.5rem;
    }

    .MobileMenu_link__QHSTj,
    .MobileMenu_accordionTrigger__qQhHv {
        min-block-size: 3rem;
        gap: 0.85rem;
        padding-block: 0.5rem;
    }

    .MobileMenu_chevron__nnl8w {
        width: 0.85rem;
        height: 0.85rem;
    }

    .MobileMenu_sublist__jjav1 {
        padding: 0;
        padding-inline-start: 2.35rem;
    }

    .MobileMenu_sublink__XJWfP {
        font-size: 0.82rem;
        padding-block: 0.5rem;
    }

    .MobileMenu_bottom__Fh23K {
        margin-top: 2rem;
    }

    .MobileMenu_bottom__Fh23K .HeroCTA_cta__sj_hC {
        display: flex;
        justify-content: center;
        inline-size: 100%;
    }
}

.Navbar_header__7TllB[data-scrolled="true"] .Navbar_bar__ROtoH {
    border-bottom-color: color-mix(in srgb, var(--gf-violet) 40%, transparent);
    background-color: rgb(5 2 10 / 94%);
}

.Navbar_logo__PiZmU,
.Navbar_uci__Pt3j3 {
    color: var(--gf-white);
}

.Navbar_header__7TllB .Navbar_uci__Pt3j3 {
    flex: 0 0 auto;
    width: auto;
    height: clamp(52px, 3vw, 64px);
    align-items: center;
}

.Navbar_header__7TllB .Navbar_uciImage__DnYIa {
    width: auto;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
}

@media (min-width: 85.375rem) and (max-width: 96rem) {
    html[dir="ltr"] .Navbar_bar__ROtoH {
        grid-template-columns: max-content minmax(0, 1fr);
    }

    html[dir="ltr"] .Navbar_desktopNav__N4F0X {
        display: none;
    }

    html[dir="ltr"] .Navbar_menuButton__ojN59 {
        display: flex;
    }

    html[dir="ltr"] .Navbar_actions__aJJwf {
        justify-self: end;
    }
}

@media (max-width: 40rem) {
    .Navbar_header__7TllB .Navbar_uci__Pt3j3 {
        height: 44px;
    }

    .Navbar_header__7TllB .Navbar_brand__cIDQ_ {
        flex-direction: row;
        align-items: center;
        gap: var(--space-2);
    }
}

@media (min-width: 641px) and (max-width: 1024px) {
    html[dir="ltr"] .Navbar_brand__cIDQ_ {
        gap: 0.5rem;
    }

    html[dir="ltr"] .Navbar_wordmarkPrimary___BORF {
        font-size: 1.2rem;
    }

    html[dir="ltr"] .Navbar_actions__aJJwf {
        gap: 0.75rem;
    }

    html[dir="ltr"] .Navbar_actions__aJJwf .HeroCTA_nav__eVX0N {
        font-size: 0.8125rem;
    }
}

.Navbar_brandRule__PQPcy {
    background-color: color-mix(in srgb, var(--gf-violet) 45%, transparent);
}

.Navbar_wordmarkPrimary___BORF,
.Navbar_wordmarkSecondary__iXq8D {
    font-family: var(--gf-font-supporting);
    font-weight: 700;
    text-transform: uppercase;
}

.Navbar_wordmarkPrimary___BORF {
    letter-spacing: 0.04em;
}

.Navbar_wordmarkSecondary__iXq8D {
    color: var(--gf-lilac);
    letter-spacing: 0.12em;
}

.Navbar_link__ZPZJD,
.Navbar_trigger__I9PKO {
    font-family: var(--gf-font-supporting);
    font-weight: 700;
    color: color-mix(in srgb, var(--gf-white) 85%, transparent);
}

html[dir="ltr"] .Navbar_link__ZPZJD,
html[dir="ltr"] .Navbar_trigger__I9PKO {
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

html[dir="rtl"] .Navbar_link__ZPZJD,
html[dir="rtl"] .Navbar_trigger__I9PKO {
    letter-spacing: normal;
    text-transform: none;
}

.Navbar_link__ZPZJD:after,
.Navbar_trigger__I9PKO:after {
    background-color: var(--gf-violet);
}

.Navbar_link__ZPZJD:hover,
.Navbar_trigger__I9PKO:hover,
.Navbar_link__ZPZJD:focus-visible,
.Navbar_trigger__I9PKO:focus-visible {
    color: var(--gf-lilac);
}

.Navbar_link__ZPZJD[data-active="true"],
.Navbar_navItem__i5tUt[data-active="true"] .Navbar_trigger__I9PKO {
    color: var(--gf-white);
}

.Navbar_chevron__tSSWO {
    color: var(--gf-violet);
}

.Navbar_dropdownPanel__Z_JLG {
    border-color: color-mix(in srgb, var(--gf-violet) 35%, transparent);
    background-color: rgb(8 4 15 / 96%);
}

.Navbar_dropdownLink___3UCL {
    font-family: var(--gf-font-supporting);
    color: color-mix(in srgb, var(--gf-lilac) 82%, transparent);
}

.Navbar_dropdownLink___3UCL:hover,
.Navbar_dropdownLink___3UCL:focus-visible {
    color: var(--gf-white);
    background-color: color-mix(in srgb, var(--gf-electric-violet) 16%, transparent);
    box-shadow: inset 2px 0 0 var(--gf-violet);
}

html[dir="rtl"] .Navbar_dropdownLink___3UCL:hover,
html[dir="rtl"] .Navbar_dropdownLink___3UCL:focus-visible {
    box-shadow: inset -2px 0 0 var(--gf-violet);
}

.LanguageToggle_group__RKuIQ {
    font-family: var(--gf-font-supporting);
    font-weight: 700;
}

.LanguageToggle_option__1JIwF {
    color: var(--gf-lilac);
}

.LanguageToggle_option__1JIwF[data-active="true"] {
    color: var(--gf-white);
}

.LanguageToggle_option__1JIwF[data-active="true"]:after {
    background-color: var(--gf-violet);
}

.LanguageToggle_option__1JIwF:hover {
    color: var(--gf-white);
    opacity: 1;
}

.LanguageToggle_divider__j61X0 {
    color: var(--gf-lilac);
}

.Navbar_menuButton__ojN59 {
    color: var(--gf-white);
}

.Navbar_menuIcon___ubWW span {
    background-color: currentColor;
}

.MobileMenu_panel__GvUvK {
    background-color: var(--gf-shadow-violet);
    color: var(--gf-white);
}

.MobileMenu_link__QHSTj,
.MobileMenu_accordionTrigger__qQhHv {
    color: var(--gf-white);
    border-bottom-color: color-mix(in srgb, var(--gf-violet) 28%, transparent);
}

.MobileMenu_index__KPkx2 {
    color: var(--gf-violet);
}

.MobileMenu_label__pb1Ux,
.MobileMenu_sublink__XJWfP {
    font-family: var(--gf-font-supporting);
}

html[dir="ltr"] .MobileMenu_label__pb1Ux {
    text-transform: uppercase;
}

html[dir="rtl"] .MobileMenu_label__pb1Ux {
    letter-spacing: normal;
    text-transform: none;
}

.MobileMenu_item__Y3qJx[data-active="true"] .MobileMenu_label__pb1Ux,
.MobileMenu_link__QHSTj:hover .MobileMenu_label__pb1Ux,
.MobileMenu_link__QHSTj:focus-visible .MobileMenu_label__pb1Ux,
.MobileMenu_accordionTrigger__qQhHv:hover .MobileMenu_label__pb1Ux,
.MobileMenu_accordionTrigger__qQhHv:focus-visible .MobileMenu_label__pb1Ux {
    color: var(--gf-lilac);
}

.Hero_hero__1d92z {
    color: var(--gf-white);
}

.Hero_kickerInner__Ve4Lh {
    font-family: var(--gf-font-supporting);
    font-weight: 700;
    color: var(--gf-violet);
}

html[dir="ltr"] .Hero_kickerInner__Ve4Lh {
    letter-spacing: 0.14em;
}

html[dir="rtl"] .Hero_kickerInner__Ve4Lh {
    letter-spacing: normal;
    text-transform: none;
}

.Hero_headline__sJ33x {
    font-family: var(--gf-font-headline);
    font-weight: var(--gf-font-headline-weight);
    color: var(--gf-white);
}

.Hero_supporting__89Vns {
    font-family: var(--gf-font-body);
    font-weight: var(--gf-font-body-weight);
    color: color-mix(in srgb, var(--gf-white) 84%, transparent);
}

.HeroCTA_cta__sj_hC {
    font-family: var(--gf-font-supporting);
    font-weight: 700;
    border-radius: 0.25rem;
}

.HeroCTA_nav__eVX0N,
.HeroCTA_primary__tqb6Q {
    color: var(--gf-white);
    border: 1px solid color-mix(in srgb, var(--gf-lilac) 40%, transparent);
    background: linear-gradient(108deg, var(--gf-electric-violet) 0%, var(--gf-violet) 100%);
    box-shadow: 0 4px 16px color-mix(in srgb, var(--gf-electric-violet) 35%, transparent);
}

.HeroCTA_nav__eVX0N:hover,
.HeroCTA_primary__tqb6Q:hover {
    color: var(--gf-white);
    background: linear-gradient(108deg, var(--gf-electric-violet) 0%, var(--gf-violet) 100%);
    box-shadow:
        0 4px 20px color-mix(in srgb, var(--gf-violet) 45%, transparent),
        0 0 12px color-mix(in srgb, var(--gf-magenta) 22%, transparent);
}

.HeroCTA_secondary__W99jm {
    color: var(--gf-white);
    border: 1px solid color-mix(in srgb, var(--gf-violet) 55%, transparent);
    border-radius: 0.25rem;
    background-color: color-mix(in srgb, var(--gf-shadow-violet) 52%, transparent);
    box-shadow: 0 4px 16px color-mix(in srgb, var(--gf-electric-violet) 22%, transparent);
}

.HeroCTA_secondary__W99jm:hover {
    color: var(--gf-white);
    border-color: var(--gf-lilac);
    background-color: color-mix(in srgb, var(--gf-shadow-violet) 82%, transparent);
}

.HeroCTA_cta__sj_hC:focus-visible,
.Navbar_logo__PiZmU:focus-visible,
.Navbar_uci__Pt3j3:focus-visible,
.Navbar_link__ZPZJD:focus-visible,
.Navbar_trigger__I9PKO:focus-visible,
.Navbar_dropdownLink___3UCL:focus-visible,
.Navbar_menuButton__ojN59:focus-visible,
.LanguageToggle_option__1JIwF:focus-visible,
.MobileMenu_link__QHSTj:focus-visible,
.MobileMenu_accordionTrigger__qQhHv:focus-visible,
.MobileMenu_sublink__XJWfP:focus-visible {
    outline: 2px solid var(--gf-lilac);
    outline-offset: 3px;
}

.Hero_scrollHint__3F7bi {
    color: var(--gf-lilac);
}

.Hero_scrollHint__3F7bi:hover,
.Hero_scrollHint__3F7bi:focus-visible {
    color: var(--gf-white);
}

.Hero_scrollLine__05x0R {
    background-color: var(--gf-violet);
}

.Countdown_label__HMRuN,
.Countdown_caption__ug__s {
    font-family: var(--gf-font-supporting);
    font-weight: 700;
    color: var(--gf-lilac);
}

.Countdown_value__sMczq {
    font-family: var(--gf-font-supporting);
    font-weight: 700;
    color: var(--gf-white);
    /* Syne's default digits are old-style figures (3 4 5 7 9 descend, 6 8 ascend), so values jumped vertically;
       the legacy rule only enabled "tnum", which selects tabular OLD-STYLE figures. lnum + tnum selects Syne's
       tabular lining set (zero.tf ... nine.tf): one baseline, cap height, 550-unit width for every digit.
       Kerning is off because Syne kerns some digit pairs (e.g. "74", "71"), which made values change width.
       Changa (Arabic) has neither feature, so this has no effect on RTL pages. */
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "tnum" 1;
    font-kerning: none;
}

.Countdown_unit__5t__b + .Countdown_unit__5t__b {
    border-inline-start-color: color-mix(in srgb, var(--gf-violet) 50%, transparent);
}

.Countdown_track__PgjAe {
    border-radius: 0;
    outline: none;
    background: transparent;
    box-shadow: none;
}

.skip-link:focus-visible {
    color: var(--gf-white);
    background-color: var(--gf-shadow-violet);
    outline: 2px solid var(--gf-lilac);
    outline-offset: 3px;
}

.EventOverview_section__VlRTe .SectionHeading_labelLine__eT2FF {
    color: var(--gf-magenta);
    font: inherit;
}

html[dir="ltr"] .EventOverview_section__VlRTe .SectionHeading_labelLine__eT2FF {
    letter-spacing: normal;
    text-transform: uppercase;
}

html[dir="rtl"] .EventOverview_section__VlRTe .SectionHeading_labelLine__eT2FF {
    letter-spacing: normal;
    text-transform: none;
}

.EventOverview_kicker__o97tm {
    margin-block-end: 0;
}

.EventOverview_kickerInner__aS9_l {
    color: var(--gf-lilac);
    font-family: var(--gf-font-supporting);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1.375rem;
}

.EventOverview_kickerInner__aS9_l::before {
    width: 1.625rem;
    background-color: var(--gf-electric-violet);
}

.EventOverview_body__Qi60Z {
    margin-block-start: 1.5rem;
}

.EventOverview_body__Qi60Z p {
    color: var(--gf-content-body-color);
    font-family: var(--gf-font-body);
    font-size: 1rem;
    font-weight: var(--gf-font-body-weight);
    line-height: var(--gf-content-body-line-height);
}

.EventOverview_frame__Yd6cU {
    outline: var(--gf-content-card-outline);
    outline-offset: -1.5px;
    border-radius: var(--gf-content-card-radius);
    background-color: var(--gf-content-card-background);
    box-shadow: var(--gf-content-card-shadow);
}

.EventOverview_frame__Yd6cU::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(180deg, rgb(5 5 5 / 0%) 0%, rgb(5 5 5 / 80%) 72%, #050505 100%);
    content: "";
    pointer-events: none;
}

.EventOverview_rule__uOoy3 {
    z-index: 2;
    background-color: var(--gf-violet);
}

.EventOverview_marks__N5lkB {
    z-index: 2;
}

.EventOverview_mark__dXfa_,
.EventOverview_series__YuP0W {
    padding: 0.5rem 0.75rem;
    border: 1px solid rgb(137 32 255 / 40%);
    border-radius: 0.375rem;
    background-color: rgb(10 2 20 / 88%);
    color: var(--gf-white);
    font-family: var(--gf-font-supporting);
    font-weight: 700;
}

.EventOverview_series__YuP0W {
    border-color: rgb(249 6 240 / 50%);
    background: linear-gradient(90deg, var(--gf-violet) 0%, var(--gf-electric-violet) 100%);
}

.EventOverview_pin__CC0qA {
    border-color: var(--gf-lilac);
}

.EventOverview_pin__CC0qA::after {
    background-color: var(--gf-magenta);
}

.Footer_footer__4vzqH {
    padding-block: clamp(3rem, 5.4vw, 4.5rem) 1.5rem;
    padding-inline: 0;
    border-top: 1px solid rgb(137 32 255 / 25%);
    background-color: var(--gf-black);
}

.Footer_atmosphere__PxOXm {
    display: none;
}

.Footer_top__k6DNG {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: calc(100% - 2 * var(--gf-content-gutter));
    max-width: var(--gf-site-content-max);
    margin-inline: auto;
    padding-block-end: clamp(1.5rem, 3.6vw, 3.5rem);
}

.Footer_brand__Y4wbm {
    display: block;
    min-width: 0;
}

.Footer_wordmark__lOkQg {
    font-family: var(--gf-font-headline);
    font-size: var(--gf-campaign-heading-size);
    font-weight: var(--gf-font-headline-weight);
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.Footer_line__J36LA {
    overflow: visible;
}

.Footer_lineInner__tUrzg {
    white-space: normal;
}

.Footer_meta__vend6 {
    gap: 0;
    padding-block-start: 0;
}

.FooterNavigation_nav__5aZ5q {
    gap: 1.5rem;
}

.FooterNavigation_link__PAz54 {
    color: rgb(255 255 255 / 75%);
    font-family: var(--gf-font-supporting);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.5;
    text-transform: none;
}

.Footer_groupLabel__wwM12 {
    color: var(--gf-violet);
    font-family: var(--gf-font-supporting);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.Footer_groups__y7eTr {
    gap: 1rem;
}

.ds-footer-sponsor-group {
    width: 100%;
    gap: 0.375rem;
}

.ds-footer-sponsor-group .Footer_groupLabel__wwM12 {
    color: var(--gf-lilac);
    letter-spacing: normal;
    line-height: 1.5;
}

.ds-footer-sponsor-logo {
    width: min(100%, 9.25rem);
    height: 3.75rem;
    outline: 1px solid rgb(137 32 255 / 35%);
    outline-offset: -1px;
}

.Footer_social__RYYyg {
    padding-block-start: 0;
}

.Footer_social__RYYyg .Footer_groupLabel__wwM12 {
    color: var(--gf-lilac);
}

.Footer_legal__nueAd {
    width: calc(100% - 2 * var(--gf-content-gutter));
    max-width: var(--gf-site-content-max);
    margin-inline: auto;
    padding-block-start: clamp(1.5rem, 2.2vw, 2rem);
    border-top: 1px solid rgb(137 32 255 / 25%);
}

@media (min-width: 64.0625rem) {
    .Footer_legal__nueAd {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: var(--space-5);
        align-items: center;
    }

    .FooterNavigation_nav__5aZ5q {
        grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 2.4fr);
        grid-template-areas:
            "race travel media more sponsors"
            "race travel media more social";
        align-items: start;
    }

    .Footer_top__k6DNG {
        display: grid;
        grid-template-columns: minmax(12rem, 0.8fr) minmax(0, 3.2fr);
        gap: clamp(1.5rem, 3vw, 3rem);
    }

    .FooterNavigation_nav__5aZ5q > :nth-child(1) {
        grid-area: race;
    }

    .FooterNavigation_nav__5aZ5q > :nth-child(2) {
        grid-area: travel;
    }

    .FooterNavigation_nav__5aZ5q > :nth-child(3) {
        grid-area: media;
    }

    .FooterNavigation_nav__5aZ5q > :nth-child(4) {
        grid-area: more;
    }

    .FooterNavigation_nav__5aZ5q > .Footer_groups__y7eTr {
        grid-area: sponsors;
    }

    .FooterNavigation_nav__5aZ5q > .Footer_social__RYYyg {
        grid-area: social;
    }

    .Footer_groups__y7eTr {
        display: grid;
        width: min(100%, 20rem);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-self: start;
        align-items: start;
        gap: 1rem 1.25rem;
    }

    .ds-footer-sponsor-group:nth-child(3) {
        grid-column: 1 / -1;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 0.375rem;
    }

    .ds-footer-sponsor-group:nth-child(3) .Footer_groupLabel__wwM12 {
        flex: 0 0 100%;
    }

    .ds-footer-sponsor-group:nth-child(3) .ds-footer-sponsor-logo {
        flex: 0 1 calc((100% - 1.25rem) / 2);
        width: min(9.25rem, calc((100% - 1.25rem) / 2));
        height: 3.75rem;
    }
}

.Footer_social__RYYyg .SocialLinks_list__LWiY_ > li:nth-child(5) {
    display: none;
}

@media (max-width: 47.9375rem) {
    .Footer_footer__4vzqH {
        padding-block: var(--space-6) var(--space-5);
    }

    .Footer_top__k6DNG {
        gap: var(--space-5);
        padding-block-end: var(--space-5);
    }

    .Footer_wordmark__lOkQg {
        font-size: 28px;
    }

    .Footer_tagline__NHwwX {
        margin-block-start: var(--space-3);
    }

    .Footer_meta__vend6 {
        width: 100%;
        min-inline-size: 0;
    }

    .FooterNavigation_nav__5aZ5q {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        gap: var(--space-5) var(--space-4);
    }

    .FooterNavigation_nav__5aZ5q > * {
        min-inline-size: 0;
    }

    .FooterNavigation_list__hEXZD {
        gap: 0;
    }

    .FooterNavigation_link__PAz54 {
        display: flex;
        align-items: center;
        min-block-size: 44px;
        overflow-wrap: anywhere;
    }

    .Footer_groups__y7eTr {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-4);
    }

    .ds-footer-sponsor-group {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: flex-start;
        gap: var(--space-2);
    }

    .ds-footer-sponsor-group .Footer_groupLabel__wwM12 {
        flex: 0 0 100%;
    }

    .ds-footer-sponsor-group:nth-child(3) {
        grid-column: 1 / -1;
    }

    .Footer_footer__4vzqH .ds-footer-sponsor-logo {
        width: min(100%, 140px);
        height: 56px;
    }

    .Footer_footer__4vzqH .ds-footer-sponsor-logo img {
        height: 100%;
    }

    .Footer_social__RYYyg .SocialLinks_list__LWiY_ {
        gap: var(--space-3);
    }

    .Footer_social__RYYyg .SocialLinks_link__Y7mGD {
        justify-content: center;
        min-inline-size: 44px;
        min-block-size: 44px;
    }

    .Footer_social__RYYyg .SocialLinks_list__LWiY_ > li:nth-child(5) {
        display: list-item;
    }

    .Footer_legal__nueAd {
        gap: var(--space-3);
        padding-block-start: var(--space-4);
    }

    .Footer_legalLinks__5UAzb {
        gap: var(--space-4);
    }

    .Footer_legalLinks__5UAzb a {
        display: inline-flex;
        align-items: center;
        min-block-size: 44px;
    }
}

@media (max-width: 22.5rem) {
    :root {
        --nav-height: 7.5rem;
        --nav-height-scrolled: 7.5rem;
    }

    .Navbar_header__7TllB .Navbar_bar__ROtoH,
    .Navbar_header__7TllB[data-scrolled="true"] .Navbar_bar__ROtoH {
        height: auto;
        min-height: 7.5rem;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto;
        row-gap: 0.25rem;
        padding-block: 0.5rem;
    }

    .Navbar_brand__cIDQ_ {
        min-width: 0;
        flex: 0 0 auto;
    }

    .Navbar_actions__aJJwf {
        justify-self: end;
    }
}

@media (max-width: 40rem) {
    html[dir="rtl"] {
        --nav-height: 88px;
        --nav-height-scrolled: 64px;
    }

    html[dir="rtl"] .Navbar_header__7TllB .Navbar_bar__ROtoH,
    html[dir="rtl"] .Navbar_header__7TllB[data-scrolled="true"] .Navbar_bar__ROtoH {
        grid-template-columns: minmax(0, 1fr) max-content;
        grid-template-rows: auto;
        column-gap: clamp(0.375rem, 2vw, 0.75rem);
        min-height: 0;
        padding-block: 0;
        height: var(--nav-height);
    }

    html[dir="rtl"] .Navbar_header__7TllB[data-scrolled="true"] .Navbar_bar__ROtoH {
        height: max(var(--nav-height-scrolled), 5.75rem);
    }

    html[dir="rtl"] .Navbar_header__7TllB .Navbar_brand__cIDQ_ {
        container-type: inline-size;
        min-width: 0;
        gap: clamp(0.25rem, 1.5vw, 0.5rem);
    }

    html[dir="rtl"] .Navbar_header__7TllB .Navbar_uci__Pt3j3 {
        flex: 0 1 40%;
        width: 40%;
        max-width: 6.75rem;
        height: auto;
    }

    html[dir="rtl"] .Navbar_header__7TllB .Navbar_uciImage__DnYIa {
        width: 100%;
        height: auto;
        max-height: 44px;
    }

    html[dir="rtl"] .Navbar_logo__PiZmU {
        flex: 1 1 0;
        min-width: 0;
        direction: rtl;
    }

    html[dir="rtl"] .Navbar_wordmark__0V3Ih {
        min-width: 0;
        max-width: 100%;
    }

    html[dir="rtl"] .Navbar_wordmarkPrimary___BORF {
        font-size: clamp(0.875rem, 7cqi, 1.2rem);
    }

    html[dir="rtl"] .Navbar_wordmarkSecondary__iXq8D {
        font-size: clamp(0.66rem, 4cqi, 0.78rem);
    }

    html[dir="rtl"] .Navbar_wordmarkPrimary___BORF,
    html[dir="rtl"] .Navbar_wordmarkSecondary__iXq8D {
        white-space: normal;
        overflow-wrap: anywhere;
        letter-spacing: normal;
    }

    html[dir="rtl"] .Navbar_actions__aJJwf {
        justify-self: end;
        flex-shrink: 0;
        gap: clamp(0.375rem, 2vw, 0.75rem);
    }

    html[dir="rtl"] .Navbar_navCta__yF_It,
    html[dir="rtl"] .Navbar_menuButton__ojN59 {
        flex: 0 0 auto;
    }

    html[dir="rtl"] .Navbar_actions__aJJwf .HeroCTA_nav__eVX0N {
        padding-inline: clamp(0.5rem, 2vw, 0.75rem);
        gap: 0.375rem;
        white-space: nowrap;
    }
}

html[dir="rtl"] .FooterNavigation_link__PAz54,
html[dir="rtl"] .Footer_groupLabel__wwM12,
html[dir="rtl"] .SocialLinks_label__1p_oK {
    letter-spacing: normal;
    text-transform: none;
}

html[dir="rtl"] .Footer_wordmark__lOkQg {
    line-height: 1.5;
}

html[dir="rtl"] .Footer_line__J36LA {
    overflow: visible;
}

/* Desktop: size the footer wordmark so it and the tagline end level with the Follow / social row
   (measured at 1100-1440px wide) instead of running below it. */
@media (min-width: 64.0625rem) {
    html[dir="ltr"] .Footer_wordmark__lOkQg {
        font-size: clamp(30px, 2.8vw, 38px);
        line-height: 1.1;
    }
}

.HeroToolbar_toolbar__JEsif {
    position: relative;
    border-color: transparent;
    outline: 1px solid rgb(104 9 233 / 40%);
    outline-offset: -1px;
    background-color: #05020A;
    color: #FFFFFF;
}

.HeroToolbar_inner___hVMC {
    box-sizing: border-box;
    width: calc(100% - 2 * var(--page-gutter));
    max-width: var(--container-max-width);
    margin-inline: auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
    padding: 1.25rem 0;
}

.HeroToolbar_item__0adTG {
    position: relative;
    container-type: inline-size;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    gap: 0.875rem;
}

.HeroToolbar_icon__P1QHe {
    flex: 0 0 2rem;
    color: var(--gf-lilac);
}

.HeroToolbar_copy__Y3b6l {
    min-width: 0;
}

.HeroToolbar_label__10SZr {
    color: var(--gf-lilac);
    font-family: var(--gf-font-supporting);
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 0.875rem;
    letter-spacing: 0.1375rem;
}

.HeroToolbar_value__jZuDH {
    color: var(--gf-white);
    font-family: var(--gf-font-supporting);
    font-size: clamp(0.6875rem, 5.2cqi, 1.125rem);
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

html[dir="rtl"] .HeroToolbar_value__jZuDH {
    line-height: 1.5;
}

.HeroToolbar_item__0adTG:first-child .HeroToolbar_value__jZuDH,
.HeroToolbar_item__0adTG:nth-child(3) .HeroToolbar_value__jZuDH {
    white-space: nowrap;
    overflow-wrap: normal;
}

.HeroToolbar_item__0adTG:not(:last-child)::after {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: -0.75rem;
    width: 1px;
    height: 2.75rem;
    background: linear-gradient(180deg, rgb(104 9 233 / 10%) 0%, rgb(104 9 233 / 50%) 50%, rgb(104 9 233 / 10%) 100%);
    content: "";
    transform: translateY(-50%);
}

@media (max-width: 64rem) {
    .HeroToolbar_inner___hVMC {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1.5rem;
        row-gap: 2rem;
    }

    .HeroToolbar_item__0adTG:not(:nth-child(2n))::after {
        display: block;
    }

    .HeroToolbar_item__0adTG:nth-child(2n)::after,
    .HeroToolbar_item__0adTG:nth-child(1)::before,
    .HeroToolbar_item__0adTG:nth-child(2)::before {
        display: none;
    }

    .HeroToolbar_item__0adTG:nth-child(n + 3)::before {
        position: absolute;
        inset-block-start: -1rem;
        inset-inline: 0;
        height: 1px;
        background: linear-gradient(90deg, rgb(104 9 233 / 10%) 0%, rgb(104 9 233 / 50%) 50%, rgb(104 9 233 / 10%) 100%);
        content: "";
    }

    .HeroToolbar_item__0adTG:not(:nth-child(2n))::after {
        inset-inline-end: -0.75rem;
    }
}

@media (max-width: 40rem) {
    .HeroToolbar_inner___hVMC {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1rem;
        row-gap: 1.25rem;
        padding: 1rem 0;
    }

    .HeroToolbar_item__0adTG {
        justify-content: flex-start;
        gap: 0.625rem;
    }

    .HeroToolbar_icon__P1QHe {
        flex: 0 0 1.75rem;
    }

    /* Narrower mobile columns need to wrap instead of forcing a single line. */
    .HeroToolbar_item__0adTG:first-child .HeroToolbar_value__jZuDH,
    .HeroToolbar_item__0adTG:nth-child(3) .HeroToolbar_value__jZuDH {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .HeroToolbar_item__0adTG:not(:nth-child(2n))::after {
        display: block;
        inset-inline-end: -0.5rem;
        height: 2.25rem;
    }

    .HeroToolbar_item__0adTG:nth-child(2n)::after,
    .HeroToolbar_item__0adTG:nth-child(1)::before,
    .HeroToolbar_item__0adTG:nth-child(2)::before {
        display: none;
    }

    .HeroToolbar_item__0adTG:nth-child(n + 3)::before {
        position: absolute;
        inset-block-start: -0.625rem;
        inset-inline: 0;
        height: 1px;
        background: linear-gradient(90deg, rgb(104 9 233 / 10%) 0%, rgb(104 9 233 / 50%) 50%, rgb(104 9 233 / 10%) 100%);
        content: "";
    }
}

/* Internal pages consume the frozen homepage geometry without changing homepage components. */
.ds-internal-page .ds-section {
    padding-block: var(--gf-content-section-start) var(--gf-content-section-end);
    padding-inline: 0;
}

.ds-internal-page .ds-content-grid,
.ds-internal-page .ds-content-split {
    display: grid;
    min-width: 0;
}

.ds-internal-page .ds-content-split.ds-content-container,
.ds-internal-page .ds-content-grid.ds-content-container {
    width: calc(100% - 2 * var(--gf-content-gutter));
}

.ds-internal-page .ds-content-grid > *,
.ds-internal-page .ds-content-split > * {
    min-width: 0;
    max-inline-size: 100%;
}

.ds-internal-page .ds-page-hero {
    --gf-internal-hero-size: clamp(32px, 3vw, 44px);
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-block-size: clamp(32rem, 47.45vw, 51.25rem);
    padding-block: calc(var(--nav-height) + clamp(3rem, 6.5vw, 7rem)) 5rem;
    padding-inline: 0;
    background: #05020A;
    color: var(--gf-white);
}

.ds-internal-page .ds-page-hero .ds-content-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding-block-end: 0;
    text-align: start;
}

.ds-internal-page .ds-page-hero h1.type-heading {
    max-inline-size: min(100%, 56.25rem);
    margin: 0;
    font-family: var(--gf-font-headline);
    font-size: var(--gf-internal-hero-size);
    font-weight: var(--gf-font-headline-weight);
    line-height: 1.3;
    color: var(--gf-white);
}

.ds-internal-page .ds-page-hero h1 span {
    font: inherit;
    letter-spacing: inherit;
    overflow: visible;
    white-space: normal;
    overflow-wrap: anywhere;
}

.ds-internal-page .ds-page-hero [class*="_image__"] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    animation: none;
    transform: none;
}

.ds-internal-page .ds-page-hero [class*="_veil__"] {
    background:
        linear-gradient(180deg, rgb(5 2 10 / 95%), transparent 10rem),
        linear-gradient(0deg, rgb(5 2 10 / 98%), transparent 10rem),
        linear-gradient(90deg, rgb(0 0 0 / 92%) 0%, rgb(0 0 0 / 78%) 38%, rgb(36 0 86 / 35%) 65%, rgb(0 0 0 / 15%) 100%);
}

.ds-internal-page .ds-page-hero [class*="_veil__"]::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, rgb(104 9 233 / 25%) 0%, rgb(137 32 255 / 12%) 45%, rgb(36 0 86 / 0%) 80%);
    opacity: 0.8;
    mix-blend-mode: screen;
    content: "";
}

.ds-internal-page .ds-page-hero [class*="_crumbs__"] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    font-family: var(--gf-font-supporting);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
}

.ds-internal-page .ds-page-hero :is([class*="_eyebrow__"], [class*="_pageTitle__"]) {
    margin: 0;
    font-family: var(--gf-font-supporting);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.2em;
    color: var(--gf-lilac);
}

.ds-internal-page .ds-page-hero [class*="_supporting__"] {
    max-inline-size: min(100%, 36.25rem);
    margin: 0;
    font-size: 18px;
    line-height: 1.667;
    color: rgb(255 255 255 / 85%);
}

.ds-internal-page {
    --gf-section-heading-size: clamp(24px, 2.5vw, 34px);
}

.ds-internal-page ~ .Footer_footer__4vzqH {
    --gf-campaign-heading-size: clamp(32px, 3vw, 44px);
}

html[dir="rtl"] .ds-internal-page .ds-page-hero h1.type-heading {
    line-height: 1.5;
    letter-spacing: normal;
}

html[dir="rtl"] .ds-internal-page .ds-page-hero :is([class*="_eyebrow__"], [class*="_pageTitle__"]) {
    letter-spacing: normal;
}

html[dir="rtl"] .ds-internal-page .ds-page-hero [class*="_veil__"] {
    background:
        linear-gradient(180deg, rgb(5 2 10 / 95%), transparent 10rem),
        linear-gradient(0deg, rgb(5 2 10 / 98%), transparent 10rem),
        linear-gradient(270deg, rgb(0 0 0 / 92%) 0%, rgb(0 0 0 / 78%) 38%, rgb(36 0 86 / 35%) 65%, rgb(0 0 0 / 15%) 100%);
}

.ds-internal-page :is(p, dd, h3, h4, a) {
    overflow-wrap: anywhere;
}

.ds-internal-page :is([class*="_supporting__"], [class*="_body__"], [class*="_description__"]) {
    font-family: var(--gf-font-body);
    font-size: 1rem;
    font-weight: var(--gf-font-body-weight);
    line-height: 1.6;
}

.ds-internal-page .HeroCTA_cta__sj_hC {
    max-inline-size: 100%;
    min-block-size: 2.75rem;
    white-space: normal;
    text-align: center;
}

.ds-internal-page .EventOverview_frame__Yd6cU {
    height: auto;
    aspect-ratio: 16 / 10;
}

.ds-internal-page .EventOverview_frame__Yd6cU > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ds-internal-page .ds-section .EventOverview_frame__Yd6cU::after {
    content: none;
}

.ds-internal-page .ds-section .PackCollection_veil__SSszJ {
    display: none;
}

.ds-internal-page .ds-partner-grid > * {
    width: auto;
    min-width: 0;
}

.ds-internal-page .ds-partner-logo img {
    height: 100%;
}

.ds-internal-page .ds-section {
    --gf-surface: var(--gf-content-background);
    --gf-ink-text: var(--gf-white);
    --gf-ink: var(--gf-white);
    --gf-sand-deep: var(--gf-lilac);
    --gf-sand: var(--gf-violet);
    --gf-paper: var(--gf-white);
    --gf-paper-muted: var(--gf-content-body-color);
    background: var(--gf-content-background);
    color: var(--gf-white);
    color-scheme: dark;
}

.ds-internal-page .ds-section :is(h2, h3, h4, dt, dd) {
    color: var(--gf-white);
}

.ds-internal-page .ds-section :is(p, [class*="_body__"], [class*="_description__"]) {
    color: var(--gf-content-body-color);
    font-family: var(--gf-font-body);
    font-size: 1rem;
    font-weight: var(--gf-font-body-weight);
    line-height: var(--gf-content-body-line-height);
}

.ds-internal-page .ds-section :is([class*="_eyebrow__"], [class*="_label__"], [class*="_kicker__"], .ds-eyebrow) {
    color: var(--gf-lilac);
    font-family: var(--gf-font-supporting);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.375rem;
    letter-spacing: normal;
    margin-block: 0 var(--space-5);
}

.ds-internal-page .ds-section :is(.ds-content-card, .PhotoAlbumCard_card__0ybpk, .FeaturedVideo_featured__huOeY, .VideoCard_card__IUbow, .EmailContact_block__4SGA_, .LocationContact_block__whMZI, .SocialLinks_summary__nx_1C, dl.PackCollection_details__YXQrH, .PackCollection_copy__OjgKX > .PackCollection_detail__rqHBZ, .PrizeCategories_row__GA7jh) {
    border: 0;
    outline: var(--gf-content-card-outline);
    outline-offset: -1.5px;
    border-radius: var(--gf-content-card-radius);
    background: var(--gf-content-card-background);
    box-shadow: var(--gf-content-card-shadow);
    color: var(--gf-white);
    padding: var(--space-5);
}

.ds-internal-page .ds-section :is(.FeaturedVideo_meta__CwnkL, .VideoCard_meta__S8npd, .FeaturedVideo_media__s6OZE, .VideoCard_media__apNMZ, .PhotoAlbumCard_emptyCover__RlEzr) {
    background: var(--gf-content-card-background);
    color: var(--gf-content-body-color);
}

.ds-internal-page .ds-section :is(.FeaturedVideo_row__K7MXw, .VideoCard_row__TctJb, .SocialLinks_followName__yWFLu, .EmailContact_value__p0Giu, .LocationContact_value__OQFi9, .EmptyGalleryState_headline__LWpmC, .VideoEmptyState_headline__yatzO) {
    color: var(--gf-white);
}

.ds-internal-page .ds-section :is(.EmptyGalleryState_supporting__SOTV6, .VideoEmptyState_supporting__wkpm6) {
    color: var(--gf-content-body-color);
}

.ds-internal-page .ds-section :is(.EmailContact_copy__StBqE, .SocialLinks_followArrow__z8Nti, .FeaturedVideo_category__EHQoB, .VideoCard_category__We_7l) {
    color: var(--gf-lilac);
}

.ds-internal-page .ds-section .HeroCTA_cta__sj_hC {
    color: var(--gf-white);
}

.ds-internal-page :is(.VideoArchive_archive__hIv0z, .SponsorsPage_archive__oafbT) {
    background: var(--gf-content-background);
    color: var(--gf-white);
    color-scheme: dark;
}

.ds-internal-page .SponsorsPage_archive__oafbT {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gf-content-gap);
    padding-block: clamp(2rem, 3vw, 3rem) var(--gf-content-section-end);
}

.ds-internal-page .SponsorsPage_archive__oafbT > .SponsorCategorySection_section__LO8CK.ds-content-card {
    padding: var(--space-5);
    min-inline-size: 0;
    border-radius: var(--gf-content-card-radius);
    background: var(--gf-content-card-background);
    outline: var(--gf-content-card-outline);
    outline-offset: -1.5px;
    box-shadow: var(--gf-content-card-shadow);
}

.ds-internal-page .SponsorsPage_archive__oafbT .SponsorCategorySection_inner__WlE0a {
    height: 100%;
    padding: 0;
    gap: var(--space-5);
}

.ds-internal-page .SponsorsPage_archive__oafbT .SponsorCategorySection_header__i6h5J {
    max-inline-size: none;
}

.ds-internal-page .SponsorsPage_archive__oafbT .ds-partner-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.25rem), 1fr));
    gap: var(--space-4);
    margin-block-start: auto;
}

.ds-internal-page .SponsorsPage_archive__oafbT .ds-partner-grid > .SponsorLogo_logo__Dwvm8 {
    width: 100%;
    max-inline-size: none;
}

/* Sponsor logos are supplied as white artwork, so the logo stage is a dark, lit surface instead of a white tile:
   a soft violet glow rising from the bottom edge, a faint glass sheen and a hairline lilac outline.
   Hovering the category card lifts the glow and brings the logo to full brightness. */
.ds-internal-page .SponsorsPage_archive__oafbT .ds-partner-logo {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    max-inline-size: 100%;
    height: 9rem;
    padding: var(--space-4);
    background:
        radial-gradient(120% 85% at 50% 115%, rgb(137 32 255 / 22%) 0%, rgb(137 32 255 / 6%) 45%, transparent 70%),
        linear-gradient(180deg, rgb(255 255 255 / 4%) 0%, rgb(255 255 255 / 1%) 100%),
        #0B0614;
    border-radius: 0.625rem;
    outline: 1px solid rgb(196 164 255 / 16%);
    outline-offset: -1px;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 6%);
    transition: outline-color 0.4s ease, box-shadow 0.4s ease;
}

/* Lilac light line across the top edge of the stage. */
.ds-internal-page .SponsorsPage_archive__oafbT .ds-partner-logo::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 18%;
    z-index: -1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgb(196 164 255 / 55%), transparent);
    opacity: 0.6;
    transition: opacity 0.4s ease, inset-inline 0.4s ease;
}

.ds-internal-page .SponsorsPage_archive__oafbT .ds-partner-logo > .SponsorLogo_image__DF14H {
    width: auto;
    height: auto;
    max-width: min(100%, 20rem);
    max-height: 7rem;
    object-fit: contain;
    flex: 0 1 auto;
    opacity: 0.88;
    transition: opacity 0.4s ease, transform 0.4s ease, filter 0.4s ease;
}

.ds-internal-page .SponsorsPage_archive__oafbT .ds-partner-logo > .ds-partner-logo-fallback {
    color: var(--gf-white);
    font-size: 0.875rem;
    letter-spacing: 0.04em;
}

.ds-internal-page .SponsorsPage_archive__oafbT > .SponsorCategorySection_section__LO8CK:hover .ds-partner-logo {
    outline-color: rgb(196 164 255 / 38%);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 8%),
        inset 0 -24px 48px -24px rgb(137 32 255 / 45%);
}

.ds-internal-page .SponsorsPage_archive__oafbT > .SponsorCategorySection_section__LO8CK:hover .ds-partner-logo::before {
    inset-inline: 6%;
    opacity: 1;
}

.ds-internal-page .SponsorsPage_archive__oafbT > .SponsorCategorySection_section__LO8CK:hover .ds-partner-logo > .SponsorLogo_image__DF14H {
    opacity: 1;
    transform: scale(1.03);
    filter: drop-shadow(0 0 18px rgb(196 164 255 / 35%));
}

@media (prefers-reduced-motion: reduce) {
    .ds-internal-page .SponsorsPage_archive__oafbT .ds-partner-logo,
    .ds-internal-page .SponsorsPage_archive__oafbT .ds-partner-logo::before,
    .ds-internal-page .SponsorsPage_archive__oafbT .ds-partner-logo > .SponsorLogo_image__DF14H {
        transition: none;
    }

    .ds-internal-page .SponsorsPage_archive__oafbT > .SponsorCategorySection_section__LO8CK:hover .ds-partner-logo > .SponsorLogo_image__DF14H {
        transform: none;
    }
}

@media (max-width: 767px) {
    .ds-internal-page .SponsorsPage_archive__oafbT {
        grid-template-columns: minmax(0, 1fr);
    }

    .ds-internal-page .SponsorsPage_archive__oafbT > .SponsorCategorySection_section__LO8CK.ds-content-card {
        padding: var(--space-4);
    }
}

.ds-internal-page .RouteReveal_overlay__k92Lm {
    border-radius: var(--gf-content-card-radius);
    outline: var(--gf-content-card-outline);
    outline-offset: -1.5px;
    box-shadow: var(--gf-content-card-shadow);
}

.ds-internal-page .ds-section :is(.RouteReveal_heading__2Qz1x, .EmptyGalleryState_headline__LWpmC, .VideoEmptyState_headline__yatzO) {
    font-family: var(--gf-font-supporting);
    font-weight: 700;
    color: var(--gf-white);
}

.ds-internal-page .LocationOverview_section__NlZts {
    padding-block-start: clamp(2rem, 3vw, 3rem);
}

.ds-internal-page .LocationOverview_inner__1hAR6 {
    display: block;
}

.ds-internal-page .ds-section .LocationOverview_component.ds-content-card {
    padding: 0;
    gap: 0;
    align-items: center;
    overflow: hidden;
}

.ds-internal-page .LocationOverview_component > * {
    padding: clamp(1.25rem, 2.3vw, 2rem);
    min-inline-size: 0;
}

.ds-internal-page .LocationOverview_component .LocationOverview_body__a2AQY {
    max-inline-size: none;
    margin-block: var(--space-5);
}

.ds-internal-page .LocationOverview_component .LocationOverview_specs__ial3w {
    margin: 0;
    padding: 0;
    border: 0;
    gap: var(--space-4);
}

.ds-internal-page .ds-section .LocationOverview_spec__R0h8G.ds-content-card {
    padding: var(--space-4);
    box-shadow: none;
}

.ds-internal-page .LocationOverview_spec__R0h8G dt {
    color: var(--gf-lilac);
}

.ds-internal-page .LocationOverview_spec__R0h8G dd {
    margin: 0;
}

.ds-internal-page .LocationOverview_component .LocationOverview_visual__nkok6 {
    margin: 0;
    order: 0;
    align-self: stretch;
    display: grid;
    align-items: center;
    border-inline-start: 1px solid rgb(137 32 255 / 25%);
}

.ds-internal-page .LocationOverview_component .RouteReveal_overlay__k92Lm {
    outline: none;
    box-shadow: none;
}

@media (max-width: 1024px) {
    .ds-internal-page .LocationOverview_component {
        grid-template-columns: minmax(0, 1fr);
    }

    .ds-internal-page .LocationOverview_component .LocationOverview_visual__nkok6 {
        border-inline-start: 0;
        border-block-start: 1px solid rgb(137 32 255 / 25%);
    }
}

@media (max-width: 640px) {
    .ds-internal-page .LocationOverview_component .LocationOverview_frame__WkLt4:has(> .RouteReveal_overlay__k92Lm) {
        aspect-ratio: auto;
    }

    .ds-internal-page .LocationOverview_component .LocationOverview_frame__WkLt4:has(> .RouteReveal_overlay__k92Lm) > img {
        position: absolute;
        inset: 0;
    }

    .ds-internal-page .LocationOverview_component .RouteReveal_overlay__k92Lm {
        position: relative;
        min-block-size: 18rem;
    }
}

.ds-internal-page .ds-section[aria-labelledby="travel-support-heading"] {
    padding-block-end: var(--space-6);
}

.ds-internal-page .ds-section[aria-labelledby="hotels-heading"] {
    padding-block-start: var(--space-6);
}

.ds-internal-page [aria-labelledby="hotels-heading"] .ds-content-container > h3 {
    margin-block: var(--space-6) var(--space-5) !important;
    color: var(--gf-lilac);
    font-family: var(--gf-font-supporting);
    font-size: var(--gf-partner-heading-size) !important;
    font-weight: 700;
    line-height: 1.5;
}

.ds-internal-page .ds-content-grid:has(> .ds-content-card > img) {
    align-items: stretch;
    grid-auto-rows: 1fr;
    margin-block-end: 0;
}

.ds-internal-page [aria-labelledby="hotels-heading"] .ds-content-container > .ds-content-card {
    margin-block-end: var(--space-5) !important;
}

.ds-internal-page .ds-content-grid > .ds-content-card:has(> img) {
    display: flex;
    flex-direction: column;
}

.ds-internal-page .ds-content-grid > .ds-content-card > img {
    block-size: auto !important;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.ds-internal-page [aria-labelledby="hotels-heading"] .ds-content-container > div:last-child {
    text-align: start !important;
    margin-block-start: var(--space-6);
}

html[dir="rtl"] .ds-internal-page [aria-labelledby="hotels-heading"] .ds-content-container > h3 {
    letter-spacing: normal !important;
}

.ds-internal-page .ds-content-grid + .type-heading {
    margin-block-start: var(--space-6);
}

.ds-internal-page .ds-content-grid + p {
    margin-block-start: var(--space-6) !important;
}

.ds-internal-page .ds-section .ds-content-container > p > a {
    color: var(--gf-lilac);
    text-underline-offset: 0.2em;
}

.ds-internal-page .PhotoAlbumGrid_inner__dze3D {
    gap: var(--space-6);
}

.ds-internal-page .PhotoAlbumGrid_header__rH_N1 {
    max-inline-size: 100%;
}

.ds-internal-page .PhotoAlbumGrid_grid__NgWsy {
    align-items: stretch;
    grid-auto-rows: 1fr;
}

.ds-internal-page .PhotoAlbumCard_card__0ybpk {
    container-type: inline-size;
    flex-direction: column;
    gap: var(--space-5);
    min-block-size: 0;
}

.ds-internal-page .PhotoAlbumCard_meta__FUxvZ {
    padding: 0;
    gap: var(--space-5);
    flex: 1 1 auto;
    order: 2;
    width: 100%;
}

.ds-internal-page .PhotoAlbumCard_copy__OB7ZV {
    min-width: 0;
}

.ds-internal-page .PhotoAlbumCard_title__N8rXG {
    max-width: none;
    font-family: var(--gf-font-supporting);
    line-height: 1.5;
    letter-spacing: normal;
}

html[dir="rtl"] .ds-internal-page .PhotoAlbumCard_title__N8rXG {
    line-height: 1.75;
}

.ds-internal-page .ds-section .PhotoAlbumCard_year__5DWyM {
    color: var(--gf-lilac);
    font-family: var(--gf-font-supporting);
    font-size: var(--gf-partner-heading-size);
    font-weight: 700;
    letter-spacing: normal;
}

.ds-internal-page .PhotoAlbumCard_media__reJcx {
    display: flex;
    background: var(--gf-content-card-background);
    flex: 0 0 auto;
    order: 1;
    align-self: start;
    width: 100%;
    min-block-size: min-content;
    aspect-ratio: 16 / 9;
    border-radius: var(--gf-content-card-radius);
}

.ds-internal-page .PhotoAlbumCard_emptyCover__RlEzr {
    display: grid;
    align-content: center;
    flex: 1 1 auto;
    min-width: 0;
    /* Start at 16:9, but allow longer empty-state copy to grow the cover. */
    min-block-size: 56.25cqi;
    height: auto;
    padding: clamp(0.75rem, 2vw, 1.5rem);
}

.ds-internal-page .PhotoAlbumCard_media__reJcx:has(.PhotoAlbumCard_emptyCover__RlEzr) {
    display: grid;
    aspect-ratio: auto;
}

.ds-internal-page .PhotoAlbumCard_emptyCover__RlEzr .EmptyGalleryState_state__v_aVu {
    height: auto;
    min-width: 0;
}

.ds-internal-page .ds-section :is(.FeaturedVideo_media__s6OZE, .VideoCard_media__apNMZ) {
    aspect-ratio: 16 / 9;
    object-fit: contain;
}

.ds-internal-page .PhotoAlbumCard_cta__juFVY {
    margin-block-start: auto;
    align-self: flex-start;
    color: var(--gf-lilac);
    max-width: 100%;
}

.ds-internal-page .PhotoAlbumCard_ctaLabel__WIJxa {
    min-width: 0;
    overflow-wrap: anywhere;
}

.ds-internal-page .PhotoAlbumCard_ctaArrow__uD49H {
    flex-shrink: 0;
}

html[dir="rtl"] .ds-internal-page .PhotoAlbumCard_ctaLabel__WIJxa {
    letter-spacing: normal;
}

html[dir="rtl"] .ds-internal-page .PhotoAlbumCard_card__0ybpk:hover .PhotoAlbumCard_ctaArrow__uD49H,
html[dir="rtl"] .ds-internal-page .PhotoAlbumCard_card__0ybpk:focus-visible .PhotoAlbumCard_ctaArrow__uD49H {
    transform: translateX(-6px);
}

.ds-internal-page .PackCollection_copy__OjgKX {
    display: grid;
    grid-auto-rows: auto;
    gap: var(--space-5);
}

.ds-internal-page .PackCollection_copy__OjgKX > :is(h2, p) {
    margin: 0;
    max-inline-size: 100%;
}

.ds-internal-page dl.PackCollection_details__YXQrH {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
    margin: 0;
}

.ds-internal-page dl.PackCollection_details__YXQrH > .PackCollection_detail__rqHBZ:first-child {
    grid-column: 1 / -1;
}

.ds-internal-page dl.PackCollection_details__YXQrH > .PackCollection_detail__rqHBZ {
    min-width: 0;
}

.ds-internal-page .PackCollection_copy__OjgKX > br {
    display: none;
}

.ds-internal-page .PackCollection_detail__rqHBZ dt {
    display: block;
    margin: 0 0 var(--space-3);
    padding: 0;
    border: 0;
    color: var(--gf-lilac);
    font-size: var(--gf-partner-heading-size);
    line-height: 1.5;
    letter-spacing: normal;
}

.ds-internal-page .PackCollection_detail__rqHBZ dd {
    color: var(--gf-content-body-color);
    font-family: var(--gf-font-body);
    font-weight: var(--gf-font-body-weight);
    line-height: var(--gf-content-body-line-height);
    letter-spacing: normal;
    white-space: normal;
    overflow-wrap: anywhere;
}

.ds-internal-page .PackCollection_visual__WCaSC {
    display: grid;
    gap: 0;
    align-self: start;
    grid-area: visual;
    overflow: hidden;
    border-radius: var(--gf-content-card-radius);
    outline: var(--gf-content-card-outline);
    outline-offset: -1.5px;
    background: var(--gf-content-card-background);
    box-shadow: var(--gf-content-card-shadow);
}

.ds-internal-page .PackCollection_frame__N_43K {
    min-block-size: 0;
    border: 0;
    border-radius: 0;
    outline: none;
    box-shadow: none;
}

.ds-internal-page .PackCollection_frame__N_43K + .PackCollection_frame__N_43K {
    border-block-start: 1px solid rgb(137 32 255 / 45%);
}

.ds-internal-page .PackCollection_inner__9RNnH > .PackCollection_download {
    grid-area: action;
    width: 100%;
}

.ds-internal-page .PackCollection_visual__WCaSC:not(:has(img)) {
    display: none;
}

.ds-internal-page.ds-layout-two-column .PackCollection_inner__9RNnH:not(:has(> .PackCollection_visual__WCaSC img)) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "information"
        "action";
}

.ds-internal-page .PackCollection_inner__9RNnH {
    grid-template-areas:
        "information visual"
        "action visual";
}

.ds-internal-page .PackCollection_copy__OjgKX {
    grid-area: information;
}

.ds-internal-page .PackCollection_venuesLayout,
.ds-internal-page .PackCollection_venue,
.ds-internal-page .PackCollection_venueWindows {
    display: grid;
    gap: var(--gf-content-gap);
    min-inline-size: 0;
}

.ds-internal-page .PackCollection_venues {
    align-items: stretch;
}

.ds-internal-page .PackCollection_venuesLayout > .PackCollection_copy__OjgKX {
    grid-area: auto;
}

.ds-internal-page .PackCollection_venue {
    grid-template-rows: auto auto 1fr;
    align-content: start;
}

.ds-internal-page .PackCollection_venue :is(dl, dd),
.ds-internal-page .PackCollection_requirements {
    margin: 0;
}

.ds-internal-page .PackCollection_venueWindow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: var(--space-5);
}

.ds-internal-page .PackCollection_venueWindows {
    align-content: start;
}

.ds-internal-page .PackCollection_venueWindow + .PackCollection_venueWindow {
    border-block-start: 1px solid rgb(137 32 255 / 45%);
    padding-block-start: var(--space-5);
}

@media (max-width: 40rem) {
    .ds-internal-page .PackCollection_venueWindow {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 900px) {
    .ds-internal-page .PackCollection_inner__9RNnH {
        grid-template-areas:
            "information"
            "action"
            "visual";
    }
}

@media (max-width: 40rem) {
    .ds-internal-page dl.PackCollection_details__YXQrH {
        grid-template-columns: minmax(0, 1fr);
    }
}

.ds-internal-page .PrizeCategories_inner__tDmnK {
    gap: var(--gf-content-gap);
}

.ds-internal-page .PrizeCategories_header__FXC7D {
    max-inline-size: none;
    gap: var(--space-5);
}

.ds-internal-page .PrizeCategories_header__FXC7D > :is(h2, p) {
    margin: 0;
}

.ds-internal-page .PrizeCategories_list__VUcK8 {
    display: grid;
    grid-auto-rows: 1fr;
    gap: var(--gf-content-gap);
    border: 0;
}

.ds-internal-page .PrizeCategories_row__GA7jh {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: var(--gf-content-gap);
    min-inline-size: 0;
}

.ds-internal-page .ds-section .PrizeCategories_label__zy5_h {
    margin: 0;
    color: var(--gf-white);
    font-family: var(--gf-font-supporting);
    font-size: clamp(1.125rem, 1.5vw, 1.375rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: normal;
}

.ds-internal-page .ds-section .PrizeCategories_amount__PgdaW {
    margin: 0;
    color: var(--gf-white);
    font-family: var(--gf-font-supporting);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: normal;
    white-space: normal;
    text-align: end;
}

@media (max-width: 40rem) {
    .ds-internal-page .PrizeCategories_row__GA7jh {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-3);
    }

    .ds-internal-page .ds-section .PrizeCategories_amount__PgdaW {
        text-align: start;
    }
}

/* Sponsor logo fallback: shows the CMS sponsor name when a sponsorLogo media item is missing (logo cards are transparent on the dark theme). */
.ds-partner-logo-fallback {
    min-width: 0;
    color: var(--gf-white);
    font-family: var(--gf-font-supporting);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    overflow-wrap: anywhere;
}

/* Header brand with two CMS logos (data-brand="logos"): Global Settings preload1 | preload3 (title sponsor).
   Both logos share the existing .Navbar_uci__Pt3j3 heights and keep their aspect ratio (object-fit: contain).
   When space runs out both shrink in proportion, so they stay the same visual height. */
.Navbar_header__7TllB .Navbar_brand__cIDQ_[data-brand="logos"] {
    /* Title sponsor logo renders at 88% of the shared logo height so preload1 stays the visual anchor. */
    --navbar-title-sponsor-scale: 0.88;
    min-width: 0;
}

/* Brand lockup keeps its source order (preload1, divider, preload3) on every culture and breakpoint.
   Root cause of the Arabic reversal: the legacy 9ad0c0c27eec5f92.css rule
   [dir=rtl] .Navbar_brand__cIDQ_ { flex-direction: row-reverse } reversed the source order above 640px
   (below that, the max-width: 40rem rule above already sets row). Resetting it to row lets the lockup follow
   the page direction like the rest of the header: inline-start edge, preload1 first. */
.Navbar_header__7TllB .Navbar_brand__cIDQ_ {
    flex-direction: row;
}

.Navbar_header__7TllB .Navbar_brand__cIDQ_[data-brand="logos"] .Navbar_uci__Pt3j3,
.Navbar_header__7TllB .Navbar_brand__cIDQ_[data-brand="logos"] .Navbar_titleSponsor {
    display: flex;
    flex: 0 1 auto;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    height: clamp(52px, 3vw, 64px);
}

.Navbar_header__7TllB .Navbar_brand__cIDQ_[data-brand="logos"] .Navbar_titleSponsorImage {
    display: block;
    width: auto;
    height: calc(100% * var(--navbar-title-sponsor-scale));
    min-width: 0;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
}

@media (max-width: 40rem) {
    .Navbar_header__7TllB .Navbar_brand__cIDQ_[data-brand="logos"] .Navbar_uci__Pt3j3,
    .Navbar_header__7TllB .Navbar_brand__cIDQ_[data-brand="logos"] .Navbar_titleSponsor {
        height: 44px;
    }

    html[dir="rtl"] .Navbar_header__7TllB .Navbar_brand__cIDQ_[data-brand="logos"] .Navbar_uci__Pt3j3,
    html[dir="rtl"] .Navbar_header__7TllB .Navbar_brand__cIDQ_[data-brand="logos"] .Navbar_titleSponsor {
        flex: 0 1 auto;
        width: auto;
        max-width: 100%;
        height: 44px;
    }

    html[dir="rtl"] .Navbar_header__7TllB .Navbar_brand__cIDQ_[data-brand="logos"] .Navbar_uciImage__DnYIa,
    html[dir="rtl"] .Navbar_header__7TllB .Navbar_brand__cIDQ_[data-brand="logos"] .Navbar_titleSponsorImage {
        width: auto;
        height: 100%;
        max-width: 100%;
        max-height: none;
    }

    html[dir="rtl"] .Navbar_header__7TllB .Navbar_brand__cIDQ_[data-brand="logos"] .Navbar_titleSponsorImage {
        height: calc(100% * var(--navbar-title-sponsor-scale));
    }
}

/* Contact channels (contact.cshtml, .ContactDetails_channels): Email and Social presented as ONE contact card.
   The grid itself carries the existing card surface; the two articles become panels inside it, separated by a
   hairline divider. < 1280px: panels stack. >= 1280px: two panels side by side (Email slightly wider so the
   address never wraps), labels share a top line and Copy Email / platform links share a bottom line.
   Logical properties keep the layout mirrored in RTL. */
.ds-internal-page.ds-layout-two-column .ContactDetails_grid__fH6Dm.ContactDetails_channels {
    --contact-divider: 1px solid color-mix(in srgb, var(--gf-violet) 30%, transparent);
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    max-width: none;
    align-items: stretch;
    outline: var(--gf-content-card-outline);
    outline-offset: -1.5px;
    border-radius: var(--gf-content-card-radius);
    background: var(--gf-content-card-background);
    box-shadow: var(--gf-content-card-shadow);
}

.ds-internal-page .ds-section .ContactDetails_channels :is(.EmailContact_block__4SGA_, .SocialLinks_summary__nx_1C) {
    display: flex;
    flex-direction: column;
    outline: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: var(--space-5);
}

.ds-internal-page .ds-section .ContactDetails_channels .SocialLinks_summary__nx_1C {
    border-block-start: var(--contact-divider);
}

.ContactDetails_channels .EmailContact_row__iEJHy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}

.ContactDetails_channels .EmailContact_value__p0Giu {
    margin-block-end: var(--space-5);
}

.ContactDetails_channels .EmailContact_status:not(:empty) {
    margin-block-start: var(--space-2);
}

.ContactDetails_channels .SocialLinks_supporting__SV3UC {
    max-width: 32rem;
    margin-block-end: var(--space-4);
}

.ContactDetails_channels .SocialLinks_chipList__cMsGc {
    gap: var(--space-3) var(--space-5);
}

@media (min-width: 80rem) {
    .ds-internal-page.ds-layout-two-column .ContactDetails_grid__fH6Dm.ContactDetails_channels {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    }

    .ds-internal-page .ds-section .ContactDetails_channels :is(.EmailContact_block__4SGA_, .SocialLinks_summary__nx_1C) {
        padding: var(--space-6) var(--space-7);
    }

    .ds-internal-page .ds-section .ContactDetails_channels .SocialLinks_summary__nx_1C {
        border-block-start: 0;
        border-inline-start: var(--contact-divider);
    }

    /* Bottom line: Copy Email and the platform links sit on the same row, vertically centred on it. */
    .ContactDetails_channels .EmailContact_copy__StBqE {
        margin-block-start: auto;
    }

    .ContactDetails_channels .SocialLinks_chipList__cMsGc {
        min-block-size: 2.75rem;
        margin-block-start: auto;
        align-items: center;
        align-content: center;
    }
}

/* Race Regulations rich text (raceSchedule.cshtml, contentDescription1). Content pasted from Word carries inline
   "color: black" / "background: white" that is unreadable on the dark theme. Only those two inline colours are
   neutralised (inline styles can only be overridden with !important); every other editor format (font size,
   bold, structure) is kept. Logical properties keep lists and tables correct in RTL. */
.race-regulations-rte {
    color: var(--gf-content-body-color);
    font-style: normal;
    line-height: var(--gf-content-body-line-height);
    overflow-wrap: anywhere;
}

.race-regulations-rte [style*="color"] {
    color: inherit !important;
}

.race-regulations-rte [style*="background"] {
    background: transparent !important;
}

.race-regulations-rte > :first-child {
    margin-block-start: 0;
}

.race-regulations-rte > :last-child {
    margin-block-end: 0;
}

.race-regulations-rte :is(p, ul, ol, table, blockquote) {
    margin-block: 0 var(--space-4);
}

.race-regulations-rte :is(h1, h2, h3, h4, h5, h6) {
    margin-block: var(--space-6) var(--space-3);
    color: var(--gf-white);
    font-family: var(--gf-font-supporting);
    line-height: 1.25;
}

.race-regulations-rte :is(strong, b) {
    color: var(--gf-white);
}

.race-regulations-rte :is(ul, ol) {
    padding-inline-start: var(--space-5);
}

.race-regulations-rte li {
    margin-block-end: var(--space-2);
}

.race-regulations-rte li::marker {
    color: var(--gf-lilac);
}

.race-regulations-rte a {
    color: var(--gf-lilac);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.race-regulations-rte a:is(:hover, :focus-visible) {
    color: var(--gf-white);
}

.race-regulations-rte table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

.race-regulations-rte :is(th, td) {
    padding: var(--space-2) var(--space-3);
    border: 1px solid color-mix(in srgb, var(--gf-violet) 35%, transparent);
    text-align: start;
    vertical-align: top;
}

.race-regulations-rte th {
    color: var(--gf-white);
}

/* Participant Photos content: matches the homepage "About the event" overview (magenta title, lined lilac eyebrow,
   open body copy without a card) and ends with a call to action to the photo gallery. */
.ds-internal-page .ds-photo-feature {
    --gf-section-heading-size: clamp(24px, 3vw, 34px);
}

.ds-internal-page .ds-photo-feature .ds-photo-feature-title {
    margin-block: 0 var(--space-6);
    color: var(--gf-magenta);
}

html[dir="ltr"] .ds-internal-page .ds-photo-feature .ds-photo-feature-title {
    text-transform: uppercase;
}

.ds-internal-page .ds-section .ds-photo-feature-eyebrow {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-block: 0 1.5rem;
    color: var(--gf-lilac);
    font-family: var(--gf-font-supporting);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.375rem;
    letter-spacing: normal;
}

html[dir="ltr"] .ds-internal-page .ds-section .ds-photo-feature-eyebrow {
    text-transform: uppercase;
}

.ds-photo-feature-eyebrow::before {
    content: "";
    flex: 0 0 1.625rem;
    height: 1px;
    background-color: var(--gf-electric-violet);
}

.ds-photo-feature-body {
    max-width: 62rem;
    font-family: var(--gf-font-body);
    font-size: 1rem;
    font-weight: var(--gf-font-body-weight);
}

.ds-photo-feature-actions {
    margin-block-start: var(--space-6);
}

html[dir="rtl"] .ds-photo-feature-arrow {
    display: inline-block;
    transform: scaleX(-1);
}
