:root {
    --mp-ink: #0b0e11;
    --mp-workshop: #151a20;
    --mp-panel: #1d232b;
    --mp-panel-soft: #252d36;
    --mp-steel: #9aa3ad;
    --mp-paper: #f7f8fa;
    --mp-white: #ffffff;
    --mp-red: #ce2f47;
    --mp-red-bright: #e23a54;
    --mp-blue: #2c8fc7;
    --mp-line: rgba(255, 255, 255, 0.15);
    --mp-line-strong: rgba(255, 255, 255, 0.28);
    --mp-shadow: 0 28px 70px rgba(0, 0, 0, 0.35);
}

.motorsport-partnerships-body {
    background: var(--mp-ink);
}

.mp-page {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 7% 8%, rgba(44, 143, 199, 0.08), transparent 25rem),
        var(--mp-ink);
    color: var(--mp-paper);
    font-family: "Inter", sans-serif;
}

.mp-page *,
.mp-page *::before,
.mp-page *::after,
.contact-page-partnership *,
.contact-page-partnership *::before,
.contact-page-partnership *::after {
    box-sizing: border-box;
}

.mp-page h1,
.mp-page h2,
.mp-page h3,
.mp-page p,
.mp-page figure,
.mp-page dl,
.mp-page ol,
.mp-page ul {
    margin-top: 0;
}

.mp-page h1,
.mp-page h2,
.mp-page h3 {
    color: var(--mp-white);
    font-family: "Inter", sans-serif;
    letter-spacing: -0.035em;
}

.mp-page a {
    color: inherit;
}

.mp-page a:focus-visible,
.contact-page-partnership a:focus-visible,
.mp-service-link a:focus-visible {
    outline: 3px solid var(--mp-blue);
    outline-offset: 4px;
}

.mp-eyebrow,
.mp-feature-label,
.mp-achievement-label {
    color: var(--mp-red-bright);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.17em;
    line-height: 1.4;
    text-transform: uppercase;
}

.mp-lead {
    color: rgba(247, 248, 250, 0.82);
    font-size: clamp(1.05rem, 1.35vw, 1.28rem);
    line-height: 1.65;
    max-width: 43rem;
}

.mp-breadcrumb {
    position: relative;
    z-index: 3;
    margin-bottom: clamp(2.2rem, 5vw, 5rem);
}

.mp-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    padding: 0;
    margin-bottom: 0;
    list-style: none;
}

.mp-breadcrumb li {
    color: rgba(247, 248, 250, 0.58);
    font-size: 0.73rem;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.mp-breadcrumb li:not(:last-child)::after {
    content: "/";
    margin-left: 0.55rem;
    color: var(--mp-red);
}

.mp-breadcrumb a {
    text-decoration: none;
}

.mp-breadcrumb a:hover {
    color: var(--mp-white);
}

.mp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.25rem;
    padding: 0.85rem 1.35rem;
    border: 1px solid transparent;
    border-radius: 0.2rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.mp-button:hover {
    transform: translateY(-2px);
}

.mp-button--primary {
    background: var(--mp-red);
    color: var(--mp-white) !important;
}

.mp-button--primary:hover {
    background: var(--mp-red-bright);
}

.mp-button--ghost {
    border-color: var(--mp-line-strong);
    color: var(--mp-white) !important;
}

.mp-button--ghost:hover {
    border-color: var(--mp-white);
    background: rgba(255, 255, 255, 0.06);
}

.mp-text-link {
    display: inline-flex;
    gap: 0.55rem;
    align-items: center;
    color: var(--mp-white) !important;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-decoration: none;
    text-transform: uppercase;
}

.mp-text-link span {
    color: var(--mp-red-bright);
    font-size: 1.15em;
    transition: transform 180ms ease;
}

.mp-text-link:hover span {
    transform: translateX(0.25rem);
}

.mp-picture,
.mp-picture img {
    display: block;
    width: 100%;
    height: 100%;
}

.mp-picture img {
    object-fit: cover;
}

.mp-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 2.2rem;
}

.mp-section {
    position: relative;
    padding: clamp(5rem, 9vw, 9rem) 0;
}

.mp-section-heading {
    max-width: 54rem;
    margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.mp-section-heading h2,
.mp-intro h2,
.mp-principles-grid h2,
.mp-cta h2,
.mp-sources h2 {
    margin-bottom: 1.15rem;
    font-size: clamp(2.1rem, 4.4vw, 4.6rem);
    line-height: 1.02;
}

.mp-section-heading > p:last-child,
.mp-section-heading--split > p,
.mp-principles-copy p,
.mp-sources header > p {
    color: rgba(247, 248, 250, 0.68);
    font-size: 1.02rem;
    line-height: 1.75;
}

.mp-section-heading--split {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: end;
    max-width: none;
}

/* Landing hero */

.mp-index-hero {
    position: relative;
    min-height: 54rem;
    padding-top: clamp(2rem, 3vw, 3rem);
    background:
        linear-gradient(90deg, rgba(11, 14, 17, 0.98) 0%, rgba(11, 14, 17, 0.82) 48%, rgba(11, 14, 17, 0.35) 100%),
        linear-gradient(180deg, transparent 75%, var(--mp-ink));
}

.mp-index-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.22;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 4rem 4rem;
    mask-image: linear-gradient(to bottom, black, transparent 72%);
}

