/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens: none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
        *,:before,:after,::backdrop {
            --tw-blur:initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial
        }
    }
}

@layer theme {
    :root,:host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --spacing: .25rem;
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono)
    }
}

@layer base {
    *,:after,:before,::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,: host {
        -webkit-text-size-adjust:100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings,normal);
        font-variation-settings: var(--default-font-variation-settings,normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr: where([title]) {
        -webkit-text-decoration:underline dotted;
        text-decoration: underline dotted
    }

    h1,h2,h3,h4,h5,h6 {
        font-size: inherit;
        font-weight: inherit
    }

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

    b,strong {
        font-weight: bolder
    }

    code,kbd,samp,pre {
        font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings,normal);
        font-variation-settings: var(--default-mono-font-variation-settings,normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,ul,menu {
        list-style: none
    }

    img,svg,video,canvas,audio,iframe,embed,object {
        vertical-align: middle;
        display: block
    }

    img,video {
        max-width: 100%;
        height: auto
    }

    button,input,select,optgroup,textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select: is([multiple],[size])) optgroup {
        font-weight:bolder
    }

    :where(select: is([multiple],[size])) optgroup option {
        padding-inline-start:20px
    }

    ::file-selector-button {
        margin-inline-end:4px}

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color:currentColor
        }

        @supports (color: color-mix(in lab, red, red)) {
            ::placeholder {
                color:color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block:0}

    ::-webkit-datetime-edit-year-field {
        padding-block:0}

    ::-webkit-datetime-edit-month-field {
        padding-block:0}

    ::-webkit-datetime-edit-day-field {
        padding-block:0}

    ::-webkit-datetime-edit-hour-field {
        padding-block:0}

    ::-webkit-datetime-edit-minute-field {
        padding-block:0}

    ::-webkit-datetime-edit-second-field {
        padding-block:0}

    ::-webkit-datetime-edit-millisecond-field {
        padding-block:0}

    ::-webkit-datetime-edit-meridiem-field {
        padding-block:0}

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,input: where([type=button],[type=reset],[type=submit]) {
        appearance:button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]: where(:not([hidden=until-found])) {
        display:none!important
    }
}

@layer components;@layer utilities {
    .visible {
        visibility: visible
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .sticky {
        position: sticky
    }

    .start {
        inset-inline-start: var(--spacing)
    }

    .end {
        inset-inline-end: var(--spacing)
    }

    .container {
        width: 100%
    }

    @media (width>=40rem) {
        .container {
            max-width: 40rem
        }
    }

    @media (width>=48rem) {
        .container {
            max-width: 48rem
        }
    }

    @media (width>=64rem) {
        .container {
            max-width: 64rem
        }
    }

    @media (width>=80rem) {
        .container {
            max-width: 80rem
        }
    }

    @media (width>=96rem) {
        .container {
            max-width: 96rem
        }
    }

    .hidden {
        display: none
    }

    .table {
        display: table
    }

    .grow {
        flex-grow: 1
    }

    .antialiased {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }

    .filter {
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
    }
}

:root {
    --red: #df1f2d;
    --red-dark: #a70f1b;
    --navy: #18283f;
    --navy-deep: #0b1422;
    --ink: #15191b;
    --panel: #191d20;
    --paper: #15191b;
    --warm-white: #f1eee7;
    --muted: #a9a59d;
    --nismo-stripe: linear-gradient(to bottom,var(--red) 0 58%,var(--warm-white) 58% 100%);
    --nismo-stripe-v: linear-gradient(to right,var(--red) 0 58%,var(--warm-white) 58% 100%)
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden
}

body {
    background: var(--ink);
    color: var(--warm-white);
    margin: 0;
    font-family: Arial,Helvetica,sans-serif;
    overflow-x: hidden
}

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

button,a {
    -webkit-tap-highlight-color: transparent
}

.site-header {
    z-index: 10;
    background: #15191bf7;
    border-bottom: 1px solid #34383a;
    justify-content: space-between;
    align-items: center;
    height: 86px;
    padding: 0 clamp(24px,5vw,78px);
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.brand {
    align-items: center;
    gap: 14px;
    min-width: 260px;
    display: flex
}

.brand-logo {
    object-fit: cover;
    border: 1px solid #3e434b;
    border-radius: 50%;
    flex: none;
    width: 64px;
    height: 64px;
    display: block;
    box-shadow: 0 0 0 2px #050505,0 0 0 3px #df1f2db8
}

.brand-mark {
    border: 4px solid #f2f3f4;
    border-right-color: var(--red);
    letter-spacing: -1px;
    border-radius: 50%;
    place-items: center;
    width: 56px;
    height: 56px;
    font-style: italic;
    font-weight: 900;
    display: grid;
    position: relative
}

.brand-mark:after {
    content: "";
    background: var(--red);
    border-radius: 50%;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 22px;
    right: -6px
}

.brand-mark span {
    font-size: 17px
}

.brand-name {
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.05
}

nav {
    align-items: center;
    gap: clamp(15px,2vw,30px);
    display: flex
}

nav a {
    color: #d4d9dd;
    letter-spacing: .8px;
    padding: 32px 0 27px;
    font-size: 14px;
    font-weight: 700;
    position: relative
}

nav a:after {
    content: "";
    background: var(--nismo-stripe);
    height: 4px;
    transition: all .2s;
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 100%
}

nav a:hover:after,nav a.active:after {
    right: 0
}

.mobile-menu {
    display: none;
    position: relative
}

.mobile-menu summary {
    cursor: pointer;
    color: #fff;
    letter-spacing: 1px;
    text-transform: uppercase;
    background: #090909;
    border: 1px solid #5a626c;
    padding: 13px 15px;
    font-size: 11px;
    font-weight: 900;
    list-style: none
}

.mobile-menu summary::-webkit-details-marker {
    display: none
}

.mobile-menu[open] summary {
    border-color: #fff
}

.mobile-menu>div {
    border: 1px solid #4b535d;
    border-top: 4px solid var(--red);
    background: #050505;
    width: 220px;
    padding: 8px;
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    box-shadow: 0 18px 40px #0000008c
}

.mobile-menu a {
    color: #e8ecef;
    letter-spacing: .5px;
    border-bottom: 1px solid #262c32;
    padding: 12px 14px;
    font-size: 12px;
    font-weight: 800;
    display: block
}

.mobile-menu a:last-child {
    border-bottom: 0
}

.mobile-menu a:hover {
    color: #fff;
    background: #14171a
}

.header-cta,.primary-button {
    color: #fff;
    box-shadow: inset 4px 0 0 var(--red),inset 6px 0 0 #fff;
    text-transform: uppercase;
    letter-spacing: .7px;
    background: #090909;
    border: 1px solid #8d939c;
    align-items: center;
    gap: 16px;
    padding: 15px 22px;
    font-weight: 800;
    transition: all .2s;
    display: inline-flex
}

.header-cta:hover,.primary-button:hover {
    box-shadow: inset 7px 0 0 var(--red),inset 9px 0 0 #fff;
    background: #151515;
    border-color: #fff;
    transform: translateY(-2px)
}

.hero {
    background: #15191b;
    height: 100vh;
    min-height: 860px;
    position: relative;
    overflow: hidden
}

.hero-media {
    filter: saturate(.72)contrast(1.05)brightness(.96);
    background-image: url(/pmc-hero.png);
    background-position: 50%;
    background-size: cover;
    position: absolute;
    inset: 86px 0 0
}

.hero-shade {
    background: linear-gradient(90deg,#15191bfc 0%,#15191beb 38%,#15191b47 68%,#15191b1f 100%),linear-gradient(#0000 62%,#15191bf0 100%);
    position: absolute;
    inset: 0
}

.hero-grid {
    z-index: 1;
    opacity: .28;
    background-image: linear-gradient(#4759682e 1px,#0000 1px),linear-gradient(90deg,#4759682e 1px,#0000 1px);
    background-size: 36px 36px;
    position: absolute;
    inset: 86px 0 0;
    -webkit-mask-image: linear-gradient(90deg,#000,#0000 70%);
    mask-image: linear-gradient(90deg,#000,#0000 70%)
}

.hero-content {
    z-index: 2;
    max-width: 690px;
    position: absolute;
    top: clamp(170px,21vh,225px);
    left: clamp(28px,7vw,112px)
}

.eyebrow {
    color: #c8c3ba;
    text-transform: uppercase;
    letter-spacing: 2.8px;
    align-items: center;
    gap: 13px;
    font-size: 12px;
    font-weight: 700;
    display: flex
}

.eyebrow span {
    background: var(--nismo-stripe);
    width: 40px;
    height: 5px
}

.eyebrow.dark {
    color: #aab2bc
}

h1,h2 {
    text-transform: uppercase;
    letter-spacing: -2px;
    margin: 20px 0;
    font-family: Impact,Arial Narrow,sans-serif;
    font-weight: 900;
    line-height: .88
}

h1 {
    letter-spacing: -1.5px;
    max-width: 660px;
    font-family: Arial Narrow,Helvetica Neue Condensed,Arial,sans-serif;
    font-size: clamp(56px,5.6vw,88px);
    font-weight: 600;
    font-stretch: 75%;
    line-height: .96
}

h1 span,h1 em {
    display: block
}

h1 span {
    color: var(--warm-white)
}

h1 em,h2 em {
    color: var(--red);
    font-style: normal
}

.hero-copy {
    color: #c6c1b8;
    max-width: 590px;
    margin: 25px 0 31px;
    font-size: clamp(17px,1.35vw,21px);
    line-height: 1.55
}

.hero-actions {
    align-items: center;
    gap: 28px;
    display: flex
}

.primary-button {
    padding: 19px 28px
}

.text-link {
    color: #e0e3e5;
    border-bottom: 1px solid #58636c;
    padding: 14px 0 10px;
    font-weight: 700
}

.text-link span {
    color: var(--red);
    margin-left: 10px
}

.timing-panel {
    z-index: 3;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    clip-path: polygon(0 0,95% 0,100% 10%,100% 100%,5% 100%,0 90%);
    background: #071018d1;
    border: 1px solid #64717c;
    width: min(23vw,330px);
    position: absolute;
    top: 118px;
    right: clamp(24px,4vw,64px)
}

.timing-top,.timing-meta {
    color: #929fa9;
    letter-spacing: 1px;
    border-bottom: 1px solid #35414b;
    justify-content: space-between;
    padding: 8px 11px;
    font: 9px monospace;
    display: flex
}

.pulse {
    color: #ed343b
}

.timing-list {
    display: grid
}

.timing-run {
    border-bottom: 1px solid #2f3b45;
    grid-template-columns: 54px 1fr auto;
    align-items: center;
    gap: 8px;
    padding: 7px 11px;
    font-family: monospace;
    display: grid
}

.timing-run span {
    color: #87949e;
    letter-spacing: .8px;
    font-size: 9px
}

.timing-run strong {
    color: #d9dfe3;
    letter-spacing: -1px;
    font-size: 19px;
    line-height: 1
}

.timing-run b {
    color: #9ca8b0;
    font-size: 9px
}

.timing-run.active {
    box-shadow: inset 3px 0 0 var(--red),inset 5px 0 0 #fff;
    background: linear-gradient(90deg,#df1f2d2e,#0000 70%)
}

.timing-run.active strong {
    color: #fff;
    font-size: 26px
}

.timing-run.active b {
    color: var(--red);
    letter-spacing: .8px
}

.timing-scale {
    border-bottom: 1px solid #35414b;
    align-items: end;
    gap: 6px;
    padding: 5px 11px 7px;
    display: flex
}

.timing-scale i {
    background: #778590;
    width: 2px;
    height: 7px;
    display: block
}

.timing-scale i:nth-child(3n) {
    height: 12px
}

.timing-scale i.red {
    background: var(--red);
    height: 15px
}

.timing-meta {
    border: 0
}

.price-rail {
    z-index: 3;
    gap: 8px;
    width: min(29vw,400px);
    display: grid;
    position: absolute;
    bottom: 54px;
    right: clamp(24px,4vw,64px)
}

.price-rail article {
    border: 1px solid #696964;
    border-left: 4px solid var(--red);
    box-shadow: inset 2px 0 0 var(--warm-white);
    background: #191d20f0;
    grid-template-columns: 1fr auto;
    padding: 16px 18px;
    display: grid
}

.price-rail span {
    color: #aab4bb;
    letter-spacing: 1.1px;
    font: 10px monospace
}

.price-rail strong {
    grid-area: 1/2/3;
    font: 42px Impact,sans-serif
}

.price-rail small {
    color: #d8dde0;
    margin-top: 6px
}

.ticker {
    background: var(--nismo-stripe) top/100% 5px no-repeat,linear-gradient(to bottom,#080808 0 calc(100% - 3px),var(--navy) calc(100% - 3px));
    color: #fff;
    letter-spacing: 1.5px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 26px;
    min-height: 70px;
    padding: 18px 15px;
    font-size: 12px;
    font-weight: 900;
    display: flex
}

.ticker i {
    background: var(--nismo-stripe);
    width: 22px;
    height: 5px;
    transform: skew(-28deg)
}

.section {
    padding: 110px clamp(28px,7vw,112px)
}

.events-section,.safety-section,.about-section {
    color: #f7f7f4;
    background: #000;
    border-top: 1px solid #242832
}

.section-heading {
    grid-template-columns: 1.1fr .9fr;
    align-items: end;
    gap: 60px;
    margin-bottom: 55px;
    display: grid
}

.section-heading h2,.about-section h2,.results-copy h2 {
    font-size: clamp(56px,6vw,92px)
}

.section-heading>p {
    color: #aeb5bd;
    max-width: 620px;
    font-size: 19px;
    line-height: 1.6
}

.section-heading.inverse>p {
    color: #aeb8bf
}

.event-card {
    border-bottom: 1px solid #343842;
    grid-template-columns: 1.65fr .75fr auto;
    align-items: center;
    gap: 30px;
    padding: 32px 0 30px;
    display: grid;
    position: relative
}

.event-card:before {
    content: "";
    background: var(--nismo-stripe);
    height: 5px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.event-date {
    border-right: 1px solid #3a3e48;
    flex-direction: column;
    display: flex
}

.event-date b {
    color: var(--red);
    font: 54px Impact,sans-serif
}

.event-date span,.event-info>span,.event-format>span {
    letter-spacing: 1.8px;
    color: #8e98a4;
    font: 11px monospace
}

.event-info h3 {
    color: #fff;
    margin: 8px 0;
    font-size: 25px
}

.event-info p,.event-format small {
    color: #a9b0b8
}

.event-format {
    flex-direction: column;
    gap: 6px;
    display: flex
}

.event-card>a,.about-copy>a {
    color: #fff;
    box-shadow: inset 4px 0 0 var(--red),inset 6px 0 0 #fff;
    background: #090909;
    border: 1px solid #8d939c;
    gap: 14px;
    padding: 17px 20px;
    font-weight: 800;
    display: flex
}

.event-card>a:hover,.about-copy>a:hover {
    background: #151515;
    border-color: #fff
}

.event-note {
    color: #8f98a1;
    margin-top: 18px;
    font-size: 13px
}

.event-capacity {
    padding: 10px 0 10px 21px;
    position: relative
}

.event-capacity:before {
    content: "";
    background: var(--nismo-stripe-v);
    width: 5px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0
}

.event-capacity b {
    color: #fff;
    letter-spacing: .8px;
    font: 24px Impact,sans-serif
}

.event-capacity small {
    font: 11px monospace
}

.launch-status {
    background: #050505;
    border: 1px solid #343842;
    grid-template-columns: repeat(3,1fr);
    margin-top: 38px;
    display: grid
}

.launch-status article {
    border-right: 1px solid #343842;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 16px;
    padding: 22px 24px;
    display: grid
}

.launch-status article:last-child {
    border-right: 0
}

.launch-status article>span {
    color: var(--red);
    font: 28px Impact,sans-serif
}

.launch-status div {
    flex-direction: column;
    gap: 6px;
    display: flex
}

.launch-status small {
    color: #7f8994;
    letter-spacing: 1.4px;
    font: 9px monospace
}

.launch-status b {
    text-transform: uppercase;
    letter-spacing: .4px;
    font-size: 14px
}

.hub-section {
    background: #08090a;
    border-top: 1px solid #242832;
    position: relative;
    overflow: hidden
}

.hub-section:before {
    content: "";
    opacity: .55;
    background-image: linear-gradient(#18283f42 1px,#0000 1px),linear-gradient(90deg,#18283f42 1px,#0000 1px);
    background-size: 42px 42px;
    position: absolute;
    inset: 0
}

.hub-section>* {
    position: relative
}

.hub-grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    display: grid
}

.hub-panel {
    background: #030303;
    border: 1px solid #3b424b;
    min-height: 430px;
    padding: 25px
}

.hub-panel-head {
    border-bottom: 5px solid #0000;
    border-image: var(--nismo-stripe) 1;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 17px;
    display: flex
}

.hub-panel-head span {
    color: #8e99a3;
    letter-spacing: 1.3px;
    font: 10px monospace
}

.hub-panel-head b {
    text-transform: uppercase;
    font-size: 13px
}

.hub-event {
    border-bottom: 1px solid #343a42;
    grid-template-columns: 72px 1fr auto;
    align-items: center;
    gap: 18px;
    padding: 22px 0;
    display: grid
}

.hub-event>div {
    text-align: center;
    border-right: 1px solid #343a42;
    flex-direction: column;
    display: flex
}

.hub-event>div b {
    color: var(--red);
    font: 34px Impact,sans-serif
}

.hub-event>div span {
    color: #9aa4ad;
    font: 10px monospace
}

.hub-event section h3 {
    margin: 0 0 7px;
    font-size: 18px
}

.hub-event section p {
    color: #929ca5;
    margin: 0;
    font-size: 12px
}

.hub-event small {
    color: #c7ced4;
    text-transform: uppercase;
    border: 1px solid #4a525c;
    padding: 8px 10px;
    font: 9px monospace
}

.hub-event small.pending {
    border-left: 4px solid var(--red)
}

.hub-event small.planning {
    border-left: 4px solid #fff
}

.hub-note {
    color: #7f8993;
    margin: 20px 0 0;
    font: 10px/1.55 monospace
}

.hub-form {
    grid-template-columns: 1fr 1fr;
    gap: 17px;
    margin-top: 24px;
    display: grid
}

.hub-form label {
    color: #9fa9b2;
    letter-spacing: 1px;
    text-transform: uppercase;
    flex-direction: column;
    gap: 8px;
    font: 10px monospace;
    display: flex
}

.hub-form input,.hub-form select {
    color: #fff;
    background: #111417;
    border: 1px solid #414954;
    width: 100%;
    min-height: 47px;
    padding: 0 13px;
    font: 13px Arial,sans-serif
}

.hub-form input:focus,.hub-form select:focus {
    outline: 2px solid var(--red);
    outline-offset: 1px
}

.hub-button,.hub-success button {
    color: #fff;
    min-height: 49px;
    box-shadow: inset 4px 0 0 var(--red),inset 6px 0 0 #fff;
    text-transform: uppercase;
    letter-spacing: .8px;
    cursor: pointer;
    background: #090909;
    border: 1px solid #8d939c;
    grid-column: 1/-1;
    font-weight: 900
}

.hub-button:hover,.hub-success button:hover {
    background: #151515;
    border-color: #fff
}

.hub-success {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
    min-height: 320px;
    display: flex
}

.hub-success b {
    text-transform: uppercase;
    color: #fff;
    font: 42px Impact,sans-serif
}

.hub-success p {
    color: #9da7b0;
    max-width: 560px;
    line-height: 1.6
}

.hub-success button {
    padding: 0 24px
}

.classifier-result {
    background: linear-gradient(110deg,#df1f2d2e,#0000 55%),#0b0d0f;
    border: 1px solid #414954;
    grid-template-columns: 1fr auto;
    align-items: center;
    margin: 24px 0 17px;
    padding: 20px;
    display: grid
}

.classifier-result span {
    color: #9ba5af;
    letter-spacing: 1.2px;
    font: 10px monospace
}

.classifier-result strong {
    color: #fff;
    text-shadow: 4px 0 0 var(--red);
    grid-area: 1/2/3;
    font: 66px/.85 Impact,sans-serif
}

.classifier-result p {
    color: #c4cbd0;
    margin: 8px 0 0;
    font: 12px monospace
}

.mods-list {
    border-top: 1px solid #363d46;
    grid-template-columns: 1fr 1fr;
    display: grid
}

.mods-list label {
    color: #bac2c8;
    cursor: pointer;
    border-bottom: 1px solid #363d46;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 14px 10px;
    font-size: 12px;
    display: grid
}

.mods-list label:nth-child(odd) {
    border-right: 1px solid #363d46
}

.mods-list input {
    accent-color: var(--red)
}

.mods-list b {
    color: var(--red);
    font: 11px monospace
}

.saved-car {
    border-left: 5px solid var(--red);
    background: #0c0e10;
    flex-direction: column;
    gap: 7px;
    margin-top: 22px;
    padding: 17px;
    display: flex;
    box-shadow: inset 2px 0 #fff
}

.saved-car span {
    color: #87929c;
    letter-spacing: 1.2px;
    font: 9px monospace
}

.saved-car b {
    font-size: 18px
}

.saved-car small {
    color: #a7b0b8
}

.garage-form {
    margin-top: 22px
}

.platform-roadmap {
    background: #030303;
    border: 1px solid #39414a;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
    padding: 19px 22px;
    display: flex;
    overflow: auto
}

.platform-roadmap span {
    color: var(--red);
    letter-spacing: 1.3px;
    font: 900 10px monospace
}

.platform-roadmap b {
    white-space: nowrap;
    color: #d4d9dd;
    text-transform: uppercase;
    font-size: 11px
}

.platform-roadmap i {
    background: var(--nismo-stripe-v);
    min-width: 34px;
    height: 4px;
    display: block;
    transform: skew(-25deg)
}

.classes-section {
    background: #050505;
    border-top: 1px solid #242832;
    position: relative;
    overflow: hidden
}

.classes-section:before {
    content: "";
    opacity: .42;
    background-image: linear-gradient(#18283f52 1px,#0000 1px),linear-gradient(90deg,#18283f52 1px,#0000 1px);
    background-size: 42px 42px;
    position: absolute;
    inset: 0
}

.classes-section>* {
    position: relative
}

.hub-grid-secondary {
    margin-top: 18px
}

.planner-compare {
    background: #0b0d0f;
    border: 1px solid #414954;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px;
    margin: 24px 0;
    padding: 20px;
    display: grid
}

.planner-compare>div {
    flex-direction: column;
    gap: 5px;
    display: flex
}

.planner-compare>div:last-child {
    text-align: right
}

.planner-compare span,.planner-title {
    color: #8f99a3;
    letter-spacing: 1.2px;
    font: 10px monospace
}

.planner-compare strong {
    color: #fff;
    font: 48px/.9 Impact,sans-serif
}

.planner-compare small {
    color: #aeb7be;
    font: 11px monospace
}

.planner-compare>i {
    color: var(--red);
    font-size: 26px;
    font-style: normal
}

.planner-compare .class-change strong {
    color: var(--red)
}

.planner-title {
    text-transform: uppercase;
    margin: 0 0 12px
}

.planner-mods .installed {
    opacity: .55
}

.planner-mods label span {
    flex-direction: column;
    gap: 3px;
    display: flex
}

.planner-mods label span small {
    color: var(--red);
    text-transform: uppercase;
    font: 8px monospace
}

.tech-score {
    background: linear-gradient(110deg,#df1f2d24,#0000 60%),#0b0d0f;
    border: 1px solid #414954;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 20px;
    margin: 24px 0;
    padding: 20px;
    display: grid
}

.tech-score>div {
    align-items: end;
    display: flex
}

.tech-score strong {
    color: #fff;
    font: 58px/.85 Impact,sans-serif
}

.tech-score>div span {
    color: #8f99a3;
    font: 18px Impact,sans-serif
}

.tech-score section b {
    font-size: 13px
}

.tech-score section p {
    color: #8f99a3;
    margin: 6px 0 0;
    font: 10px monospace
}

.tech-list {
    border-top: 1px solid #363d46
}

.tech-list label {
    cursor: pointer;
    border-bottom: 1px solid #363d46;
    grid-template-columns: auto 34px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 13px 8px;
    display: grid
}

.tech-list input {
    accent-color: var(--red)
}

.tech-list>label>span {
    color: var(--red);
    font: 13px Impact,sans-serif
}

.tech-list>label>b {
    font-size: 12px
}

.tech-list>label>small {
    color: #88939d;
    font: 9px monospace
}

.tech-list label.complete {
    background: #df1f2d12
}

.tech-list label.complete>small {
    color: #fff
}

.driver-card {
    background: linear-gradient(110deg,#df1f2d29,#0000 58%),#0b0d0f;
    border: 1px solid #414954;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 18px;
    margin: 24px 0;
    padding: 20px;
    display: grid
}

.driver-avatar {
    border: 2px solid #fff;
    border-right: 7px solid var(--red);
    clip-path: polygon(0 0,82% 0,100% 20%,100% 100%,0 100%);
    place-items: center;
    width: 66px;
    height: 66px;
    font: 22px Impact,sans-serif;
    display: grid
}

.driver-card section span {
    color: #8d98a2;
    letter-spacing: 1.2px;
    font: 9px monospace
}

.driver-card h3 {
    margin: 6px 0;
    font-size: 20px
}

.driver-card p {
    color: #9aa4ad;
    margin: 0;
    font-size: 11px
}

.driver-card>strong {
    color: #fff;
    text-shadow: 4px 0 0 var(--red);
    font: 55px/.85 Impact,sans-serif
}

.driver-stats {
    border: 1px solid #363d46;
    grid-template-columns: repeat(4,1fr);
    display: grid
}

.driver-stats span {
    color: #87929d;
    border-right: 1px solid #363d46;
    flex-direction: column;
    gap: 5px;
    padding: 16px;
    font: 9px monospace;
    display: flex
}

.driver-stats span:last-child {
    border-right: 0
}

.driver-stats b {
    color: #fff;
    font: 24px Impact,sans-serif
}

.profile-progress {
    border-top: 5px solid #0000;
    border-image: var(--nismo-stripe) 1;
    margin-top: 20px
}

.profile-progress p {
    border-bottom: 1px solid #363d46;
    justify-content: space-between;
    gap: 18px;
    margin: 0;
    padding: 13px 4px;
    font-size: 11px;
    display: flex
}

.profile-progress span {
    color: #aab3ba
}

.profile-progress b {
    color: #fff;
    text-align: right;
    font: 9px monospace
}

.run-summary {
    background: #0b0d0f;
    border: 1px solid #414954;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    margin: 24px 0;
    padding: 18px;
    display: grid
}

.run-summary>div {
    flex-direction: column;
    display: flex
}

.run-summary span {
    color: #8d98a2;
    letter-spacing: 1.2px;
    font: 9px monospace
}

.run-summary strong {
    color: #fff;
    font: 48px Impact,sans-serif
}

.run-summary section {
    text-align: right
}

.run-summary section b {
    font-size: 16px
}

.run-summary section p {
    color: #929ca5;
    margin: 6px 0 0;
    font: 10px monospace
}

.run-history {
    border: 1px solid #3a424b
}

.run-history>div {
    border-bottom: 1px solid #343b43;
    grid-template-columns: 60px 1fr 1fr 80px;
    align-items: center;
    padding: 13px 15px;
    font: 12px monospace;
    display: grid
}

.run-history>div:last-child {
    border-bottom: 0
}

.run-history .run-head {
    color: #87939d;
    letter-spacing: 1.1px;
    font-size: 9px
}

.run-history>div span:nth-child(3) {
    color: #a1aab2
}

.run-history>div small {
    text-align: right;
    color: #8d98a2
}

.run-history>div.best {
    box-shadow: inset 4px 0 0 var(--red);
    background: linear-gradient(90deg,#df1f2d2b,#0000 70%)
}

.run-history>div.best b,.run-history>div.best span:nth-child(3) {
    color: #fff
}

.results-actions {
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 18px;
    display: flex
}

.results-actions span {
    color: #747f89;
    font: 8px monospace
}

.results-actions a {
    color: var(--red);
    white-space: nowrap;
    font-size: 11px;
    font-weight: 800
}

.entry-pass {
    min-height: 0;
    margin-top: 18px
}

.entry-flow {
    border: 1px solid #3a424b;
    grid-template-columns: repeat(4,1fr);
    margin-top: 24px;
    display: grid
}

.entry-flow>section {
    border-right: 1px solid #3a424b;
    flex-direction: column;
    min-height: 265px;
    padding: 22px;
    display: flex
}

.entry-flow>section:last-child {
    border-right: 0
}

.entry-flow section>span {
    color: var(--red);
    letter-spacing: 1.2px;
    font: 9px monospace
}

.entry-flow h3 {
    text-transform: uppercase;
    margin: 20px 0 8px;
    font-size: 17px
}

.entry-flow section>p {
    color: #919ca5;
    margin: 0 0 18px;
    font-size: 12px;
    line-height: 1.5
}

.entry-options {
    flex-direction: column;
    gap: 7px;
    margin-top: auto;
    display: flex
}

.entry-options button {
    color: #9ca6ae;
    text-align: left;
    cursor: pointer;
    background: #0d1012;
    border: 1px solid #424a53;
    min-height: 37px;
    padding: 0 11px;
    font-size: 10px;
    font-weight: 800
}

.entry-options button.active {
    color: #fff;
    box-shadow: inset 4px 0 0 var(--red);
    border-color: #fff
}

.waiver-check {
    color: #c5ccd1;
    cursor: pointer;
    background: #0c0e10;
    border: 1px solid #414954;
    grid-template-columns: auto 1fr;
    gap: 10px;
    margin-top: auto;
    padding: 14px;
    font-size: 10px;
    line-height: 1.45;
    display: grid
}

.waiver-check input {
    accent-color: var(--red)
}

.entry-price {
    flex-direction: column;
    margin-top: auto;
    display: flex
}

.entry-price strong {
    color: #fff;
    text-shadow: 4px 0 0 var(--red);
    font: 62px/.9 Impact,sans-serif
}

.entry-price small {
    color: #8e99a2;
    letter-spacing: 1.2px;
    font: 9px monospace
}

.entry-review {
    background: linear-gradient(145deg,#df1f2d29,#0000 60%),#090b0d
}

.entry-review h3 {
    font-size: 20px
}

.entry-review>p {
    margin-bottom: 7px!important
}

.entry-review button {
    color: #fff;
    min-height: 46px;
    box-shadow: inset 4px 0 0 var(--red),inset 6px 0 0 #fff;
    cursor: pointer;
    background: #090909;
    border: 1px solid #8d939c;
    margin-top: auto;
    font-weight: 900
}

.entry-review button:disabled {
    opacity: .35;
    cursor: not-allowed
}

.entry-review>small {
    color: #8f99a3;
    text-align: center;
    margin-top: 9px;
    font: 8px monospace
}

.notification-choice {
    background: #0d1012;
    border: 1px solid #414954;
    grid-column: 1/-1;
    align-items: center;
    padding: 13px;
    text-transform: none!important;
    flex-direction: row!important;
    display: flex!important
}

.notification-choice input {
    width: auto;
    min-height: 0;
    accent-color: var(--red)
}

.event-pass-card {
    color: #111;
    background: #f0eee8;
    border: 1px solid #59626d;
    max-width: 520px;
    margin: 24px auto 0;
    box-shadow: 10px 10px #df1f2d33
}

.pass-top {
    color: #fff;
    border-top: 6px solid var(--red);
    background: #08090a;
    justify-content: space-between;
    align-items: center;
    padding: 13px 17px;
    display: flex
}

.pass-top span {
    letter-spacing: 1.2px;
    font: 9px monospace
}

.pass-top b {
    font: 22px Impact,sans-serif
}

.event-pass-card>section {
    padding: 24px 24px 13px
}

.event-pass-card>section small {
    color: #a51520;
    letter-spacing: 1.2px;
    font: 9px monospace
}

.event-pass-card>section h3 {
    text-transform: uppercase;
    margin: 8px 0 5px;
    font: 30px Impact,sans-serif
}

.event-pass-card>section p {
    color: #5e6266;
    margin: 0;
    font-size: 11px
}

.pass-main {
    grid-template-columns: auto 1fr 74px;
    align-items: center;
    gap: 18px;
    padding: 15px 24px;
    display: grid
}

.pass-main>strong {
    color: var(--red);
    font: 72px/.85 Impact,sans-serif
}

.pass-main>span {
    color: #686d71;
    flex-direction: column;
    font: 9px monospace;
    display: flex
}

.pass-main>span b {
    color: #111;
    font: 32px Impact,sans-serif
}

.pass-main>i {
    background: repeating-conic-gradient(#0a0a0a 0 7%,#fff 0 12%);
    border: 7px solid #fff;
    width: 68px;
    height: 68px;
    box-shadow: 0 0 0 1px #111
}

.pass-status {
    border-top: 1px solid #b9b9b5;
    border-bottom: 1px solid #b9b9b5;
    grid-template-columns: repeat(4,1fr);
    display: grid
}

.pass-status span {
    text-align: center;
    color: #7a7d7f;
    border-right: 1px solid #b9b9b5;
    padding: 13px 5px;
    font: 8px monospace;
    position: relative
}

.pass-status span:last-child {
    border-right: 0
}

.pass-status span:before {
    content: "â—‹";
    margin-right: 5px
}

.pass-status span.done {
    color: #111;
    font-weight: 900
}

.pass-status span.done:before {
    content: "â—";
    color: var(--red)
}

.pass-footer {
    color: #333;
    text-transform: uppercase;
    background: #e0ddd5;
    justify-content: space-between;
    padding: 14px 17px;
    font: 9px monospace;
    display: flex
}

.pass-footer b {
    color: var(--red)
}

.roster-tools {
    gap: 7px;
    margin: 24px 0 15px;
    display: flex;
    overflow: auto
}

.roster-tools button {
    color: #8f99a3;
    cursor: pointer;
    background: #0b0d0f;
    border: 1px solid #404852;
    min-width: 56px;
    min-height: 35px;
    font: 9px monospace
}

.roster-tools button.active {
    color: #fff;
    box-shadow: inset 4px 0 0 var(--red);
    border-color: #fff
}

.roster-table {
    border: 1px solid #3c444d
}

.roster-table>div {
    border-bottom: 1px solid #343b43;
    grid-template-columns: 48px 1.1fr 70px 1.4fr;
    align-items: center;
    padding: 13px 12px;
    font-size: 11px;
    display: grid
}

.roster-table>div:last-child {
    border-bottom: 0
}

.roster-table .roster-head {
    color: #828e98;
    letter-spacing: 1px;
    font: 9px monospace
}

.roster-table>div span:first-child {
    color: var(--red);
    font-weight: 900
}

.roster-table>div span:nth-child(3) {
    font-family: monospace
}

.roster-table>div.current-driver {
    box-shadow: inset 4px 0 0 var(--red);
    background: linear-gradient(90deg,#df1f2d2e,#0000)
}

.privacy-note {
    border-left: 4px solid var(--red);
    background: #0b0d0f;
    gap: 14px;
    margin-top: 17px;
    padding: 14px;
    display: flex
}

.privacy-note b {
    color: #fff;
    font: 9px monospace
}

.privacy-note span {
    color: #89949d;
    font-size: 10px
}

.community-calendar {
    background: #050505;
    border-top: 1px solid #242832
}

.calendar-board {
    background: #030303;
    border: 1px solid #3b434c
}

.calendar-board>div {
    border-bottom: 1px solid #343b43;
    grid-template-columns: 1.35fr 1fr 1fr .75fr;
    align-items: center;
    gap: 20px;
    min-height: 62px;
    padding: 12px 18px;
    display: grid
}

.calendar-board>div:last-child {
    border-bottom: 0
}

.calendar-board .calendar-head {
    color: #87929c;
    letter-spacing: 1.2px;
    border-top: 5px solid #0000;
    border-image: var(--nismo-stripe) 1;
    min-height: 43px;
    font: 9px monospace
}

.calendar-board b {
    font-size: 13px
}

.calendar-board span {
    color: #9ba5ad;
    font-size: 12px
}

.calendar-board a {
    color: var(--red);
    justify-self: start;
    font-size: 11px;
    font-weight: 900
}

.calendar-policy {
    border-left: 5px solid var(--red);
    background: #090b0d;
    align-items: center;
    gap: 20px;
    margin-top: 18px;
    padding: 16px 18px;
    display: flex;
    box-shadow: inset 2px 0 #fff
}

.calendar-policy b {
    white-space: nowrap;
    font: 10px monospace
}

.calendar-policy p {
    color: #8f99a2;
    margin: 0;
    font-size: 11px;
    line-height: 1.5
}

.manage-entry {
    min-height: 0;
    margin-top: 18px
}

.manage-layout {
    grid-template-columns: 1.15fr 1fr .85fr;
    gap: 18px;
    margin-top: 24px;
    display: grid
}

.manage-layout>section {
    background: #080a0c;
    border: 1px solid #3d454e;
    padding: 22px
}

.confirmation-card>div:first-child {
    border-bottom: 5px solid #0000;
    border-image: var(--nismo-stripe) 1;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
    display: flex
}

.confirmation-card>div span {
    color: #87929c;
    letter-spacing: 1.2px;
    font: 9px monospace
}

.confirmation-card>div>b {
    text-transform: uppercase;
    border: 1px solid #59626c;
    padding: 7px 10px;
    font: 9px monospace
}

.confirmation-card>div>b.confirmed {
    color: #fff;
    border-left: 4px solid var(--red)
}

.confirmation-card>div>b.cancelled {
    color: #ff6974;
    border-color: #8a2b33
}

.confirmation-card h3 {
    text-transform: uppercase;
    margin: 24px 0 5px;
    font: 29px Impact,sans-serif
}

.confirmation-card>p {
    color: #8f99a3;
    margin: 0 0 24px;
    font-size: 11px
}

.confirmation-card dl {
    margin: 0
}

.confirmation-card dl>div {
    border-top: 1px solid #343b43;
    grid-template-columns: 100px 1fr;
    padding: 12px 0;
    display: grid
}

.confirmation-card dt {
    color: #7f8a94;
    font: 9px monospace
}

.confirmation-card dd {
    color: #fff;
    margin: 0;
    font-size: 11px
}

.entry-timeline h3,.manage-actions h3 {
    text-transform: uppercase;
    margin: 0 0 14px;
    font-size: 14px
}

.entry-timeline p {
    border-bottom: 1px solid #343b43;
    grid-template-columns: 34px 1fr auto;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 14px 0;
    display: grid
}

.entry-timeline p>span {
    color: #737e88;
    font: 16px Impact,sans-serif
}

.entry-timeline p>b {
    font-size: 11px
}

.entry-timeline p>small {
    color: #87929c;
    font: 8px monospace
}

.entry-timeline p.complete>span,.entry-timeline p.complete>small {
    color: var(--red)
}

.manage-actions {
    flex-direction: column;
    gap: 8px;
    display: flex
}

.manage-actions button {
    color: #d8dde0;
    text-align: left;
    cursor: pointer;
    background: #0d1012;
    border: 1px solid #424a53;
    min-height: 42px;
    padding: 0 13px;
    font-size: 10px;
    font-weight: 800
}

.manage-actions button:hover {
    border-color: #fff
}

.manage-actions button.danger {
    color: #ff7983;
    border-color: #713039;
    margin-top: auto
}

.manage-actions>small {
    color: #7f8993;
    margin-top: 8px;
    font: 8px/1.5 monospace
}

.event-control {
    min-height: 0;
    margin-top: 18px
}

.control-metrics {
    border: 1px solid #3d454e;
    grid-template-columns: repeat(5,1fr);
    margin: 24px 0 18px;
    display: grid
}

.control-metrics span {
    color: #87929c;
    text-transform: uppercase;
    border-right: 1px solid #3d454e;
    flex-direction: column;
    gap: 5px;
    padding: 17px;
    font: 9px monospace;
    display: flex
}

.control-metrics span:last-child {
    border-right: 0
}

.control-metrics b {
    color: #fff;
    font: 28px Impact,sans-serif
}

.control-layout {
    grid-template-columns: 1fr 260px;
    gap: 18px;
    display: grid
}

.control-roster {
    border: 1px solid #3d454e;
    overflow: auto
}

.control-roster>div {
    border-bottom: 1px solid #343b43;
    grid-template-columns: 1.4fr 55px repeat(3,75px) 82px;
    align-items: center;
    min-width: 720px;
    padding: 12px 14px;
    font-size: 10px;
    display: grid
}

.control-roster>div:last-child {
    border-bottom: 0
}

.control-roster .control-head {
    color: #808b95;
    letter-spacing: 1px;
    font: 8px monospace
}

.control-roster>div>b {
    color: var(--red);
    font: 12px monospace
}

.control-roster>div>i {
    color: #aab2b8;
    font: 8px monospace
}

.control-roster>div>button {
    color: #fff;
    cursor: pointer;
    background: #101316;
    border: 1px solid #4b545e;
    min-height: 31px;
    font: 8px monospace
}

.control-roster>div>button:disabled {
    opacity: .35
}

.control-roster>div.priority {
    box-shadow: inset 4px 0 0 var(--red);
    background: linear-gradient(90deg,#df1f2d26,#0000)
}

.control-alerts {
    background: #080a0c;
    border: 1px solid #3d454e;
    padding: 17px
}

.control-alerts h3 {
    text-transform: uppercase;
    margin: 0 0 10px;
    font-size: 13px
}

.control-alerts p {
    border-bottom: 1px solid #343b43;
    grid-template-columns: 30px 1fr auto;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 12px 0;
    display: grid
}

.control-alerts p span {
    color: var(--red);
    font: 14px Impact,sans-serif
}

.control-alerts p b {
    font-size: 10px
}

.control-alerts p small {
    color: #87929c;
    font: 8px monospace
}

.assignment-board {
    grid-template-columns: repeat(5,1fr);
    gap: 8px;
    margin-top: 18px;
    display: grid
}

.assignment-board span {
    text-align: center;
    color: #aab3ba;
    background: #0b0d0f;
    border: 1px solid #3d454e;
    padding: 13px;
    font: 9px monospace
}

.assignment-board span:nth-child(3),.assignment-board span:nth-child(4) {
    color: #ff717c;
    border-color: #8a2c34
}

.event-day {
    min-height: 0;
    margin-top: 18px
}

.course-control {
    background: linear-gradient(100deg,#df1f2d26,#0000 50%),#080a0c;
    border: 1px solid #525c66;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 24px;
    margin: 24px 0 18px;
    padding: 22px;
    display: grid
}

.course-control section {
    grid-template-columns: auto 1fr;
    align-items: end;
    gap: 5px 16px;
    display: grid
}

.course-control section>span {
    color: #8d98a2;
    letter-spacing: 1.2px;
    font: 9px monospace
}

.course-control strong {
    color: #fff;
    grid-area: 1/2/3;
    font: 38px Impact,sans-serif
}

.course-control p {
    color: #8d98a2;
    margin: 0;
    font: 9px monospace
}

.course-control>div {
    gap: 8px;
    display: flex
}

.course-control button {
    color: #fff;
    cursor: pointer;
    background: #101316;
    border: 1px solid #56606a;
    min-height: 42px;
    padding: 0 14px;
    font: 900 9px monospace
}

.course-control button.stop {
    color: #ff818a;
    background: #2a080b;
    border-color: #a51e29
}

.course-control.stopped {
    border-color: var(--red);
    background: linear-gradient(100deg,#df1f2d47,#0000 65%),#080a0c
}

.course-control.stopped strong {
    color: #ff515d
}

.event-day-grid {
    grid-template-columns: repeat(2,1fr);
    gap: 18px;
    display: grid
}

.event-day-grid>section {
    background: #080a0c;
    border: 1px solid #3d454e;
    padding: 18px
}

.console-title {
    color: #87929c;
    letter-spacing: 1px;
    border-bottom: 1px solid #3a424b;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 12px;
    font: 9px monospace;
    display: flex
}

.console-title b {
    color: #fff
}

.run-groups {
    flex-direction: column;
    gap: 8px;
    display: flex
}

.run-groups .console-title {
    margin-bottom: 6px
}

.run-groups>button {
    color: #aab3ba;
    text-align: left;
    cursor: pointer;
    background: #0d1012;
    border: 1px solid #3d454e;
    grid-template-columns: 44px 1fr auto;
    align-items: center;
    gap: 12px;
    min-height: 55px;
    padding: 8px 13px;
    display: grid
}

.run-groups>button>strong {
    color: #fff;
    font: 28px Impact,sans-serif
}

.run-groups>button>span {
    font-size: 11px
}

.run-groups>button>small {
    font: 8px monospace
}

.run-groups>button.active {
    box-shadow: inset 5px 0 0 var(--red);
    background: #df1f2d14;
    border-color: #fff
}

.queue-next {
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 6px 14px;
    padding: 18px 0;
    display: grid
}

.queue-next>span {
    color: var(--red);
    font: 9px monospace
}

.queue-next>strong {
    grid-row: 1/3;
    font: 48px Impact,sans-serif
}

.queue-next>p {
    color: #aab3ba;
    flex-direction: column;
    margin: 0;
    font-size: 11px;
    display: flex
}

.queue-next>p b {
    color: #fff;
    font: 20px Impact,sans-serif
}

.start-queue ol {
    border-top: 1px solid #343b43;
    margin: 0;
    padding: 0;
    list-style: none
}

.start-queue li {
    border-bottom: 1px solid #343b43;
    grid-template-columns: 34px 1fr auto;
    gap: 8px;
    padding: 11px 0;
    display: grid
}

.start-queue li span {
    color: var(--red);
    font: 12px Impact,sans-serif
}

.start-queue li b {
    font-size: 10px
}

.start-queue li small {
    color: #89949d;
    font: 9px monospace
}

.radio-board p {
    border-bottom: 1px solid #343b43;
    grid-template-columns: 14px 1fr auto;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 13px 0;
    display: grid
}

.radio-board i {
    background: #fff;
    border-radius: 50%;
    width: 9px;
    height: 9px;
    box-shadow: 0 0 0 3px #ffffff21
}

.radio-board i.alert {
    background: var(--red);
    box-shadow: 0 0 0 3px #df1f2d33
}

.radio-board p b {
    font-size: 10px
}

.radio-board p small {
    color: #87929c;
    font: 8px monospace
}

.incident-log>div:not(.console-title) {
    border-bottom: 1px solid #343b43;
    grid-template-columns: 50px 1fr;
    gap: 10px;
    padding: 13px 0;
    display: grid
}

.incident-log time {
    color: var(--red);
    font: 10px monospace
}

.incident-log p {
    flex-direction: column;
    gap: 4px;
    margin: 0;
    display: flex
}

.incident-log p b {
    font-size: 10px
}

.incident-log p span {
    color: #87929c;
    font-size: 9px
}

.incident-log .incident-alert {
    background: #df1f2d17;
    padding-left: 8px!important
}

.incident-log>button {
    color: #aab3ba;
    cursor: pointer;
    background: #0d1012;
    border: 1px solid #414a54;
    width: 100%;
    min-height: 38px;
    margin-top: 13px;
    font: 9px monospace
}

.standings-tabs {
    gap: 7px;
    margin: 24px 0 14px;
    display: flex
}

.standings-tabs button {
    color: #89949d;
    cursor: pointer;
    background: #0b0d0f;
    border: 1px solid #404852;
    flex: 1;
    min-height: 38px;
    font: 10px monospace
}

.standings-tabs button.active {
    color: #fff;
    box-shadow: inset 4px 0 0 var(--red);
    border-color: #fff
}

.standings-table {
    border: 1px solid #3d454e
}

.standings-table>div {
    border-bottom: 1px solid #343b43;
    grid-template-columns: 55px 1.4fr repeat(3,.7fr);
    align-items: center;
    padding: 13px 14px;
    font: 11px monospace;
    display: grid
}

.standings-table>div:last-child {
    border-bottom: 0
}

.standings-table .standings-head {
    color: #7e8993;
    letter-spacing: 1px;
    font-size: 8px
}

.standings-table>div span:last-child {
    text-align: right;
    font-weight: 900
}

.standings-table>div span:first-child {
    color: var(--red)
}

.standings-table>div.current-driver {
    box-shadow: inset 4px 0 0 var(--red);
    background: linear-gradient(90deg,#df1f2d2b,#0000)
}

.points-rule {
    border-left: 4px solid var(--red);
    background: #0b0d0f;
    grid-template-columns: auto 1fr;
    gap: 7px 15px;
    margin-top: 17px;
    padding: 15px;
    display: grid
}

.points-rule b {
    color: #fff;
    font: 9px monospace
}

.points-rule span {
    color: var(--red);
    font: 10px monospace
}

.points-rule p {
    color: #818c96;
    grid-column: 1/-1;
    margin: 0;
    font-size: 9px;
    line-height: 1.5
}

.report-hero {
    background: linear-gradient(110deg,#df1f2d2e,#0000 58%),#0b0d0f;
    border: 1px solid #424a54;
    margin: 24px 0 14px;
    padding: 19px
}

.report-hero span {
    color: #8b96a0;
    letter-spacing: 1.2px;
    font: 9px monospace
}

.report-hero strong {
    color: #fff;
    margin: 8px 0 3px;
    font: 42px Impact,sans-serif;
    display: block
}

.report-hero p {
    color: #929ca5;
    margin: 0;
    font-size: 10px
}

.report-metrics {
    border: 1px solid #3c444d;
    grid-template-columns: repeat(4,1fr);
    display: grid
}

.report-metrics span {
    color: #87929c;
    border-right: 1px solid #3c444d;
    flex-direction: column;
    gap: 5px;
    padding: 13px;
    font: 8px monospace;
    display: flex
}

.report-metrics span:last-child {
    border-right: 0
}

.report-metrics b {
    color: #fff;
    font: 22px Impact,sans-serif
}

.report-notes {
    border-top: 1px solid #343b43;
    grid-template-columns: 1fr 1fr;
    margin-top: 15px;
    display: grid
}

.report-notes p {
    border-bottom: 1px solid #343b43;
    justify-content: space-between;
    gap: 8px;
    margin: 0;
    padding: 12px 8px;
    display: flex
}

.report-notes p:nth-child(odd) {
    border-right: 1px solid #343b43
}

.report-notes span {
    color: #7e8993;
    font: 8px monospace
}

.report-notes b {
    font: 9px monospace
}

.report-actions {
    gap: 8px;
    margin-top: 16px;
    display: flex
}

.report-actions button {
    color: #c7cdd2;
    text-transform: uppercase;
    cursor: pointer;
    background: #0d1012;
    border: 1px solid #424a53;
    flex: 1;
    min-height: 38px;
    font: 8px monospace
}

.report-actions button:hover {
    border-color: #fff
}

.account-center {
    min-height: 0;
    margin-top: 18px
}

.account-grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 24px;
    display: grid
}

.account-grid>section {
    background: #080a0c;
    border: 1px solid #3d454e;
    padding: 21px
}

.account-grid h3 {
    text-transform: uppercase;
    margin: 0 0 7px;
    font-size: 14px
}

.account-grid section>p {
    color: #87929c;
    margin: 0 0 18px;
    font-size: 10px;
    line-height: 1.5
}

.privacy-settings>label,.contact-settings>label {
    cursor: pointer;
    border-bottom: 1px solid #343b43;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding: 13px 0;
    display: flex
}

.privacy-settings>label>span,.contact-settings>label>span {
    flex-direction: column;
    gap: 4px;
    display: flex
}

.privacy-settings label b,.contact-settings label b {
    font-size: 11px
}

.privacy-settings label small,.contact-settings label small {
    color: #7f8993;
    font: 8px monospace
}

.privacy-settings input,.contact-settings input {
    width: 34px;
    height: 18px;
    accent-color: var(--red)
}

.privacy-settings input:disabled {
    opacity: .55
}

.safety-contact {
    grid-column: 1/-1
}

.safety-form {
    grid-template-columns: 1fr 1fr 1fr auto;
    gap: 10px;
    display: grid
}

.safety-form label {
    color: #87929c;
    text-transform: uppercase;
    flex-direction: column;
    gap: 7px;
    font: 8px monospace;
    display: flex
}

.safety-form input {
    color: #fff;
    background: #101316;
    border: 1px solid #414954;
    min-height: 42px;
    padding: 0 11px
}

.safety-form button,.data-actions button {
    color: #d5dade;
    text-transform: uppercase;
    cursor: pointer;
    background: #0d1012;
    border: 1px solid #424a53;
    min-height: 42px;
    padding: 0 14px;
    font: 8px monospace
}

.data-actions {
    border-top: 1px solid #343b43;
    gap: 8px;
    margin-top: 18px;
    padding-top: 18px;
    display: flex
}

.data-actions button.danger {
    color: #ff7882;
    border-color: #713039;
    margin-left: auto
}

.class-grid {
    background: #030303;
    border: 1px solid #303640;
    grid-template-columns: repeat(5,1fr);
    display: grid
}

.classes-title em {
    color: #fff;
    text-shadow: 5px 0 0 var(--red)
}

.class-grid article {
    border-right: 1px solid #303640;
    min-height: 278px;
    padding: 22px 24px 27px;
    transition: all .2s;
    position: relative;
    overflow: hidden
}

.class-grid article:before {
    content: "";
    background: var(--nismo-stripe);
    width: 100%;
    height: 5px;
    position: absolute;
    top: 0;
    left: 0
}

.class-grid article:last-child {
    border-right: 0
}

.class-grid article:hover {
    background: #0b0d10;
    transform: translateY(-4px)
}

.class-index {
    color: #9099a3;
    letter-spacing: 1.4px;
    font: 10px monospace
}

.class-grid strong {
    color: #fff;
    letter-spacing: 2px;
    background: linear-gradient(105deg,var(--red) 0 74%,#fff 74% 81%,transparent 81%);
    text-shadow: 2px 2px #7d0a14;
    margin: 34px 0 17px;
    padding: 3px 12px 5px 10px;
    font: 68px/.9 Impact,sans-serif;
    display: inline-block;
    position: relative
}

.class-grid strong:after {
    content: "";
    background: #fff;
    height: 3px;
    position: absolute;
    bottom: -7px;
    left: 10px;
    right: 21%
}

.class-grid h3 {
    letter-spacing: .2px;
    margin: 0;
    font-size: 16px
}

.class-grid p {
    color: #aeb6bf;
    margin: 9px 0 13px;
    font: 12px monospace
}

.class-meter {
    background: #242a31;
    height: 4px;
    margin-bottom: 18px;
    display: block
}

.class-meter i {
    background: var(--nismo-stripe);
    height: 100%;
    display: block
}

.class-grid small {
    color: #8b959f;
    font-size: 12px
}

.class-footer {
    color: #aab4bb;
    border-bottom: 1px solid #343842;
    justify-content: space-between;
    align-items: center;
    padding: 25px 0;
    display: flex
}

.class-footer p {
    max-width: 700px
}

.class-footer a {
    color: var(--red);
    font-weight: 800
}

.safety-grid {
    grid-template-columns: 1fr 1fr;
    padding-top: 5px;
    display: grid;
    position: relative
}

.safety-grid:before {
    content: "";
    background: var(--nismo-stripe);
    height: 5px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.safety-grid article {
    border-bottom: 1px solid #343842;
    grid-template-columns: 70px 1fr;
    gap: 15px;
    padding: 30px 20px 30px 0;
    display: grid
}

.safety-grid article:nth-child(odd) {
    border-right: 1px solid #343842
}

.safety-grid article:nth-child(2n) {
    padding-left: 28px
}

.safety-grid>article>span {
    color: var(--red);
    font: 24px Impact,sans-serif
}

.safety-grid h3 {
    color: #fff;
    margin: 0 0 8px;
    font-size: 20px
}

.safety-grid p {
    color: #aab2ba;
    margin: 0;
    line-height: 1.55
}

.results-section {
    background: #000 radial-gradient(circle at 20% 20%,#df1f2d24 0,#0000 38%);
    border-top: 1px solid #242832;
    grid-template-columns: .85fr 1.15fr;
    gap: 80px;
    padding: 110px clamp(28px,7vw,112px);
    display: grid
}

.results-copy>p:not(.eyebrow) {
    color: #bdc7cd;
    margin-bottom: 32px;
    font-size: 18px;
    line-height: 1.6
}

.results-board {
    background: #070707;
    border: 1px solid #4e5663;
    align-self: center
}

.board-head,.board-row {
    border-bottom: 1px solid #343842;
    grid-template-columns: 70px 1.5fr 1fr 1fr;
    padding: 15px 20px;
    font: 13px monospace;
    display: grid
}

.board-head {
    color: #91a2ad;
    letter-spacing: 1.5px;
    font-size: 10px
}

.board-row span:first-child {
    color: var(--red)
}

.board-row span:last-child {
    text-align: right;
    font-size: 18px
}

.results-board small {
    color: #7e8996;
    letter-spacing: 1px;
    padding: 18px;
    font: 9px monospace;
    display: block
}

.gallery-section {
    background-color: #050505;
    background-image: linear-gradient(#18283f47 1px,#0000 1px),linear-gradient(90deg,#18283f47 1px,#0000 1px);
    background-position: 0 0;
    background-repeat: repeat;
    background-size: 42px 42px;
    background-attachment: scroll;
    background-origin: padding-box;
    background-clip: border-box;
    border-top: 1px solid #242832;
    position: relative;
    overflow: hidden
}

.gallery-section:before {
    content: "";
    background: var(--nismo-stripe);
    height: 6px;
    position: absolute;
    top: 0;
    left: clamp(28px,7vw,112px);
    right: clamp(28px,7vw,112px)
}

.gallery-section>* {
    position: relative
}

.gallery-heading h2 {
    font-size: clamp(56px,6vw,92px)
}

.gallery-album {
    background: #030303;
    border: 1px solid #414852;
    grid-template-columns: 1.12fr .88fr;
    min-height: 520px;
    display: grid;
    box-shadow: 12px 12px #df1f2d38
}

.gallery-album-media {
    border-right: 1px solid #414852;
    min-height: 520px;
    position: relative;
    overflow: hidden
}

.gallery-album-media:after {
    content: "";
    background: linear-gradient(#0000 35%,#000000e6 100%),linear-gradient(90deg,#0003,#0000);
    position: absolute;
    inset: 0
}

.gallery-album-media img {
    object-fit: cover;
    filter: saturate(.78)contrast(1.12);
    width: 100%;
    height: 100%;
    transition: transform .5s
}

.gallery-album:hover .gallery-album-media img {
    transform: scale(1.025)
}

.gallery-album-media>span {
    z-index: 2;
    border-left: 4px solid var(--red);
    color: #dfe4e7;
    letter-spacing: 1.3px;
    background: #050505;
    padding: 10px 13px;
    font: 10px monospace;
    position: absolute;
    top: 24px;
    left: 24px;
    box-shadow: inset 2px 0 #fff
}

.gallery-album-media>b {
    z-index: 2;
    color: #fff;
    letter-spacing: .5px;
    text-shadow: 4px 0 0 var(--red);
    font: 46px/.86 Impact,sans-serif;
    position: absolute;
    bottom: 26px;
    left: 28px
}

.gallery-album-copy {
    flex-direction: column;
    justify-content: center;
    padding: clamp(30px,4vw,58px);
    display: flex
}

.album-meta {
    color: #87929d;
    letter-spacing: 1.3px;
    border-bottom: 1px solid #353b43;
    justify-content: space-between;
    padding-bottom: 16px;
    font: 10px monospace;
    display: flex
}

.album-status {
    color: #e8edf0;
    letter-spacing: 1.1px;
    align-items: center;
    gap: 9px;
    margin: 22px 0 12px;
    font: 10px monospace;
    display: flex
}

.album-status i {
    background: var(--red);
    border-radius: 50%;
    width: 9px;
    height: 9px;
    box-shadow: 0 0 0 3px #df1f2d33
}

.gallery-album-copy h3 {
    text-transform: uppercase;
    margin: 10px 0 18px;
    font: clamp(42px,4vw,64px)/.9 Impact,sans-serif
}

.gallery-album-copy>p:not(.album-status) {
    color: #aeb7be;
    margin: 0 0 24px;
    line-height: 1.6
}

.album-stats {
    border-top: 1px solid #353b43;
    border-bottom: 1px solid #353b43;
    grid-template-columns: repeat(3,1fr);
    margin: 0 0 26px;
    display: grid
}

.album-stats span {
    color: #8f99a3;
    border-right: 1px solid #353b43;
    flex-direction: column;
    gap: 5px;
    padding: 17px 12px;
    font: 9px monospace;
    display: flex
}

.album-stats span:first-child {
    padding-left: 0
}

.album-stats span:last-child {
    border-right: 0
}

.album-stats b {
    color: #fff;
    letter-spacing: .5px;
    font: 19px Impact,sans-serif
}

.album-actions {
    align-items: center;
    gap: 22px;
    display: flex
}

.album-actions .primary-button {
    padding: 17px 19px;
    font-size: 11px
}

.album-actions .text-link {
    font-size: 12px
}

.gallery-album-copy>small {
    color: #717c86;
    margin-top: 20px;
    font: 9px/1.5 monospace
}

.gallery-features {
    border-top: 5px solid #0000;
    border-image: var(--nismo-stripe) 1;
    grid-template-columns: repeat(3,1fr);
    margin-top: 55px;
    display: grid
}

.gallery-features article {
    border-right: 1px solid #373d46;
    grid-template-columns: 50px 1fr;
    column-gap: 14px;
    padding: 26px 28px 12px 0;
    display: grid
}

.gallery-features article+article {
    padding-left: 28px
}

.gallery-features article:last-child {
    border-right: 0
}

.gallery-features span {
    color: var(--red);
    grid-row: 1/3;
    font: 28px Impact,sans-serif
}

.gallery-features h3 {
    text-transform: uppercase;
    letter-spacing: .5px;
    margin: 1px 0 8px;
    font-size: 16px
}

.gallery-features p {
    color: #909ba5;
    margin: 0;
    font-size: 13px;
    line-height: 1.55
}

.marketplace-section {
    background: #000;
    border-top: 1px solid #242832;
    position: relative
}

.marketplace-section:before {
    content: "";
    background: var(--nismo-stripe);
    height: 6px;
    position: absolute;
    top: 0;
    left: clamp(28px,7vw,112px);
    right: clamp(28px,7vw,112px)
}

.marketplace-heading h2 {
    font-size: clamp(56px,6vw,92px)
}

.market-categories {
    background: #050505;
    border: 1px solid #363c45;
    grid-template-columns: repeat(5,1fr);
    display: grid
}

.market-categories article {
    border-right: 1px solid #363c45;
    min-height: 235px;
    padding: 25px 22px;
    transition: all .2s;
    position: relative;
    overflow: hidden
}

.market-categories article:last-child {
    border-right: 0
}

.market-categories article:before {
    content: "";
    background: var(--nismo-stripe);
    height: 5px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.market-categories article:hover {
    background: #0b0c0e;
    transform: translateY(-4px)
}

.market-categories span {
    color: #080808;
    border-right: 6px solid var(--red);
    clip-path: polygon(0 0,84% 0,100% 25%,100% 100%,0 100%);
    background: #fff;
    place-items: center;
    width: 55px;
    height: 55px;
    font: 900 13px monospace;
    display: grid
}

.market-categories h3 {
    text-transform: uppercase;
    margin: 30px 0 8px;
    font: 35px Impact,sans-serif
}

.market-categories p {
    color: #909aa4;
    min-height: 46px;
    font-size: 12px;
    line-height: 1.45
}

.market-categories small {
    color: var(--red);
    letter-spacing: 1px;
    margin-top: 21px;
    font: 9px monospace;
    display: block
}

.market-submit {
    background: linear-gradient(115deg,#df1f2d21,#0000 42%),#050505;
    border: 1px solid #414852;
    grid-template-columns: 1.1fr .9fr;
    gap: 70px;
    margin-top: 55px;
    padding: 55px;
    display: grid
}

.market-submit-copy h3 {
    text-transform: uppercase;
    margin: 18px 0;
    font: clamp(42px,4vw,62px)/.92 Impact,sans-serif
}

.market-submit-copy>p:not(.eyebrow) {
    color: #aeb7be;
    max-width: 680px;
    line-height: 1.6
}

.market-submit-copy .primary-button {
    margin-top: 18px
}

.market-steps {
    border-top: 5px solid #0000;
    border-image: var(--nismo-stripe) 1;
    margin: 0;
    padding: 0;
    list-style: none
}

.market-steps li {
    border-bottom: 1px solid #373d46;
    grid-template-columns: 58px 1fr;
    align-items: center;
    gap: 15px;
    padding: 21px 0;
    display: grid
}

.market-steps li>b {
    color: var(--red);
    font: 28px Impact,sans-serif
}

.market-steps span {
    color: #8f99a3;
    flex-direction: column;
    gap: 5px;
    font: 11px monospace;
    display: flex
}

.market-steps strong {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .5px;
    font: 800 14px Arial,sans-serif
}

.market-note {
    border-left: 4px solid var(--red);
    color: #8e98a2;
    background: #070707;
    margin: 25px 0 0;
    padding: 17px 20px;
    font-size: 12px;
    line-height: 1.55;
    box-shadow: inset 2px 0 #fff
}

.market-note strong {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .6px
}

.about-section {
    grid-template-columns: 1.2fr .8fr;
    align-items: end;
    gap: 80px;
    display: grid
}

.about-copy p {
    color: #aeb5bd;
    font-size: 21px;
    line-height: 1.55
}

.about-copy a {
    margin-top: 20px;
    display: inline-flex
}

.founder-section {
    background-color: #050505;
    background-image: linear-gradient(#18283f3d 1px,#0000 1px),linear-gradient(90deg,#18283f3d 1px,#0000 1px);
    background-position: 0 0;
    background-repeat: repeat;
    background-size: 42px 42px;
    background-attachment: scroll;
    background-origin: padding-box;
    background-clip: border-box;
    border-top: 1px solid #242832;
    grid-template-columns: .8fr 1.2fr;
    align-items: center;
    gap: clamp(50px,8vw,130px);
    display: grid;
    position: relative
}

.founder-section:before {
    content: "";
    background: var(--nismo-stripe);
    height: 5px;
    position: absolute;
    top: 0;
    left: clamp(28px,7vw,112px);
    right: clamp(28px,7vw,112px)
}

.founder-heading h2 {
    letter-spacing: 0;
    text-transform: none;
    color: #f4f4f2;
    margin: 18px 0 24px;
    font-family: Arial,Helvetica,sans-serif;
    font-size: clamp(30px,3vw,46px);
    font-weight: 600;
    line-height: 1.08
}

.founder-role {
    letter-spacing: 1.6px;
    color: #a3adb6;
    border-left: 4px solid var(--red);
    padding: 5px 0 5px 14px;
    font: 11px monospace;
    box-shadow: inset 2px 0 #fff
}

.founder-story {
    max-width: 760px
}

.founder-story>p {
    color: #bbc3ca;
    margin: 0 0 20px;
    font-size: 18px;
    line-height: 1.7
}

.founder-story>p:first-child {
    color: #e4e7e9;
    font-size: 20px
}

.membership-section {
    background-color: #050505;
    background-image: linear-gradient(#18283f47 1px,#0000 1px),linear-gradient(90deg,#18283f47 1px,#0000 1px);
    background-position: 0 0;
    background-repeat: repeat;
    background-size: 42px 42px;
    background-attachment: scroll;
    background-origin: padding-box;
    background-clip: border-box;
    border-top: 1px solid #242832;
    position: relative;
    overflow: hidden
}

.membership-section:before {
    content: "";
    background: var(--nismo-stripe);
    height: 6px;
    position: absolute;
    top: 0;
    left: clamp(28px,7vw,112px);
    right: clamp(28px,7vw,112px)
}

.membership-section>* {
    position: relative
}

.membership-grid {
    background: #020303;
    border: 1px solid #3d454e;
    grid-template-columns: repeat(3,1fr);
    display: grid
}

.membership-grid article {
    border-right: 1px solid #3d454e;
    flex-direction: column;
    min-height: 440px;
    padding: 34px 32px;
    display: flex;
    position: relative;
    overflow: hidden
}

.membership-grid article:last-child {
    border-right: 0
}

.membership-grid article:before {
    content: "";
    background: var(--nismo-stripe);
    height: 5px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.membership-grid article>span {
    color: #8f9aa4;
    letter-spacing: 1.5px;
    font: 10px monospace
}

.membership-grid article>strong {
    color: #fff;
    letter-spacing: 1px;
    margin: 32px 0 8px;
    font: 76px/.9 Impact,sans-serif
}

.membership-grid h3 {
    text-transform: uppercase;
    margin: 0 0 22px;
    font-size: 20px
}

.membership-grid ul {
    margin: 0 0 26px;
    padding: 0;
    list-style: none
}

.membership-grid li {
    color: #aeb7be;
    border-bottom: 1px solid #30363d;
    padding: 11px 0 11px 22px;
    font-size: 13px;
    position: relative
}

.membership-grid li:before {
    content: "âœ“";
    color: #1cc9ef;
    font-weight: 900;
    position: absolute;
    left: 0
}

.membership-grid article>a {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .5px;
    border-top: 1px solid #4a535d;
    justify-content: space-between;
    gap: 15px;
    margin-top: auto;
    padding: 16px 0;
    font-size: 12px;
    font-weight: 900;
    display: flex
}

.membership-grid article>a span {
    color: var(--red)
}

.membership-grid .membership-featured {
    background: linear-gradient(145deg,#0f7da038,#0000 54%),#080b0d;
    box-shadow: inset 5px 0 #1cc9ef
}

.membership-grid .membership-featured>strong {
    color: #1cc9ef
}

.membership-grid .membership-rule {
    background: linear-gradient(145deg,#df1f2d2e,#0000 52%),#080809
}

.membership-grid .membership-rule>strong {
    color: var(--red);
    font-size: 68px
}

.membership-grid .membership-rule>p {
    color: #b4bdc4;
    font-size: 15px;
    line-height: 1.65
}

.membership-note {
    color: #86919a;
    margin: 20px 0 0;
    font: 11px/1.6 monospace
}

.result-actions {
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    display: flex
}

.results-stack {
    align-self: center;
    gap: 14px;
    display: grid
}

.championship-rule {
    box-shadow: inset 5px 0 0 var(--red),inset 7px 0 0 #fff;
    background: linear-gradient(110deg,#df1f2d33,#0000 60%),#070707;
    border: 1px solid #4e5663;
    padding: 24px 26px 24px 31px;
    position: relative
}

.championship-rule>span {
    color: #8f99a4;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
    font: 10px monospace;
    display: block
}

.championship-rule>b {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .7px;
    font: 30px Impact,sans-serif;
    display: block
}

.championship-rule>p {
    color: #aeb7be;
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.55
}

.faq-section {
    background-color: #050505;
    background-image: linear-gradient(#18283f3d 1px,#0000 1px),linear-gradient(90deg,#18283f3d 1px,#0000 1px);
    background-position: 0 0;
    background-repeat: repeat;
    background-size: 42px 42px;
    background-attachment: scroll;
    background-origin: padding-box;
    background-clip: border-box;
    border-top: 1px solid #242832;
    position: relative
}

.faq-section:before {
    content: "";
    background: var(--nismo-stripe);
    height: 5px;
    position: absolute;
    top: 0;
    left: clamp(28px,7vw,112px);
    right: clamp(28px,7vw,112px)
}

.faq-section>* {
    position: relative
}

.faq-list {
    border-top: 1px solid #3d454e
}

.faq-list details {
    background: #030405d1;
    border-bottom: 1px solid #3d454e
}

.faq-list summary {
    cursor: pointer;
    grid-template-columns: 58px 1fr 30px;
    align-items: center;
    gap: 18px;
    min-height: 78px;
    padding: 0 24px;
    list-style: none;
    display: grid
}

.faq-list summary::-webkit-details-marker {
    display: none
}

.faq-list summary>span {
    color: var(--red);
    font: 25px Impact,sans-serif
}

.faq-list summary>b {
    font-size: 16px;
    line-height: 1.4
}

.faq-list summary>i {
    color: #1cc9ef;
    text-align: center;
    font: 28px Arial,sans-serif;
    transition: transform .2s
}

.faq-list details[open] summary>i {
    color: var(--red);
    transform: rotate(45deg)
}

.faq-list details[open] summary {
    background: linear-gradient(90deg,#df1f2d1c,#0000)
}

.faq-list details>p {
    color: #aeb7be;
    max-width: 950px;
    margin: 0;
    padding: 0 82px 26px 100px;
    font-size: 15px;
    line-height: 1.65
}

.contact-section {
    background: #000;
    border-top: 1px solid #242832;
    grid-template-columns: .85fr 1.15fr;
    align-items: center;
    gap: clamp(50px,7vw,110px);
    display: grid
}

.contact-intro h2 {
    font-size: clamp(56px,6vw,92px)
}

.contact-intro>p:not(.eyebrow) {
    color: #aeb7be;
    max-width: 560px;
    font-size: 17px;
    line-height: 1.65
}

.contact-intro .primary-button {
    margin-top: 20px
}

.contact-grid {
    border-top: 5px solid #0000;
    border-image: var(--nismo-stripe) 1
}

.contact-grid article {
    border-bottom: 1px solid #3d454e;
    grid-template-rows: auto auto;
    grid-template-columns: 110px 1fr auto;
    column-gap: 22px;
    padding: 25px 0;
    display: grid
}

.contact-grid article>span {
    color: #8d98a2;
    letter-spacing: 1.3px;
    grid-row: 1/3;
    font: 10px monospace
}

.contact-grid h3 {
    text-transform: uppercase;
    margin: 0 0 8px;
    font-size: 18px
}

.contact-grid p {
    color: #929da6;
    margin: 0;
    font-size: 13px;
    line-height: 1.5
}

.contact-grid a {
    color: #fff;
    text-transform: uppercase;
    white-space: nowrap;
    grid-area: 1/3/3;
    align-self: center;
    gap: 12px;
    font-size: 11px;
    font-weight: 900;
    display: flex
}

.contact-grid a span {
    color: var(--red)
}

footer {
    background: var(--nismo-stripe) top/100% 8px no-repeat,#000;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 28px;
    padding: 67px clamp(28px,5vw,78px) 25px;
    display: grid
}

.footer-brand {
    min-width: 0
}

.footer-brand .brand-logo {
    width: 76px;
    height: 76px
}

.footer-brand .brand-name {
    font-size: 12px
}

footer>p {
    text-align: right;
    color: #9ba5af;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-size: 11px
}

.footer-nav {
    color: #d1d9dd;
    gap: 30px;
    font-size: 13px;
    display: flex
}

.social-links {
    border-top: 1px solid #30343c;
    border-bottom: 1px solid #30343c;
    grid-column: 1/3;
    grid-template-columns: repeat(4,1fr);
    gap: 10px;
    padding: 26px 0;
    display: grid
}

.social-links a {
    min-height: 72px;
    box-shadow: inset 4px 0 0 var(--red),inset 6px 0 0 #fff;
    background: #050505;
    border: 1px solid #3b414b;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 13px;
    padding: 13px 16px;
    transition: all .2s;
    display: grid
}

.social-links a:hover {
    background: #0c0c0d;
    border-color: #fff;
    transform: translateY(-3px)
}

.social-links b {
    color: #080808;
    clip-path: polygon(0 0,86% 0,100% 30%,100% 100%,0 100%);
    background: #fff;
    place-items: center;
    width: 36px;
    height: 36px;
    font: 900 11px Arial,sans-serif;
    display: grid
}

.social-links span {
    letter-spacing: .5px;
    font-size: 13px;
    font-weight: 800
}

.social-links a>span:last-child {
    color: var(--red)
}

.footer-email {
    color: #fff;
    overflow-wrap: anywhere;
    align-items: center;
    gap: 12px;
    font: 12px monospace;
    display: flex
}

.footer-email>span:first-child {
    color: var(--red);
    letter-spacing: 1.4px;
    font: 900 10px Arial,sans-serif
}

.footer-email>span:last-child {
    color: var(--red)
}

footer>small {
    text-align: right;
    color: #7f8994
}

@media (width<=1050px) {
    nav {
        display: none
    }

    .timing-panel {
        width: 32vw
    }

    .price-rail {
        width: 40vw
    }

    .hero-content {
        max-width: 58vw
    }

    .event-card {
        grid-template-columns: 1fr auto
    }

    .event-format {
        display: none
    }

    .class-grid {
        grid-template-columns: repeat(3,1fr)
    }

    .class-grid article:nth-child(3) {
        border-right: 0
    }

    .class-grid article {
        border-bottom: 1px solid #3e4b55
    }

    .membership-grid {
        grid-template-columns: 1fr 1fr
    }

    .membership-grid article:nth-child(2) {
        border-right: 0
    }

    .membership-grid .membership-rule {
        grid-column: 1/-1;
        min-height: 330px
    }

    .gallery-album {
        grid-template-columns: 1fr
    }

    .gallery-album-media {
        border-bottom: 1px solid #414852;
        border-right: 0;
        min-height: 430px
    }

    .market-categories {
        grid-template-columns: repeat(3,1fr)
    }

    .market-categories article {
        border-bottom: 1px solid #363c45
    }

    .market-categories article:nth-child(3) {
        border-right: 0
    }

    .market-submit {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .contact-section {
        grid-template-columns: 1fr
    }

    .contact-grid {
        margin-top: 12px
    }
}

@media (width<=720px) {
    .site-header {
        height: 74px;
        padding: 0 18px
    }

    .brand {
        min-width: 0
    }

    .brand-name {
        display: none
    }

    .brand-logo {
        width: 52px;
        height: 52px
    }

    .header-cta {
        padding: 13px 15px;
        font-size: 12px
    }

    .hero {
        height: auto;
        min-height: 900px
    }

    .hero-media {
        background-position: 64%;
        inset: 74px 0 0
    }

    .hero-shade {
        background: linear-gradient(#15191b42,#15191beb 50%,#15191b 78%)
    }

    .hero-content {
        max-width: none;
        padding: 145px 22px 0;
        position: relative;
        top: auto;
        left: auto
    }

    .hero-content h1 {
        font-size: clamp(48px,14vw,64px)
    }

    .hero-copy {
        font-size: 17px
    }

    .hero-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }

    .timing-panel {
        width: auto;
        margin: 35px 22px 0;
        position: relative;
        top: auto;
        right: auto
    }

    .price-rail {
        width: auto;
        margin: 12px 22px 30px;
        position: relative;
        bottom: auto;
        right: auto
    }

    .ticker {
        gap: 14px;
        font-size: 10px
    }

    .ticker i {
        display: none
    }

    .section,.results-section {
        padding: 76px 22px
    }

    .section-heading,.about-section,.results-section {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .section-heading h2,.about-section h2,.results-copy h2,.gallery-heading h2,.marketplace-heading h2,.contact-intro h2 {
        font-size: 58px
    }

    .event-card {
        grid-template-columns: 1fr;
        padding: 22px 0
    }

    .event-card>a {
        justify-self: start
    }

    .membership-grid {
        grid-template-columns: 1fr
    }

    .membership-grid article,.membership-grid article:nth-child(n) {
        border-bottom: 1px solid #3d454e;
        border-right: 0;
        grid-column: auto;
        min-height: 390px;
        padding: 28px 22px
    }

    .membership-grid article:last-child {
        border-bottom: 0
    }

    .membership-grid article>strong,.membership-grid .membership-rule>strong {
        font-size: 60px
    }

    .class-grid {
        grid-template-columns: 1fr 1fr
    }

    .class-grid article:nth-child(n) {
        border-right: 1px solid #3e4b55
    }

    .class-grid article:nth-child(2n) {
        border-right: 0
    }

    .class-grid strong {
        font-size: 52px
    }

    .class-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px
    }

    .safety-grid {
        grid-template-columns: 1fr
    }

    .safety-grid article:nth-child(n) {
        border-right: 0;
        padding-left: 0
    }

    .results-board {
        width: 100%;
        overflow: auto
    }

    .board-head,.board-row {
        min-width: 500px
    }

    .championship-rule>b {
        font-size: 24px
    }

    .result-actions {
        flex-direction: column;
        align-items: flex-start
    }

    .gallery-album {
        box-shadow: 7px 7px #df1f2d38
    }

    .gallery-album-media {
        min-height: 310px
    }

    .gallery-album-media>b {
        font-size: 36px
    }

    .gallery-album-copy {
        padding: 28px 20px
    }

    .gallery-album-copy h3 {
        font-size: 44px
    }

    .album-meta {
        gap: 10px
    }

    .album-stats {
        grid-template-columns: 1fr
    }

    .album-stats span,.album-stats span:first-child {
        border-bottom: 1px solid #353b43;
        border-right: 0;
        padding: 12px 0
    }

    .album-stats span:last-child {
        border-bottom: 0
    }

    .album-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }

    .gallery-features {
        grid-template-columns: 1fr
    }

    .gallery-features article,.gallery-features article+article {
        border-bottom: 1px solid #373d46;
        border-right: 0;
        padding: 22px 0
    }

    .gallery-features article:last-child {
        border-bottom: 0
    }

    .market-categories {
        grid-template-columns: 1fr 1fr
    }

    .market-categories article:nth-child(n) {
        border-right: 1px solid #363c45;
        min-height: 215px
    }

    .market-categories article:nth-child(2n) {
        border-right: 0
    }

    .market-submit {
        padding: 28px 20px
    }

    .market-submit-copy h3 {
        font-size: 44px
    }

    .about-section {
        display: grid
    }

    .about-copy p {
        font-size: 18px
    }

    .founder-section {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .founder-heading h2 {
        font-size: 38px
    }

    .founder-story>p,.founder-story>p:first-child {
        font-size: 16px
    }

    .faq-list summary {
        grid-template-columns: 40px 1fr 24px;
        gap: 10px;
        padding: 0 12px
    }

    .faq-list summary>b {
        font-size: 14px
    }

    .faq-list details>p {
        padding: 0 16px 22px 62px;
        font-size: 14px
    }

    .contact-grid article {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 23px 0
    }

    .contact-grid article>span,.contact-grid a {
        grid-area: auto
    }

    .contact-grid a {
        white-space: normal;
        margin-top: 8px
    }

    .founder-facts {
        grid-template-columns: 1fr
    }

    .founder-facts span {
        border-bottom: 1px solid #3a414b;
        border-right: 0;
        min-height: 82px
    }

    .founder-facts span:last-child {
        border-bottom: 0
    }

    footer {
        grid-template-columns: 1fr
    }

    footer>p,footer>small {
        text-align: left
    }

    .footer-nav {
        flex-wrap: wrap
    }

    .social-links {
        grid-column: 1;
        grid-template-columns: 1fr 1fr;
        gap: 8px
    }

    .social-links a {
        min-height: 62px;
        padding: 10px
    }

    .social-links b {
        width: 31px;
        height: 31px
    }

    .social-links span {
        font-size: 11px
    }

    .footer-email {
        font-size: 10px
    }
}

@media (width<=1050px) {
    .mobile-menu {
        margin-left: auto;
        margin-right: 12px;
        display: block
    }
}

@media (width<=1100px) {
    .entry-flow {
        grid-template-columns: 1fr 1fr
    }

    .entry-flow>section:nth-child(2) {
        border-right: 0
    }

    .entry-flow>section {
        border-bottom: 1px solid #3a424b
    }

    .entry-flow>section:nth-child(n+3) {
        border-bottom: 0
    }
}

@media (width<=1000px) {
    .manage-layout {
        grid-template-columns: 1fr 1fr
    }

    .manage-actions {
        grid-column: 1/-1
    }
}

@media (width<=950px) {
    .control-layout {
        grid-template-columns: 1fr
    }

    .control-alerts {
        grid-template-columns: 1fr 1fr;
        gap: 0 18px;
        display: grid
    }

    .control-alerts h3 {
        grid-column: 1/-1
    }

    .assignment-board {
        grid-template-columns: 1fr 1fr 1fr
    }
}

@media (width<=900px) {
    .hub-grid,.event-day-grid,.course-control {
        grid-template-columns: 1fr
    }

    .course-control>div {
        flex-wrap: wrap
    }
}

@media (width<=720px) {
    .site-header {
        padding-left: 12px;
        padding-right: 12px
    }

    .mobile-menu {
        margin-right: 7px
    }

    .mobile-menu summary {
        padding: 12px 10px
    }

    .launch-status {
        grid-template-columns: 1fr
    }

    .launch-status article {
        border-bottom: 1px solid #343842;
        border-right: 0
    }

    .launch-status article:last-child {
        border-bottom: 0
    }

    .hub-panel {
        min-height: 0;
        padding: 18px
    }

    .hub-event {
        grid-template-columns: 58px 1fr
    }

    .hub-event small {
        grid-column: 2;
        justify-self: start
    }

    .hub-form,.mods-list {
        grid-template-columns: 1fr
    }

    .mods-list label:nth-child(odd) {
        border-right: 0
    }

    .classifier-result strong {
        font-size: 52px
    }

    .planner-compare {
        gap: 10px;
        padding: 15px
    }

    .planner-compare strong {
        font-size: 38px
    }

    .planner-compare small {
        font-size: 9px
    }

    .tech-list label {
        grid-template-columns: auto 28px 1fr
    }

    .tech-list label>small {
        grid-column: 3
    }

    .tech-score {
        grid-template-columns: 1fr
    }

    .tech-score strong {
        font-size: 48px
    }

    .driver-card {
        grid-template-columns: auto 1fr
    }

    .driver-card>strong {
        grid-column: 2
    }

    .driver-stats {
        grid-template-columns: 1fr 1fr
    }

    .driver-stats span:nth-child(2) {
        border-right: 0
    }

    .driver-stats span {
        border-bottom: 1px solid #363d46
    }

    .run-history>div {
        grid-template-columns: 38px 1fr 1fr 58px;
        padding: 12px 8px
    }

    .results-actions {
        flex-direction: column;
        align-items: flex-start
    }

    .entry-flow {
        grid-template-columns: 1fr
    }

    .entry-flow>section {
        min-height: 220px;
        border-bottom: 1px solid #3a424b!important;
        border-right: 0!important
    }

    .entry-flow>section:last-child {
        border-bottom: 0!important
    }

    .pass-main {
        grid-template-columns: auto 1fr;
        padding: 15px
    }

    .pass-main>i {
        grid-column: 2
    }

    .pass-status {
        grid-template-columns: 1fr 1fr
    }

    .pass-status span:nth-child(2) {
        border-right: 0
    }

    .pass-status span:nth-child(-n+2) {
        border-bottom: 1px solid #b9b9b5
    }

    .roster-table {
        overflow: auto
    }

    .roster-table>div {
        min-width: 520px
    }

    .calendar-board {
        overflow: auto
    }

    .calendar-board>div {
        min-width: 650px
    }

    .calendar-policy {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }

    .manage-layout {
        grid-template-columns: 1fr
    }

    .manage-actions {
        grid-column: auto
    }

    .control-metrics {
        grid-template-columns: 1fr 1fr
    }

    .control-metrics span {
        border-bottom: 1px solid #3d454e
    }

    .control-metrics span:nth-child(2n) {
        border-right: 0
    }

    .control-alerts {
        grid-template-columns: 1fr
    }

    .control-alerts h3 {
        grid-column: auto
    }

    .assignment-board {
        grid-template-columns: 1fr 1fr
    }

    .course-control section {
        grid-template-columns: 1fr
    }

    .course-control strong {
        grid-area: auto;
        font-size: 32px
    }

    .course-control button {
        flex: 1
    }

    .event-day-grid>section {
        padding: 14px
    }

    .standings-table {
        overflow: auto
    }

    .standings-table>div {
        min-width: 520px
    }

    .report-metrics {
        grid-template-columns: 1fr 1fr
    }

    .report-metrics span:nth-child(2) {
        border-right: 0
    }

    .report-metrics span {
        border-bottom: 1px solid #3c444d
    }

    .report-notes {
        grid-template-columns: 1fr
    }

    .report-notes p:nth-child(odd) {
        border-right: 0
    }

    .report-actions {
        flex-direction: column
    }
}

@media (width<=900px) {
    .account-grid {
        grid-template-columns: 1fr
    }

    .safety-contact {
        grid-column: auto
    }

    .safety-form {
        grid-template-columns: 1fr 1fr
    }
}

@media (width<=720px) {
    .safety-form {
        grid-template-columns: 1fr
    }

    .data-actions {
        flex-direction: column;
        align-items: stretch
    }

    .data-actions button.danger {
        margin-left: 0
    }
}

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

    *,:before,:after {
        transition: none!important
    }
}

.more-nav {
    position: relative
}

.more-nav summary {
    cursor: pointer;
    color: #c8cccf;
    letter-spacing: .35px;
    text-transform: uppercase;
    padding: 29px 0 24px;
    font-size: 10px;
    font-weight: 800;
    list-style: none
}

.more-nav summary::-webkit-details-marker {
    display: none
}

.more-nav summary:after {
    content: " +";
    color: #19c8ee
}

.more-nav>div {
    z-index: 80;
    background: #050505;
    border: 1px solid #40464c;
    border-top: 3px solid #19c8ee;
    width: 190px;
    padding: 8px;
    position: absolute;
    top: 64px;
    right: 0;
    box-shadow: 0 18px 40px #000000a6
}

.more-nav>div a {
    border-bottom: 1px solid #24282c;
    padding: 11px 13px;
    display: block
}

.more-nav>div a:last-child {
    border-bottom: 0
}

.compact-hero .hero-final-shell {
    min-height: 624px;
    padding-top: 72px
}

.compact-hero .hero-final-copy {
    width: min(52%,650px)
}

.compact-hero .hero-final-copy h1 {
    font-size: clamp(52px,4.5vw,72px)
}

.compact-hero .hero-final-promises {
    gap: 9px 0;
    max-width: 650px
}

.compact-hero .hero-final-promises span {
    font-size: 12px
}

.compact-home .section {
    padding-top: 72px;
    padding-bottom: 72px
}

.compact-heading {
    max-width: 760px
}

.compact-heading h2 {
    text-transform: uppercase;
    margin: 8px 0 18px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(48px,5vw,76px);
    font-style: italic;
    font-weight: 400;
    line-height: .92
}

.compact-heading h2 em {
    color: var(--red);
    font-style: italic
}

.compact-heading>p:not(.eyebrow) {
    color: #aeb7bd;
    margin: 0;
    font-size: 17px;
    line-height: 1.62
}

.compact-heading.inverse {
    color: #f3f3ef
}

.compact-explainer {
    border-top: 6px solid #0000;
    border-image: var(--nismo-stripe) 1;
    background-color: #050505;
    background-image: linear-gradient(#18283f47 1px,#0000 1px),linear-gradient(90deg,#18283f47 1px,#0000 1px);
    background-position: 0 0;
    background-repeat: repeat;
    background-size: 42px 42px;
    background-attachment: scroll;
    background-origin: padding-box;
    background-clip: border-box;
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 7vw;
    display: grid
}

.beginner-point-list {
    background: #050708;
    border: 1px solid #3d454e;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.beginner-point-list li {
    color: #e4e8e9;
    border-bottom: 1px solid #3d454e;
    border-right: 1px solid #3d454e;
    align-items: center;
    min-height: 76px;
    padding: 18px 20px 18px 48px;
    font-size: 14px;
    font-weight: 800;
    display: flex;
    position: relative
}

.beginner-point-list li:before {
    content: "âœ“";
    color: #19c8ee;
    font-weight: 900;
    position: absolute;
    left: 20px
}

.beginner-point-list li:nth-child(2n) {
    border-right: 0
}

.beginner-point-list li:nth-last-child(-n+2) {
    border-bottom: 0
}

.compact-benefits,.compact-events,.compact-pricing,.compact-faq {
    background-color: #050505;
    background-image: linear-gradient(#18283f3d 1px,#0000 1px),linear-gradient(90deg,#18283f3d 1px,#0000 1px);
    background-position: 0 0;
    background-repeat: repeat;
    background-size: 42px 42px;
    background-attachment: scroll;
    background-origin: padding-box;
    background-clip: border-box;
    border-top: 1px solid #242832
}

.benefit-preview-grid {
    background: #050708;
    border: 1px solid #3d454e;
    grid-template-columns: repeat(3,1fr);
    margin-top: 36px;
    display: grid
}

.benefit-preview-grid article {
    border-bottom: 1px solid #3d454e;
    border-right: 1px solid #3d454e;
    min-height: 180px;
    padding: 24px
}

.benefit-preview-grid article:nth-child(3n) {
    border-right: 0
}

.benefit-preview-grid article:nth-last-child(-n+3) {
    border-bottom: 0
}

.benefit-preview-grid span,.two-card-grid>article>span,.detail-card-grid article>span {
    color: var(--red);
    letter-spacing: 1px;
    font: 11px monospace
}

.benefit-preview-grid h3,.two-card-grid h3 {
    text-transform: uppercase;
    margin: 28px 0 10px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 25px;
    font-style: italic;
    font-weight: 400
}

.points-event-label {
    color: #19c8ee;
    letter-spacing: 1px;
    vertical-align: middle;
    white-space: nowrap;
    margin-left: 7px;
    font: 700 10px/1.2 Arial,Helvetica,sans-serif;
    display: inline-block
}

.benefit-preview-grid p,.two-card-grid p {
    color: #aeb7be;
    margin: 0;
    font-size: 13px;
    line-height: 1.55
}

.inline-preview-links {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 16px;
    display: grid
}

.inline-preview-links a {
    color: #fff;
    background: #0a0d0f;
    border: 1px solid #3d454e;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 24px;
    display: flex
}

.inline-preview-links span {
    color: #19c8ee;
    text-transform: uppercase;
    white-space: nowrap;
    font-size: 11px;
    font-weight: 900
}

.first-event-process,.compact-safety,.compact-contact {
    background: #000;
    border-top: 1px solid #242832
}

.process-strip {
    border: 1px solid #3d454e;
    grid-template-columns: repeat(8,1fr);
    margin: 38px 0 30px;
    padding: 0;
    list-style: none;
    display: grid
}

.process-strip li {
    color: #e2e6e7;
    border-right: 1px solid #3d454e;
    min-height: 125px;
    padding: 20px 15px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4
}

.process-strip li:last-child {
    border-right: 0
}

.process-strip span {
    color: var(--red);
    margin-bottom: 28px;
    font: 11px monospace;
    display: block
}

.two-card-grid {
    background: #050708;
    border: 1px solid #3d454e;
    grid-template-columns: repeat(3,1fr);
    margin-top: 36px;
    display: grid
}

.two-card-grid article {
    border-right: 1px solid #3d454e;
    min-height: 230px;
    padding: 30px
}

.two-card-grid article:last-child {
    border-right: 0
}

.points-note,.detail-note {
    color: #dce2e4;
    background: #101417;
    border-left: 4px solid #19c8ee;
    margin: 18px 0;
    padding: 16px 18px;
    font-size: 13px;
    line-height: 1.55
}

.section-actions {
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
    margin-top: 24px;
    display: flex
}

.price-preview-grid {
    background: #050708;
    border: 1px solid #3d454e;
    grid-template-columns: repeat(2,1fr);
    margin: 36px 0 14px;
    display: grid
}

.price-preview-grid article {
    border-right: 1px solid #3d454e;
    padding: 28px
}

.price-preview-grid article:last-child {
    border-right: 0
}

.price-preview-grid span {
    color: #8f9aa4;
    letter-spacing: 1.2px;
    font: 10px monospace
}

.price-preview-grid strong {
    color: #fff;
    margin: 24px 0 8px;
    font: 64px/.9 Impact,sans-serif;
    display: block
}

.price-preview-grid p {
    color: #aeb7be;
    margin: 0;
    font-size: 13px
}

.price-preview-grid article.founding-price-card {
    padding: 0
}

.founding-price-card details>summary {
    cursor: pointer;
    padding: 28px;
    list-style: none;
    transition: background .2s;
    display: block
}

.founding-price-card details>summary::-webkit-details-marker {
    display: none
}

.founding-price-card details>summary:hover,.founding-price-card details[open]>summary {
    background: linear-gradient(120deg,#d8b33f1f,#0000 65%)
}

.founding-open-prompt {
    letter-spacing: .7px;
    background: #121008;
    border: 1px solid #66582f;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    color: #e1c25a!important;
    margin: 18px 0 0!important;
    font: 10px/1.35 monospace!important;
    display: flex!important
}

.founding-open-prompt i {
    color: #fff;
    flex: none;
    font: 22px/1 Arial,sans-serif;
    transition: transform .2s
}

.founding-price-card details[open] .founding-open-prompt i {
    transform: rotate(45deg)
}

.founding-benefit-panel {
    background: #090a09;
    border-top: 1px solid #4a4228;
    padding: 4px 28px 28px
}

.founding-benefit-panel ul {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 20px 0;
    padding: 0;
    list-style: none;
    display: grid
}

.founding-benefit-panel li {
    color: #e3e6df;
    background: #11130f;
    border: 1px solid #353a31;
    align-items: flex-start;
    gap: 9px;
    padding: 10px 11px;
    font-size: 11px;
    line-height: 1.4;
    display: flex
}

.founding-benefit-panel li>b {
    color: #e1c25a!important;
    margin: 1px 0 0!important;
    font: 12px/1 Arial,sans-serif!important;
    display: inline!important
}

.founding-benefit-panel>p {
    line-height: 1.5;
    color: #b8b6a8!important;
    margin: 0 0 16px!important;
    font-size: 11px!important
}

.founding-benefit-panel>a {
    color: #e1c25a;
    text-transform: uppercase;
    align-items: center;
    gap: 10px;
    font-size: 10px;
    font-weight: 900;
    display: inline-flex
}

.experienced-driver-callout {
    background: linear-gradient(105deg,#14a2c724,#07090bfa 52%);
    border: 1px solid #46515a;
    border-left: 6px solid #19c8ee;
    grid-template-columns: minmax(280px,.88fr) minmax(420px,1.12fr);
    align-items: center;
    gap: 34px;
    margin: 34px 0 16px;
    padding: 26px 28px;
    display: grid
}

.experienced-driver-callout>div>span {
    color: #21c9ee;
    letter-spacing: 1.2px;
    font: 10px monospace
}

.experienced-driver-callout h3 {
    color: #fff;
    text-transform: uppercase;
    margin: 8px 0 10px;
    font: italic 32px/.95 Impact,sans-serif
}

.experienced-driver-callout p {
    color: #b6c0c5;
    margin: 0;
    font-size: 13px;
    line-height: 1.55
}

.experienced-driver-callout ul {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.experienced-driver-callout li {
    color: #e3e8ea;
    background: #0c1013;
    border: 1px solid #323b42;
    align-items: center;
    gap: 10px;
    min-height: 43px;
    padding: 9px 11px;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.25;
    display: flex
}

.experienced-driver-callout li:last-child {
    grid-column: 1/-1
}

.experienced-driver-callout li b {
    color: #df1f2d;
    font: 9px monospace
}

.event-staff-callout {
    background: linear-gradient(105deg,#df1f2d29,#090d10f5 48%);
    border: 1px solid #46505a;
    border-left: 6px solid #df1f2d;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 24px;
    max-width: 920px;
    margin: 18px 0 10px;
    padding: 22px 24px;
    display: grid;
    box-shadow: inset 0 1px #ffffff0d
}

.event-staff-callout>div {
    grid-template-columns: auto 1fr;
    align-items: end;
    column-gap: 18px;
    display: grid
}

.event-staff-callout span {
    color: #cdd3d6;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    grid-column: 1/-1;
    font: italic 12px/1 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif
}

.event-staff-callout strong {
    color: #fff;
    letter-spacing: .8px;
    font: italic 38px/.9 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif
}

.event-staff-callout p {
    color: #aeb7be;
    max-width: 560px;
    margin: 0;
    font-size: 12px;
    line-height: 1.45
}

.event-staff-callout>a {
    color: #fff;
    letter-spacing: .6px;
    text-transform: uppercase;
    white-space: nowrap;
    background: #0e151a;
    border: 1px solid #e9ecee;
    justify-content: center;
    align-items: center;
    gap: 12px;
    min-height: 43px;
    padding: 0 18px;
    font-size: 10px;
    font-weight: 900;
    display: inline-flex
}

.event-staff-callout>a:hover {
    background: #df1f2d
}

.pricing-detail-actions {
    grid-template-columns: minmax(0,1fr) auto;
    align-items: stretch;
    gap: 16px;
    margin: 18px 0 24px;
    display: grid
}

.pricing-detail-actions .detail-note {
    border-left-color: #df1f2d;
    margin: 0
}

.event-staff-apply-button {
    color: #fff;
    letter-spacing: .6px;
    text-transform: uppercase;
    white-space: nowrap;
    background: #0e151a;
    border: 1px solid #e9ecee;
    justify-content: center;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    padding: 0 22px;
    font-size: 11px;
    font-weight: 900;
    display: inline-flex
}

.event-staff-apply-button:hover {
    background: #df1f2d
}

.pricing-small-note {
    color: #8f9aa4;
    max-width: 920px;
    margin: 0 0 26px;
    font: 11px/1.55 monospace
}

.compact-safety {
    grid-template-columns: .85fr 1.15fr;
    align-items: center;
    gap: 7vw;
    display: grid
}

.compact-safety .compact-heading>strong {
    color: #e2c35b;
    text-transform: uppercase;
    margin: 20px 0;
    display: block
}

.compact-safety .primary-button {
    margin-top: 12px
}

.compact-resource-cards {
    gap: 14px;
    display: grid
}

.compact-resource-cards a {
    color: #fff;
    background: #090c0e;
    border: 1px solid #3d454e;
    padding: 24px;
    display: block
}

.compact-resource-cards span {
    color: #19c8ee;
    letter-spacing: 1.2px;
    font: 10px monospace
}

.compact-resource-cards h3 {
    text-transform: uppercase;
    margin: 16px 0 8px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 27px;
    font-style: italic;
    font-weight: 400
}

.compact-resource-cards p {
    color: #aeb7be;
    margin: 0 0 16px;
    line-height: 1.5
}

.compact-resource-cards b {
    color: #e2c35b;
    text-transform: uppercase;
    font-size: 11px
}

.compact-faq-list {
    margin-top: 32px
}

.compact-faq>.primary-button {
    margin-top: 28px
}

.final-registration {
    text-align: center;
    border-top: 6px solid #0000;
    border-image: var(--nismo-stripe) 1;
    background: radial-gradient(circle at 50% 20%,#df1f2d40,#0000 50%),#070708
}

.final-registration .eyebrow {
    justify-content: center
}

.final-registration h2 {
    text-transform: uppercase;
    max-width: 900px;
    margin: 12px auto 16px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(48px,5.5vw,82px);
    font-style: italic;
    font-weight: 400;
    line-height: .92
}

.final-registration h2 em {
    color: var(--red)
}

.final-registration>p:not(.eyebrow) {
    color: #b8c0c4;
    max-width: 640px;
    margin: 0 auto 28px;
    line-height: 1.6
}

.final-registration>div {
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    display: flex
}

.hero-registration-status {
    border-left: 4px solid var(--red);
    background: #040608d1;
    flex-direction: column;
    gap: 4px;
    max-width: 650px;
    margin: 16px 0 0;
    padding: 11px 14px;
    display: flex;
    box-shadow: 0 8px 24px #00000047
}

.hero-registration-status strong {
    color: #fff;
    letter-spacing: .8px;
    text-transform: uppercase;
    font-size: 12px
}

.hero-registration-status span {
    color: #c3cbd0;
    font-size: 11px;
    line-height: 1.45
}

.compact-contact {
    justify-content: space-between;
    align-items: end;
    gap: 40px;
    display: flex
}

.compact-contact .primary-button {
    flex: none
}

.useful-footer {
    padding: 56px clamp(28px,5vw,78px) 25px;
    display: block
}

.footer-top {
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    display: flex
}

.footer-top>p {
    color: #9ba5af;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-size: 11px
}

.footer-groups {
    border-top: 1px solid #30343c;
    border-bottom: 1px solid #30343c;
    grid-template-columns: repeat(4,1fr);
    gap: 35px;
    margin: 32px 0;
    padding: 30px 0;
    display: grid
}

.footer-groups section {
    flex-direction: column;
    gap: 9px;
    display: flex
}

.footer-groups h3 {
    color: #fff;
    text-transform: uppercase;
    margin: 0 0 8px;
    font-size: 12px
}

.footer-groups a {
    color: #9fa9af;
    font-size: 12px
}

.footer-groups a:hover {
    color: #19c8ee
}

.footer-bottom {
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    display: flex
}

.useful-footer .social-links {
    border: 0;
    grid-column: auto;
    padding: 0;
    display: flex
}

.useful-footer .social-links a {
    border-radius: 8px;
    grid-template-columns: 1fr;
    place-items: center;
    width: 42px;
    min-height: 42px;
    padding: 0;
    display: grid
}

.useful-footer .social-links svg {
    fill: currentColor;
    width: 18px;
    height: 18px
}

.useful-footer .social-links span {
    display: none
}

.pmc-platform-signature {
    color: #dfe5e8;
    background: #080b0d;
    border: 1px solid #333b42;
    border-left: 4px solid #20c8ee;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 24px;
    padding: 15px 17px;
    display: flex
}

.pmc-platform-signature strong {
    color: #fff;
    letter-spacing: 1.15px;
    font-size: 10px
}

.pmc-platform-signature span {
    color: #9ca8af;
    text-align: right;
    font-size: 10px;
    line-height: 1.45
}

.useful-footer>small {
    color: #7f8994;
    text-align: left;
    margin-top: 14px;
    display: block
}

.detail-page {
    color: #f3f3ef;
    background: #000
}

.detail-hero {
    border-bottom: 6px solid #0000;
    border-image: var(--nismo-stripe) 1;
    background: linear-gradient(90deg,#000000e6,#00000059),url(/pmc-approved-exact-car-hero.png) 50% 47%/cover no-repeat;
    align-items: end;
    min-height: 390px;
    padding: 90px clamp(28px,7vw,112px) 62px;
    display: flex
}

.detail-hero>div {
    max-width: 860px
}

.detail-hero h1 {
    text-transform: uppercase;
    text-shadow: 3px 4px #000;
    margin: 12px 0 18px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(52px,6vw,88px);
    font-style: italic;
    font-weight: 400;
    line-height: .92
}

.detail-hero>div>p:last-child {
    color: #d0d6d8;
    max-width: 700px;
    margin: 0;
    font-size: 17px;
    line-height: 1.6
}

.detail-section {
    background: #000;
    border-bottom: 1px solid #242832;
    padding: 82px clamp(28px,7vw,112px)
}

.detail-section.dark {
    background-color: #07090a;
    background-image: linear-gradient(#18283f3d 1px,#0000 1px),linear-gradient(90deg,#18283f3d 1px,#0000 1px);
    background-position: 0 0;
    background-repeat: repeat;
    background-size: 42px 42px;
    background-attachment: scroll;
    background-origin: padding-box;
    background-clip: border-box
}

.detail-section>h2 {
    text-transform: uppercase;
    max-width: 900px;
    margin: 0 0 28px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(42px,5vw,72px);
    font-style: italic;
    font-weight: 400;
    line-height: .95
}

.detail-section>p {
    color: #b6bec2;
    max-width: 900px;
    font-size: 16px;
    line-height: 1.7
}

.detail-card-grid {
    background: #050708;
    border: 1px solid #3d454e;
    margin: 30px 0;
    display: grid
}

.detail-card-grid.two {
    grid-template-columns: repeat(2,1fr)
}

.detail-card-grid.three {
    grid-template-columns: repeat(3,1fr)
}

.detail-card-grid article {
    border-bottom: 1px solid #3d454e;
    border-right: 1px solid #3d454e;
    min-height: 220px;
    padding: 28px
}

.detail-card-grid.two article:nth-child(2n),.detail-card-grid.three article:nth-child(3n) {
    border-right: 0
}

.detail-card-grid h3 {
    text-transform: uppercase;
    margin: 26px 0 13px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 27px;
    font-style: italic;
    font-weight: 400
}

.detail-card-grid p,.detail-card-grid li {
    color: #aeb7be;
    font-size: 14px;
    line-height: 1.6
}

.detail-card-grid ul {
    padding-left: 20px
}

.detail-card-grid a {
    color: #19c8ee;
    text-transform: uppercase;
    margin-top: 18px;
    font-weight: 900;
    display: inline-block
}

.detail-price {
    color: #fff;
    margin: 26px 0 10px;
    font: 70px/.9 Impact,sans-serif;
    display: block
}

.story-copy>p,.policy-copy>p {
    max-width: 900px;
    font-size: 17px;
    line-height: 1.75
}

.detail-cta {
    border-top: 5px solid var(--red);
    background: linear-gradient(110deg,#101214,#050506);
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 45px clamp(28px,7vw,112px);
    display: flex
}

.detail-cta h2 {
    text-transform: uppercase;
    margin: 0;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(30px,4vw,52px);
    font-style: italic;
    font-weight: 400
}

.pricing-founding-grid {
    grid-template-columns: minmax(0,720px)
}

.class-guide .detail-card-grid article {
    background: linear-gradient(145deg,#1c242d9e,#030506e6)
}

.class-guide .detail-card-grid article:last-child {
    background: linear-gradient(145deg,#156c8438,#030506eb);
    box-shadow: inset 0 4px #19c8ee
}

.class-tire-panel {
    max-width: 1000px;
    margin: 28px 0
}

.class-tire-panel h3 {
    text-transform: uppercase;
    font: italic 32px Impact,sans-serif
}

.class-tire-grid {
    border: 1px solid #3d454e;
    grid-template-columns: repeat(4,1fr);
    display: grid
}

.class-tire-grid>div {
    background: #050708;
    border-right: 1px solid #3d454e;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100px;
    padding: 19px;
    display: flex
}

.class-tire-grid>div:last-child {
    border-right: 0
}

.class-tire-grid span {
    color: #aeb7be;
    font: 11px monospace
}

.class-tire-grid b {
    color: #fff;
    font-size: 15px
}

.class-guide .primary-button {
    margin-top: 8px
}

@media (width<=720px) {
    .class-tire-grid {
        grid-template-columns: 1fr
    }

    .class-tire-grid>div {
        border-bottom: 1px solid #3d454e;
        border-right: 0;
        min-height: 72px
    }

    .class-tire-grid>div:last-child {
        border-bottom: 0
    }

    .class-tire-panel h3 {
        font-size: 27px
    }

    .class-guide .primary-button {
        text-align: center;
        justify-content: center;
        width: 100%
    }
}

.portal-page {
    color: #eef1f2;
    --portal-border: #353b42;
    --portal-panel: #101316;
    --portal-red: #e01925;
    --portal-cyan: #20c8ee;
    background: #080a0c;
    min-height: 100vh
}

.portal-page button,.portal-page input,.portal-page select,.portal-page textarea {
    font: inherit
}

.portal-top {
    background: #020304;
    border-bottom: 1px solid #33383d;
    align-items: center;
    gap: 22px;
    height: 76px;
    padding: 0 clamp(18px,4vw,64px);
    display: flex
}

.portal-brand {
    width: 250px;
    display: block
}

.portal-brand img {
    width: 100%;
    height: auto;
    display: block
}

.portal-top>div {
    border-left: 1px solid #3d4349;
    flex-direction: column;
    gap: 3px;
    padding-left: 20px;
    display: flex
}

.portal-top>div b {
    letter-spacing: 1.6px;
    font-size: 12px
}

.portal-top>div small {
    color: #7f8a92;
    letter-spacing: 1px;
    font: 8px monospace
}

.portal-home {
    color: #b9c0c5;
    letter-spacing: .8px;
    margin-left: auto;
    font-size: 10px;
    font-weight: 900
}

.portal-banner {
    background: linear-gradient(90deg,#15191c,#0d1012);
    border-bottom: 1px solid #363c42;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 28px;
    padding: 13px clamp(18px,4vw,64px);
    display: grid
}

.portal-banner b {
    color: #20c8ee;
    letter-spacing: 1.2px;
    font: 10px monospace
}

.portal-banner span {
    color: #9ba4aa;
    font-size: 11px
}

.portal-shell {
    grid-template-columns: 220px 1fr;
    max-width: 1500px;
    min-height: calc(100vh - 121px);
    margin: 0 auto;
    display: grid
}

.portal-nav {
    border-right: 1px solid var(--portal-border);
    background: #050607;
    padding: 25px 14px
}

.portal-nav button {
    color: #aab2b8;
    text-align: left;
    cursor: pointer;
    background: 0 0;
    border: 0;
    border-bottom: 1px solid #262b30;
    width: 100%;
    padding: 13px 14px;
    font-size: 11px;
    font-weight: 800
}

.portal-nav button:hover,.portal-nav button.active {
    color: #fff;
    box-shadow: inset 3px 0 0 var(--portal-red);
    background: #15191d
}

.portal-nav .staff-preview-button {
    color: #20c8ee;
    border: 1px solid #4c545c;
    margin-top: 28px
}

.portal-main {
    min-width: 0;
    padding: 38px clamp(20px,4vw,62px) 70px
}

.portal-title {
    justify-content: space-between;
    align-items: flex-start;
    gap: 22px;
    margin-bottom: 25px;
    display: flex
}

.portal-title span {
    color: #20c8ee;
    letter-spacing: 1.4px;
    font: 9px monospace
}

.portal-title h1 {
    letter-spacing: .2px;
    margin: 8px 0 0;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(38px,5vw,66px);
    font-style: italic;
    line-height: .9
}

.portal-status {
    color: #c5cbd0;
    letter-spacing: .7px;
    white-space: nowrap;
    border: 1px solid #50575e;
    justify-content: center;
    align-items: center;
    min-height: 25px;
    padding: 5px 9px;
    font: 8px monospace;
    display: inline-flex
}

.portal-status.good {
    color: #55e0af;
    background: #0d261e;
    border-color: #1b8b63
}

.portal-status.warn {
    color: #ffc36c;
    background: #2a1c0b;
    border-color: #985f1d
}

.portal-cards {
    border: 1px solid var(--portal-border);
    background: #050607;
    grid-template-columns: repeat(4,1fr);
    display: grid
}

.portal-cards article {
    border-right: 1px solid var(--portal-border);
    flex-direction: column;
    gap: 10px;
    min-height: 165px;
    padding: 20px;
    display: flex
}

.portal-cards article:last-child {
    border-right: 0
}

.portal-cards article>span {
    color: #7d8992;
    letter-spacing: 1px;
    font: 9px monospace
}

.portal-cards strong {
    font-size: 17px;
    line-height: 1.25
}

.portal-cards button,.portal-cards a {
    color: #20c8ee;
    text-align: left;
    cursor: pointer;
    background: 0 0;
    border: 0;
    margin-top: auto;
    padding: 0;
    font-size: 10px;
    font-weight: 900
}

.portal-cards small {
    color: #808a91;
    margin-top: auto;
    font-size: 10px;
    line-height: 1.5
}

.portal-info {
    border-left: 4px solid var(--portal-red);
    background: #0d1012;
    margin-top: 28px;
    padding: 24px
}

.portal-info h2,.reg-panel h2,.checkin-panel h2 {
    text-transform: uppercase;
    margin: 0 0 8px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 25px;
    font-style: italic
}

.portal-info h2:not(:first-child) {
    margin-top: 22px
}

.portal-info p,.portal-lead {
    color: #a4adb3;
    max-width: 850px;
    font-size: 13px;
    line-height: 1.65
}

.portal-form-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    max-width: 900px;
    display: grid
}

.portal-field {
    flex-direction: column;
    gap: 7px;
    display: flex
}

.portal-field>span,.role-switch label,.portal-check {
    color: #9fa9b0;
    letter-spacing: .8px;
    text-transform: uppercase;
    font: 9px monospace
}

.portal-field input,.portal-field select,.portal-field textarea,.role-switch select,.number-picker input {
    color: #fff;
    background: #111519;
    border: 1px solid #424950;
    min-height: 46px;
    padding: 10px 12px
}

.portal-field textarea {
    resize: vertical;
    min-height: 92px
}

.portal-field input:focus,.portal-field select:focus,.portal-field textarea:focus,.number-picker input:focus {
    outline: 2px solid var(--portal-cyan);
    outline-offset: 1px
}

.portal-save-note {
    color: #7f8990;
    margin-top: 14px;
    font: 9px/1.5 monospace;
    display: block
}

.portal-button {
    color: #fff;
    letter-spacing: .5px;
    cursor: pointer;
    background: #111519;
    border: 1px solid #59626a;
    justify-content: center;
    align-items: center;
    min-height: 42px;
    padding: 0 17px;
    font-size: 10px;
    font-weight: 900;
    display: inline-flex
}

.portal-button.red {
    background: linear-gradient(105deg,#a90008,#e01925);
    border-color: #f02631
}

.portal-button.disabled,.portal-button:disabled {
    opacity: .46;
    cursor: not-allowed
}

.garage-list {
    border: 1px solid var(--portal-border);
    margin-bottom: 25px
}

.garage-list article {
    border-bottom: 1px solid var(--portal-border);
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 17px 20px;
    display: flex
}

.garage-list article:last-child {
    border-bottom: 0
}

.garage-list h3 {
    margin: 8px 0 4px;
    font-size: 17px
}

.garage-list p {
    color: #8d979e;
    margin: 0;
    font-size: 11px
}

.garage-list article>div:last-child {
    flex-wrap: wrap;
    gap: 7px;
    display: flex
}

.garage-list button {
    color: #bec5ca;
    cursor: pointer;
    background: #0b0d0f;
    border: 1px solid #424a52;
    padding: 7px 9px;
    font-size: 9px
}

.garage-list button.danger {
    color: #ff6d73
}

.garage-editor {
    margin: 26px 0
}

.portal-check {
    background: #0e1114;
    border: 1px solid #333a40;
    align-items: center;
    gap: 10px;
    min-height: 43px;
    padding: 11px 12px;
    display: flex
}

.portal-check input {
    accent-color: var(--portal-red)
}

.number-picker {
    border: 1px solid var(--portal-border);
    background: #0d1012;
    align-items: end;
    gap: 20px;
    max-width: 650px;
    padding: 25px;
    display: flex
}

.number-picker .portal-field {
    flex: 1
}

.number-picker>input {
    width: 160px
}

.number-picker>strong {
    color: #fff;
    text-shadow: 4px 0 0 var(--portal-red);
    font: 72px/.8 Impact,sans-serif
}

.number-row {
    color: #aab2b7;
    border: 1px solid #30363b;
    grid-template-columns: 70px 1fr auto;
    align-items: center;
    gap: 15px;
    max-width: 650px;
    margin: 10px 0;
    padding: 13px 15px;
    font-size: 11px;
    display: grid
}

.number-row>span {
    color: #fff;
    font: 22px Impact,sans-serif
}

.reg-steps {
    border: 1px solid var(--portal-border);
    grid-template-columns: repeat(9,1fr);
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
    display: grid
}

.reg-steps li {
    border-right: 1px solid var(--portal-border);
    color: #657078;
    min-width: 0;
    padding: 0;
    display: flex
}

.reg-steps li:last-child {
    border-right: 0
}

.reg-steps button {
    all: unset;
    box-sizing: border-box;
    width: 100%;
    color: inherit;
    cursor: pointer;
    flex-direction: column;
    gap: 6px;
    padding: 12px 9px;
    display: flex
}

.reg-steps button:focus-visible {
    outline: 2px solid var(--portal-cyan);
    outline-offset: -3px
}

.reg-steps button:disabled {
    opacity: .46;
    cursor: not-allowed
}

.reg-steps b {
    font: 16px Impact,sans-serif
}

.reg-steps span {
    letter-spacing: .5px;
    text-overflow: ellipsis;
    font: 7px monospace;
    overflow: hidden
}

.reg-steps li.active {
    color: #fff;
    box-shadow: inset 0 3px 0 var(--portal-red);
    background: #191e22
}

.reg-steps li.done {
    color: #50d1a3
}

.reg-panel {
    border: 1px solid var(--portal-border);
    background: linear-gradient(120deg,#20c8ee09,#0000 45%),#0b0d0f;
    min-height: 430px;
    padding: 28px
}

.reg-panel>p {
    color: #9ba5ac;
    max-width: 780px;
    font-size: 13px;
    line-height: 1.6
}

.vehicle-choice {
    cursor: pointer;
    background: #111519;
    border: 1px solid #394047;
    align-items: center;
    gap: 12px;
    max-width: 650px;
    margin: 9px 0;
    padding: 14px;
    display: flex
}

.vehicle-choice input {
    accent-color: var(--portal-red)
}

.vehicle-choice span {
    flex-direction: column;
    gap: 4px;
    display: flex
}

.vehicle-choice small {
    color: #869098
}

.big-readout {
    color: #fff;
    text-transform: uppercase;
    margin: 20px 0;
    font: clamp(30px,5vw,55px) Impact,sans-serif;
    display: block
}

.summary-list {
    border: 1px solid #343b41;
    max-width: 780px;
    margin: 20px 0
}

.summary-list>div {
    border-bottom: 1px solid #343b41;
    grid-template-columns: 190px 1fr;
    padding: 11px 14px;
    display: grid
}

.summary-list>div:last-child {
    border-bottom: 0
}

.summary-list dt {
    color: #7e8991;
    text-transform: uppercase;
    font: 9px monospace
}

.summary-list dd {
    color: #e1e5e7;
    margin: 0;
    font-size: 12px;
    font-weight: 700
}

.capacity-bar {
    background: #0a0c0e;
    border: 1px solid #394149;
    max-width: 780px;
    height: 42px;
    margin: 20px 0;
    position: relative
}

.capacity-bar i {
    background: #197e96;
    position: absolute;
    inset: 0 auto 0 0
}

.capacity-bar span {
    z-index: 1;
    color: #dce1e3;
    align-items: center;
    height: 100%;
    padding: 0 13px;
    font: 9px monospace;
    display: flex;
    position: relative
}

.reg-actions {
    border-top: 1px solid #333a40;
    justify-content: space-between;
    gap: 15px;
    margin-top: 28px;
    padding-top: 20px;
    display: flex
}

.reg-actions>button:not(.portal-button) {
    color: #aab2b7;
    background: #0e1114;
    border: 1px solid #414950;
    min-height: 42px;
    padding: 0 15px;
    font-size: 10px;
    font-weight: 800
}

.credential {
    border: 1px solid #55616b;
    border-top: 4px solid var(--portal-red);
    background: linear-gradient(115deg,#18212a,#080a0c 65%);
    max-width: 520px;
    min-height: 205px;
    margin: 18px 0;
    padding: 24px;
    position: relative;
    overflow: hidden
}

.credential>span {
    color: #20c8ee;
    letter-spacing: 1.3px;
    font: 9px monospace;
    display: block
}

.credential>strong {
    margin-top: 16px;
    font: 72px/.85 Impact,sans-serif;
    display: block
}

.credential>b {
    margin-top: 9px;
    display: block
}

.credential>small {
    color: #87929a;
    margin-top: 16px;
    font: 9px monospace;
    display: block
}

.fake-qr {
    background: #fff;
    grid-template-columns: repeat(3,1fr);
    gap: 4px;
    width: 92px;
    height: 92px;
    padding: 6px;
    display: grid;
    position: absolute;
    bottom: 24px;
    right: 24px
}

.fake-qr i {
    background: #101214
}

.checkin-panel {
    background: #0d1012;
    border: 1px solid #3a4248;
    max-width: 780px;
    margin-top: 22px;
    padding: 22px
}

.checkin-panel .portal-status {
    margin-left: 12px
}

.staff-overlay {
    z-index: 200;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    background: #000000db;
    place-items: center;
    padding: 20px;
    display: grid;
    position: fixed;
    inset: 0
}

.staff-modal {
    border: 1px solid #525a62;
    border-top: 5px solid var(--portal-red);
    background: #0a0c0e;
    width: min(1100px,100%);
    max-height: 92vh;
    padding: 28px;
    overflow: auto;
    box-shadow: 0 24px 80px #000
}

.staff-modal>header {
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    display: flex
}

.staff-modal>header span {
    color: #ffb252;
    font: 9px monospace
}

.staff-modal h2 {
    text-transform: uppercase;
    margin: 7px 0 0;
    font-family: Impact,sans-serif;
    font-size: 34px
}

.staff-modal>header button {
    color: #fff;
    background: #111519;
    border: 1px solid #4b535a;
    padding: 9px 12px;
    font-size: 10px
}

.security-callout {
    background: #2a1c0b;
    border-left: 4px solid #d88921;
    margin: 20px 0;
    padding: 15px
}

.security-callout b {
    color: #ffc16d;
    font: 10px monospace
}

.security-callout p {
    color: #cbbca8;
    margin: 5px 0 0;
    font-size: 11px;
    line-height: 1.5
}

.role-switch {
    margin: 18px 0
}

.role-switch label {
    align-items: center;
    gap: 12px;
    display: flex
}

.role-switch select {
    min-height: 38px
}

.admin-metrics {
    border: 1px solid #343b41;
    grid-template-columns: repeat(7,1fr);
    margin: 18px 0;
    display: grid
}

.admin-metrics article {
    border-right: 1px solid #343b41;
    padding: 15px 11px
}

.admin-metrics article:last-child {
    border-right: 0
}

.admin-metrics strong {
    font: 28px Impact,sans-serif;
    display: block
}

.admin-metrics span {
    color: #7e8991;
    font: 7px monospace
}

.staff-record {
    background: #0e1114;
    border: 1px solid #394047;
    margin-top: 20px;
    padding: 20px
}

.staff-record h3 {
    margin: 0 0 5px
}

.staff-record>p {
    color: #8d979e;
    font-size: 11px
}

.staff-status-grid {
    border: 1px solid #353c42;
    grid-template-columns: repeat(4,1fr);
    margin: 18px 0;
    display: grid
}

.staff-status-grid span {
    color: #77828a;
    border-right: 1px solid #353c42;
    flex-direction: column;
    gap: 6px;
    padding: 12px;
    font: 8px monospace;
    display: flex
}

.staff-status-grid span:last-child {
    border-right: 0
}

.staff-status-grid b {
    color: #fff;
    font-size: 9px
}

.staff-actions {
    flex-wrap: wrap;
    gap: 8px;
    margin: 15px 0;
    display: flex
}

.staff-actions button {
    color: #fff;
    cursor: pointer;
    background: #161a1e;
    border: 1px solid #4c555d;
    padding: 9px 11px;
    font-size: 9px;
    font-weight: 800
}

@media (width<=900px) {
    .portal-cards {
        grid-template-columns: 1fr 1fr
    }

    .portal-cards article {
        border-bottom: 1px solid var(--portal-border)
    }

    .portal-cards article:nth-child(2n) {
        border-right: 0
    }

    .portal-cards article:nth-last-child(-n+2) {
        border-bottom: 0
    }

    .reg-steps {
        grid-template-columns: repeat(5,1fr)
    }

    .reg-steps li {
        border-bottom: 1px solid var(--portal-border)
    }

    .admin-metrics {
        grid-template-columns: repeat(4,1fr)
    }

    .admin-metrics article {
        border-bottom: 1px solid #343b41
    }

    .admin-metrics article:nth-child(4n) {
        border-right: 0
    }
}

@media (width<=720px) {
    .portal-top {
        gap: 10px;
        height: 64px;
        padding: 0 14px
    }

    .portal-brand {
        width: 178px
    }

    .portal-top>div {
        display: none
    }

    .portal-home {
        font-size: 8px
    }

    .portal-banner {
        grid-template-columns: 1fr;
        gap: 5px;
        padding: 11px 14px
    }

    .portal-banner span {
        font-size: 9px;
        line-height: 1.4
    }

    .portal-shell {
        display: block
    }

    .portal-nav {
        border-right: 0;
        border-bottom: 1px solid var(--portal-border);
        gap: 5px;
        padding: 9px 12px;
        display: flex;
        overflow-x: auto
    }

    .portal-nav button {
        border: 1px solid #293037;
        flex: none;
        width: auto;
        padding: 10px 11px;
        font-size: 9px
    }

    .portal-nav .staff-preview-button {
        margin: 0
    }

    .portal-main {
        padding: 26px 14px 60px
    }

    .portal-title h1 {
        font-size: 42px
    }

    .portal-title {
        align-items: flex-start
    }

    .portal-cards {
        grid-template-columns: 1fr
    }

    .portal-cards article,.portal-cards article:nth-child(2n),.portal-cards article:nth-last-child(-n+2) {
        border-right: 0;
        border-bottom: 1px solid var(--portal-border);
        min-height: 130px
    }

    .portal-cards article:last-child {
        border-bottom: 0
    }

    .portal-form-grid {
        grid-template-columns: 1fr
    }

    .garage-list article {
        flex-direction: column;
        align-items: flex-start
    }

    .number-picker {
        flex-direction: column;
        align-items: stretch
    }

    .number-picker>strong {
        font-size: 58px
    }

    .number-row {
        grid-template-columns: 55px 1fr
    }

    .number-row .portal-status {
        grid-column: 1/-1
    }

    .reg-steps {
        display: flex;
        overflow-x: auto
    }

    .reg-steps li {
        border-bottom: 0;
        min-width: 78px
    }

    .reg-panel {
        padding: 20px 15px
    }

    .summary-list>div {
        grid-template-columns: 1fr;
        gap: 5px
    }

    .reg-actions {
        flex-direction: column-reverse;
        align-items: stretch
    }

    .reg-actions button {
        width: 100%
    }

    .credential {
        min-height: 250px
    }

    .fake-qr {
        width: 78px;
        height: 78px;
        bottom: 20px;
        right: 20px
    }

    .staff-overlay {
        padding: 0
    }

    .staff-modal {
        border-left: 0;
        border-right: 0;
        min-height: 100vh;
        max-height: 100vh;
        padding: 20px 14px
    }

    .staff-modal h2 {
        font-size: 26px
    }

    .staff-modal>header {
        align-items: flex-start
    }

    .admin-metrics {
        grid-template-columns: 1fr 1fr
    }

    .admin-metrics article:nth-child(2n) {
        border-right: 0
    }

    .staff-status-grid {
        grid-template-columns: 1fr 1fr
    }

    .staff-status-grid span:nth-child(2n) {
        border-right: 0
    }

    .role-switch label {
        flex-direction: column;
        align-items: flex-start
    }
}

@media (width<=1120px) {
    .process-strip {
        grid-template-columns: repeat(4,1fr)
    }

    .process-strip li {
        border-bottom: 1px solid #3d454e
    }

    .process-strip li:nth-child(4n) {
        border-right: 0
    }

    .process-strip li:nth-last-child(-n+4) {
        border-bottom: 0
    }

    .benefit-preview-grid {
        grid-template-columns: repeat(2,1fr)
    }

    .benefit-preview-grid article:nth-child(3n) {
        border-right: 1px solid #3d454e
    }

    .benefit-preview-grid article:nth-child(2n) {
        border-right: 0
    }

    .benefit-preview-grid article:nth-last-child(-n+3) {
        border-bottom: 1px solid #3d454e
    }

    .benefit-preview-grid article:nth-last-child(-n+2) {
        border-bottom: 0
    }
}

@media (width<=720px) {
    .compact-home .section {
        padding: 48px 18px
    }

    .compact-hero {
        min-height: 720px;
        padding-top: 68px
    }

    .compact-hero .hero-final-media,.compact-hero .hero-final-shade {
        inset: 68px 0 0
    }

    .compact-hero .hero-final-shell {
        width: 100%;
        min-height: 652px;
        padding: 110px 18px 24px
    }

    .compact-hero .hero-final-copy {
        width: 100%;
        padding: 0
    }

    .compact-hero .hero-final-copy h1 {
        font-size: 43px;
        line-height: .92
    }

    .compact-hero .hero-final-intro {
        font-size: 13px
    }

    .compact-hero .hero-registration-status {
        margin-top: 12px;
        padding: 10px 12px
    }

    .compact-hero .hero-registration-status strong {
        font-size: 11px
    }

    .compact-hero .hero-registration-status span {
        font-size: 10px
    }

    .compact-hero .hero-final-actions {
        margin-top: 13px
    }

    .compact-hero .hero-final-promises {
        display: none
    }

    .compact-hero .mobile-hero-advantages {
        top: 68px
    }

    .compact-heading h2 {
        font-size: 43px
    }

    .compact-heading>p:not(.eyebrow) {
        font-size: 14px
    }

    .compact-explainer,.compact-safety {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .beginner-point-list {
        grid-template-columns: 1fr
    }

    .beginner-point-list li,.beginner-point-list li:nth-child(2n),.beginner-point-list li:nth-last-child(-n+2) {
        border-bottom: 1px solid #3d454e;
        border-right: 0;
        min-height: 58px
    }

    .beginner-point-list li:last-child {
        border-bottom: 0
    }

    .benefit-preview-grid {
        grid-template-columns: 1fr;
        margin-top: 26px
    }

    .benefit-preview-grid article,.benefit-preview-grid article:nth-child(2n),.benefit-preview-grid article:nth-child(3n),.benefit-preview-grid article:nth-last-child(-n+2) {
        border-bottom: 1px solid #3d454e;
        border-right: 0;
        min-height: 0;
        padding: 20px
    }

    .benefit-preview-grid article:last-child {
        border-bottom: 0
    }

    .benefit-preview-grid h3 {
        margin-top: 14px
    }

    .inline-preview-links {
        grid-template-columns: 1fr
    }

    .inline-preview-links a {
        flex-direction: column;
        align-items: flex-start
    }

    .process-strip {
        grid-template-columns: 1fr 1fr;
        margin-top: 26px
    }

    .process-strip li,.process-strip li:nth-child(4),.process-strip li:nth-last-child(-n+4) {
        border-bottom: 1px solid #3d454e;
        border-right: 1px solid #3d454e;
        min-height: 92px
    }

    .process-strip li:nth-child(2n) {
        border-right: 0
    }

    .process-strip li:nth-last-child(-n+2) {
        border-bottom: 0
    }

    .process-strip span {
        margin-bottom: 14px
    }

    .two-card-grid,.price-preview-grid {
        grid-template-columns: 1fr
    }

    .two-card-grid article,.price-preview-grid article {
        border-bottom: 1px solid #3d454e;
        border-right: 0;
        min-height: 0
    }

    .two-card-grid article:last-child,.price-preview-grid article:last-child {
        border-bottom: 0
    }

    .price-preview-grid strong {
        font-size: 52px
    }

    .event-staff-callout {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 20px 18px
    }

    .event-staff-callout>div {
        grid-template-columns: 1fr
    }

    .event-staff-callout strong {
        margin: 10px 0 7px;
        font-size: 34px
    }

    .event-staff-callout>a {
        white-space: normal;
        text-align: center;
        width: 100%
    }

    .pricing-detail-actions {
        grid-template-columns: 1fr
    }

    .event-staff-apply-button {
        white-space: normal;
        text-align: center;
        width: 100%
    }

    .section-actions,.compact-contact {
        flex-direction: column;
        align-items: flex-start
    }

    .final-registration h2 {
        font-size: 44px
    }

    .footer-top,.footer-bottom {
        flex-direction: column;
        align-items: flex-start
    }

    .footer-top>p {
        margin: 0
    }

    .footer-groups {
        grid-template-columns: 1fr 1fr;
        gap: 28px 20px
    }

    .useful-footer .footer-wordmark,.useful-footer .pmc-brand-lockup,.useful-footer .pmc-approved-mark {
        width: 210px
    }

    .detail-header {
        height: 68px
    }

    .detail-hero {
        min-height: 330px;
        padding: 72px 18px 40px
    }

    .detail-hero h1 {
        font-size: 46px
    }

    .detail-hero>div>p:last-child {
        font-size: 14px
    }

    .detail-section {
        padding: 52px 18px
    }

    .detail-section>h2 {
        font-size: 42px
    }

    .detail-card-grid.two,.detail-card-grid.three {
        grid-template-columns: 1fr
    }

    .detail-card-grid article,.detail-card-grid.two article:nth-child(2n),.detail-card-grid.three article:nth-child(3n) {
        border-bottom: 1px solid #3d454e;
        border-right: 0;
        min-height: 0
    }

    .detail-card-grid article:last-child {
        border-bottom: 0
    }

    .detail-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 38px 18px
    }

    .story-copy>p,.policy-copy>p {
        font-size: 15px
    }

    .final-mobile-menu>div>details summary {
        color: #19c8ee;
        text-transform: uppercase;
        padding: 11px 13px;
        font-size: 10px;
        font-weight: 900
    }

    .final-mobile-menu>div>details a {
        padding-left: 24px
    }
}

.driver-development-hero {
    background: linear-gradient(100deg,#04070afa,#0a1118de),url(/pmc-hero.png) 50% 44%/cover
}

.driver-development-hero>div {
    max-width: 950px
}

.driver-development-hero h1 {
    max-width: 900px
}

.development-path {
    border: 1px solid #3d454e;
    grid-template-columns: repeat(3,1fr);
    margin: 32px 0;
    padding: 0;
    list-style: none;
    display: grid
}

.development-path li {
    border-bottom: 1px solid #3d454e;
    border-right: 1px solid #3d454e;
    min-height: 132px;
    padding: 22px
}

.development-path li:nth-child(3n) {
    border-right: 0
}

.development-path li:nth-last-child(-n+3) {
    border-bottom: 0
}

.development-path span {
    color: var(--red);
    margin-bottom: 20px;
    font: 24px Impact,sans-serif;
    display: block
}

.development-path b {
    text-transform: uppercase;
    font-size: 14px;
    line-height: 1.5
}

@media (width<=720px) {
    .driver-development-hero h1 {
        font-size: 43px
    }

    .development-path {
        grid-template-columns: 1fr
    }

    .development-path li,.development-path li:nth-child(3n),.development-path li:nth-last-child(-n+3) {
        border-bottom: 1px solid #3d454e;
        border-right: 0;
        min-height: 0
    }

    .development-path li:last-child {
        border-bottom: 0
    }
}

.final-header {
    z-index: 30;
    background: #020304f5;
    border-bottom: 1px solid #ffffff2e;
    align-items: center;
    gap: 24px;
    height: 76px;
    padding: 0 clamp(24px,4.2vw,70px);
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 7px 24px #00000059
}

.final-brand {
    color: #f4f4f1;
    flex: none;
    align-items: center;
    gap: 8px;
    min-width: 315px;
    height: 70px;
    display: flex
}

.pmc-brand-lockup {
    align-items: center;
    width: 300px;
    height: 70px;
    display: flex;
    position: relative;
    overflow: hidden
}

.pmc-approved-mark {
    width: 300px;
    max-width: 100%;
    height: auto;
    display: block
}

.pmc-mobile-autocross {
    display: none
}

.footer-wordmark {
    width: max-content;
    min-width: 0
}

.final-nav {
    justify-content: center;
    align-items: center;
    gap: clamp(10px,1.25vw,22px);
    margin-left: auto;
    display: flex
}

.final-nav a {
    color: #c8cccf;
    letter-spacing: .35px;
    text-transform: uppercase;
    white-space: nowrap;
    padding: 29px 0 24px;
    font-size: 10px;
    font-weight: 800;
    position: relative
}

.final-nav a:after {
    content: "";
    background: #20c8ee;
    height: 2px;
    transition: right .2s;
    position: absolute;
    bottom: 14px;
    left: 0;
    right: 100%
}

.final-nav a:hover:after,.final-nav a.active:after {
    right: 0
}

.final-nav a.founding-main-link {
    color: #fff
}

.final-nav a.founding-main-link:after {
    background: #ef1b24;
    height: 3px;
    right: 0;
    box-shadow: 0 0 10px #ef1b246b
}

.final-socials {
    flex: none;
    align-items: center;
    gap: 7px;
    display: flex
}

.language-switcher {
    color: #eef1f2;
    flex: none;
    position: relative
}

.language-switcher>summary {
    cursor: pointer;
    letter-spacing: .3px;
    white-space: nowrap;
    background: #040506e0;
    border: 1px solid #ffffff47;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 10px;
    font-size: 9px;
    list-style: none;
    display: flex
}

.language-switcher>summary::-webkit-details-marker {
    display: none
}

.language-switcher>summary span {
    font-size: 13px
}

.language-switcher>summary i {
    color: #df1f2d;
    font-style: normal
}

.language-switcher>nav {
    z-index: 80;
    background: #050607;
    border: 1px solid #454b50;
    border-top: 3px solid #df1f2d;
    width: 164px;
    padding: 5px;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    box-shadow: 0 16px 35px #000000a6
}

.language-switcher>nav a {
    color: #c6cccf;
    border-bottom: 1px solid #24282c;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    font-size: 10px;
    font-weight: 800;
    display: flex
}

.language-switcher>nav a:last-child {
    border-bottom: 0
}

.language-switcher>nav a span {
    color: #df1f2d;
    letter-spacing: .8px;
    width: 25px;
    font-size: 8px;
    font-weight: 900
}

.language-switcher>nav a:hover,.language-switcher>nav a.active {
    color: #fff;
    background: #191c1f
}

.language-switcher.compact>summary {
    min-height: 30px;
    padding: 0 8px
}

.language-switcher.compact>summary b {
    text-overflow: ellipsis;
    max-width: 72px;
    overflow: hidden
}

@media (width>=721px) {
    .language-switcher>nav {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        display: flex
    }

    .language-switcher>nav a {
        flex: none;
        width: 100%
    }
}

.price-preview-grid.single {
    grid-template-columns: minmax(0,1fr)
}

.price-preview-grid.single article {
    border-right: 0
}

.pricing-program-links {
    color: #c7cfd3;
    background: #0a0e11;
    border: 1px solid #3d454e;
    gap: 10px;
    margin: 14px 0 18px;
    padding: 18px;
    display: grid
}

.pricing-program-links p {
    margin: 0;
    font-size: 13px;
    line-height: 1.55
}

.pricing-program-links b {
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 4px;
    font: 900 10px/1.2 monospace;
    display: block
}

.pricing-program-links a {
    color: #21c9ee;
    font-weight: 800
}

.founding-renewal>div>strong {
    color: #fff;
    margin-top: 18px;
    font: 56px/.9 Impact,sans-serif;
    display: block
}

.portal-benefits-summary {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
    margin: 16px 0;
    display: grid
}

.portal-benefits-summary article,.admin-benefits-panel {
    background: #0d1215;
    border: 1px solid #3b464e;
    padding: 18px
}

.portal-benefits-summary span {
    color: #9eabb2;
    letter-spacing: 1px;
    font: 800 10px/1.2 monospace;
    display: block
}

.portal-benefits-summary strong {
    color: #fff;
    margin: 8px 0;
    font: 24px/1 Impact,sans-serif;
    display: block
}

.portal-benefits-summary p,.admin-benefits-panel>p {
    color: #b6c0c6;
    margin: 0;
    font-size: 12px;
    line-height: 1.5
}

.volunteer-status-list {
    gap: 8px;
    margin-top: 16px;
    display: grid
}

.volunteer-status-list article,.admin-benefit-row {
    background: #090d0f;
    border: 1px solid #384148;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px;
    display: flex
}

.admin-benefits-panel {
    margin: 22px 0
}

.admin-benefits-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
    margin-top: 18px;
    display: grid
}

.admin-benefits-grid>article {
    background: #080b0d;
    border: 1px solid #343d43;
    padding: 14px
}

.admin-benefits-grid h3 {
    color: #fff;
    text-transform: uppercase;
    margin: 0 0 12px
}

.admin-benefit-row {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 8px
}

.admin-benefit-row span {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    display: flex
}

.admin-benefit-row small {
    color: #aeb8bd
}

.admin-benefit-row button {
    color: #fff;
    background: #141a1e;
    border: 1px solid #59656d;
    margin: 4px 6px 0 0;
    padding: 8px;
    font-size: 10px;
    font-weight: 800
}

@media (width<=720px) {
    .portal-benefits-summary,.admin-benefits-grid {
        grid-template-columns: 1fr
    }

    .pricing-program-links {
        padding: 14px
    }

    .founding-renewal>div>strong {
        font-size: 46px
    }
}

.timing-shell {
    width: min(1120px,100% - 34px);
    margin: 0 auto;
    padding: 36px 0 80px
}

.timing-shell>.portal-field {
    max-width: 560px
}

.timing-card,.timing-preview {
    background: #0b1013;
    border: 1px solid #3c464d;
    margin-top: 22px;
    padding: 24px
}

.timing-card>span {
    color: var(--portal-red);
    letter-spacing: 1.5px;
    font-size: 10px;
    font-weight: 900
}

.timing-card h2,.timing-preview h2 {
    margin: 7px 0 8px
}

.timing-card p {
    color: #bdc6cb
}

.timing-card input[type=file] {
    color: #dce2e5;
    margin: 16px 0;
    display: block
}

.timing-table {
    overflow: auto
}

.timing-row {
    border-bottom: 1px solid #30383d;
    grid-template-columns: 70px 70px minmax(210px,1fr) 110px 180px;
    gap: 12px;
    min-width: 720px;
    padding: 11px;
    display: grid
}

.timing-row.head {
    background: #151b1f
}

.timing-row .good {
    color: #5fe19a
}

@media (width<=720px) {
    .timing-shell {
        width: min(100% - 22px,1120px);
        padding-top: 22px
    }

    .timing-card,.timing-preview {
        padding: 16px
    }

    .timing-card .staff-event-actions {
        grid-template-columns: 1fr;
        display: grid
    }

    .timing-card .portal-button {
        width: 100%
    }
}

.pronto-validation {
    background: #15120d;
    border: 1px solid #3e474d;
    border-left: 5px solid #d58a25;
    align-items: center;
    gap: 14px;
    margin: 18px 0;
    padding: 15px 17px;
    display: flex
}

.pronto-validation strong {
    text-transform: uppercase;
    font: 30px Impact,sans-serif
}

.pronto-validation b {
    color: #aeb8bd;
    font-size: 11px
}

.pronto-validation.ready {
    background: #0c1813;
    border-left-color: #39c887
}

.pronto-validation.ready strong,.pronto-ready {
    color: #5fe19a
}

.pronto-validation.blocked {
    background: #1c0c0e;
    border-left-color: #e12631
}

.pronto-validation.blocked strong {
    color: #ff5c65
}

.pronto-issues {
    border: 1px solid #503136;
    margin: 14px 0;
    padding: 0;
    list-style: none
}

.pronto-issues li {
    color: #ffc0c4;
    border-bottom: 1px solid #503136;
    padding: 10px 13px;
    font-size: 11px
}

.pronto-issues li:last-child {
    border-bottom: 0
}

.pronto-ready {
    font-weight: 800;
    font-size: 11px!important
}

.timing-card .staff-event-actions {
    margin-top: 18px
}

:lang(es) .hero-final-copy h1,:lang(ru) .hero-final-copy h1,:lang(pt) .hero-final-copy h1,:lang(fr) .hero-final-copy h1 {
    font-size: clamp(52px,4.2vw,68px)
}

:lang(es) .final-nav,:lang(ru) .final-nav,:lang(pt) .final-nav,:lang(fr) .final-nav {
    gap: clamp(7px,1vw,15px)
}

:lang(es) .final-nav a,:lang(ru) .final-nav a,:lang(pt) .final-nav a,:lang(fr) .final-nav a {
    font-size: 9px
}

.final-socials a {
    color: #fff;
    border: 1px solid #ffffff6b;
    border-radius: 8px;
    place-items: center;
    width: 27px;
    height: 27px;
    transition: transform .2s,filter .2s,box-shadow .2s;
    display: grid;
    box-shadow: 0 5px 13px #00000061
}

.final-socials a:hover {
    filter: brightness(1.12);
    transform: translateY(-2px)scale(1.06);
    box-shadow: 0 8px 18px #00000080
}

.final-socials svg {
    fill: currentColor;
    width: 15px;
    height: 15px;
    display: block
}

.header-social-facebook {
    background: #1877f2
}

.header-social-instagram {
    background: radial-gradient(circle at 31% 103%,#ffd600 0 18%,#ff7a00 31%,#ff0169 55%,#d300c5 72%,#7638fa 100%)
}

.header-social-tiktok {
    background: #050505;
    box-shadow: -1px 0 #25f4ee,1px 0 #fe2c55,0 5px 13px #00000061!important
}

.header-social-youtube {
    background: red
}

.final-header-cta {
    color: #fff;
    clip-path: polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);
    letter-spacing: .6px;
    text-transform: uppercase;
    white-space: nowrap;
    background: linear-gradient(105deg,#ad0007,#f0181d);
    border: 1px solid #f2262b;
    flex: none;
    justify-content: center;
    align-items: center;
    gap: 14px;
    min-height: 42px;
    padding: 0 22px;
    font-size: 11px;
    font-weight: 900;
    transition: filter .2s,transform .2s;
    display: inline-flex
}

.final-header-cta:hover {
    filter: brightness(1.15);
    transform: translateY(-1px)
}

.final-mobile-menu {
    margin-left: auto;
    display: none;
    position: relative
}

.final-mobile-menu summary {
    cursor: pointer;
    color: #fff;
    letter-spacing: 1px;
    text-transform: uppercase;
    background: #090909;
    border: 1px solid #5a626c;
    padding: 11px 14px;
    font-size: 10px;
    font-weight: 900;
    list-style: none
}

.final-mobile-menu summary::-webkit-details-marker {
    display: none
}

.final-mobile-menu>div {
    background: #050505;
    border: 1px solid #40464c;
    border-top: 3px solid #18c8ef;
    width: 250px;
    max-height: calc(100vh - 92px);
    padding: 8px;
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    overflow-y: auto;
    box-shadow: 0 18px 40px #000000a6
}

.final-mobile-menu a {
    color: #e8ecef;
    text-transform: uppercase;
    border-bottom: 1px solid #24282c;
    padding: 11px 13px;
    font-size: 11px;
    font-weight: 800;
    display: block
}

.final-mobile-menu a:last-child {
    border-bottom: 0
}

.final-mobile-menu a.mobile-register-menu-link {
    color: #fff;
    background: linear-gradient(105deg,#ad0007,#f0181d);
    border-bottom-color: #ff555a
}

.mobile-language-switcher {
    background: #0b0d0f;
    border: 1px solid #363c42;
    border-left: 3px solid #df1f2d;
    margin-bottom: 8px;
    padding: 9px
}

.mobile-language-switcher>strong {
    color: #fff;
    letter-spacing: .65px;
    text-transform: uppercase;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 10px;
    display: flex
}

.mobile-language-switcher>strong span {
    font-size: 14px
}

.mobile-language-switcher>nav {
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    display: grid
}

.final-mobile-menu .mobile-language-switcher a {
    color: #d9dee1;
    letter-spacing: 0;
    text-transform: none;
    background: #15191c;
    border: 1px solid #343a40;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 7px 8px;
    font-size: 9px;
    display: flex
}

.final-mobile-menu .mobile-language-switcher a span {
    color: #ef3340;
    letter-spacing: .7px;
    text-transform: uppercase;
    width: 22px;
    font-size: 8px;
    font-weight: 900
}

.final-mobile-menu .mobile-language-switcher a.active {
    color: #fff;
    background: #252a2e;
    border-color: #f0f1ee
}

.mobile-sticky-register,.mobile-header-language,.mobile-hero-advantages {
    display: none
}

.hero-final {
    --home-gold: #d8b33f;
    background: #020303;
    min-height: 920px;
    padding-top: 76px;
    position: relative;
    overflow: hidden
}

.hero-final-media {
    filter: saturate(.96)contrast(1.08)brightness(.92);
    background: url(/pmc-approved-exact-car-hero.png) 50%/cover no-repeat;
    position: absolute;
    inset: 76px 0 0
}

.hero-final-shade {
    background: linear-gradient(90deg,#020304ad 0%,#02030480 25%,#0203043d 46%,#0203040f 72%,#0203040a 100%),linear-gradient(#0000 57%,#02030447 82%,#020304d6 100%);
    position: absolute;
    inset: 76px 0 0
}

.hero-final-shade:before,.hero-final-stripes {
    display: none
}

.hero-final-shell {
    z-index: 2;
    width: min(100% - 72px,1440px);
    min-height: 844px;
    margin: 0 auto;
    padding-top: 64px;
    position: relative
}

.hero-final-copy {
    width: min(46%,560px);
    padding-left: 22px
}

.hero-final-eyebrow {
    color: #e0e3e4;
    letter-spacing: 2px;
    text-transform: uppercase;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    font-size: 14px;
    font-style: italic;
    font-weight: 900;
    display: flex
}

.hero-final-eyebrow span {
    filter: drop-shadow(0 1px 1px #000000a6);
    flex: none;
    gap: 4px;
    width: 34px;
    height: 10px;
    display: flex;
    transform: skew(-22deg)
}

.hero-final-eyebrow span i {
    flex: 1 1 0;
    height: 100%;
    display: block
}

.hero-final-eyebrow span i:first-child {
    background: #ed171d;
    box-shadow: inset 0 0 0 1px #f1f1ed
}

.hero-final-eyebrow span i:nth-child(2) {
    background: #f1f1ed;
    box-shadow: inset 0 0 0 1px #ed171d
}

.hero-final-eyebrow span i:nth-child(3) {
    background: #73777b;
    box-shadow: inset 0 0 0 1px #f1f1ed
}

.hero-final-copy h1 {
    letter-spacing: .5px;
    text-transform: uppercase;
    text-shadow: 4px 5px #0000008c;
    margin: 0;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(58px,4.7vw,76px);
    font-style: italic;
    font-weight: 900;
    line-height: .9
}

.hero-final-copy h1 span,.hero-final-copy h1 em {
    display: block
}

.hero-final-copy h1 span {
    color: #f3f3f0
}

.hero-final-copy h1 em {
    color: #ed171d;
    margin-top: 8px;
    font-style: italic
}

.hero-final-supporting {
    color: #f3f3f0;
    letter-spacing: .55px;
    text-transform: uppercase;
    text-shadow: 0 2px 8px #000000b3;
    max-width: 500px;
    margin: 18px 0 6px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(22px,1.8vw,29px);
    font-style: italic;
    line-height: 1
}

.hero-final-intro {
    color: #c6c9ca;
    max-width: 440px;
    margin: 18px 0 2px;
    font-size: 15px;
    line-height: 1.45
}

.hero-final-supporting+.hero-final-intro {
    margin-top: 8px
}

.hero-final-cadence {
    color: #e2c35b;
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4
}

.hero-final-formats {
    color: #f0f3f4;
    letter-spacing: .45px;
    text-transform: uppercase;
    margin: 7px 0 0;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.35
}

.hero-final-promises {
    color: #e2c35b;
    letter-spacing: .5px;
    text-transform: uppercase;
    text-shadow: 0 1px 9px #000000b8;
    flex-wrap: wrap;
    align-items: center;
    gap: 11px 0;
    margin: 18px 0 16px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 14px;
    font-style: italic;
    display: flex
}

.hero-final-promises span {
    border-right: 1px solid #e2c35b9e;
    align-items: center;
    gap: 7px;
    padding: 0 13px;
    display: inline-flex
}

.hero-final-promises span:first-child {
    padding-left: 0
}

.hero-final-promises span:last-child {
    border-right: 0
}

.hero-final-promises b {
    font-family: Arial,sans-serif;
    font-size: 20px;
    font-style: normal
}

.hero-final-actions {
    flex-wrap: wrap;
    gap: 10px;
    display: flex
}

.final-button {
    clip-path: polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);
    letter-spacing: .5px;
    text-transform: uppercase;
    border: 1px solid #ffffff3d;
    justify-content: center;
    align-items: center;
    gap: 16px;
    min-height: 43px;
    padding: 0 22px;
    font-size: 11px;
    font-weight: 900;
    transition: filter .2s,transform .2s;
    display: inline-flex
}

.final-button:hover {
    filter: brightness(1.16);
    transform: translateY(-2px)
}

.final-button-blue {
    color: #eaf7fb;
    background: linear-gradient(110deg,#087ca8,#102c39)
}

.final-button-gold {
    color: #0c0c08;
    background: linear-gradient(110deg,#dbbf55,#7e6724)
}

.final-button-red {
    color: #fff;
    background: linear-gradient(110deg,#ad0007,#f0181d)
}

.hero-live-timing {
    z-index: 3;
    width: clamp(198px,14.2vw,212px);
    box-shadow: none;
    color: #e2e7e9;
    opacity: .82;
    -webkit-backdrop-filter: blur(1.5px);
    backdrop-filter: blur(1.5px);
    background: linear-gradient(90deg,#0205074d,#02050714);
    border: 0;
    outline: 0;
    font-family: Courier New,monospace;
    transition: background .2s,opacity .2s,transform .2s;
    position: absolute;
    bottom: 24px;
    right: clamp(12px,1.5vw,24px);
    overflow: hidden
}

.hero-live-timing:hover,.hero-live-timing:focus-visible {
    box-shadow: none;
    opacity: 1;
    background: linear-gradient(90deg,#02050775,#02050729);
    transform: translateY(-2px)
}

.hero-live-timing-top,.hero-live-timing-head,.hero-live-timing-row,.hero-live-timing-foot {
    align-items: center;
    display: grid
}

.hero-live-timing-top {
    background: var(--pmc-signature-line) bottom/100% 3px no-repeat;
    text-transform: uppercase;
    border-bottom: 0;
    grid-template-columns: 1fr auto;
    padding: 6px 6px 9px
}

.hero-live-timing-top b {
    letter-spacing: .7px;
    font-size: 8px
}

.hero-live-timing-top b i {
    background: var(--red);
    border-radius: 50%;
    width: 5px;
    height: 5px;
    margin-right: 5px;
    animation: 2.2s ease-in-out infinite heroTimingPulse;
    display: inline-block;
    box-shadow: 0 0 0 2px #df1f2d21
}

.hero-live-timing-icons {
    filter: saturate(.65)contrast(1.05);
    align-items: center;
    gap: 3px;
    font-family: Apple Color Emoji,Segoe UI Emoji,sans-serif;
    font-size: 11px;
    line-height: 1;
    display: flex
}

.hero-live-timing-icons i {
    font-style: normal
}

.hero-live-timing-head,.hero-live-timing-row {
    grid-template-columns: 23px 30px 1fr 42px;
    column-gap: 3px;
    padding: 4px 6px
}

.hero-live-timing-head {
    color: #e2e7e99e;
    letter-spacing: .6px;
    border-bottom: 1px solid #8c959a3d;
    font-size: 6px
}

.hero-live-timing-row {
    border-bottom: 1px solid #8c959a33
}

.hero-live-timing-row b {
    color: #e2e7e9b3;
    font-size: 7px
}

.hero-live-timing-row strong {
    color: #e5eaec;
    font-size: 9px
}

.hero-live-timing-row time {
    color: #fff;
    letter-spacing: -.35px;
    text-shadow: 0 1px 5px #000000d9;
    justify-self: end;
    font-size: 13px;
    font-weight: 700
}

.hero-live-timing-row small {
    color: #e2e7e9b8;
    justify-self: end;
    font-size: 7px
}

.hero-live-timing-row.is-leading {
    background: linear-gradient(90deg,#df1f2d29,#0000 76%)
}

.hero-live-timing-row.is-leading strong,.hero-live-timing-row.is-leading time {
    color: #fff
}

.hero-live-timing-foot {
    color: #e2e7e9a8;
    letter-spacing: .3px;
    grid-template-columns: 1fr auto;
    padding: 5px 7px;
    font-size: 6px
}

.hero-live-timing-foot b {
    color: var(--red);
    font-size: 9px
}

@keyframes heroTimingPulse {
    0%,to {
        opacity: .5
    }

    50% {
        opacity: 1
    }
}

@media (prefers-reduced-motion:reduce) {
    .hero-live-timing-top b i {
        animation: none
    }
}

.beginner-guide {
    background: radial-gradient(circle at 78% 45%,#14a2c721,#0000 32%),#0b0f12;
    border-top: 1px solid #293138;
    border-bottom: 1px solid #293138;
    grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr);
    align-items: center;
    gap: clamp(42px,7vw,110px);
    padding: 105px clamp(28px,7vw,110px);
    display: grid
}

.beginner-guide-heading {
    max-width: 540px
}

.beginner-guide-heading h2 {
    letter-spacing: .6px;
    text-transform: uppercase;
    margin: 0;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(56px,6vw,90px);
    font-style: italic;
    font-weight: 400;
    line-height: .88
}

.beginner-guide-heading h2 em {
    color: #19c8ee;
    font-style: italic
}

.beginner-guide-heading>p {
    color: #aeb7bb;
    max-width: 480px;
    margin: 25px 0 0;
    font-size: 16px;
    line-height: 1.65
}

.beginner-guide-heading .beginner-welcome {
    color: #eef3f4;
    border-left: 3px solid #19c8ee;
    padding-left: 18px;
    font-weight: 700
}

.beginner-guide-heading .beginner-scope-note {
    color: #7f8d93;
    margin-top: 15px;
    font-size: 11px;
    line-height: 1.5
}

.beginner-video {
    min-width: 0
}

.beginner-video-frame {
    background: url(/pmc-approved-exact-car-hero.png) 72%/cover no-repeat;
    border: 1px solid #43606b;
    min-height: 430px;
    position: relative;
    overflow: hidden;
    box-shadow: 18px 18px #14a2c717
}

.beginner-video-shade {
    background: linear-gradient(90deg,#020405f5,#020405a6 55%,#02040533),linear-gradient(#0000 50%,#020405b3);
    position: absolute;
    inset: 0
}

.beginner-video-topline {
    z-index: 1;
    color: #dce4e7;
    letter-spacing: 1.6px;
    justify-content: space-between;
    font-size: 10px;
    font-weight: 900;
    display: flex;
    position: absolute;
    top: 22px;
    left: 25px;
    right: 25px
}

.beginner-video-topline span:first-child:before {
    content: "â—";
    color: #ef1b24;
    margin-right: 9px
}

.beginner-video-copy {
    z-index: 1;
    width: min(76%,570px);
    position: absolute;
    bottom: 56px;
    left: clamp(25px,5vw,60px)
}

.beginner-video-copy>span {
    color: #1bd0f3;
    letter-spacing: 1px;
    font: 12px monospace
}

.beginner-video-copy h3 {
    text-transform: uppercase;
    margin: 13px 0 10px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(40px,5vw,68px);
    font-style: italic;
    font-weight: 400;
    line-height: .95
}

.beginner-video-copy p {
    color: #d0d6d8;
    margin: 0;
    font-size: 15px;
    line-height: 1.55
}

.beginner-video-copy ul {
    grid-template-columns: 1fr 1fr;
    gap: 7px 18px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
    display: grid
}

.beginner-video-copy li {
    color: #f0f3f4;
    padding-left: 17px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    position: relative
}

.beginner-video-copy li:before {
    content: "âœ“";
    color: #19c8ee;
    position: absolute;
    left: 0
}

.beginner-play {
    z-index: 2;
    color: #fff;
    cursor: pointer;
    background: #031318c7;
    border: 1px solid #66dbf5;
    border-radius: 50%;
    place-items: center;
    width: 58px;
    height: 58px;
    font-size: 20px;
    display: grid;
    position: absolute;
    bottom: 67px;
    right: 28px
}

.beginner-play:hover {
    background: #0d98ba
}

.beginner-progress {
    z-index: 1;
    grid-template-columns: repeat(3,1fr);
    gap: 7px;
    display: grid;
    position: absolute;
    bottom: 24px;
    left: 25px;
    right: 25px
}

.beginner-progress i {
    background: #ffffff42;
    height: 3px
}

.beginner-progress i.active {
    background: #19c8ee
}

.beginner-chapters {
    border: 1px solid #354047;
    grid-template-columns: repeat(3,1fr);
    margin-top: 17px;
    display: grid
}

.beginner-chapters button {
    color: #aeb7bb;
    cursor: pointer;
    text-align: left;
    background: #080b0d;
    border: 0;
    border-right: 1px solid #354047;
    min-width: 0;
    padding: 15px 11px
}

.beginner-chapters button:last-child,.beginner-chapters button:nth-child(3n) {
    border-right: 0
}

.beginner-chapters button:nth-child(-n+3) {
    border-bottom: 1px solid #354047
}

.beginner-chapters button.active {
    color: #fff;
    background: #14343e
}

.beginner-chapters span {
    color: #19c8ee;
    margin-bottom: 7px;
    font: 10px monospace;
    display: block
}

.beginner-chapters b {
    letter-spacing: .5px;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
    font-size: 10px;
    display: block;
    overflow: hidden
}

.beginner-chapters small {
    color: #6f7e84;
    margin-top: 5px;
    font: 9px monospace;
    display: block
}

.beginner-replay {
    color: #19c8ee;
    cursor: pointer;
    letter-spacing: .8px;
    text-transform: uppercase;
    background: 0 0;
    border: 0;
    margin-top: 16px;
    padding: 0;
    font-size: 11px;
    font-weight: 900
}

.home-feature-grid {
    grid-template-columns: repeat(4,1fr);
    gap: 14px;
    display: grid;
    position: absolute;
    bottom: 101px;
    left: 0;
    right: 0
}

.home-feature-grid article {
    background: linear-gradient(100deg,#0a4558eb 0 25%,#030506f5 25.5% 100%);
    border: 1px solid #335b67;
    border-radius: 9px;
    grid-template-columns: 82px 1fr;
    align-items: center;
    gap: 12px;
    min-height: 144px;
    padding: 18px 17px 16px 11px;
    display: grid;
    position: relative;
    overflow: hidden;
    box-shadow: 0 11px 20px #00000057
}

.home-feature-grid article:before {
    content: "";
    background: linear-gradient(90deg,#4db9da,#0b2d39 70%);
    border-right: 2px solid #1dd0f3;
    width: 39px;
    position: absolute;
    top: -20px;
    bottom: -20px;
    left: 64px;
    transform: skew(-16deg)
}

.home-feature-icon {
    z-index: 1;
    color: #16c8ef;
    letter-spacing: -9px;
    place-items: center;
    width: 64px;
    font-family: Arial,sans-serif;
    font-size: 39px;
    font-weight: 400;
    display: grid;
    position: relative
}

.home-feature-grid article>div {
    z-index: 1;
    position: relative
}

.home-feature-grid h2 {
    color: #e5e6e4;
    letter-spacing: .6px;
    text-transform: uppercase;
    margin: 0 0 8px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 23px;
    font-style: italic;
    font-weight: 400
}

.home-feature-grid p {
    color: #b3b6b6;
    min-height: 48px;
    margin: 0 0 9px;
    font-size: 12px;
    line-height: 1.35
}

.home-feature-grid a {
    color: #19c7eb;
    letter-spacing: .8px;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 900
}

.home-stat-grid {
    background: #010203f5;
    border: 1px solid #2c3033;
    border-radius: 8px;
    grid-template-columns: repeat(4,1fr);
    min-height: 78px;
    display: grid;
    position: absolute;
    bottom: 12px;
    left: 0;
    right: 0
}

.home-stat-grid article {
    border-right: 1px solid #702024;
    grid-template-columns: 58px 1fr;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 13px 22px;
    display: grid
}

.home-stat-grid article:last-child {
    border-right: 0
}

.home-stat-icon {
    color: var(--home-gold);
    text-align: center;
    text-shadow: 0 0 14px #d8b33f2b;
    font-family: Arial,sans-serif;
    font-size: 35px;
    font-weight: 400;
    line-height: 1
}

.home-stat-grid div {
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    display: flex
}

.home-stat-grid strong {
    color: #d7d1c3;
    letter-spacing: .7px;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 20px;
    font-style: italic;
    font-weight: 400;
    overflow: hidden
}

.home-stat-grid small {
    color: #a9a8a3;
    letter-spacing: .25px;
    text-transform: uppercase;
    font-size: 10px;
    line-height: 1.2
}

@media (width<=1500px) and (width>=1281px) {
    .final-header {
        gap: 12px;
        padding-left: 30px;
        padding-right: 30px
    }

    .final-brand {
        min-width: 245px
    }

    .pmc-brand-lockup,.pmc-approved-mark {
        width: 245px
    }

    .final-nav {
        gap: 9px
    }

    .final-nav a {
        letter-spacing: .2px;
        font-size: 9px
    }

    .final-socials {
        gap: 5px
    }

    .final-socials a {
        width: 25px;
        height: 25px
    }

    .final-header-cta {
        padding: 0 16px;
        font-size: 10px
    }
}

@media (width<=1280px) {
    .final-header {
        gap: 16px;
        padding-left: 28px;
        padding-right: 28px
    }

    .final-brand {
        min-width: 290px
    }

    .pmc-brand-lockup {
        width: 280px;
        height: 66px
    }

    .pmc-approved-mark {
        width: 280px
    }

    .final-nav {
        gap: 11px
    }

    .final-socials {
        display: none
    }

    .home-feature-grid {
        gap: 9px
    }

    .home-feature-grid article {
        grid-template-columns: 68px 1fr
    }

    .home-feature-grid article:before {
        left: 51px
    }

    .home-feature-icon {
        width: 52px
    }

    .home-stat-grid article {
        padding-left: 13px;
        padding-right: 13px
    }
}

@media (width<=1120px) {
    .final-nav {
        display: none
    }

    .final-socials {
        margin-left: auto;
        display: flex
    }

    .final-mobile-menu {
        margin-left: 0;
        display: block
    }

    .hero-final {
        min-height: 1150px
    }

    .hero-final-shell {
        min-height: 1074px
    }

    .hero-final-copy {
        width: min(58%,560px)
    }

    .hero-live-timing {
        display: none
    }

    .home-feature-grid {
        grid-template-columns: 1fr 1fr;
        bottom: 186px
    }

    .home-stat-grid {
        grid-template-columns: 1fr 1fr;
        bottom: 12px
    }

    .home-stat-grid article:nth-child(2) {
        border-right: 0
    }

    .home-stat-grid article:nth-child(-n+2) {
        border-bottom: 1px solid #702024
    }
}

@media (width<=960px) {
    .beginner-guide {
        grid-template-columns: 1fr
    }

    .beginner-guide-heading {
        max-width: 700px
    }
}

@media (width<=720px) {
    .home-page {
        padding-bottom: calc(64px + env(safe-area-inset-bottom))
    }

    .final-header {
        gap: 5px;
        max-width: 100vw;
        height: 68px;
        padding: 0 13px
    }

    .final-brand {
        gap: 5px;
        min-width: 0;
        height: 52px;
        margin-right: auto
    }

    .pmc-brand-lockup {
        width: 171px;
        height: 46px
    }

    .pmc-approved-mark {
        width: 171px
    }

    .final-socials {
        gap: 3px;
        margin-left: 0
    }

    .final-socials a {
        border-radius: 6px;
        width: 22px;
        height: 22px
    }

    .final-socials svg {
        width: 13px;
        height: 13px
    }

    .final-header-cta {
        display: none
    }

    .final-mobile-menu {
        margin-left: 0
    }

    .final-mobile-menu>summary .mobile-menu-visual {
        padding: 9px 8px;
        font-size: 9px
    }

    .mobile-sticky-register {
        z-index: 1000;
        right: 10px;
        bottom: calc(8px + env(safe-area-inset-bottom));
        color: #18130c;
        background: linear-gradient(105deg,#ead9ba,#c9ad7d);
        border: 1px solid #f4e6cc;
        border-radius: 8px;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: 12px;
        min-height: 56px;
        padding: 8px 18px;
        display: grid;
        position: fixed;
        left: 10px;
        box-shadow: 0 10px 28px #00000094,inset 4px 0 #7b1e24
    }

    .mobile-sticky-register span {
        letter-spacing: 1.1px;
        font-size: 14px;
        font-weight: 900
    }

    .mobile-sticky-register small {
        letter-spacing: .45px;
        text-transform: uppercase;
        border-left: 1px solid #18130c47;
        padding-left: 12px;
        font-size: 9px;
        font-weight: 700
    }

    .mobile-sticky-register b {
        font-size: 25px;
        line-height: 1
    }

    .mobile-hero-advantages {
        z-index: 4;
        -webkit-backdrop-filter: blur(7px);
        backdrop-filter: blur(7px);
        background: #020507e6;
        border: 1px solid #ffffff4d;
        border-top: 3px solid #ef1b24;
        border-radius: 7px;
        grid-template-columns: 1fr 1fr;
        display: grid;
        position: absolute;
        top: 80px;
        left: 10px;
        right: 10px;
        overflow: hidden;
        box-shadow: 0 10px 25px #00000080
    }

    .mobile-hero-advantages span,.mobile-hero-advantages>a {
        border-bottom: 1px solid #ffffff29;
        border-right: 1px solid #fff3;
        grid-template-rows: auto auto;
        grid-template-columns: 25px 1fr;
        align-items: center;
        min-width: 0;
        padding: 9px 7px;
        display: grid
    }

    .mobile-hero-advantages span:nth-child(2n) {
        border-right: 0
    }

    .mobile-hero-advantages>a {
        background: linear-gradient(105deg,#ad0007,#f0181d);
        border-bottom: 0;
        border-right: 0;
        grid-column: 1/-1
    }

    .mobile-hero-advantages b {
        color: #ef1b24;
        text-align: center;
        grid-row: 1/3;
        font-size: 20px
    }

    .mobile-hero-advantages>a b {
        color: #fff
    }

    .mobile-hero-advantages strong {
        color: #fff;
        letter-spacing: .25px;
        text-transform: uppercase;
        white-space: nowrap;
        font-size: 11px;
        font-weight: 900;
        line-height: 1.05;
        overflow: hidden
    }

    .mobile-hero-advantages span:nth-child(2) strong {
        white-space: normal;
        font-size: 9px;
        line-height: 1.1
    }

    .mobile-hero-advantages small {
        color: #d4d7d8;
        text-transform: uppercase;
        white-space: nowrap;
        font-size: 8px;
        font-weight: 700;
        line-height: 1.15;
        overflow: hidden
    }

    .desktop-hero-promises {
        display: none
    }

    .hero-final {
        min-height: 1260px;
        padding-top: 68px
    }

    .hero-final-media {
        background-position: 68%;
        height: 520px;
        inset: 68px 0 auto
    }

    .hero-final-shade {
        background: linear-gradient(#0203042e,#020304b3 47%,#020303 82%);
        height: 600px;
        inset: 68px 0 auto
    }

    .hero-final-shade:before,.hero-final-stripes {
        display: none
    }

    .hero-final-shell {
        width: 100%;
        min-height: 1192px;
        padding: 340px 18px 0
    }

    .hero-final-copy {
        width: 100%;
        padding: 0
    }

    .hero-final-copy h1 {
        font-size: 53px
    }

    .hero-final-supporting {
        margin-top: 14px;
        font-size: 23px
    }

    .hero-final-intro {
        font-size: 14px
    }

    .hero-final-promises {
        font-size: 13px
    }

    .hero-final-promises span {
        padding: 0 9px
    }

    .hero-final-actions {
        grid-template-columns: 1fr 1fr;
        display: grid
    }

    .final-button {
        padding: 0 12px
    }

    .final-button-red {
        grid-column: 1/-1
    }

    .home-feature-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        bottom: 190px;
        left: 18px;
        right: 18px
    }

    .home-feature-grid article {
        background: #030506f2;
        min-height: 112px;
        padding: 13px;
        display: block
    }

    .home-feature-grid article:before {
        display: none
    }

    .home-feature-icon {
        letter-spacing: -5px;
        text-align: left;
        width: auto;
        margin-bottom: 7px;
        font-size: 25px;
        display: block
    }

    .home-feature-grid h2 {
        margin-bottom: 5px;
        font-size: 18px
    }

    .home-feature-grid p {
        display: none
    }

    .home-feature-grid a {
        font-size: 9px
    }

    .home-stat-grid {
        grid-template-columns: 1fr 1fr;
        bottom: 18px;
        left: 18px;
        right: 18px
    }

    .home-stat-grid article {
        border-bottom: 1px solid #702024;
        border-right: 1px solid #702024;
        grid-template-columns: 36px 1fr;
        gap: 5px;
        min-height: 76px;
        padding: 10px
    }

    .home-stat-grid article:nth-child(2n) {
        border-right: 0
    }

    .home-stat-grid article:nth-child(n+3) {
        border-bottom: 0
    }

    .home-stat-icon {
        font-size: 25px
    }

    .home-stat-grid strong {
        white-space: normal;
        font-size: 15px
    }

    .home-stat-grid small {
        font-size: 8px
    }

    .final-mobile-menu a.founding-main-link {
        color: #fff;
        background: #1a090b;
        border-left: 3px solid #ef1b24
    }

    .beginner-guide {
        padding: 72px 20px
    }

    .beginner-video-frame {
        background-position: 66%;
        min-height: 560px
    }

    .beginner-video-copy {
        width: auto;
        bottom: 75px;
        left: 24px;
        right: 24px
    }

    .beginner-video-copy h3 {
        font-size: 43px
    }

    .beginner-video-copy p {
        font-size: 14px
    }

    .beginner-video-copy ul {
        grid-template-columns: 1fr;
        gap: 6px;
        margin-top: 14px
    }

    .beginner-play {
        width: 48px;
        height: 48px;
        bottom: 16px;
        right: 22px
    }

    .beginner-progress {
        bottom: 28px;
        right: 84px
    }

    .beginner-chapters {
        grid-template-columns: 1fr
    }

    .beginner-chapters button {
        border-bottom: 1px solid #354047;
        border-right: 0;
        grid-template-columns: 35px 1fr 45px;
        align-items: center;
        display: grid
    }

    .beginner-chapters button:last-child {
        border-bottom: 0
    }

    .beginner-chapters span {
        margin: 0
    }

    .beginner-chapters b {
        white-space: normal
    }

    .beginner-chapters small {
        text-align: right;
        margin: 0
    }
}

@media (width<=360px) {
    .final-header {
        gap: 4px;
        padding-left: 9px;
        padding-right: 9px
    }

    .pmc-brand-lockup,.pmc-approved-mark {
        width: 148px
    }

    .final-socials {
        gap: 3px
    }

    .final-socials a {
        border-radius: 5px;
        width: 19px;
        height: 19px
    }

    .final-socials svg {
        width: 11px;
        height: 11px
    }

    .final-mobile-menu>summary .mobile-menu-visual {
        padding: 8px 7px;
        font-size: 8px
    }
}

@media (width<=720px) {
    .final-brand {
        height: 58px
    }

    .pmc-brand-lockup {
        width: clamp(168px,48vw,190px);
        height: 58px;
        display: block;
        position: relative;
        overflow: hidden
    }

    .pmc-approved-mark {
        clip-path: inset(0 0 20%);
        width: 100%;
        max-width: none;
        position: absolute;
        top: 1px;
        left: 0
    }

    .pmc-mobile-autocross {
        color: #ff202a;
        letter-spacing: 2px;
        text-transform: uppercase;
        text-shadow: 0 1px 3px #000,-.3px 0 #ffffffa6,.3px 0 #ffffffa6;
        align-items: center;
        gap: 6px;
        font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
        font-size: 9.5px;
        font-style: italic;
        font-weight: 900;
        line-height: 1;
        display: flex;
        position: absolute;
        bottom: 1px;
        left: 7px;
        right: 7px
    }

    .pmc-mobile-autocross:before,.pmc-mobile-autocross:after {
        content: "";
        background: #ff202a;
        flex: 1;
        height: 2px;
        box-shadow: 0 1px 2px #000
    }

    .inner-brand {
        width: clamp(168px,48vw,190px);
        height: 58px;
        display: block;
        position: relative;
        overflow: hidden
    }

    .inner-brand img {
        clip-path: inset(0 0 20%);
        width: 100%;
        max-width: none;
        position: absolute;
        top: 1px;
        left: 0
    }

    .inner-brand:after {
        content: "AUTOCROSS";
        color: #ff202a;
        letter-spacing: 2px;
        text-align: center;
        text-shadow: 0 1px 3px #000,-.3px 0 #ffffffa6,.3px 0 #ffffffa6;
        background: linear-gradient(#ff202a,#ff202a) 0/26px 2px no-repeat,linear-gradient(#ff202a,#ff202a) 100%/26px 2px no-repeat;
        padding: 0 30px;
        font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
        font-size: 9.5px;
        font-style: italic;
        font-weight: 900;
        line-height: 1;
        position: absolute;
        bottom: 1px;
        left: 7px;
        right: 7px
    }
}

@media (width<=360px) {
    .pmc-brand-lockup,.inner-brand,.pmc-approved-mark,.inner-brand img {
        width: 162px
    }

    .pmc-mobile-autocross,.inner-brand:after {
        letter-spacing: 1.6px;
        font-size: 8.5px
    }

    .final-socials {
        gap: 2px
    }

    .final-socials a {
        width: 18px;
        height: 18px
    }
}

.social-links {
    justify-content: center;
    align-items: center;
    gap: 18px;
    display: flex
}

.social-links .social-logo {
    color: #fff;
    border: 1px solid #ffffff47;
    border-radius: 14px;
    grid-template-columns: 1fr;
    place-items: center;
    width: 54px;
    min-height: 54px;
    padding: 0;
    transition: transform .2s,filter .2s,box-shadow .2s;
    display: grid;
    box-shadow: 0 8px 22px #00000059
}

.social-links .social-logo:hover {
    filter: brightness(1.1);
    transform: translateY(-4px)scale(1.04);
    box-shadow: 0 13px 28px #0000007a
}

.social-links .social-logo svg {
    fill: currentColor;
    width: 27px;
    height: 27px;
    display: block
}

.social-logo-facebook {
    background: #1877f2!important
}

.social-logo-instagram {
    background: radial-gradient(circle at 31% 103%,#ffd600 0 18%,#ff7a00 31%,#ff0169 55%,#d300c5 72%,#7638fa 100%)!important
}

.event-policy-notice {
    border: 1px solid #424950;
    border-left: 5px solid var(--red);
    background: linear-gradient(90deg,#df1f2d21,#0000 55%),#090b0d;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 20px;
    margin: 20px 0 28px;
    padding: 17px 20px;
    display: grid
}

.event-policy-notice b {
    letter-spacing: 1px;
    white-space: nowrap;
    font: 10px monospace
}

.event-policy-notice p {
    color: #a7b0b6;
    margin: 0;
    font-size: 11px;
    line-height: 1.5
}

.event-policy-notice a {
    color: #fff;
    white-space: nowrap;
    font-size: 11px;
    font-weight: 900
}

.helmet-policy {
    background: radial-gradient(circle at 85% 5%,#14a2c721,#0000 32%),#090d10;
    border: 1px solid #34424a;
    border-top: 5px solid #19c8ee;
    margin-top: 58px;
    padding: clamp(28px,5vw,64px)
}

.helmet-policy-heading {
    grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr);
    align-items: end;
    gap: 5vw;
    display: grid
}

.helmet-policy-heading h3 {
    color: #f1f1ed;
    text-transform: uppercase;
    grid-row: 1/3;
    margin: 0;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(47px,5.2vw,75px);
    font-style: italic;
    font-weight: 400;
    line-height: .9
}

.helmet-policy-heading h3 em {
    color: #19c8ee;
    font-style: italic
}

.helmet-policy-heading>p:last-child {
    color: #b3bcc0;
    margin: 0;
    font-size: 15px;
    line-height: 1.6
}

.helmet-policy-details {
    border: 1px solid #354149;
    grid-template-columns: repeat(3,1fr);
    margin-top: 42px;
    display: grid
}

.helmet-policy-details>div {
    border-right: 1px solid #354149;
    padding: 26px
}

.helmet-policy-details>div:last-child {
    border-right: 0
}

.helmet-policy-details h4 {
    color: #fff;
    letter-spacing: .6px;
    text-transform: uppercase;
    margin: 0 0 18px;
    font-size: 14px
}

.helmet-policy-details p,.helmet-policy-details li {
    color: #a9b3b8;
    font-size: 12px;
    line-height: 1.55
}

.helmet-policy-details ul {
    margin: 0 0 18px;
    padding-left: 18px
}

.helmet-policy-details strong {
    color: #e6ecee
}

.helmet-policy-final {
    color: #cbd2d5;
    background: #11171a;
    border-left: 4px solid #19c8ee;
    margin: 20px 0 0;
    padding: 16px 18px;
    font-size: 12px;
    line-height: 1.55
}

.registration-policy-notice,.helmet-registration-note,.checkout-policy-short {
    border-left: 4px solid var(--red);
    color: #aeb7bd;
    background: #101417;
    margin: 0;
    padding: 13px 14px;
    font-size: 10px;
    line-height: 1.5
}

.registration-policy-notice {
    grid-column: 1/-1
}

.registration-policy-notice b,.helmet-registration-note b {
    color: #fff
}

.registration-policy-notice a,.policy-check a {
    color: #fff;
    text-underline-offset: 2px;
    text-decoration: underline
}

.helmet-registration-note {
    border-left-color: #19c8ee;
    margin-top: 16px
}

.policy-check {
    margin-top: 9px!important
}

.checkout-policy-short {
    border-left-width: 3px;
    margin-top: 14px!important;
    padding: 11px!important;
    font-size: 9px!important
}

.policy-page {
    color: #f1eee7;
    background: #07090b
}

.policy-hero {
    background: radial-gradient(circle at 78% 35%,#df1f2d2e,#0000 30%),linear-gradient(115deg,#0c1115,#030405);
    min-height: 670px;
    padding: 160px clamp(28px,9vw,150px) 85px
}

.policy-hero h1 {
    color: #f4f2ec;
    letter-spacing: .5px;
    text-transform: uppercase;
    max-width: 1050px;
    margin: 22px 0 25px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(65px,8vw,118px);
    font-style: italic;
    font-weight: 400;
    line-height: .86
}

.policy-hero h1 em {
    color: var(--red);
    font-style: italic
}

.policy-hero>p:last-of-type {
    color: #b0b9bd;
    max-width: 680px;
    font-size: 18px;
    line-height: 1.55
}

.policy-summary {
    border: 1px solid #414950;
    grid-template-columns: repeat(3,1fr);
    max-width: 1000px;
    margin-top: 48px;
    display: grid
}

.policy-summary span {
    color: #89959c;
    letter-spacing: .5px;
    text-transform: uppercase;
    border-right: 1px solid #414950;
    flex-direction: column;
    gap: 7px;
    padding: 21px 24px;
    font-size: 10px;
    display: flex
}

.policy-summary span:last-child {
    border-right: 0
}

.policy-summary b {
    color: #fff;
    letter-spacing: .8px;
    font: 22px Impact,sans-serif
}

.policy-content {
    padding: 90px clamp(28px,9vw,150px)
}

.translation-disclaimer {
    color: #e7d6d8;
    text-align: center;
    background: #160507;
    border-top: 1px solid #df1f2d;
    border-bottom: 1px solid #4b2024;
    margin: 0;
    padding: 14px clamp(28px,7vw,112px);
    font-size: 12px;
    line-height: 1.5
}

.inner-header>.language-switcher {
    margin-left: auto
}

.inner-header nav+.language-switcher {
    margin-left: 0
}

.policy-content>article {
    border-top: 1px solid #3b4247;
    grid-template-columns: 70px minmax(0,820px);
    gap: 30px;
    padding: 42px 0;
    display: grid
}

.policy-content>article>span {
    color: var(--red);
    font: 14px monospace
}

.policy-content article h2 {
    color: #fff;
    text-transform: uppercase;
    margin: 0 0 22px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(32px,4vw,50px);
    font-style: italic;
    font-weight: 400;
    line-height: 1
}

.policy-content article p {
    color: #adb6ba;
    font-size: 15px;
    line-height: 1.7
}

.policy-content article strong {
    color: #fff
}

.policy-checkout-copy {
    border: 1px solid #4a5258;
    border-left: 6px solid var(--red);
    background: linear-gradient(110deg,#df1f2d29,#0000 70%),#101417;
    max-width: 1000px;
    margin: 48px 0;
    padding: 31px
}

.policy-checkout-copy>span {
    color: var(--red);
    letter-spacing: 1.2px;
    font: 10px monospace
}

.policy-checkout-copy p {
    color: #d0d5d7;
    font-size: 15px;
    line-height: 1.6
}

.policy-checkout-copy label {
    color: #fff;
    background: #07090b;
    border: 1px solid #444c52;
    align-items: flex-start;
    gap: 10px;
    margin-top: 22px;
    padding: 15px;
    font-size: 12px;
    line-height: 1.45;
    display: flex
}

.policy-checkout-copy input {
    accent-color: var(--red);
    margin-top: 2px
}

.policy-contact {
    color: #f1f1ed;
    background-color: #080b0d;
    background-image: linear-gradient(#18283f47 1px,#0000 1px),linear-gradient(90deg,#18283f47 1px,#0000 1px);
    background-size: 42px 42px;
    border: 1px solid #3d454e;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    max-width: 1000px;
    margin-top: 70px;
    padding: 36px 40px;
    display: flex
}

.policy-contact h2 {
    text-transform: uppercase;
    margin: 8px 0 5px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 38px;
    font-style: italic;
    font-weight: 400
}

.policy-contact p:last-child {
    color: #aeb7bd;
    margin: 0
}

.policy-contact a {
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    background: #111;
    border: 1px solid #58616a;
    min-width: 170px;
    padding: 16px 20px;
    font-size: 12px;
    font-weight: 900
}

@media (width<=900px) {
    .event-policy-notice {
        grid-template-columns: 1fr
    }

    .event-policy-notice a {
        justify-self: start
    }

    .helmet-policy-heading {
        grid-template-columns: 1fr
    }

    .helmet-policy-heading h3 {
        grid-row: auto
    }

    .helmet-policy-details {
        grid-template-columns: 1fr
    }

    .helmet-policy-details>div {
        border-bottom: 1px solid #354149;
        border-right: 0
    }

    .helmet-policy-details>div:last-child {
        border-bottom: 0
    }

    .policy-summary {
        grid-template-columns: 1fr
    }

    .policy-summary span {
        border-bottom: 1px solid #414950;
        border-right: 0
    }

    .policy-summary span:last-child {
        border-bottom: 0
    }
}

@media (width<=720px) {
    .helmet-policy {
        margin-top: 38px;
        padding: 25px 20px
    }

    .helmet-policy-heading>p:last-child {
        font-size: 14px
    }

    .helmet-policy-details {
        margin-top: 30px
    }

    .helmet-policy-details>div {
        padding: 21px
    }

    .policy-hero {
        min-height: 0;
        padding: 115px 22px 60px
    }

    .policy-hero h1 {
        font-size: 57px
    }

    .policy-hero>p:last-of-type {
        font-size: 16px
    }

    .policy-summary {
        margin-top: 32px
    }

    .policy-content {
        padding: 58px 22px
    }

    .policy-content>article {
        grid-template-columns: 34px minmax(0,1fr);
        gap: 12px;
        padding: 32px 0
    }

    .policy-content article h2 {
        font-size: 32px
    }

    .policy-content article p {
        font-size: 14px
    }

    .policy-checkout-copy {
        padding: 23px 19px
    }

    .policy-contact {
        flex-direction: column;
        align-items: flex-start;
        padding: 28px 22px
    }

    .policy-contact a {
        width: 100%
    }
}

.social-logo-tiktok {
    background: #050505!important;
    box-shadow: -2px 0 #25f4ee,2px 0 #fe2c55,0 8px 22px #00000059!important
}

.social-logo-youtube {
    background: red!important
}

@media (width<=720px) {
    .social-links {
        grid-template-columns: none;
        justify-content: flex-start;
        gap: 13px
    }

    .social-links .social-logo {
        width: 48px;
        min-height: 48px;
        padding: 0
    }

    .social-links .social-logo svg {
        width: 24px;
        height: 24px
    }
}

.membership-page,.founding-page {
    color: #f1f1ed;
    background: #080b0d;
    min-height: 100vh
}

.inner-header {
    background: #020304;
    border-bottom: 1px solid #30363a;
    align-items: center;
    gap: 28px;
    height: 78px;
    padding: 0 clamp(22px,4.5vw,72px);
    display: flex;
    position: relative
}

.inner-brand {
    flex: none;
    align-items: center;
    width: 300px;
    display: flex
}

.inner-brand img {
    width: 100%;
    height: auto;
    display: block
}

.inner-header nav {
    gap: clamp(12px,1.5vw,25px);
    margin-left: auto
}

.inner-header nav a {
    color: #bdc3c6;
    text-transform: uppercase;
    padding: 30px 0 24px;
    font-size: 10px
}

.inner-header nav a.active {
    color: #fff
}

.inner-header nav a.active:after {
    background: #21c9ee;
    right: 0
}

.inner-header-cta {
    color: #fff;
    letter-spacing: .8px;
    text-transform: uppercase;
    clip-path: polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);
    background: linear-gradient(110deg,#087ca8,#102c39);
    border: 1px solid #1baed3;
    align-items: center;
    min-height: 42px;
    padding: 0 22px;
    font-size: 10px;
    font-weight: 900;
    display: inline-flex
}

.inner-header-cta.founding-cta {
    color: #080806;
    background: linear-gradient(110deg,#b18a22,#e1c25a);
    border-color: #e3c761
}

.membership-hero {
    background: radial-gradient(circle at 78% 45%,#19aed324,#0000 30%),linear-gradient(120deg,#0b1013,#030405);
    grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr);
    align-items: center;
    gap: 7vw;
    min-height: 610px;
    padding: 90px clamp(28px,8vw,130px);
    display: grid
}

.membership-hero-copy {
    max-width: 760px
}

.inner-eyebrow {
    color: #21c9ee;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0 0 17px;
    font-size: 11px;
    font-weight: 900
}

.membership-hero h1,.founding-hero h1,.inner-section-heading h2 {
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(65px,7vw,108px);
    font-style: italic;
    font-weight: 400;
    line-height: .85
}

.membership-hero h1 em,.inner-section-heading h2 em {
    color: #21c9ee;
    font-style: italic
}

.membership-hero-copy>p:last-child {
    color: #bec5c8;
    max-width: 650px;
    margin: 28px 0 0;
    font-size: 19px;
    line-height: 1.6
}

.membership-price-card {
    background: linear-gradient(145deg,#143c49,#070a0c 68%);
    border: 1px solid #2e7183;
    padding: 38px;
    box-shadow: 14px 14px #21c9ee21
}

.membership-price-card>span {
    color: #79dff4;
    letter-spacing: 2px;
    font-size: 11px;
    font-weight: 900
}

.membership-price-card strong {
    margin: 20px 0 0;
    font-family: Impact,sans-serif;
    font-size: 100px;
    font-style: italic;
    line-height: .9;
    display: block
}

.membership-price-card strong small {
    font-size: 35px
}

.membership-price-card p {
    color: #9aabb0;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    margin: 7px 0 28px
}

.membership-price-card a,.founding-hero-copy>a,.founding-callout>a,.founding-clarity a {
    color: #041014;
    letter-spacing: .7px;
    text-transform: uppercase;
    background: #21c9ee;
    padding: 15px 18px;
    font-size: 11px;
    font-weight: 900;
    display: inline-flex
}

.member-benefits,.founding-story {
    background: #111619;
    padding: 100px clamp(28px,7vw,110px)
}

.inner-section-heading {
    max-width: 850px
}

.inner-section-heading h2 {
    font-size: clamp(52px,6vw,88px)
}

.benefit-grid {
    border: 1px solid #354047;
    grid-template-columns: repeat(4,1fr);
    margin-top: 65px;
    display: grid
}

.benefit-grid article {
    background: #090c0e;
    border-right: 1px solid #354047;
    min-height: 290px;
    padding: 31px 26px
}

.benefit-grid article:last-child {
    border-right: 0
}

.benefit-grid span {
    color: #21c9ee;
    font: 11px monospace
}

.benefit-grid h3 {
    text-transform: uppercase;
    margin: 68px 0 14px;
    font-family: Impact,sans-serif;
    font-size: 27px;
    font-style: italic;
    font-weight: 400
}

.benefit-grid p {
    color: #9da8ad;
    font-size: 14px;
    line-height: 1.55
}

.membership-clarity {
    color: #f1f1ed;
    background-color: #080b0d;
    background-image: linear-gradient(#18283f47 1px,#0000 1px),linear-gradient(90deg,#18283f47 1px,#0000 1px);
    background-size: 42px 42px;
    border-top: 1px solid #303841;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 8vw;
    padding: 72px clamp(28px,8vw,130px);
    display: grid
}

.membership-clarity h2 {
    color: #fff;
    text-transform: uppercase;
    margin: 0;
    font-family: Impact,sans-serif;
    font-size: 47px;
    font-style: italic;
    font-weight: 400
}

.membership-clarity>p,.founding-clarity>div>p {
    color: #aeb7bd;
    font-size: 17px;
    line-height: 1.6
}

.founding-callout {
    background: linear-gradient(105deg,#12181b,#1a1406);
    border-top: 1px solid #5f5127;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    padding: 75px clamp(28px,8vw,130px);
    display: flex
}

.founding-callout h2 {
    text-transform: uppercase;
    margin: 0 0 12px;
    font-family: Impact,sans-serif;
    font-size: 49px;
    font-style: italic;
    font-weight: 400
}

.founding-callout p:last-child {
    color: #a9ada9;
    margin: 0
}

.founding-callout>a {
    color: #fff;
    background: linear-gradient(110deg,#a70f1b,#df1f2d);
    border: 1px solid #f04650;
    flex: none;
    box-shadow: 0 10px 28px #df1f2d47
}

.inner-footer {
    background: #020304;
    border-top: 5px solid #df1f2d;
    grid-template-columns: 1fr auto;
    gap: 25px;
    padding: 45px clamp(28px,6vw,90px) 28px;
    display: grid
}

.inner-footer>a {
    text-transform: uppercase;
    font-weight: 900
}

.inner-footer>div {
    color: #b8c0c3;
    gap: 24px;
    font-size: 12px;
    display: flex
}

.inner-footer small {
    color: #707a7f;
    grid-column: 1/-1
}

.founding-hero {
    background: radial-gradient(circle at 75% 45%,#d8b33f2b,#0000 35%),linear-gradient(115deg,#0a0d0f,#030303);
    align-items: center;
    min-height: 690px;
    padding: 85px clamp(28px,9vw,150px);
    display: flex;
    position: relative;
    overflow: hidden
}

.founding-number {
    color: #0000;
    -webkit-text-stroke: 2px #d8b33f42;
    font-family: Impact,sans-serif;
    font-size: min(43vw,590px);
    font-style: italic;
    line-height: .8;
    position: absolute;
    top: 50%;
    right: 3vw;
    transform: translateY(-50%)
}

.founding-hero-copy {
    z-index: 1;
    max-width: 680px;
    position: relative
}

.founding-hero h1 {
    font-size: clamp(90px,11vw,165px)
}

.founding-hero h1 em {
    color: #d8b33f;
    font-style: italic
}

.founding-hero-copy>p:nth-of-type(2) {
    color: #b9bdbc;
    max-width: 610px;
    font-size: 18px;
    line-height: 1.55
}

.founding-price {
    align-items: center;
    gap: 22px;
    margin: 32px 0;
    display: flex
}

.founding-price strong {
    color: #e1c25a;
    font-family: Impact,sans-serif;
    font-size: 62px;
    font-style: italic
}

.founding-price span {
    color: #a8aaa6;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-left: 1px solid #5f5127;
    padding-left: 22px;
    font-size: 11px;
    line-height: 1.6
}

.founding-hero-copy>a {
    color: #0c0a04;
    background: #d8b33f
}

.founding-hero-copy>.founding-price-note {
    color: #c7c2ae;
    max-width: 560px;
    margin: -12px 0 26px;
    font-size: 13px;
    line-height: 1.55
}

.founding-story {
    grid-template-columns: 1fr 1fr;
    gap: 6vw;
    display: grid
}

.founding-story-lead {
    color: #b5bdc0;
    align-self: end;
    font-size: 18px;
    line-height: 1.7
}

.founding-benefit-list {
    border-top: 1px solid #434943;
    grid-column: 1/-1;
    margin-top: 30px
}

.founding-benefit-list>div {
    border-bottom: 1px solid #343b3e;
    grid-template-columns: 70px 1fr;
    align-items: center;
    min-height: 76px;
    display: grid
}

.founding-benefit-list span {
    color: #d8b33f;
    font: 12px monospace
}

.founding-benefit-list b {
    font-size: 19px
}

.founding-rule {
    background: #080806;
    grid-template-columns: .8fr 1.2fr;
    align-items: center;
    gap: 6vw;
    padding: 80px clamp(28px,8vw,130px);
    display: grid
}

.founding-rule>strong {
    color: #d8b33f;
    font-family: Impact,sans-serif;
    font-size: clamp(72px,10vw,145px);
    font-style: italic
}

.founding-rule h2 {
    text-transform: uppercase;
    margin: 0;
    font-family: Impact,sans-serif;
    font-size: 48px;
    font-style: italic;
    font-weight: 400
}

.founding-rule p:last-child {
    color: #a8aaa5;
    line-height: 1.6
}

.founding-clarity>div:last-child {
    flex-direction: column;
    align-items: flex-start;
    display: flex
}

.founding-clarity a {
    margin-top: 12px
}

@media (width<=1100px) {
    .inner-header nav {
        display: none
    }

    .benefit-grid {
        grid-template-columns: 1fr 1fr
    }

    .benefit-grid article:nth-child(2) {
        border-right: 0
    }

    .benefit-grid article:nth-child(-n+2) {
        border-bottom: 1px solid #354047
    }
}

@media (width<=720px) {
    .inner-header {
        gap: 8px;
        height: 68px;
        padding: 0 14px
    }

    .inner-brand {
        width: clamp(168px,48vw,190px)
    }

    .inner-header-cta {
        white-space: nowrap;
        min-height: 40px;
        margin-left: auto;
        padding: 0 10px;
        font-size: 8px
    }

    .membership-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 75px 22px
    }

    .membership-hero h1 {
        font-size: 62px
    }

    .membership-hero-copy>p:last-child {
        font-size: 16px
    }

    .membership-price-card {
        padding: 28px
    }

    .benefit-grid {
        grid-template-columns: 1fr
    }

    .benefit-grid article {
        border-bottom: 1px solid #354047;
        border-right: 0;
        min-height: 230px
    }

    .benefit-grid article:nth-child(2) {
        border-right: 0
    }

    .benefit-grid article:last-child {
        border-bottom: 0
    }

    .benefit-grid h3 {
        margin-top: 45px
    }

    .membership-clarity,.founding-story,.founding-rule {
        grid-template-columns: 1fr
    }

    .founding-callout {
        flex-direction: column;
        align-items: flex-start
    }

    .inner-footer {
        grid-template-columns: 1fr
    }

    .inner-footer>div {
        flex-wrap: wrap
    }

    .inner-footer small {
        grid-column: auto
    }

    .founding-hero {
        min-height: 650px;
        padding: 70px 22px
    }

    .founding-number {
        font-size: 110vw;
        right: -18vw
    }

    .founding-hero h1 {
        font-size: clamp(72px,25vw,90px)
    }

    .founding-story {
        padding: 75px 22px
    }

    .founding-story-lead {
        align-self: auto
    }

    .founding-rule {
        padding: 65px 22px
    }

    .founding-rule>strong {
        font-size: 78px
    }
}

.founding-season-section {
    color: #f3f3ef;
    border-top: 6px solid #0000;
    border-image: var(--nismo-stripe) 1;
    background-color: #050505;
    background-image: linear-gradient(#18283f47 1px,#0000 1px),linear-gradient(90deg,#18283f47 1px,#0000 1px);
    background-size: 42px 42px;
    grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr);
    align-items: center;
    gap: 7vw;
    display: grid
}

.founding-season-copy h2 {
    text-transform: uppercase;
    margin: 10px 0 22px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(56px,6vw,88px);
    font-style: italic;
    font-weight: 400;
    line-height: .88
}

.founding-season-copy h2 em {
    color: var(--red)
}

.founding-season-copy>p:last-child {
    color: #aeb7bd;
    max-width: 650px;
    font-size: 17px;
    line-height: 1.6
}

.founding-season-points {
    background: #050708;
    border: 1px solid #3d454e
}

.founding-season-points span {
    color: #dfe3e4;
    border-bottom: 1px solid #343b43;
    grid-template-columns: 54px 1fr;
    align-items: center;
    gap: 18px;
    min-height: 66px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 800;
    display: grid
}

.founding-season-points span:last-child {
    border-bottom: 0
}

.founding-season-points b {
    color: var(--red);
    font: 12px monospace
}

.autocross-explainer {
    color: #f3f3ef;
    border-top: 6px solid #0000;
    border-image: var(--nismo-stripe) 1;
    background-color: #050505;
    background-image: linear-gradient(#18283f47 1px,#0000 1px),linear-gradient(90deg,#18283f47 1px,#0000 1px);
    background-size: 42px 42px;
    grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr);
    align-items: center;
    gap: 7vw;
    display: grid
}

.autocross-explainer-copy h2 {
    text-transform: uppercase;
    margin: 10px 0 22px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: clamp(60px,6.5vw,96px);
    font-style: italic;
    font-weight: 400;
    line-height: .86
}

.autocross-explainer-copy h2 em {
    color: var(--red);
    font-style: italic
}

.autocross-explainer-copy>p:last-of-type {
    color: #aeb7bd;
    max-width: 620px;
    font-size: 17px;
    line-height: 1.62
}

.autocross-explainer-copy>strong {
    border: 1px solid #3d454e;
    border-left: 5px solid var(--red);
    color: #e4e8e9;
    text-transform: uppercase;
    background: #101417;
    margin-top: 22px;
    padding: 14px 17px;
    font-size: 13px;
    line-height: 1.45;
    display: block
}

.autocross-steps {
    background: #050708;
    border: 1px solid #3d454e;
    grid-template-columns: repeat(3,1fr);
    display: grid
}

.autocross-steps article {
    border-right: 1px solid #3d454e;
    min-height: 285px;
    padding: 27px 23px
}

.autocross-steps article:last-child {
    border-right: 0
}

.autocross-steps span {
    color: var(--red);
    font: 12px monospace
}

.autocross-steps h3 {
    color: #fff;
    text-transform: uppercase;
    margin: 62px 0 14px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 27px;
    font-style: italic;
    font-weight: 400;
    line-height: 1
}

.autocross-steps p {
    color: #aab3b8;
    margin: 0;
    font-size: 13px;
    line-height: 1.58
}

.how-it-works {
    background: #050c0f14;
    border: 1px solid #14a2c747;
    grid-column: 1/-1;
    margin-top: 24px;
    padding: 24px
}

.how-it-works h3 {
    text-transform: uppercase;
    margin: 0 0 16px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 24px;
    font-style: italic
}

.how-it-works ol {
    grid-template-columns: repeat(7,1fr);
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.how-it-works li {
    text-transform: uppercase;
    background: #ffffff94;
    border-left: 3px solid #19c8ee;
    min-height: 66px;
    padding: 12px 10px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35
}

@media (width<=900px) {
    .how-it-works ol {
        grid-template-columns: 1fr 1fr
    }

    .how-it-works li:last-child {
        grid-column: 1/-1
    }
}

@media (width<=720px) {
    .how-it-works {
        margin-top: 10px;
        padding: 16px
    }

    .how-it-works ol {
        grid-template-columns: 1fr
    }

    .how-it-works li,.how-it-works li:last-child {
        grid-column: auto;
        min-height: 0;
        padding: 9px 10px
    }
}

.event-format-grid {
    background: #050607;
    border: 1px solid #3a4148;
    grid-template-columns: repeat(4,1fr);
    display: grid
}

.event-format-grid article {
    border-right: 1px solid #3a4148;
    min-height: 270px;
    padding: 27px 24px
}

.event-format-grid article:last-child {
    border-right: 0
}

.event-format-grid span {
    color: var(--red);
    font: 11px monospace
}

.event-format-grid h3 {
    color: #fff;
    text-transform: uppercase;
    margin: 66px 0 14px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 29px;
    font-style: italic;
    font-weight: 400
}

.event-format-grid p {
    color: #aab3b8;
    margin: 0;
    font-size: 13px;
    line-height: 1.58
}

.event-calendar-note {
    color: #c5cdd1;
    background: #101417;
    border-left: 5px solid #19c8ee;
    margin: 20px 0 0;
    padding: 17px 20px;
    font-size: 13px;
    line-height: 1.55
}

.registration-status {
    background: linear-gradient(100deg,#14a2c724,#0000 58%),#080b0d;
    border: 1px solid #3f4b52;
    border-left: 5px solid #19c8ee;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 35px;
    margin-top: 20px;
    padding: 24px 26px;
    scroll-margin-top: 90px;
    display: grid
}

.registration-status b {
    color: #20c9ee;
    letter-spacing: 1.2px;
    font: 10px monospace
}

.registration-status h3 {
    color: #fff;
    text-transform: uppercase;
    margin: 8px 0 7px;
    font-size: 22px
}

.registration-status p {
    color: #aeb7bd;
    margin: 0;
    font-size: 13px;
    line-height: 1.5
}

.registration-status a {
    color: #fff;
    letter-spacing: .7px;
    text-transform: uppercase;
    white-space: nowrap;
    background: linear-gradient(110deg,#087ca8,#102c39);
    border: 1px solid #1baed3;
    justify-content: center;
    align-items: center;
    gap: 16px;
    min-height: 46px;
    padding: 0 20px;
    font-size: 10px;
    font-weight: 900;
    display: inline-flex
}

.platform-summary-grid {
    background: #050708;
    border: 1px solid #3c454e;
    grid-template-columns: repeat(4,1fr);
    display: grid
}

.platform-summary-grid article {
    border-right: 1px solid #3c454e;
    min-height: 235px;
    padding: 27px 24px
}

.platform-summary-grid article:last-child {
    border-right: 0
}

.platform-summary-grid span,.class-principles-grid span {
    color: #20c9ee;
    letter-spacing: 1px;
    font: 11px monospace
}

.platform-summary-grid h3,.class-principles-grid h3 {
    color: #fff;
    text-transform: uppercase;
    margin: 58px 0 13px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 28px;
    font-style: italic;
    font-weight: 400
}

.platform-summary-grid p,.class-principles-grid p {
    color: #9faab1;
    margin: 0;
    font-size: 13px;
    line-height: 1.55
}

.platform-status-note {
    color: #aeb7bd;
    background: #050708;
    border: 1px solid #3c454e;
    border-left: 5px solid #20c9ee;
    margin: 18px 0 0;
    padding: 17px 20px;
    font-size: 13px;
    line-height: 1.6
}

.platform-status-note strong {
    color: #20c9ee;
    letter-spacing: 1.2px;
    margin-bottom: 5px;
    font: 10px monospace;
    display: block
}

.class-principles-grid {
    background: #030405;
    border: 1px solid #35404a;
    grid-template-columns: repeat(3,1fr);
    display: grid
}

.class-principles-grid article {
    border-right: 1px solid #35404a;
    min-height: 245px;
    padding: 29px 27px
}

.class-principles-grid article:last-child {
    border-right: 0
}

.class-principles-grid span {
    color: var(--red)
}

.home-classes {
    color: #f3f3ef;
    border-top: 6px solid #0000;
    border-image: var(--nismo-stripe) 1;
    background-color: #050708;
    background-image: linear-gradient(#18283f40 1px,#0000 1px),linear-gradient(90deg,#18283f40 1px,#0000 1px);
    background-size: 42px 42px
}

.home-classes .compact-heading {
    max-width: 1050px
}

.home-classes .compact-heading h2 {
    max-width: 980px
}

.home-class-grid {
    background: #030506e6;
    border: 1px solid #46515a;
    grid-template-columns: repeat(3,minmax(0,1fr));
    margin: 32px 0 22px;
    display: grid;
    box-shadow: 0 18px 42px #00000038
}

.home-class-grid article {
    color: #fff;
    border-right: 1px solid #343d43;
    min-width: 0;
    min-height: 245px;
    padding: 24px 20px
}

.home-class-grid article:nth-child(-n+3) {
    border-bottom: 1px solid #343d43
}

.home-class-grid article:nth-child(3n) {
    border-right: 0
}

.home-class-grid span {
    color: var(--red);
    letter-spacing: 1px;
    font: 900 13px/1 monospace
}

.home-class-grid h3 {
    text-transform: uppercase;
    margin: 50px 0 10px;
    font-family: Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    font-size: 25px;
    font-style: italic;
    font-weight: 400;
    line-height: 1
}

.home-class-grid b {
    color: #20c9ee;
    letter-spacing: 1px;
    font: 10px/1 monospace;
    display: block
}

.home-class-grid p {
    color: #aeb7bd;
    margin: 14px 0 0;
    font-size: 12px;
    line-height: 1.45
}

.founder-mobile-more {
    display: none
}

@media (width<=980px) {
    .event-format-grid,.platform-summary-grid {
        grid-template-columns: 1fr 1fr
    }

    .event-format-grid article:nth-child(2),.platform-summary-grid article:nth-child(2) {
        border-right: 0
    }

    .event-format-grid article:nth-child(-n+2),.platform-summary-grid article:nth-child(-n+2) {
        border-bottom: 1px solid #3a4148
    }

    .home-class-grid {
        grid-template-columns: repeat(3,1fr)
    }

    .home-class-grid article {
        border-bottom: 1px solid #343d43
    }

    .home-class-grid article:nth-child(3) {
        border-right: 0
    }

    .home-class-grid article:nth-child(n+4) {
        border-bottom: 0
    }
}

@media (width<=720px) {
    html {
        scroll-padding-top: 70px
    }

    .home-page {
        padding-bottom: calc(72px + env(safe-area-inset-bottom))
    }

    .section,.results-section,.beginner-guide {
        padding: 54px 18px
    }

    .section-heading {
        gap: 13px;
        margin-bottom: 29px
    }

    .section-heading h2,.about-section h2,.results-copy h2,.gallery-heading h2,.marketplace-heading h2,.contact-intro h2 {
        font-size: 46px
    }

    .section-heading>p {
        font-size: 14px;
        line-height: 1.5
    }

    .hero-final {
        min-height: 710px;
        padding-top: 68px
    }

    .hero-final-media {
        background-position: 68%;
        height: 622px;
        inset: 68px 0 auto
    }

    .hero-final-shade {
        background: linear-gradient(#0203042e,#020304b3 52%,#020303 94%);
        height: 622px;
        inset: 68px 0 auto
    }

    .hero-final-shell {
        min-height: 642px;
        padding: 208px 18px 0
    }

    .hero-final-copy h1 {
        max-width: 335px;
        font-size: 40px;
        line-height: .92
    }

    .hero-final-eyebrow {
        letter-spacing: 1.35px;
        gap: 8px;
        margin-bottom: 10px;
        font-size: 11px
    }

    .hero-final-eyebrow span {
        width: 29px;
        height: 8px
    }

    .hero-final-intro {
        max-width: 330px;
        margin: 13px 0 0;
        font-size: 13px;
        line-height: 1.35
    }

    .hero-final-cadence {
        margin: 10px 0 0;
        font-size: 13px
    }

    .hero-final-formats {
        display: none
    }

    .hero-final-actions {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-top: 15px
    }

    .hero-final-actions .final-button {
        min-height: 47px;
        padding: 0 10px;
        font-size: 10px
    }

    .hero-final-actions .final-button-blue {
        display: none
    }

    .hero-final-actions .final-button-red {
        color: #18130c;
        background: linear-gradient(105deg,#ead9ba,#c9ad7d);
        border-color: #f4e6cc;
        order: -1;
        grid-area: 1
    }

    .hero-final-actions .final-button-gold {
        grid-column: auto
    }

    .home-feature-grid,.home-stat-grid {
        display: none
    }

    .mobile-hero-advantages {
        border-radius: 6px;
        grid-template-columns: repeat(6,1fr);
        top: 76px
    }

    .mobile-hero-advantages span,.mobile-hero-advantages>a {
        border-right: 1px solid #fff3;
        grid-column: span 2;
        grid-template-rows: auto auto;
        grid-template-columns: 22px 1fr;
        align-items: center;
        min-height: 58px;
        padding: 8px 6px;
        display: grid
    }

    .mobile-hero-advantages span:nth-child(4) {
        border-top: 1px solid #fff3;
        grid-column: 2/span 2
    }

    .mobile-hero-advantages>a:nth-child(5) {
        background: #d8b33f24;
        border-top: 1px solid #fff3;
        border-right: 0;
        grid-column: 4/span 2
    }

    .mobile-hero-advantages>a:nth-child(5) strong {
        color: #f1d66d
    }

    .mobile-hero-advantages b {
        font-size: 16px
    }

    .mobile-hero-advantages strong {
        white-space: normal;
        font-size: 10px;
        line-height: 1.12
    }

    .mobile-hero-advantages small {
        white-space: normal;
        font-size: 8px;
        line-height: 1.18
    }

    .autocross-explainer {
        grid-template-columns: 1fr;
        gap: 26px;
        padding: 48px 18px
    }

    .autocross-explainer-copy h2 {
        font-size: 48px
    }

    .autocross-explainer-copy>p:last-of-type {
        font-size: 14px
    }

    .autocross-explainer-copy>strong {
        font-size: 11px
    }

    .autocross-steps {
        scroll-snap-type: x mandatory;
        background: 0 0;
        border: 0;
        gap: 10px;
        padding-bottom: 8px;
        display: flex;
        overflow-x: auto
    }

    .autocross-steps article {
        scroll-snap-align: start;
        border: 1px solid #3d454e;
        min-width: 82vw;
        min-height: 205px;
        padding: 22px 20px
    }

    .autocross-steps h3 {
        margin-top: 38px;
        font-size: 25px
    }

    .founding-season-section {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 48px 18px
    }

    .founding-season-copy h2 {
        font-size: 46px
    }

    .founding-season-copy>p:last-child {
        font-size: 14px
    }

    .founding-season-points span {
        grid-template-columns: 32px 1fr;
        gap: 8px;
        min-height: 48px;
        padding: 9px 12px;
        font-size: 12px
    }

    .event-format-grid,.platform-summary-grid,.class-principles-grid {
        scroll-snap-type: x mandatory;
        background: 0 0;
        border: 0;
        gap: 10px;
        padding-bottom: 9px;
        display: flex;
        overflow-x: auto
    }

    .event-format-grid article,.platform-summary-grid article,.class-principles-grid article {
        scroll-snap-align: start;
        min-width: 82vw;
        min-height: 205px;
        padding: 22px 20px;
        border: 1px solid #3a4148!important
    }

    .event-format-grid h3,.platform-summary-grid h3,.class-principles-grid h3 {
        margin-top: 38px;
        font-size: 25px
    }

    .home-class-grid {
        grid-template-columns: 1fr;
        margin-top: 24px
    }

    .home-class-grid article {
        border-right: 0;
        min-height: 0;
        padding: 17px 18px;
        border-bottom: 1px solid #343d43!important
    }

    .home-class-grid article:last-child {
        border-bottom: 0!important
    }

    .home-class-grid h3 {
        margin: 15px 0 8px;
        font-size: 24px
    }

    .home-class-grid p {
        margin-top: 9px
    }

    .home-classes .compact-heading h2 {
        font-size: 42px
    }

    .home-classes .compact-heading>p:not(.eyebrow) {
        font-size: 14px;
        line-height: 1.5
    }

    .event-calendar-note {
        font-size: 12px
    }

    .event-policy-notice {
        margin-bottom: 0;
        padding: 15px
    }

    .event-policy-notice p,.event-policy-notice a {
        font-size: 12px
    }

    .registration-status {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 20px 18px
    }

    .registration-status h3 {
        font-size: 19px
    }

    .registration-status a {
        white-space: normal;
        text-align: center;
        width: 100%
    }

    .beginner-guide-heading h2 {
        font-size: 46px
    }

    .beginner-guide-heading>p:not(.eyebrow) {
        font-size: 14px
    }

    .beginner-video-frame {
        min-height: 430px
    }

    .beginner-video-copy {
        bottom: 62px
    }

    .beginner-video-copy h3 {
        font-size: 34px
    }

    .beginner-video-copy ul {
        grid-template-columns: 1fr;
        gap: 5px;
        margin-top: 13px;
        display: grid
    }

    .beginner-video-copy li {
        font-size: 11px
    }

    .beginner-chapters {
        scroll-snap-type: x mandatory;
        display: flex;
        overflow-x: auto
    }

    .beginner-chapters button {
        scroll-snap-align: start;
        min-width: 76vw
    }

    .membership-grid {
        scroll-snap-type: x mandatory;
        border: 0;
        gap: 10px;
        display: flex;
        overflow-x: auto
    }

    .membership-grid article,.membership-grid article:nth-child(n) {
        scroll-snap-align: start;
        border: 1px solid #3d454e;
        min-width: 82vw;
        min-height: 330px;
        padding: 25px 20px
    }

    .membership-grid article>strong,.membership-grid .membership-rule>strong {
        font-size: 54px
    }

    .helmet-policy-details {
        scroll-snap-type: x mandatory;
        border: 0;
        gap: 10px;
        display: flex;
        overflow-x: auto
    }

    .helmet-policy-details>div {
        scroll-snap-align: start;
        min-width: 82vw;
        border: 1px solid #354149!important
    }

    .safety-grid {
        scroll-snap-type: x mandatory;
        gap: 10px;
        display: flex;
        overflow-x: auto
    }

    .safety-grid article:nth-child(n) {
        scroll-snap-align: start;
        border: 1px solid #3d454e;
        min-width: 82vw;
        min-height: 150px;
        padding: 20px
    }

    .gallery-features,.market-categories {
        scroll-snap-type: x mandatory;
        gap: 10px;
        display: flex;
        overflow-x: auto
    }

    .gallery-features article,.gallery-features article+article,.market-categories article:nth-child(n) {
        scroll-snap-align: start;
        border: 1px solid #373d46;
        min-width: 78vw;
        padding: 20px
    }

    .gallery-album-media {
        min-height: 245px
    }

    .gallery-album-copy h3,.market-submit-copy h3 {
        font-size: 38px
    }

    .market-submit {
        grid-template-columns: 1fr
    }

    .founder-story>p {
        font-size: 14px;
        line-height: 1.55
    }

    .founder-story>p:nth-child(n+3) {
        display: none
    }

    .founder-mobile-more {
        border-top: 1px solid #454d54;
        margin-top: 5px;
        display: block
    }

    .founder-mobile-more summary {
        color: #fff;
        text-transform: uppercase;
        justify-content: space-between;
        align-items: center;
        min-height: 52px;
        font-size: 12px;
        font-weight: 900;
        list-style: none;
        display: flex
    }

    .founder-mobile-more summary::-webkit-details-marker {
        display: none
    }

    .founder-mobile-more summary span {
        color: var(--red);
        font-size: 24px
    }

    .founder-mobile-more[open] summary span {
        transform: rotate(45deg)
    }

    .founder-mobile-more p {
        color: #aeb7be;
        font-size: 14px;
        line-height: 1.55
    }

    .faq-list summary {
        min-height: 66px
    }

    .faq-list details>p {
        padding-left: 52px
    }

    .contact-grid article {
        padding: 18px 0
    }

    footer {
        padding: 50px 18px 20px
    }

    .footer-email {
        font-size: 11px
    }
}

@media (width<=360px) {
    .inner-brand {
        width: 162px
    }

    .inner-header-cta {
        padding: 0 8px;
        font-size: 7.5px
    }

    .hero-final-copy h1 {
        font-size: 36px
    }

    .policy-hero h1 {
        overflow-wrap: anywhere;
        font-size: clamp(42px,14vw,50px)
    }
}

.detail-header {
    position: relative
}

.compact-hero {
    min-height: 700px
}

.hero-final-eyebrow-text {
    font: inherit;
    font-weight: inherit
}

@media (width<=720px) {
    .compact-hero {
        min-height: 680px;
        padding-top: 68px
    }

    .compact-hero .hero-final-media,.compact-hero .hero-final-shade {
        height: auto;
        inset: 68px 0 0
    }

    .compact-hero .hero-final-shell {
        min-height: 612px;
        padding: 154px 18px 24px
    }

    .compact-hero .mobile-hero-advantages {
        top: 68px
    }

    .compact-hero .hero-final-eyebrow {
        align-items: flex-start;
        margin-bottom: 12px;
        line-height: 1.3
    }

    .compact-hero .hero-final-eyebrow-text {
        color: #fff;
        letter-spacing: 1px;
        text-shadow: 0 2px 7px #000000e6;
        max-width: 270px;
        font-size: 12px
    }
}

:root {
    --pmc-signature-line: linear-gradient(to bottom,var(--red) 0 66.666%,var(--warm-white) 66.666% 100%)
}

@media (width>=721px) {
    .compact-home>.section {
        position: relative
    }

    .compact-home>.section:before {
        content: "";
        z-index: 2;
        pointer-events: none;
        background: #df1f2de0;
        height: 1px;
        position: absolute;
        top: 0;
        left: 0;
        right: 0
    }

    .compact-home>.compact-explainer,.compact-home>.final-registration {
        border-top: 0
    }

    .compact-home>.compact-explainer:before {
        background: var(--pmc-signature-line);
        height: 6px
    }
}

.compact-explainer,.final-registration,.founding-season-section,.autocross-explainer,.detail-cta {
    border-top: 6px solid #0000;
    border-image: var(--pmc-signature-line) 1
}

.detail-hero,.membership-hero,.founding-hero,.policy-hero {
    border-bottom: 6px solid #0000;
    border-image: var(--pmc-signature-line) 1
}

footer,.useful-footer {
    background: var(--pmc-signature-line) top/100% 6px no-repeat,#000
}

.inner-footer {
    background: var(--pmc-signature-line) top/100% 6px no-repeat,#020304;
    border-top: 0
}

.eyebrow span {
    background: var(--pmc-signature-line);
    flex: none;
    width: 48px;
    height: 4px
}

.inner-eyebrow {
    align-items: center;
    gap: 13px;
    display: flex
}

.inner-eyebrow:before {
    content: "";
    background: var(--pmc-signature-line);
    flex: none;
    width: 48px;
    height: 4px
}

@media (width<=720px) {
    .compact-explainer,.final-registration,.founding-season-section,.autocross-explainer,.detail-cta {
        border-top-width: 4px
    }

    .detail-hero,.membership-hero,.founding-hero,.policy-hero {
        border-bottom-width: 4px
    }

    footer,.useful-footer,.inner-footer {
        background-size: 100% 4px
    }

    .eyebrow span,.inner-eyebrow:before {
        width: 36px;
        height: 3px
    }

    .final-header .final-brand {
        order: 1
    }

    .final-header .final-socials,.final-header>.language-switcher {
        display: none
    }

    .final-mobile-menu>div>.language-switcher {
        margin: 0 0 7px;
        display: block
    }

    .final-mobile-menu>div>.language-switcher>summary {
        justify-content: center;
        min-height: 42px
    }

    .final-mobile-menu>div>.language-switcher>nav {
        width: auto;
        box-shadow: none;
        margin-top: 4px;
        position: static
    }

    :lang(es) .compact-hero .hero-final-copy h1,:lang(ru) .compact-hero .hero-final-copy h1,:lang(pt) .compact-hero .hero-final-copy h1,:lang(fr) .compact-hero .hero-final-copy h1,:lang(ja) .compact-hero .hero-final-copy h1 {
        font-size: 37px
    }

    :lang(ja) .mobile-hero-advantages strong {
        font-size: 9px
    }

    .final-header .final-header-cta {
        letter-spacing: .35px;
        order: 2;
        gap: 0;
        min-height: 34px;
        margin-left: auto;
        padding: 0 8px;
        font-size: 8px;
        display: inline-flex
    }

    .final-header .final-header-cta span {
        display: none
    }

    .final-header .mobile-header-language {
        flex: none;
        order: 3;
        display: block;
        position: relative
    }

    .mobile-header-language>summary {
        cursor: pointer;
        background: 0 0;
        border: 0;
        place-items: center;
        width: 44px;
        height: 44px;
        padding: 0;
        list-style: none;
        display: grid
    }

    .mobile-header-language-visual {
        color: #fff;
        background: linear-gradient(145deg,#171b1f,#050607);
        border: 1px solid #f0f1ee;
        border-top: 3px solid #df1f2d;
        border-radius: 7px;
        place-items: center;
        width: 35px;
        height: 35px;
        padding: 2px;
        display: grid
    }

    .mobile-header-language>summary::-webkit-details-marker {
        display: none
    }

    .mobile-header-language-visual>span {
        font-family: Apple Color Emoji,Segoe UI Emoji,sans-serif;
        font-size: 21px;
        line-height: 1
    }

    .mobile-header-language-visual>small {
        color: #ef3340;
        letter-spacing: .8px;
        margin-top: -5px;
        font-size: 6px;
        font-weight: 900
    }

    .mobile-header-language>nav {
        z-index: 100;
        background: #050607;
        border: 1px solid #50565c;
        border-top: 4px solid #df1f2d;
        border-radius: 8px;
        grid-template-columns: 1fr 1fr;
        gap: 6px;
        width: min(260px,100vw - 20px);
        padding: 9px;
        display: grid;
        position: absolute;
        top: calc(100% + 10px);
        right: -48px;
        box-shadow: 0 18px 40px #000000b8
    }

    .mobile-header-language>nav a {
        color: #e5e9eb;
        background: #15191c;
        border: 1px solid #343a40;
        align-items: center;
        gap: 8px;
        min-height: 40px;
        padding: 8px 10px;
        font-size: 10px;
        font-weight: 800;
        display: flex
    }

    .mobile-header-language>nav a span {
        color: #ef3340;
        letter-spacing: .7px;
        width: 24px;
        font-size: 8px;
        font-weight: 900
    }

    .mobile-header-language>nav a.active {
        color: #fff;
        background: #292e32;
        border-color: #f0f1ee
    }

    .final-header .final-mobile-menu {
        order: 4;
        margin-left: 0
    }

    .final-header .final-mobile-menu>summary {
        background: 0 0;
        border: 0;
        place-items: center;
        width: 44px;
        height: 44px;
        padding: 0;
        display: grid
    }

    .mobile-menu-visual {
        color: #fff;
        background: #090909;
        border: 1px solid #5a626c;
        place-items: center;
        padding: 9px 8px;
        display: grid
    }

    .mobile-header-language>summary:focus-visible,.final-mobile-menu>summary:focus-visible {
        outline-offset: 0;
        outline: 2px solid #20c8ee
    }
}

@media (width<=390px) {
    .final-header {
        gap: 4px;
        padding-left: 9px;
        padding-right: 9px
    }

    .final-header .pmc-brand-lockup,.final-header .pmc-approved-mark {
        width: 140px
    }

    .final-header .final-header-cta {
        min-height: 32px;
        padding: 0 6px;
        font-size: 7.5px
    }

    .mobile-header-language-visual {
        width: 33px;
        height: 33px
    }

    .final-mobile-menu>summary .mobile-menu-visual {
        padding: 8px 7px;
        font-size: 8px
    }
}

@media (width<=340px) {
    .final-header .pmc-brand-lockup,.final-header .pmc-approved-mark {
        width: 112px
    }

    .final-header .final-header-cta {
        padding: 0 5px;
        font-size: 7px
    }
}

.home-founding-status {
    background: linear-gradient(105deg,#d8b33f24,#0a0c0df5);
    border: 1px solid #66582f;
    border-left: 5px solid #d8b33f;
    gap: 5px;
    margin-top: 22px;
    padding: 15px 16px;
    display: grid
}

.home-founding-status b {
    color: #fff;
    letter-spacing: .5px;
    text-transform: uppercase;
    font: 18px Impact,sans-serif
}

.home-founding-status small {
    color: #b8c0c3;
    letter-spacing: .7px;
    text-transform: uppercase;
    font: 10px monospace
}

.home-founding-status em {
    color: #e1c25a;
    text-transform: uppercase;
    margin-top: 4px;
    font-size: 12px;
    font-style: normal;
    font-weight: 900
}

.founding-counter {
    background: #0b0d0ee6;
    border: 1px solid #5f5127;
    border-left: 5px solid #d8b33f;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 18px;
    max-width: 470px;
    margin: -8px 0 28px;
    padding: 14px 18px;
    display: grid
}

.founding-counter>div {
    align-items: baseline;
    gap: 7px;
    display: flex
}

.founding-counter>div strong {
    color: #fff;
    font: 38px/.9 Impact,sans-serif
}

.founding-counter>div span {
    color: #d8b33f;
    font: 18px Impact,sans-serif
}

.founding-counter p {
    color: #fff;
    text-transform: uppercase;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    font-size: 12px;
    font-weight: 900;
    display: flex
}

.founding-counter small {
    color: #a8aaa6;
    letter-spacing: .8px;
    font: 9px monospace
}

.street-challenge {
    border: 1px solid #4a5055;
    border-left: 7px solid var(--red);
    background: linear-gradient(105deg,#df1f2d2e,#080b0dfa 55%);
    grid-template-columns: 92px 1fr;
    align-items: center;
    gap: 25px;
    max-width: 980px;
    margin: 38px 0;
    padding: 26px 30px;
    display: grid
}

.street-challenge>span {
    width: 72px;
    height: 72px;
    box-shadow: 0 0 0 5px var(--red);
    color: #fff;
    border: 6px solid #fff;
    border-radius: 50%;
    place-items: center;
    font: 52px/.8 Impact,sans-serif;
    display: grid
}

.street-challenge div {
    flex-direction: column;
    gap: 6px;
    display: flex
}

.street-challenge b {
    color: #df1f2d;
    letter-spacing: 1.4px;
    font: 12px monospace
}

.street-challenge strong {
    color: #fff;
    text-transform: uppercase;
    font: italic clamp(27px,3vw,43px)/.95 Impact,sans-serif
}

.street-challenge p {
    color: #b6bec2;
    max-width: 760px;
    margin: 4px 0 0;
    font-size: 14px;
    line-height: 1.55
}

@media (width<=720px) {
    .founding-price-card details>summary {
        padding: 22px 20px
    }

    .founding-open-prompt {
        font-size: 9px!important
    }

    .founding-benefit-panel {
        padding: 3px 18px 22px
    }

    .founding-benefit-panel ul {
        grid-template-columns: 1fr;
        gap: 6px;
        margin-top: 16px
    }

    .founding-benefit-panel li {
        padding: 9px 10px;
        font-size: 10px
    }

    .experienced-driver-callout {
        border-left-width: 4px;
        grid-template-columns: 1fr;
        gap: 18px;
        margin: 24px 0 10px;
        padding: 20px 17px
    }

    .experienced-driver-callout h3 {
        font-size: 27px
    }

    .experienced-driver-callout p {
        font-size: 12px
    }

    .experienced-driver-callout ul {
        grid-template-columns: 1fr 1fr;
        gap: 5px
    }

    .experienced-driver-callout li {
        min-height: 50px;
        padding: 8px 9px;
        font-size: 9px
    }

    .experienced-driver-callout li:last-child {
        grid-column: 1/-1;
        min-height: 38px
    }

    .home-founding-status {
        margin-top: 16px;
        padding: 12px 13px
    }

    .home-founding-status b {
        font-size: 16px
    }

    .founding-price {
        flex-wrap: wrap;
        gap: 12px;
        margin: 24px 0 18px
    }

    .founding-price strong {
        font-size: 56px
    }

    .founding-price span {
        padding-left: 16px
    }

    .founding-counter {
        grid-template-columns: auto minmax(0,1fr);
        gap: 12px;
        max-width: 100%;
        margin: 0 0 24px;
        padding: 12px 14px
    }

    .founding-counter>div strong {
        font-size: 32px
    }

    .founding-counter p {
        font-size: 11px
    }

    .founding-counter small {
        font-size: 8px
    }

    .street-challenge {
        grid-template-columns: 1fr;
        padding: 24px 20px
    }

    .street-challenge>span {
        border-width: 5px;
        width: 58px;
        height: 58px;
        font-size: 40px
    }

    .street-challenge strong {
        font-size: 30px
    }
}

.account-tabs {
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 18px;
    display: flex
}

.account-tabs button {
    color: #9ba5ac;
    cursor: pointer;
    background: #0d1012;
    border: 1px solid #3e464d;
    min-height: 39px;
    padding: 0 14px;
    font-size: 9px;
    font-weight: 900
}

.account-tabs button.active {
    color: #fff;
    border-color: #20c8ee;
    box-shadow: inset 3px 0 #e01925
}

.account-panel {
    background: #0d1012;
    border: 1px solid #394047;
    gap: 15px;
    max-width: 560px;
    padding: 24px;
    display: grid
}

.account-panel h2 {
    text-transform: uppercase;
    margin: 0;
    font-family: Impact,sans-serif;
    font-size: 26px
}

.account-panel p {
    color: #87929a;
    margin: 0;
    font-size: 11px;
    line-height: 1.55
}

.volunteer-dashboard-card {
    background: linear-gradient(110deg,#20c8ee14,#0000 55%),#0d1012;
    border: 1px solid #465059;
    border-left: 4px solid #20c8ee;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    margin-top: 22px;
    padding: 22px 24px;
    display: flex
}

.volunteer-dashboard-card>div>span {
    color: #20c8ee;
    letter-spacing: 1px;
    font: 9px monospace
}

.volunteer-dashboard-card h2 {
    text-transform: uppercase;
    margin: 7px 0 5px;
    font-family: Impact,sans-serif;
    font-size: 26px;
    font-style: italic
}

.volunteer-dashboard-card p {
    color: #9ba5ac;
    max-width: 760px;
    margin: 0;
    font-size: 11px;
    line-height: 1.5
}

.volunteer-form>.portal-form-grid {
    margin: 20px 0
}

.volunteer-form>.portal-check {
    max-width: 900px;
    margin: 16px 0
}

.volunteer-form>.portal-button {
    margin-top: 4px
}

@media (width<=720px) {
    .volunteer-dashboard-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 18px
    }

    .volunteer-dashboard-card .portal-button {
        width: 100%
    }

    .portal-nav {
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 6px;
        padding: 10px 12px;
        display: grid;
        overflow: visible
    }

    .portal-nav button {
        white-space: normal;
        text-align: center;
        justify-content: center;
        align-items: center;
        width: 100%;
        min-height: 46px;
        padding: 7px 5px;
        font-size: 8px;
        line-height: 1.15;
        display: flex
    }

    .portal-nav button.active {
        box-shadow: inset 0 3px 0 var(--portal-red)
    }

    .portal-nav .staff-preview-button {
        grid-column: 1/-1;
        min-height: 40px;
        margin: 0
    }

    .portal-title {
        flex-direction: column;
        gap: 12px
    }

    .portal-title .portal-status {
        align-self: flex-start
    }

    .reg-steps {
        grid-template-columns: repeat(3,minmax(0,1fr));
        display: grid;
        overflow: visible
    }

    .reg-steps li {
        border-right: 1px solid var(--portal-border);
        border-bottom: 1px solid var(--portal-border);
        min-width: 0;
        min-height: 54px
    }

    .reg-steps button {
        justify-content: center
    }

    .reg-steps li:nth-child(3n) {
        border-right: 0
    }

    .reg-steps li:nth-last-child(-n+3) {
        border-bottom: 0
    }

    .reg-steps span {
        white-space: normal;
        text-overflow: clip;
        line-height: 1.15;
        overflow: visible
    }

    .portal-page input,.portal-page select,.portal-page textarea {
        font-size: 16px
    }

    .portal-button,.reg-actions>button {
        min-height: 46px
    }

    .portal-brand {
        width: min(52vw,178px)
    }

    .portal-home {
        letter-spacing: .45px;
        font-size: 7px
    }
}

.reg-panel>.portal-button.disabled {
    display: none
}

.paypal-panel {
    background: linear-gradient(115deg,#0070ba24,#0000 58%),#0b0e11;
    border: 1px solid #38434c;
    border-top: 4px solid #0070ba;
    max-width: 780px;
    margin: 16px 0 0;
    padding: 22px
}

.paypal-panel .paypal-label {
    color: #53b9ff;
    letter-spacing: 1.2px;
    margin-bottom: 12px;
    font: 9px monospace;
    display: block
}

.paypal-panel>strong {
    color: #fff;
    letter-spacing: .4px;
    margin-bottom: 8px;
    font: 18px Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;
    display: block
}

.paypal-panel p {
    color: #aab4bb;
    margin: 8px 0;
    font-size: 12px;
    line-height: 1.55
}

.paypal-panel small {
    color: #7f8c95;
    margin-top: 12px;
    font: 9px/1.5 monospace;
    display: block
}

.paypal-buttons {
    min-height: 45px
}

.paypal-message {
    background: #0d251e;
    border-left: 3px solid #55d7a8;
    padding: 10px 12px;
    color: #bcebd9!important
}

@media (width<=720px) {
    .paypal-panel {
        padding: 18px 15px
    }

    .paypal-buttons {
        min-height: 48px
    }
}

.capacity-bar,.staff-modal .admin-metrics article:first-child,.staff-modal .admin-metrics+.portal-field {
    display: none
}

.reg-panel:has(.capacity-bar) .summary-list>div:last-child {
    display: none
}

.number-protected {
    border: 1px solid #a51f28;
    border-left: 4px solid var(--portal-red);
    background: #240b0e;
    flex-direction: column;
    gap: 5px;
    max-width: 650px;
    margin: 12px 0;
    padding: 13px 15px;
    display: flex
}

.number-protected b {
    color: #fff;
    letter-spacing: .5px;
    font: 12px monospace
}

.number-protected span {
    color: #d8a7aa;
    font-size: 11px;
    line-height: 1.5
}

@media (width<=720px) {
    .portal-page {
        background: #0d1114
    }

    .portal-top {
        background: #080b0e
    }

    .portal-banner {
        background: linear-gradient(90deg,#1b2227,#12171b)
    }

    .portal-nav {
        background: #0b0f12
    }

    .portal-main {
        background: #0d1114
    }

    .reg-panel,.portal-info,.account-panel,.number-picker,.checkin-panel {
        background-color: #13191e
    }

    .portal-field input,.portal-field select,.portal-field textarea,.number-picker input {
        background: #172027;
        border-color: #535f68
    }

    .vehicle-choice,.portal-check {
        background: #151c21;
        border-color: #444e56
    }
}

.connected-staff-link {
    justify-content: center;
    align-items: center;
    text-decoration: none;
    display: flex
}

.connected-registration {
    border: 1px solid var(--portal-border);
    border-top: 4px solid var(--portal-red);
    background: #0d1012;
    gap: 20px;
    margin: 0 0 26px;
    padding: 24px;
    display: grid
}

.connected-registration .portal-title {
    margin: 0
}

.event-checkin-qr {
    width: 190px;
    height: 190px;
    image-rendering: pixelated;
    background: #fff;
    border: 1px solid #fff;
    margin-top: 16px;
    padding: 8px
}

.staff-event-day-page {
    min-height: 100vh
}

.staff-event-shell {
    gap: 22px;
    width: min(1260px,100% - 34px);
    margin: 0 auto;
    padding: 32px 0 64px;
    display: grid
}

.staff-event-toolbar {
    border: 1px solid var(--portal-border);
    background: #0d1012;
    grid-template-columns: minmax(190px,.7fr) minmax(280px,1.3fr) auto;
    align-items: end;
    gap: 12px;
    padding: 18px;
    display: grid
}

.staff-event-toolbar .portal-field {
    margin: 0
}

.staff-event-actions {
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    display: flex
}

.staff-event-actions a {
    text-decoration: none
}

.event-day-metrics {
    grid-template-columns: repeat(4,minmax(0,1fr));
    margin: 0
}

.staff-event-records {
    gap: 18px;
    display: grid
}

.staff-event-record {
    border: 1px solid var(--portal-border);
    background: #0d1012;
    border-left: 5px solid #20c8ee;
    gap: 18px;
    padding: 22px;
    display: grid
}

.staff-event-record>header {
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    display: flex
}

.staff-event-record>header>div>span {
    color: #20c8ee;
    letter-spacing: 1px;
    font: 12px monospace
}

.staff-event-record h2 {
    color: #fff;
    text-transform: uppercase;
    margin: 4px 0;
    font: 28px Impact,sans-serif
}

.staff-event-record p {
    color: #87929a;
    overflow-wrap: anywhere;
    margin: 0;
    font: 10px/1.5 monospace
}

.staff-vehicle-summary {
    border-left: 3px solid var(--portal-red);
    background: #151a1e;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    display: flex
}

.staff-vehicle-summary b {
    color: #fff
}

.staff-vehicle-summary span {
    color: #20c8ee;
    font-weight: 900
}

.staff-requirement-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
    display: grid
}

.staff-requirement-grid span {
    color: #7f8a91;
    letter-spacing: .6px;
    background: #14191d;
    border: 1px solid #343b41;
    gap: 5px;
    min-height: 62px;
    padding: 10px;
    font: 8px monospace;
    display: grid
}

.staff-requirement-grid b {
    color: #fff;
    overflow-wrap: anywhere;
    font-size: 10px
}

.tech-operation-panel {
    background: #111619;
    border: 1px solid #343b41;
    gap: 12px;
    padding: 16px;
    display: grid
}

@media (width<=900px) {
    .staff-event-toolbar {
        grid-template-columns: 1fr 1fr
    }

    .staff-event-toolbar>.portal-button {
        grid-column: 1/-1
    }

    .event-day-metrics,.staff-requirement-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media (width<=720px) {
    .connected-portal .portal-main {
        min-width: 0
    }

    .connected-staff-link {
        grid-column: 1/-1;
        min-height: 44px;
        font-size: 8px;
        margin: 0!important
    }

    .connected-registration {
        padding: 16px 13px
    }

    .connected-registration .credential {
        width: 100%;
        max-width: 320px
    }

    .event-checkin-qr {
        width: min(210px,100%);
        height: auto
    }

    .staff-event-shell {
        gap: 15px;
        width: calc(100% - 22px);
        padding: 20px 0 44px
    }

    .staff-event-toolbar {
        grid-template-columns: 1fr;
        padding: 14px
    }

    .staff-event-toolbar>.portal-button {
        grid-column: auto;
        width: 100%
    }

    .staff-event-actions {
        grid-template-columns: 1fr;
        display: grid
    }

    .staff-event-actions .portal-button {
        text-align: center;
        width: 100%
    }

    .event-day-metrics {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 7px
    }

    .event-day-metrics article {
        min-height: 74px;
        padding: 10px
    }

    .staff-event-record {
        border-left-width: 4px;
        gap: 14px;
        padding: 16px 13px
    }

    .staff-event-record>header {
        display: grid
    }

    .staff-event-record h2 {
        font-size: 24px
    }

    .staff-vehicle-summary {
        display: grid
    }

    .staff-requirement-grid {
        grid-template-columns: 1fr 1fr
    }

    .staff-requirement-grid span {
        min-width: 0
    }

    .tech-operation-panel {
        padding: 12px
    }

    .tech-operation-panel .staff-actions {
        grid-template-columns: 1fr;
        display: grid
    }

    .tech-operation-panel .staff-actions button {
        min-height: 46px
    }
}

@media (width<=380px) {
    .staff-requirement-grid {
        grid-template-columns: 1fr
    }
}

.pmc-classifier {
    background: #0d1012;
    border: 1px solid #3b444b;
    gap: 18px;
    max-width: 960px;
    margin: 24px 0;
    padding: 22px;
    display: grid
}

.pmc-classifier-heading {
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    display: flex
}

.pmc-classifier-heading span,.classifier-result>span {
    color: var(--portal-cyan);
    letter-spacing: 1px;
    font: 9px monospace
}

.pmc-classifier-heading h3 {
    text-transform: uppercase;
    margin: 6px 0 0;
    font: 24px Impact,sans-serif
}

.pmc-classifier-heading>small {
    color: #8a969e;
    font: 9px monospace
}

.engine-classification {
    border-bottom: 1px solid #394047;
    gap: 12px;
    padding-bottom: 18px;
    display: grid
}

.engine-selector {
    margin: 0
}

.selected-engine {
    background: #111519;
    border: 1px solid #394047;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 12px 13px;
    display: flex
}

.selected-engine>b {
    font-size: 10px
}

.selected-engine>span {
    color: #fff;
    text-align: right;
    font-size: 11px
}

.modification-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    display: grid
}

.modification-grid label {
    cursor: pointer;
    background: #111519;
    border: 1px solid #394047;
    align-items: center;
    gap: 11px;
    min-height: 58px;
    padding: 11px 13px;
    display: flex
}

.modification-grid label:hover,.modification-grid label.selected {
    border-color: var(--portal-cyan);
    box-shadow: inset 4px 0 0 var(--portal-red);
    background: #152027
}

.modification-grid input {
    accent-color: var(--portal-red)
}

.modification-grid label>span {
    flex: 1;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    display: flex
}

.modification-grid b {
    font-size: 11px
}

.modification-grid small {
    color: #59ddb0;
    white-space: nowrap;
    font: 10px monospace
}

.tire-classification {
    border-top: 1px solid #394047;
    gap: 14px;
    padding-top: 18px;
    display: grid
}

.tire-option-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    display: grid
}

.tire-option-grid label {
    cursor: pointer;
    background: #111519;
    border: 1px solid #394047;
    align-items: center;
    gap: 11px;
    min-height: 64px;
    padding: 12px 13px;
    display: flex
}

.tire-option-grid label:hover,.tire-option-grid label.selected {
    border-color: var(--portal-cyan);
    box-shadow: inset 4px 0 0 var(--portal-red);
    background: #152027
}

.tire-option-grid input {
    accent-color: var(--portal-red)
}

.tire-option-grid label>span {
    flex: 1;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    display: flex
}

.tire-option-grid b {
    font-size: 11px
}

.tire-option-grid small {
    color: #59ddb0;
    text-align: right;
    font: 9px monospace
}

.selected-tire {
    background: #111519;
    border: 1px solid #394047;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 12px 13px;
    display: flex
}

.selected-tire>b {
    font-size: 10px
}

.selected-tire>span {
    color: #fff;
    text-align: right;
    font-size: 11px
}

.selected-tire>small {
    color: #f3b84a;
    font: 9px monospace
}

.classifier-result {
    border-left: 4px solid var(--portal-red);
    background: #151b20;
    grid-template-columns: 1fr auto;
    gap: 8px 18px;
    padding: 18px;
    display: grid
}

.classifier-result>span,.classifier-result>strong,.classifier-result>p {
    grid-column: 1
}

.classifier-result>strong {
    text-transform: uppercase;
    font: clamp(28px,4vw,48px) Impact,sans-serif
}

.classifier-result>b {
    color: #59ddb0;
    white-space: nowrap;
    grid-area: 1/2/4;
    align-self: center;
    font: 24px Impact,sans-serif
}

.classifier-result>p {
    color: #98a4ab;
    margin: 0;
    font-size: 11px;
    line-height: 1.5
}

.selected-modifications {
    gap: 10px;
    display: grid
}

.selected-modifications>p {
    color: #99a4aa;
    margin: 0
}

.selected-modifications ul {
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.selected-modifications li {
    background: #111519;
    border: 1px solid #343c42;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 11px;
    font-size: 11px;
    display: flex
}

.selected-modifications li span {
    color: #59ddb0;
    font-family: monospace
}

.garage-save-button {
    margin-top: 20px
}

.one-time-note {
    border-left-color: var(--portal-cyan)
}

.one-time-note b {
    color: var(--portal-cyan)
}

.one-time-registration-note {
    border-left: 4px solid var(--portal-cyan);
    background: #10171b;
    padding: 12px 14px;
    font-weight: 700;
    color: #c2d0d7!important
}

@media (width<=720px) {
    .pmc-classifier {
        padding: 16px 13px
    }

    .pmc-classifier-heading {
        display: grid
    }

    .modification-grid,.tire-option-grid {
        grid-template-columns: 1fr
    }

    .selected-tire,.selected-engine {
        flex-direction: column;
        align-items: flex-start
    }

    .selected-tire>span,.selected-engine>span {
        text-align: left
    }

    .classifier-result {
        grid-template-columns: 1fr
    }

    .classifier-result>b {
        grid-area: auto/1
    }

    .garage-save-button {
        width: 100%
    }
}

.profile-save-bar {
    background: #0d1012;
    border: 1px solid #394149;
    align-items: center;
    gap: 16px;
    max-width: 900px;
    margin-top: 18px;
    padding: 14px;
    display: flex
}

.profile-save-bar .portal-button {
    min-width: 240px;
    min-height: 48px
}

.profile-save-feedback {
    color: #8c979e;
    font: 9px/1.45 monospace
}

.profile-save-feedback.saved {
    color: #55e0af
}

.profile-save-feedback.error {
    color: #ff858b
}

.portal-shell {
    max-width: 1500px;
    display: block
}

.portal-nav.simplified-portal-nav {
    border-right: 0;
    border-bottom: 1px solid var(--portal-border);
    background: #050607;
    align-items: center;
    gap: 7px;
    padding: 11px clamp(14px,3vw,36px);
    display: flex
}

.portal-nav.simplified-portal-nav button {
    text-align: center;
    white-space: nowrap;
    border: 1px solid #2e353b;
    width: auto;
    min-height: 40px;
    padding: 9px 14px
}

.portal-nav.simplified-portal-nav .staff-preview-button {
    margin: 0 0 0 auto
}

.portal-main {
    max-width: 1320px;
    margin: 0 auto
}

.guided-registration-progress {
    border: 1px solid var(--portal-border);
    background: #090b0d;
    grid-template-columns: repeat(3,minmax(0,1fr)) minmax(150px,.7fr);
    margin: 0 0 28px;
    display: grid
}

.guided-registration-progress>div {
    border-right: 1px solid var(--portal-border);
    color: #657078;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    padding: 12px 15px;
    display: flex
}

.guided-registration-progress>div:last-child {
    border-right: 0
}

.guided-registration-progress b {
    border: 1px solid #414950;
    flex: 0 0 28px;
    place-items: center;
    width: 28px;
    height: 28px;
    font: 14px Impact,sans-serif;
    display: grid
}

.guided-registration-progress span {
    text-transform: uppercase;
    flex-direction: column;
    gap: 3px;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.25;
    display: flex
}

.guided-registration-progress .active {
    color: #fff;
    box-shadow: inset 0 4px 0 var(--portal-red);
    background: #171c20
}

.guided-registration-progress .active b {
    border-color: var(--portal-red);
    color: #fff
}

.guided-registration-progress .done {
    color: #55e0af
}

.guided-registration-progress .done b {
    color: #55e0af;
    border-color: #1b8b63
}

.guided-registration-progress .coming-soon-step {
    opacity: .58;
    background: #0d1114
}

.guided-registration-progress .coming-soon-step small {
    color: var(--portal-cyan);
    letter-spacing: .8px;
    font: 8px monospace
}

.walk-in-registration-note {
    border: 1px solid #39434a;
    border-left: 4px solid var(--portal-cyan);
    color: #c7d0d5;
    background: #0d1215;
    align-items: flex-start;
    gap: 18px;
    margin: -12px 0 24px;
    padding: 13px 15px;
    display: flex
}

.walk-in-registration-note strong {
    color: #fff;
    letter-spacing: .5px;
    flex: 0 0 280px;
    font: 10px/1.45 monospace
}

.walk-in-registration-note span {
    font-size: 11px;
    line-height: 1.55
}

.guided-start-button {
    margin: 0 0 22px
}

.missing-required-note {
    color: #ffc16d;
    text-transform: uppercase;
    background: #21170b;
    border-left: 4px solid #d88921;
    max-width: 900px;
    margin: 16px 0 0;
    padding: 11px 13px;
    font: 10px/1.5 monospace
}

@media (width<=720px) {
    .portal-nav.simplified-portal-nav {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 6px;
        padding: 9px 12px;
        display: grid
    }

    .portal-nav.simplified-portal-nav button {
        white-space: normal;
        width: 100%;
        min-height: 44px;
        padding: 7px 8px
    }

    .portal-nav.simplified-portal-nav .staff-preview-button {
        grid-column: 1/-1;
        margin: 0
    }

    .guided-registration-progress {
        grid-template-columns: 1fr 1fr;
        margin-bottom: 20px
    }

    .guided-registration-progress>div {
        border-right: 1px solid var(--portal-border);
        border-bottom: 1px solid var(--portal-border);
        min-height: 58px;
        padding: 9px 10px
    }

    .guided-registration-progress>div:nth-child(2n) {
        border-right: 0
    }

    .guided-registration-progress>div:nth-last-child(-n+2) {
        border-bottom: 0
    }

    .guided-registration-progress span {
        font-size: 9px
    }

    .guided-registration-progress b {
        flex-basis: 24px;
        width: 24px;
        height: 24px
    }

    .walk-in-registration-note {
        gap: 7px;
        margin: -6px 0 18px;
        padding: 12px 13px;
        display: grid
    }

    .walk-in-registration-note strong {
        flex-basis: auto;
        font-size: 9px
    }

    .walk-in-registration-note span {
        font-size: 10px;
        line-height: 1.45
    }

    .profile-save-bar {
        z-index: 8;
        background: #0d1012f7;
        flex-direction: column;
        align-items: stretch;
        gap: 9px;
        margin-top: 16px;
        padding: 10px;
        position: sticky;
        bottom: 10px;
        box-shadow: 0 -8px 24px #0000008c
    }

    .profile-save-bar .portal-button {
        width: 100%;
        min-width: 0;
        min-height: 52px
    }

    .profile-save-feedback {
        text-align: center;
        min-height: 14px
    }
}

.portal-intro {
    border-bottom: 1px solid #313a41;
    max-width: 920px;
    margin: 0 auto 34px;
    padding: 26px 0 30px
}

.portal-intro>span {
    color: var(--portal-cyan);
    letter-spacing: 1.6px;
    font: 800 11px/1.2 Arial,Helvetica,sans-serif
}

.portal-intro h1 {
    color: #fff;
    letter-spacing: .35px;
    margin: 8px 0 12px;
    font: italic clamp(40px,5vw,66px)/.94 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif
}

.portal-intro p {
    color: #b8c2c8;
    max-width: 720px;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.55
}

.portal-quick-access {
    max-width: 920px;
    margin: 0 auto
}

.portal-section-label {
    align-items: center;
    gap: 11px;
    margin: 0 0 12px;
    display: flex
}

.portal-section-label>span {
    background: var(--portal-cyan);
    width: 4px;
    height: 19px
}

.portal-section-label h2 {
    color: #eef3f5;
    letter-spacing: 1.4px;
    margin: 0;
    font-size: 12px;
    font-weight: 900
}

.portal-access-list {
    gap: 8px;
    display: grid
}

.portal-access-list>button,.portal-staff-row {
    color: #fff;
    text-align: left;
    cursor: pointer;
    background: linear-gradient(100deg,#12181c,#0c1013);
    border: 1px solid #3b464e;
    grid-template-columns: 52px minmax(0,1fr) 30px;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-height: 82px;
    padding: 13px 18px;
    transition: border-color .16s,background .16s,transform .16s;
    display: grid
}

.portal-access-list>button:hover,.portal-access-list>button:focus-visible,.portal-staff-row:hover,.portal-staff-row:focus-visible {
    background: linear-gradient(100deg,#172229,#0e1317);
    border-color: #20c8ee;
    outline: 0;
    transform: translate(2px)
}

.portal-access-list>button.active {
    box-shadow: inset 4px 0 0 var(--portal-red);
    border-color: #59646c
}

.portal-access-icon {
    width: 46px;
    height: 46px;
    color: var(--portal-cyan);
    background: #0a0e11;
    border: 1px solid #45515a;
    place-items: center;
    font: 700 23px/1 Arial,sans-serif;
    display: grid
}

.portal-access-copy {
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    display: flex
}

.portal-access-copy strong {
    color: #fff;
    font-size: 17px;
    font-weight: 850;
    line-height: 1.2
}

.portal-access-copy small {
    color: #aeb9bf;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35
}

.portal-access-arrow {
    color: #e8edef;
    text-align: right;
    font: 300 34px/1 Arial,sans-serif
}

.portal-staff-separator {
    color: #7f8b93;
    letter-spacing: 1.2px;
    align-items: center;
    gap: 12px;
    margin: 24px 0 9px;
    font-size: 9px;
    font-weight: 900;
    display: flex
}

.portal-staff-separator:after {
    content: "";
    background: #313a40;
    flex: 1;
    height: 1px
}

.portal-staff-row {
    background: linear-gradient(100deg,#e0192517,#0c1013 58%);
    border-color: #5b3e42
}

.portal-staff-row .portal-access-icon {
    color: #ff6870;
    border-color: #713a40
}

.portal-dashboard-note {
    background: #0d1215;
    border-left: 3px solid #3c4850;
    align-items: center;
    gap: 13px;
    max-width: 920px;
    margin: 18px auto 0;
    padding: 12px 14px;
    display: flex
}

.portal-dashboard-note>span:last-child {
    color: #aeb8be;
    font-size: 11px;
    line-height: 1.45
}

.portal-back-to-menu {
    color: #dce2e5;
    cursor: pointer;
    background: #0d1215;
    border: 1px solid #3c474f;
    min-height: 42px;
    margin: 0 0 24px;
    padding: 0 13px;
    font-size: 10px;
    font-weight: 900
}

.portal-back-to-menu:hover,.portal-back-to-menu:focus-visible {
    border-color: var(--portal-cyan);
    color: #fff;
    outline: 0
}

.portal-mobile-nav {
    display: none
}

.portal-platform-signature {
    color: #dfe5e8;
    background: #07090b;
    border-top: 1px solid #303941;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    max-width: 1320px;
    margin: 0 auto;
    padding: 15px clamp(20px,4vw,62px) 22px;
    display: flex
}

.portal-platform-signature strong {
    color: #fff;
    letter-spacing: 1.15px;
    font-size: 9px
}

.portal-platform-signature span {
    color: #87939a;
    text-align: right;
    font-size: 9px;
    line-height: 1.45
}

.portal-account-settings-link {
    min-height: 46px;
    color: var(--portal-cyan);
    cursor: pointer;
    background: #10161a;
    border: 1px solid #3f4a52;
    margin-top: 18px;
    padding: 0 16px;
    font-size: 10px;
    font-weight: 900
}

.garage-title {
    max-width: 920px
}

.add-vehicle-button {
    flex: none;
    min-height: 48px
}

.garage-empty {
    background: #0c1114;
    border: 1px dashed #46525b;
    max-width: 920px;
    padding: 28px 22px
}

.garage-empty strong {
    color: #fff;
    font-size: 17px;
    display: block
}

.garage-empty p {
    color: #aeb8be;
    margin: 7px 0 0;
    font-size: 12px;
    line-height: 1.5
}

.garage-editor-panel {
    border: 1px solid #46525b;
    border-top: 4px solid var(--portal-cyan);
    background: #0b0f12;
    max-width: 980px;
    margin-top: 24px;
    padding: 22px
}

.garage-editor-heading {
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    display: flex
}

.garage-editor-heading span {
    color: var(--portal-cyan);
    letter-spacing: 1px;
    font: 9px monospace
}

.garage-editor-heading h2 {
    color: #fff;
    margin: 6px 0 0;
    font-size: 27px;
    line-height: 1.1
}

.garage-editor-heading>button {
    color: #fff;
    cursor: pointer;
    background: #11171b;
    border: 1px solid #49545c;
    width: 40px;
    height: 40px;
    font-size: 24px
}

.garage-editor-panel .garage-editor {
    margin-top: 22px
}

@media (width<=720px) {
    .portal-page {
        padding-bottom: calc(70px + env(safe-area-inset-bottom))
    }

    .portal-top {
        z-index: 30;
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        background: #05080af7;
        height: 62px;
        padding: 0 12px;
        position: sticky;
        top: 0
    }

    .portal-brand {
        width: min(49vw,170px)
    }

    .portal-home {
        color: #fff;
        border: 1px solid #3b464e;
        align-items: center;
        min-height: 36px;
        padding: 0 8px;
        font-size: 8px;
        display: flex
    }

    .portal-main {
        padding: 22px 13px 34px
    }

    .portal-intro {
        margin-bottom: 24px;
        padding: 8px 2px 22px
    }

    .portal-intro>span {
        font-size: 10px
    }

    .portal-intro h1 {
        font-size: 38px;
        line-height: .96
    }

    .portal-intro p {
        font-size: 13px;
        line-height: 1.48
    }

    .portal-section-label {
        margin-bottom: 10px
    }

    .portal-access-list {
        gap: 7px
    }

    .portal-access-list>button,.portal-staff-row {
        grid-template-columns: 44px minmax(0,1fr) 22px;
        gap: 12px;
        min-height: 76px;
        padding: 11px 12px
    }

    .portal-access-list>button:hover,.portal-access-list>button:focus-visible,.portal-staff-row:hover,.portal-staff-row:focus-visible {
        transform: none
    }

    .portal-access-icon {
        width: 42px;
        height: 42px;
        font-size: 20px
    }

    .portal-access-copy strong {
        font-size: 16px
    }

    .portal-access-copy small {
        color: #b6c0c6;
        font-size: 11px;
        line-height: 1.32
    }

    .portal-access-arrow {
        font-size: 29px
    }

    .portal-staff-separator {
        margin-top: 20px
    }

    .portal-dashboard-note {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-top: 14px
    }

    .pmc-platform-signature,.portal-platform-signature {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px
    }

    .pmc-platform-signature span,.portal-platform-signature span {
        text-align: left
    }

    .portal-platform-signature {
        padding: 14px 13px 20px
    }

    .portal-back-to-menu {
        margin-bottom: 18px
    }

    .portal-mobile-nav {
        z-index: 120;
        height: calc(64px + env(safe-area-inset-bottom));
        padding: 4px 4px env(safe-area-inset-bottom);
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
        background: #06090bfa;
        border-top: 1px solid #47525a;
        grid-template-columns: repeat(5,minmax(0,1fr));
        display: grid;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        box-shadow: 0 -8px 28px #00000094
    }

    .portal-mobile-nav button {
        color: #9ba7ae;
        cursor: pointer;
        background: 0 0;
        border: 0;
        border-radius: 4px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 3px;
        min-width: 0;
        display: flex
    }

    .portal-mobile-nav button>span {
        font: 700 19px/1 Arial,sans-serif
    }

    .portal-mobile-nav button>small {
        white-space: nowrap;
        font-size: 8px;
        font-weight: 800;
        line-height: 1
    }

    .portal-mobile-nav button.active {
        color: #fff;
        box-shadow: inset 0 3px 0 var(--portal-red);
        background: #171d21
    }

    .garage-title {
        flex-direction: column;
        align-items: stretch
    }

    .garage-title h1 {
        font-size: 39px
    }

    .add-vehicle-button {
        width: 100%;
        min-height: 52px
    }

    .garage-empty {
        padding: 22px 17px
    }

    .garage-editor-panel {
        margin-top: 18px;
        padding: 17px 13px
    }

    .garage-editor-heading h2 {
        font-size: 23px
    }

    .garage-editor-heading>button {
        flex: 0 0 40px
    }
}

.compact-home .compact-heading>p:not(.eyebrow),.compact-home .benefit-preview-grid p,.compact-home .two-card-grid p,.compact-home .experienced-driver-callout p,.compact-home .points-note,.compact-home .home-class-grid p,.compact-home .compact-resource-cards p {
    color: #c7cfd3;
    font-weight: 500
}

.compact-home .benefit-preview-grid h3,.compact-home .two-card-grid h3 {
    color: #f7f8f8
}

.compact-home .experienced-driver-callout li,.compact-home .inline-preview-links strong,.compact-home .section-actions .text-link {
    color: #f0f3f4
}

.compact-home .private-event-card {
    background: linear-gradient(145deg,#11708929,#050708 72%);
    box-shadow: inset 0 4px #19c8ee
}

.compact-home .private-event-apply {
    color: #21c9ee;
    letter-spacing: .4px;
    text-transform: uppercase;
    background: #0d1317;
    border: 1px solid #4d5b64;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding: 11px 13px;
    font-size: 10px;
    font-weight: 900;
    display: inline-flex
}

.compact-home .private-event-apply:hover,.compact-home .private-event-apply:focus-visible {
    color: #fff;
    background: #121c22;
    border-color: #21c9ee;
    outline: 0
}

.approved-course-formats .special-course-card {
    background: linear-gradient(145deg,#11708929,#050708 72%);
    box-shadow: inset 0 4px #19c8ee
}

.approved-course-formats .private-event-apply {
    color: #21c9ee;
    text-transform: uppercase;
    background: #0d1317;
    border: 1px solid #4d5b64;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding: 11px 13px;
    font-size: 10px;
    font-weight: 900;
    display: inline-flex
}

.approved-course-formats .private-event-apply:hover {
    color: #fff;
    border-color: #21c9ee
}

@media (width<=720px) {
    .approved-course-formats {
        padding-top: 46px;
        padding-bottom: 46px
    }

    .approved-course-formats .detail-card-grid {
        margin: 22px 0
    }

    .approved-course-formats .detail-card-grid article {
        min-height: 0;
        padding: 18px
    }

    .approved-course-formats .detail-card-grid h3 {
        margin: 12px 0 8px;
        font-size: 24px
    }

    .approved-course-formats .detail-card-grid p {
        font-size: 13px;
        line-height: 1.5
    }

    .approved-course-formats .private-event-apply {
        justify-content: center;
        width: 100%
    }

    .compact-events .two-card-grid article {
        min-height: 0;
        padding: 18px
    }

    .compact-events .two-card-grid h3 {
        margin: 13px 0 8px;
        font-size: 23px
    }

    .compact-events .two-card-grid p {
        font-size: 13px;
        line-height: 1.5
    }

    .compact-events .private-event-apply {
        justify-content: center;
        width: 100%;
        margin-top: 14px
    }

    .compact-events .section-actions {
        margin-top: 22px
    }
}

.hero-media {
    background-image: url(/pmc-hero.webp)
}

.detail-hero {
    background-image: linear-gradient(90deg,#000000e6,#00000059),url(/pmc-approved-exact-car-hero.webp)
}

.driver-development-hero {
    background-image: linear-gradient(100deg,#04070afa,#0a1118de),url(/pmc-hero.webp)
}

.hero-final-media,.beginner-video-frame {
    background-image: url(/pmc-approved-exact-car-hero.webp)
}

.not-found-page {
    color: #fff;
    background: #020303;
    min-height: 100vh
}

.not-found-shell {
    text-align: center;
    place-content: center;
    min-height: calc(100vh - 76px);
    padding: 120px 24px 80px;
    display: grid
}

.not-found-shell>span {
    color: var(--red);
    letter-spacing: 2px;
    font: 900 13px/1 monospace
}

.not-found-shell h1 {
    text-transform: uppercase;
    margin: 14px 0 12px;
    font: italic clamp(58px,10vw,118px)/.9 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif
}

.not-found-shell p {
    color: #b9c1c5;
    max-width: 580px;
    margin: 0 auto 28px;
    line-height: 1.65
}

.not-found-actions {
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    display: flex
}

@media (width>=721px) {
    .compact-home .benefit-preview-grid p,.compact-home .two-card-grid p,.compact-home .experienced-driver-callout p,.compact-home .points-note,.compact-home .home-class-grid p,.compact-home .compact-resource-cards p {
        font-size: 14px;
        line-height: 1.62
    }

    .compact-home .benefit-preview-grid h3,.compact-home .two-card-grid h3 {
        font-size: 27px;
        line-height: 1.08
    }

    .compact-home .experienced-driver-callout li {
        font-size: 11px
    }
}

.live-timing-hero .primary-button {
    min-height: 48px;
    margin-top: 1.5rem
}

.live-timing-hero>div {
    max-width: 820px
}

@property --tw-blur {
    syntax: "*";
    inherits: false
}

@property --tw-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-invert {
    syntax: "*";
    inherits: false
}

@property --tw-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false
}