.mp-index-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(32rem, 1.1fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}

.mp-index-hero-copy {
    animation: mp-rise 700ms ease both;
}

.mp-index-hero h1 {
    max-width: 47rem;
    margin-bottom: 1.7rem;
    font-size: clamp(3rem, 6vw, 6.5rem);
    font-weight: 700;
    line-height: 0.94;
}

.mp-index-hero h1 em {
    color: var(--mp-white);
    font-family: "Playfair Display", serif;
    font-weight: 400;
}

.mp-index-hero-visual {
    position: relative;
    min-height: 37rem;
    animation: mp-rise 820ms 100ms ease both;
}

.mp-index-shot {
    position: absolute;
    overflow: hidden;
    margin: 0;
    background: var(--mp-panel);
    box-shadow: var(--mp-shadow);
}

.mp-index-shot::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.22);
    pointer-events: none;
}

.mp-index-shot .mp-picture img {
    transition: transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.mp-index-shot:hover .mp-picture img {
    transform: scale(1.025);
}

.mp-index-shot figcaption {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;
    padding: 0.62rem 0.85rem;
    background: rgba(11, 14, 17, 0.9);
    color: var(--mp-white);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.mp-index-shot--sure {
    top: 0;
    right: 0;
    width: 79%;
    height: 24rem;
    transform: rotate(1deg);
}

.mp-index-shot--rocketdog {
    bottom: 0;
    left: 0;
    width: 69%;
    height: 19rem;
    border-left: 0.35rem solid var(--mp-red);
    transform: rotate(-1.5deg);
}

.mp-telemetry-shell {
    position: relative;
    z-index: 2;
    margin-top: clamp(6rem, 9vw, 9rem);
    border-top: 1px solid var(--mp-line);
    border-bottom: 1px solid var(--mp-line);
    background: rgba(13, 16, 20, 0.93);
}

.mp-telemetry-shell .container {
    position: relative;
    padding-top: 2.25rem;
    padding-bottom: 2.35rem;
}

.mp-telemetry-heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
    color: var(--mp-steel);
    font-size: 0.68rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.mp-telemetry-heading strong {
    color: var(--mp-white);
}

.mp-telemetry-trace {
    position: absolute;
    top: 3.7rem;
    right: 0.75rem;
    left: 0.75rem;
    height: 5rem;
    opacity: 0.48;
    pointer-events: none;
}

.mp-telemetry-trace svg {
    width: 100%;
    height: 100%;
}

.mp-telemetry-trace path {
    fill: none;
    stroke: var(--mp-red-bright);
    stroke-width: 1.5;
    vector-effect: non-scaling-stroke;
    stroke-dasharray: 1300;
    stroke-dashoffset: 1300;
    animation: mp-trace 2s 450ms ease forwards;
}

.mp-telemetry {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0;
    margin-bottom: 0;
    list-style: none;
}

.mp-telemetry li {
    min-height: 10rem;
    padding: 1.8rem 1.6rem 0 0;
    border-top: 1px solid var(--mp-line-strong);
}

.mp-telemetry li:not(:last-child) {
    border-right: 1px solid var(--mp-line);
}

.mp-telemetry li + li {
    padding-left: 1.6rem;
}

.mp-telemetry li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-bottom: 1.1rem;
    border: 1px solid var(--mp-red);
    border-radius: 50%;
    background: var(--mp-ink);
    color: var(--mp-white);
    font: 600 0.66rem/1 "SFMono-Regular", Consolas, monospace;
}

.mp-telemetry h2 {
    margin-bottom: 0.45rem;
    font-size: 1.25rem;
}

.mp-telemetry p {
    margin-bottom: 0;
    color: var(--mp-steel);
    font-size: 0.82rem;
    line-height: 1.6;
}

/* Landing partnership features */

.mp-partner-features {
    background: var(--mp-workshop);
}

.mp-partner-feature {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
    margin-top: clamp(4rem, 8vw, 8rem);
}

.mp-partner-feature-media {
    position: relative;
    z-index: 1;
    grid-column: span 7;
    height: clamp(24rem, 42vw, 38rem);
    overflow: hidden;
    box-shadow: var(--mp-shadow);
}

.mp-partner-feature-media::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.18);
    pointer-events: none;
}

.mp-partner-feature-copy {
    position: relative;
    z-index: 2;
    grid-column: span 5;
    margin-left: -3rem;
    padding: clamp(2.2rem, 5vw, 4.6rem);
    border-top: 0.25rem solid var(--mp-red);
    background: var(--mp-panel);
    box-shadow: 0 22px 52px rgba(0, 0, 0, 0.32);
}

.mp-partner-feature--rocketdog .mp-partner-feature-copy {
    margin-right: -3rem;
    margin-left: 0;
    border-top-color: var(--mp-blue);
}

.mp-partner-feature--rocketdog .mp-partner-feature-media {
    z-index: 1;
}

.mp-partner-feature-copy h3 {
    margin-bottom: 1rem;
    font-size: clamp(2rem, 3.8vw, 4rem);
    line-height: 1;
}

.mp-partner-feature-copy > p:not(.mp-feature-label) {
    color: rgba(247, 248, 250, 0.7);
    line-height: 1.75;
}

.mp-feature-fact {
    padding: 1.2rem 0;
    margin: 1.8rem 0;
    border-top: 1px solid var(--mp-line);
    border-bottom: 1px solid var(--mp-line);
}

.mp-feature-fact dt {
    color: var(--mp-steel);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.mp-feature-fact dd {
    margin: 0.3rem 0 0;
    color: var(--mp-white);
    font: 600 clamp(1.45rem, 2.4vw, 2.35rem)/1.1 "SFMono-Regular", Consolas, monospace;
}

.mp-partnership-principles {
    border-top: 1px solid var(--mp-line);
    border-bottom: 1px solid var(--mp-line);
    background:
        linear-gradient(135deg, rgba(206, 47, 71, 0.06), transparent 48%),
        var(--mp-ink);
}

.mp-principles-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    gap: clamp(3rem, 9vw, 9rem);
}

.mp-principles-copy {
    padding-left: clamp(1.5rem, 4vw, 4rem);
    border-left: 1px solid var(--mp-red);
}

.mp-principles-copy strong {
    color: var(--mp-white);
}

.mp-cta {
    position: relative;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    overflow: hidden;
    background: var(--mp-panel);
}

.mp-cta::after {
    content: "PARTNER";
    position: absolute;
    right: -1rem;
    bottom: -0.2em;
    color: rgba(255, 255, 255, 0.026);
    font-size: clamp(8rem, 20vw, 22rem);
    font-weight: 800;
    letter-spacing: -0.09em;
    line-height: 0.65;
    pointer-events: none;
}

.mp-cta-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(2rem, 8vw, 7rem);
    align-items: center;
}

.mp-cta h2 {
    margin-bottom: 0.8rem;
    font-size: clamp(2rem, 4.2vw, 4.1rem);
}

.mp-cta p:last-child {
    max-width: 50rem;
    margin-bottom: 0;
    color: rgba(247, 248, 250, 0.68);
    line-height: 1.7;
}

.mp-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: flex-start;
}

/* Detail hero */

.mp-detail-hero {
    position: relative;
    padding-top: clamp(2rem, 3vw, 3rem);
    padding-bottom: clamp(4rem, 7vw, 7rem);
    background:
        linear-gradient(180deg, rgba(11, 14, 17, 0.4), var(--mp-ink)),
        radial-gradient(circle at 85% 28%, rgba(44, 143, 199, 0.15), transparent 34rem),
        var(--mp-workshop);
}

.mp-detail-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.13;
    pointer-events: none;
    background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(8.333% - 1px), rgba(255, 255, 255, 0.09) calc(8.333% - 1px), rgba(255, 255, 255, 0.09) 8.333%);
}

.mp-detail-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(22rem, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: center;
}

.mp-detail-hero-copy {
    animation: mp-rise 700ms ease both;
}

.mp-detail-hero h1 {
    margin-bottom: 1.5rem;
    font-size: clamp(3rem, 5.5vw, 6rem);
    line-height: 0.96;
}

.mp-partner-name {
    padding-top: 1rem;
    margin-bottom: 1.3rem;
    border-top: 1px solid var(--mp-line-strong);
    color: var(--mp-white);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.mp-partner-name span {
    color: var(--mp-blue);
}

.mp-detail-hero-media {
    position: relative;
    height: clamp(31rem, 52vw, 45rem);
    margin: 0;
    box-shadow: var(--mp-shadow);
    animation: mp-rise 820ms 90ms ease both;
}

.mp-detail-hero-media::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: linear-gradient(180deg, transparent 65%, rgba(5, 7, 9, 0.58));
    pointer-events: none;
}

.mp-detail-hero-media figcaption,
.mp-vehicle-media figcaption,
.mp-gallery figcaption {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    color: rgba(247, 248, 250, 0.7);
    font-size: 0.7rem;
    line-height: 1.45;
}

.mp-detail-hero-media figcaption {
    position: absolute;
    z-index: 3;
    right: 1.15rem;
    bottom: 1rem;
    left: 1.15rem;
}

.mp-detail-hero-media figcaption a,
.mp-vehicle-media figcaption a,
.mp-gallery figcaption a {
    flex: 0 0 auto;
    color: var(--mp-white);
    text-decoration-color: rgba(255, 255, 255, 0.35);
    text-underline-offset: 0.2rem;
}

.mp-vertical-mark {
    position: absolute;
    z-index: 4;
    top: 50%;
    left: -1.45rem;
    color: var(--mp-white);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    transform: translate(-50%, -50%) rotate(-90deg);
    transform-origin: center;
}

.mp-vertical-mark::before {
    content: "";
    display: inline-block;
    width: 3rem;
    height: 1px;
    margin: 0 0.8rem 0.2rem 0;
    background: var(--mp-red);
}

.mp-hero-evidence {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 2.6rem 0 0;
    border-top: 1px solid var(--mp-line);
    border-bottom: 1px solid var(--mp-line);
}

.mp-hero-evidence div {
    padding: 1rem 0.75rem 1rem 0;
}

.mp-hero-evidence div:not(:last-child) {
    border-right: 1px solid var(--mp-line);
}

.mp-hero-evidence div + div {
    padding-left: 0.75rem;
}

.mp-hero-evidence dt {
    color: var(--mp-steel);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mp-hero-evidence dd {
    margin: 0.35rem 0 0;
    color: var(--mp-white);
    font: 600 0.78rem/1.35 "SFMono-Regular", Consolas, monospace;
}

/* Detail content */

.mp-intro {
    background: var(--mp-paper);
    color: #222933;
}

.mp-intro h2 {
    color: #11161c;
}

.mp-intro .mp-eyebrow {
    color: var(--mp-red);
}

.mp-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(3rem, 9vw, 9rem);
}

.mp-long-copy {
    color: #3d4650;
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.85;
}

.mp-long-copy p {
    margin-bottom: 1.4rem;
}

.mp-editorial-line {
    padding: 1.8rem 0 0 2rem;
    margin-top: 2rem;
    border-top: 1px solid rgba(17, 22, 28, 0.18);
    border-left: 0.25rem solid var(--mp-red);
    color: #11161c;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.4rem, 2.4vw, 2.25rem);
    line-height: 1.38;
}

.mp-intro--story .mp-section-heading {
    max-width: 58rem;
}

.mp-intro-story-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(22rem, 0.85fr);
    gap: clamp(2.5rem, 7vw, 6rem);
    align-items: center;
}

.mp-story-figure {
    position: relative;
    min-height: 32rem;
    margin: 0;
    overflow: hidden;
    background: var(--mp-panel);
    box-shadow: var(--mp-shadow);
}

.mp-story-figure::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.18);
    pointer-events: none;
}

.mp-story-figure figcaption {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    background: linear-gradient(transparent, rgba(5, 7, 9, 0.94));
    color: rgba(247, 248, 250, 0.78);
    font-size: 0.7rem;
    line-height: 1.45;
}

.mp-story-figure figcaption a {
    flex: 0 0 auto;
    color: var(--mp-white);
    text-decoration-color: rgba(255, 255, 255, 0.35);
    text-underline-offset: 0.2rem;
}

.mp-support {
    background: var(--mp-workshop);
}

.mp-capability-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 3rem;
    padding: 0;
    margin-bottom: 0;
    list-style: none;
    counter-reset: capability;
}

.mp-capability-list li {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    padding: 2rem 0;
    border-top: 1px solid var(--mp-line-strong);
}

.mp-capability-list li:nth-child(5) {
    grid-column: 1 / -1;
}

.mp-capability-sequence {
    grid-row: 1 / span 2;
    color: var(--mp-red-bright);
    font: 600 0.72rem/1.5 "SFMono-Regular", Consolas, monospace;
}

.mp-capability-list h3 {
    margin-bottom: 0.55rem;
    font-size: clamp(1.3rem, 2vw, 1.8rem);
}

.mp-capability-list p {
    max-width: 38rem;
    margin-bottom: 0;
    color: var(--mp-steel);
    line-height: 1.7;
}

.mp-trackside-story {
    background: var(--mp-paper);
    color: #2b333c;
}

.mp-trackside-story h2 {
    color: #11161c;
}

.mp-trackside-story .mp-section-heading--split > p {
    color: #59636d;
}

.mp-trackside-story .mp-eyebrow {
    color: var(--mp-red);
}

.mp-process-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
    gap: 1rem;
}

.mp-process-gallery .mp-story-figure {
    min-height: clamp(31rem, 48vw, 45rem);
}

.mp-story-figure--pits .mp-picture img {
    object-position: center 44%;
}

.mp-ecu-lineage {
    background:
        linear-gradient(120deg, rgba(44, 143, 199, 0.11), transparent 55%),
        var(--mp-panel);
}

.mp-ecu-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(26rem, 1.15fr);
    gap: clamp(3rem, 9vw, 8rem);
    align-items: start;
}

.mp-ecu-copy h2 {
    margin-bottom: 1.5rem;
    font-size: clamp(2.2rem, 4.6vw, 4.7rem);
    line-height: 1.02;
}

.mp-ecu-copy > p:not(.mp-eyebrow) {
    color: rgba(247, 248, 250, 0.7);
    line-height: 1.8;
}

.mp-tech-note {
    padding: 1rem 0 0 1.25rem;
    border-left: 2px solid var(--mp-blue);
    font-size: 0.82rem;
}

.mp-ecu-steps {
    position: relative;
    padding: 0;
    margin-bottom: 0;
    list-style: none;
}

.mp-ecu-steps::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5.4rem;
    width: 1px;
    background: linear-gradient(var(--mp-red), var(--mp-blue));
}

.mp-ecu-steps li {
    position: relative;
    display: grid;
    grid-template-columns: 5.4rem minmax(0, 1fr);
    padding: 1.55rem 0;
    border-top: 1px solid var(--mp-line);
}

.mp-ecu-steps li::before {
    content: "";
    position: absolute;
    top: 2rem;
    left: calc(5.4rem - 0.28rem);
    width: 0.56rem;
    height: 0.56rem;
    border: 2px solid var(--mp-panel);
    border-radius: 50%;
    background: var(--mp-red);
}

.mp-ecu-steps li > span {
    color: var(--mp-steel);
    font: 600 0.7rem/1.5 "SFMono-Regular", Consolas, monospace;
}

.mp-ecu-steps strong {
    display: block;
    padding-left: 1.8rem;
    color: var(--mp-white);
    font-size: 1.35rem;
}

.mp-ecu-steps a,
.mp-ecu-steps small {
    grid-column: 2;
    padding-left: 1.8rem;
    color: var(--mp-steel);
    font-size: 0.74rem;
}

.mp-ecu-steps--expertise::before {
    background: var(--mp-blue) !important;
}

.mp-current-programme {
    position: relative;
    min-height: clamp(35rem, 60vw, 52rem);
    overflow: hidden;
    background: var(--mp-ink);
}

.mp-current-programme::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(5, 7, 9, 0.92) 0%, rgba(5, 7, 9, 0.64) 44%, rgba(5, 7, 9, 0.08) 78%),
        linear-gradient(180deg, rgba(5, 7, 9, 0.08) 55%, rgba(5, 7, 9, 0.72));
    pointer-events: none;
}

.mp-current-programme-media {
    position: absolute;
    inset: 0;
    margin: 0;
}

.mp-current-programme-media .mp-picture img {
    object-position: center;
}

.mp-current-programme-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: clamp(35rem, 60vw, 52rem);
}

.mp-current-programme-copy {
    max-width: 39rem;
    padding: clamp(2rem, 5vw, 4rem);
    border-top: 0.25rem solid var(--mp-red);
    background: rgba(21, 26, 32, 0.92);
    box-shadow: var(--mp-shadow);
}

.mp-current-programme-copy h2 {
    margin-bottom: 1.2rem;
    font-size: clamp(2.3rem, 4.5vw, 4.8rem);
    line-height: 1;
}

.mp-current-programme-copy > p:not(.mp-eyebrow) {
    color: rgba(247, 248, 250, 0.76);
    line-height: 1.75;
}

.mp-current-programme-credit {
    position: absolute;
    z-index: 3;
    right: max(1rem, calc((100vw - 1200px) / 2));
    bottom: 1rem;
    display: flex;
    gap: 1rem;
    margin: 0;
    color: rgba(247, 248, 250, 0.74);
    font-size: 0.68rem;
}

.mp-current-programme-credit a {
    color: var(--mp-white);
    text-underline-offset: 0.2rem;
}

.mp-achievements {
    background: var(--mp-paper);
    color: #2b333c;
}

.mp-achievements h2,
.mp-achievements h3 {
    color: #11161c;
}

.mp-achievements .mp-section-heading > p:last-child {
    color: #59636d;
}

.mp-achievement-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    border-top: 1px solid rgba(17, 22, 28, 0.2);
    border-bottom: 1px solid rgba(17, 22, 28, 0.2);
}

.mp-achievement-grid article {
    min-height: 18rem;
    padding: 2rem 1.8rem 2.3rem;
    border-left: 1px solid rgba(17, 22, 28, 0.16);
}

.mp-achievement-grid article:first-child {
    border-left: 0;
}

.mp-achievement-grid h3 {
    margin-bottom: 0.8rem;
    font-size: 1.35rem;
    line-height: 1.15;
}

.mp-achievement-grid article > p:not(.mp-achievement-label) {
    color: #5a646e;
    font-size: 0.88rem;
    line-height: 1.7;
}

.mp-achievement-grid article > a {
    color: #11161c;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    text-underline-offset: 0.22rem;
}

.mp-timeline-section {
    background: var(--mp-ink);
}

.mp-competition-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.mp-competition-card {
    position: relative;
    min-height: 15rem;
    padding: 1.8rem;
    border: 1px solid var(--mp-line);
    background: var(--mp-workshop);
}

.mp-competition-card::before {
    content: "";
    position: absolute;
    top: -1px;
    right: -1px;
    left: -1px;
    height: 0.2rem;
    background: var(--mp-blue);
    opacity: 0.55;
}

.mp-competition-card--milestone {
    background:
        linear-gradient(145deg, rgba(206, 47, 71, 0.14), transparent 70%),
        var(--mp-workshop);
}

.mp-competition-card--milestone::before {
    background: var(--mp-red);
    opacity: 1;
}

.mp-competition-card-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: baseline;
    margin-bottom: 1.7rem;
}

.mp-competition-year {
    color: var(--mp-white);
    font: 700 clamp(1.8rem, 2.7vw, 2.8rem)/1 "SFMono-Regular", Consolas, monospace;
}

.mp-competition-car {
    color: var(--mp-blue);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: right;
    text-transform: uppercase;
}

.mp-competition-card--milestone .mp-competition-car {
    color: var(--mp-red-bright);
}

.mp-competition-card h3 {
    margin-bottom: 0.7rem;
    font-size: 1.15rem;
    letter-spacing: -0.015em;
    line-height: 1.25;
}

.mp-competition-card > p {
    margin-bottom: 0;
    color: var(--mp-steel);
    font-size: 0.86rem;
    line-height: 1.65;
}

.mp-gallery-section {
    background: var(--mp-workshop);
}

.mp-gallery {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1rem;
}

.mp-gallery figure {
    position: relative;
    min-height: 25rem;
    margin: 0;
    overflow: hidden;
    background: var(--mp-panel);
}

.mp-gallery figure:nth-child(1) {
    grid-column: span 8;
}

.mp-gallery figure:nth-child(2) {
    grid-column: span 4;
}

.mp-gallery figure:nth-child(3) {
    grid-column: span 5;
}

.mp-gallery figure:nth-child(4) {
    grid-column: span 7;
}

.mp-gallery figcaption,
.mp-vehicle-media figcaption {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1rem 1.15rem;
    background: linear-gradient(transparent, rgba(5, 7, 9, 0.92));
}

.mp-gallery figure::after,
.mp-vehicle-media::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.18);
    pointer-events: none;
}

.mp-gallery figure:nth-child(2) .mp-picture img,
.mp-gallery figure:nth-child(4) .mp-picture img {
    object-position: center;
}

/* Rocketdog vehicle story */

.mp-vehicle-section {
    background: var(--mp-workshop);
}

.mp-vehicle-list {
    display: grid;
    gap: clamp(3rem, 7vw, 7rem);
}

.mp-vehicle-list article {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
    gap: clamp(2.5rem, 7vw, 6rem);
    align-items: center;
}

.mp-vehicle-list article:nth-child(even) .mp-vehicle-media {
    order: 2;
}

.mp-vehicle-list article:nth-child(even) .mp-vehicle-copy {
    order: 1;
}

.mp-vehicle-media {
    position: relative;
    height: clamp(25rem, 45vw, 39rem);
    margin: 0;
    overflow: hidden;
    box-shadow: var(--mp-shadow);
}

.mp-vehicle-copy h3 {
    margin-bottom: 1.2rem;
    font-size: clamp(2.4rem, 5vw, 5.2rem);
    line-height: 0.98;
}

.mp-vehicle-copy > p:not(.mp-feature-label) {
    color: rgba(247, 248, 250, 0.7);
    line-height: 1.75;
}

.mp-vehicle-evidence {
    padding: 1.25rem 0 1.25rem 1.2rem;
    margin: 1.8rem 0;
    border-top: 1px solid var(--mp-line);
    border-bottom: 1px solid var(--mp-line);
    border-left: 2px solid var(--mp-blue);
    font-size: 0.86rem;
}

.mp-vehicle-evidence strong {
    color: var(--mp-white);
}

.mp-achievements--rocketdog .mp-achievement-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mp-rocketdog-note {
    background:
        linear-gradient(135deg, rgba(44, 143, 199, 0.08), transparent 48%),
        var(--mp-ink);
}

/* Sources */

.mp-sources {
    border-top: 1px solid var(--mp-line);
    background: var(--mp-panel);
}

.mp-sources-grid {
    display: grid;
    grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(3rem, 8vw, 8rem);
}

.mp-sources h2 {
    font-size: clamp(2rem, 3.6vw, 3.7rem);
}

.mp-sources ol {
    padding: 0;
    margin-bottom: 0;
    border-top: 1px solid var(--mp-line-strong);
    list-style: none;
    counter-reset: sources;
}

.mp-sources li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.2rem 1rem;
    padding: 1.1rem 0;
    border-bottom: 1px solid var(--mp-line);
    counter-increment: sources;
}

.mp-sources li::before {
    content: counter(sources, decimal-leading-zero);
    grid-row: 1 / span 2;
    align-self: start;
    width: 2.4rem;
    color: var(--mp-red-bright);
    font: 600 0.65rem/1.7 "SFMono-Regular", Consolas, monospace;
}

.mp-sources li > a {
    grid-column: 1;
    padding-left: 3.2rem;
    color: var(--mp-white);
    font-weight: 700;
    text-decoration-color: rgba(255, 255, 255, 0.28);
    text-underline-offset: 0.25rem;
}

.mp-sources li > span {
    grid-column: 2;
    grid-row: 1;
    color: var(--mp-steel);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-align: right;
    text-transform: uppercase;
}

.mp-sources li > p {
    grid-column: 1 / -1;
    padding-left: 3.2rem;
    margin-bottom: 0;
    color: var(--mp-steel);
    font-size: 0.78rem;
    line-height: 1.55;
}

/* Contact handoff */

.contact-page-partnership {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    gap: clamp(2rem, 6vw, 6rem);
    padding: clamp(2rem, 4vw, 4rem);
    margin-bottom: clamp(2rem, 5vw, 4rem);
    overflow: hidden;
    border-top: 0.25rem solid var(--mp-red);
    background:
        linear-gradient(130deg, rgba(44, 143, 199, 0.12), transparent 60%),
        var(--mp-workshop);
    box-shadow: 0 24px 60px rgba(11, 14, 17, 0.18);
    color: var(--mp-paper);
    scroll-margin-top: 8rem;
}

.contact-page-partnership:target {
    outline: 3px solid rgba(206, 47, 71, 0.48);
    outline-offset: 0.3rem;
}

.contact-page-partnership::after {
    content: "RACE";
    position: absolute;
    right: -0.05em;
    bottom: -0.28em;
    color: rgba(255, 255, 255, 0.035);
    font-size: clamp(7rem, 17vw, 15rem);
    font-weight: 800;
    letter-spacing: -0.08em;
    line-height: 1;
    pointer-events: none;
}

.contact-page-partnership > * {
    position: relative;
    z-index: 2;
}

.contact-page-main .contact-page-partnership h2 {
    margin-bottom: 1rem;
    color: var(--mp-white) !important;
    font-family: "Inter", sans-serif;
    font-size: clamp(2rem, 4vw, 4rem);
    letter-spacing: -0.04em;
    line-height: 1.02;
}

.contact-page-partnership p {
    color: rgba(247, 248, 250, 0.7);
    line-height: 1.7;
}

.contact-page-partnership .mp-eyebrow {
    color: var(--mp-red-bright);
}

.contact-page-partnership ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    margin: 0 0 1.8rem;
    border-top: 1px solid var(--mp-line);
    list-style: none;
}

.contact-page-partnership li {
    position: relative;
    padding: 0.9rem 1rem 0.9rem 1.5rem;
    border-bottom: 1px solid var(--mp-line);
    color: var(--mp-paper);
    font-size: 0.85rem;
}

.contact-page-partnership li::before {
    content: "";
    position: absolute;
    top: 1.25rem;
    left: 0;
    width: 0.45rem;
    height: 0.45rem;
    border: 1px solid var(--mp-red);
    border-radius: 50%;
}

.contact-page-partnership-email {
    display: inline-flex;
    align-items: center;
    min-height: 3rem;
    padding: 0.75rem 1.2rem;
    background: var(--mp-red);
    color: var(--mp-white) !important;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-decoration: none;
    text-transform: uppercase;
}

/* Cross-links on existing motorsport pages */

.mp-service-link {
    padding: 4rem 0;
    border-top: 1px solid var(--mp-line);
    border-bottom: 1px solid var(--mp-line);
    background:
        linear-gradient(105deg, rgba(206, 47, 71, 0.13), transparent 45%),
        var(--mp-workshop);
    color: var(--mp-paper);
}

.mp-service-link .container {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    align-items: center;
}

.mp-service-link h2 {
    margin-bottom: 0.6rem;
    color: var(--mp-white);
    font-size: clamp(1.8rem, 3.2vw, 3.3rem);
    letter-spacing: -0.035em;
}

.mp-service-link p {
    max-width: 46rem;
    margin-bottom: 0;
    color: var(--mp-steel);
}

@keyframes mp-rise {
    from {
        opacity: 0;
        transform: translateY(1.2rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes mp-trace {
    to {
        stroke-dashoffset: 0;
    }
}

@media (max-width: 1199.98px) {
    .mp-index-hero-grid,
    .mp-detail-hero-grid {
        grid-template-columns: minmax(0, 0.95fr) minmax(27rem, 1.05fr);
    }

    .mp-index-hero-visual {
        min-height: 32rem;
    }

    .mp-index-shot--sure {
        height: 21rem;
    }

    .mp-index-shot--rocketdog {
        height: 17rem;
    }

    .mp-detail-hero-media {
        height: 36rem;
    }
}

@media (max-width: 991.98px) {
    .mp-index-hero-grid,
    .mp-detail-hero-grid,
    .mp-intro-grid,
    .mp-intro-story-grid,
    .mp-ecu-grid,
    .mp-sources-grid,
    .mp-principles-grid,
    .contact-page-partnership {
        grid-template-columns: 1fr;
    }

    .mp-index-hero-visual {
        min-height: 35rem;
    }

    .mp-telemetry {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mp-telemetry li:nth-child(2) {
        border-right: 0;
    }

    .mp-telemetry li:nth-child(n+3) {
        margin-top: 1rem;
    }

    .mp-section-heading--split {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .mp-partner-feature {
        display: block;
    }

    .mp-partner-feature-media {
        height: 32rem;
    }

    .mp-partner-feature-copy,
    .mp-partner-feature--rocketdog .mp-partner-feature-copy {
        width: calc(100% - 3rem);
        margin: -4rem 0 0 3rem;
    }

    .mp-partner-feature--rocketdog .mp-partner-feature-copy {
        position: relative;
        z-index: 2;
        margin: 0 3rem -4rem 0;
    }

    .mp-partner-feature--rocketdog .mp-partner-feature-media {
        position: relative;
        z-index: 1;
    }

    .mp-principles-copy {
        padding-top: 2rem;
        padding-left: 0;
        border-top: 1px solid var(--mp-red);
        border-left: 0;
    }

    .mp-detail-hero-copy {
        max-width: 48rem;
    }

    .mp-detail-hero-media {
        height: min(72vw, 43rem);
    }

    .mp-intro-grid,
    .mp-intro-story-grid,
    .mp-ecu-grid,
    .mp-sources-grid {
        gap: 2.5rem;
    }

    .mp-competition-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mp-achievement-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mp-achievement-grid article {
        border-bottom: 1px solid rgba(17, 22, 28, 0.16);
    }

    .mp-achievement-grid article:nth-child(odd) {
        border-left: 0;
    }

    .mp-vehicle-list article {
        grid-template-columns: 1fr;
    }

    .mp-vehicle-list article:nth-child(even) .mp-vehicle-media,
    .mp-vehicle-list article:nth-child(even) .mp-vehicle-copy {
        order: initial;
    }

    .mp-achievements--rocketdog .mp-achievement-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .contact-page-partnership {
        gap: 1.5rem;
    }
}

@media (max-width: 767.98px) {
    .mp-breadcrumb {
        margin-bottom: 2.2rem;
    }

    .mp-index-hero h1,
    .mp-detail-hero h1 {
        font-size: clamp(2.65rem, 13vw, 4.2rem);
    }

    .mp-index-hero-visual {
        min-height: 28rem;
    }

    .mp-index-shot--sure {
        width: 88%;
        height: 18rem;
    }

    .mp-index-shot--rocketdog {
        width: 78%;
        height: 14rem;
    }

    .mp-telemetry-heading {
        display: block;
    }

    .mp-telemetry-heading strong {
        display: block;
        margin-top: 0.3rem;
    }

    .mp-telemetry-trace {
        display: none;
    }

    .mp-telemetry {
        grid-template-columns: 1fr;
    }

    .mp-telemetry li,
    .mp-telemetry li + li {
        min-height: 0;
        padding: 1.3rem 0;
        margin-top: 0 !important;
        border-right: 0 !important;
    }

    .mp-telemetry li {
        display: grid;
        grid-template-columns: 3rem minmax(0, 1fr);
    }

    .mp-telemetry li > span {
        grid-row: 1 / span 2;
    }

    .mp-partner-feature-media {
        height: 23rem;
    }

    .mp-partner-feature-copy,
    .mp-partner-feature--rocketdog .mp-partner-feature-copy {
        width: calc(100% - 1rem);
        margin: -2.2rem 0 0 1rem;
        padding: 1.8rem;
    }

    .mp-partner-feature--rocketdog .mp-partner-feature-copy {
        margin: 0 1rem -2.2rem 0;
    }

    .mp-detail-hero-media {
        height: 31rem;
    }

    .mp-vertical-mark {
        display: none;
    }

    .mp-hero-evidence {
        grid-template-columns: 1fr;
    }

    .mp-hero-evidence div:not(:last-child) {
        border-right: 0;
        border-bottom: 1px solid var(--mp-line);
    }

    .mp-hero-evidence div + div {
        padding-left: 0;
    }

    .mp-capability-list {
        grid-template-columns: 1fr;
    }

    .mp-capability-list li:nth-child(5) {
        grid-column: auto;
    }

    .mp-ecu-grid {
        grid-template-columns: 1fr;
    }

    .mp-process-gallery,
    .mp-competition-grid {
        grid-template-columns: 1fr;
    }

    .mp-process-gallery .mp-story-figure {
        min-height: 30rem;
    }

    .mp-current-programme::after {
        background:
            linear-gradient(180deg, rgba(5, 7, 9, 0.1) 22%, rgba(5, 7, 9, 0.82) 70%, rgba(5, 7, 9, 0.96));
    }

    .mp-current-programme-inner {
        align-items: flex-end;
        padding-bottom: 4.5rem;
    }

    .mp-current-programme-copy {
        max-width: none;
        padding: 2rem;
    }

    .mp-current-programme-credit {
        right: 1rem;
        bottom: 0.9rem;
        left: 1rem;
        justify-content: space-between;
    }

    .mp-achievement-grid,
    .mp-achievements--rocketdog .mp-achievement-grid {
        grid-template-columns: 1fr;
    }

    .mp-achievement-grid article,
    .mp-achievement-grid article:nth-child(odd) {
        min-height: 0;
        border-left: 0;
    }

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

    .mp-gallery figure,
    .mp-gallery figure:nth-child(n) {
        grid-column: 1;
        min-height: 25rem;
    }

    .mp-gallery figure:nth-child(4) {
        min-height: 34rem;
    }

    .mp-vehicle-media {
        height: 28rem;
    }

    .mp-sources li {
        display: block;
        padding-left: 3.2rem;
    }

    .mp-sources li::before {
        position: absolute;
        margin-left: -3.2rem;
    }

    .mp-sources li > a,
    .mp-sources li > p {
        display: block;
        padding-left: 0;
    }

    .mp-sources li > span {
        display: block;
        margin-top: 0.2rem;
        text-align: left;
    }

    .mp-cta-grid {
        grid-template-columns: 1fr;
    }

    .mp-cta-grid > .mp-button {
        justify-self: start;
    }

    .contact-page-partnership {
        padding: 1.6rem;
    }

    .contact-page-partnership ul {
        grid-template-columns: 1fr;
    }

    .mp-service-link .container {
        display: block;
    }

    .mp-service-link .mp-button {
        margin-top: 1.5rem;
    }
}

@media (max-width: 575.98px) {
    .mp-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .mp-button {
        width: 100%;
    }

    .mp-index-hero-visual {
        min-height: 22rem;
    }

    .mp-index-shot--sure {
        height: 14rem;
    }

    .mp-index-shot--rocketdog {
        height: 11rem;
    }

    .mp-detail-hero-media {
        height: 24rem;
    }

    .mp-detail-hero-media figcaption,
    .mp-story-figure figcaption,
    .mp-vehicle-media figcaption,
    .mp-gallery figcaption {
        display: block;
    }

    .mp-detail-hero-media figcaption a,
    .mp-story-figure figcaption a,
    .mp-vehicle-media figcaption a,
    .mp-gallery figcaption a {
        display: block;
        margin-top: 0.25rem;
    }

    .mp-capability-list li {
        grid-template-columns: 3rem minmax(0, 1fr);
    }

    .mp-ecu-steps::before {
        left: 4.3rem;
    }

    .mp-ecu-steps li {
        grid-template-columns: 4.3rem minmax(0, 1fr);
    }

    .mp-ecu-steps li::before {
        left: calc(4.3rem - 0.28rem);
    }

    .mp-ecu-steps strong,
    .mp-ecu-steps a,
    .mp-ecu-steps small {
        padding-left: 1.2rem;
    }

    .mp-vehicle-media {
        height: 22rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mp-page *,
    .mp-page *::before,
    .mp-page *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .mp-telemetry-trace path {
        stroke-dashoffset: 0;
    }
}
