/* Racing hub: native hero, overlapping club cards, and a complete season record. */
@layer components {
  .mp-racing > * { grid-column: wide; }
  .mp-racing--hero { padding-block: 0; }
  .mp-racing--hero .mp-hero {
    position: relative;
    min-block-size: calc(var(--mp-space-3xl) * 5.5);
    margin: 0;
    border-radius: 0;
    grid-column: full;
  }
  .mp-racing--hero .mp-hero.mp-hero--camp .mp-hero__body {
    padding: var(--mp-space-2xl) max(var(--mp-gutter), calc((100% - var(--mp-w-max)) / 2)) calc(var(--mp-space-3xl) + var(--mp-space-l));
    background-image: var(--mp-scrim-even);
  }
  .mp-racing--hero .mp-hero__title { max-inline-size: 100%; font-size: var(--mp-fs-display-2xl); margin: 0; }
  .mp-racing--hero .mp-hero__kicker { font-size: var(--mp-fs-label); margin-block-end: var(--mp-space-m); }
  .mp-racing--hero .mp-hero__title em { color: var(--mp-color-accent); }
  .mp-racing--hero .mp-hero__lede { max-inline-size: calc(var(--mp-w-prose) * .7); color: var(--mp-color-text); }
  .mp-racing--hero .mp-hero__actions { margin-block-start: var(--mp-space-m); }
  .mp-racing--hero .mp-hero__video { object-position: 50% 50%; }
  .mp-racing__motion {
    position: absolute;
    z-index: var(--mp-z-raised);
    inset-block-start: var(--mp-space-s);
    inset-inline-end: var(--mp-gutter);
    min-block-size: var(--mp-h-control);
    padding: var(--mp-space-xs) var(--mp-space-s);
    border: var(--mp-border) solid var(--mp-color-text);
    border-radius: var(--mp-radius-pill);
    background: var(--mp-ink);
    color: var(--mp-color-text);
    font-size: var(--mp-fs-xs);
    cursor: pointer;
  }
  .mp-racing__motion[hidden] { display: none; }
  .mp-racing--series { position: relative; padding-block-start: 0; }
  .mp-racing--series .mp-racing__cards { position: relative; margin-block-start: calc(var(--mp-space-2xl) * -1); }
  .mp-racing__cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--mp-space-m); }
  .mp-racing__card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--mp-radius-md); border: var(--mp-border) solid var(--mp-color-line); background: var(--mp-color-surface); }
  .mp-racing__visual { position: relative; display: grid; place-items: center; aspect-ratio: 2.6; background: var(--mp-color-surface); overflow: hidden; }
  .mp-racing__visual--photo { background: var(--mp-ink); }
  .mp-racing__photo { inline-size: 100%; block-size: 100%; object-fit: cover; position: absolute; inset: 0; }
  .mp-racing__visual--photo::after { content: ''; position: absolute; inset: 0; background: var(--mp-scrim-bottom); }
  .mp-racing__logo { inline-size: 72%; block-size: 80%; object-fit: contain; position: absolute; }
  .mp-racing__brand { position: relative; z-index: var(--mp-z-raised); inline-size: calc(var(--mp-space-3xl) * 1.1); block-size: var(--mp-space-2xl); object-fit: contain; align-self: end; justify-self: start; margin: 0 0 var(--mp-space-s) var(--mp-space-m); }
  .mp-racing__copy { display: flex; flex-direction: column; flex: 1; padding: var(--mp-space-card); border-block-start: var(--mp-border) solid var(--mp-color-line); }
  .mp-racing__type { margin: 0 0 var(--mp-space-2xs); font-size: var(--mp-fs-label); text-transform: uppercase; letter-spacing: var(--mp-track-ui); color: var(--mp-color-text-2); }
  .mp-racing__title { margin: 0; font-size: var(--mp-fs-display-xs); }
  .mp-racing__title a { color: var(--mp-ink); text-decoration: none; }
  .mp-racing__title a:hover { color: var(--mp-color-accent-text); }
  .mp-racing__description { margin: var(--mp-space-xs) 0 var(--mp-space-s); color: var(--mp-color-text-2); font-size: var(--mp-fs-sm); }
  .mp-racing__dates { margin: auto 0 0; color: var(--mp-ink); font-size: var(--mp-fs-sm); font-weight: var(--mp-weight-ui); }
  .mp-racing__proposed { display: block; font-weight: var(--mp-weight-body); color: var(--mp-color-text-2); font-size: var(--mp-fs-xs); }
  .mp-racing__copy .mp-racing__link { display: flex; justify-content: space-between; align-items: center; min-block-size: var(--mp-h-control); margin-block-start: var(--mp-space-s); padding-block-start: var(--mp-space-xs); border-block-start: var(--mp-border) solid var(--mp-color-line); color: var(--mp-ink); font-size: var(--mp-fs-sm); font-weight: var(--mp-weight-ui); text-decoration: none; }
  .mp-racing__copy .mp-racing__link:hover { color: var(--mp-color-accent-text); }
  .mp-racing .mp-racing__intro { max-inline-size: var(--mp-w-prose); margin: var(--mp-space-xl) auto 0; text-align: center; color: var(--mp-color-text-2); }
  .mp-racing__head { display: grid; gap: var(--mp-space-s) var(--mp-space-xl); align-items: end; }
  .mp-racing__head .mp-eyebrow { margin: 0 0 var(--mp-space-xs); }
  .mp-racing__heading { margin: 0; font-size: var(--mp-fs-display-l); }
  .mp-racing__note { margin: 0 0 var(--mp-space-s); max-inline-size: var(--mp-measure); color: var(--mp-color-text-2); }
  .mp-racing__calendar { margin-block-start: var(--mp-space-xl); }
  .mp-racing__season + .mp-racing__season { margin-block-start: var(--mp-space-xl); }
  .mp-racing__year { margin: 0 0 var(--mp-space-s); font-size: var(--mp-fs-display-xs); }
  .mp-racing__list { list-style: none; padding: 0; margin: 0; }
  .mp-racing__event {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--mp-space-3xs) var(--mp-space-xs);
    padding: var(--mp-space-s);
    border-block-end: var(--mp-border) solid var(--mp-color-line);
    background: var(--mp-color-surface-2);
  }
  .mp-racing__when { font-weight: var(--mp-weight-ui); font-size: var(--mp-fs-sm); }
  .mp-racing__event .mp-racing__event-title { grid-column: 1; color: var(--mp-ink); text-decoration: none; font-weight: var(--mp-weight-ui); min-block-size: var(--mp-h-control); display: flex; align-items: center; }
  .mp-racing__event .mp-racing__event-title:hover { text-decoration: underline; }
  .mp-racing__status { grid-row: 1; grid-column: 2; color: var(--mp-color-text-2); font-size: var(--mp-fs-xs); }
  .mp-racing__event-arrow { grid-row: 2; grid-column: 2; font-size: var(--mp-fs-lead); }
  .mp-racing__event[data-past="true"] { background: transparent; }
  .mp-racing__event[data-past="true"] :is(.mp-racing__when, .mp-racing__event-title, .mp-racing__event-arrow) { color: var(--mp-color-text-2); font-weight: var(--mp-weight-body); }
  .mp-racing__planning { display: grid; gap: var(--mp-space-l) var(--mp-space-2xl); }
  .mp-racing__planning .mp-racing__note { margin-block-start: var(--mp-space-m); }
  .mp-racing__resources { display: grid; align-content: center; }
  .mp-racing__resources a { display: flex; align-items: center; justify-content: space-between; gap: var(--mp-space-m); padding-block: var(--mp-space-m); border-block-end: var(--mp-border) solid var(--mp-color-line); color: var(--mp-color-text); font-weight: var(--mp-weight-ui); text-decoration: none; }
  .mp-racing__resources a:hover { color: var(--mp-color-accent); }
  .mp-racing__resources small { display: block; margin-block-start: var(--mp-space-3xs); color: var(--mp-color-text-2); font-size: var(--mp-fs-sm); font-weight: var(--mp-weight-body); }
  .mp-racing--faq .mp-faq { background: transparent; padding: 0; }
  @media (width >= 48rem) {
    .mp-racing__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mp-racing__visual { aspect-ratio: 2.6; }
    .mp-racing--hero .mp-hero { min-block-size: calc(var(--mp-space-3xl) * 6.3); }
    .mp-racing--hero .mp-hero.mp-hero--camp .mp-hero__body { padding-block-end: calc(var(--mp-space-3xl) + var(--mp-space-xl)); }
    .mp-racing--series .mp-racing__cards { margin-block-start: calc(var(--mp-space-3xl) * -1); }
    .mp-racing__head { grid-template-columns: 1fr 1fr; }
    .mp-racing__planning { grid-template-columns: 1fr 1fr; }
    .mp-racing__event { grid-template-columns: calc(var(--mp-space-3xl) * 1.4) minmax(0, 1fr) auto auto; gap: var(--mp-space-m); padding-block: var(--mp-space-xs); }
    .mp-racing__event .mp-racing__event-title { grid-column: 2; }
    .mp-racing__status { grid-row: auto; grid-column: 3; }
    .mp-racing__event-arrow { grid-row: auto; grid-column: 4; }
  }
  @media (width < 48rem) {
    .mp-racing--hero .mp-hero--camp { grid-template-rows: auto; }
    .mp-racing--hero .mp-hero--camp::before { content: none; }
    .mp-racing--hero .mp-hero--camp :is(.mp-hero__img, .mp-hero__video) { grid-area: 1 / 1; border-radius: 0; }
    .mp-racing--hero .mp-hero--camp > .mp-hero__body { display: flex; grid-area: 1 / 1; }
    .mp-racing--hero .mp-hero--camp :is(.mp-hero__title, .mp-hero__lede, .mp-hero__actions) { padding: 0; }
    .mp-racing--hero .mp-hero--camp .mp-hero__title { font-size: var(--mp-fs-display-xl); }
    .mp-racing--hero .mp-hero__actions .mp-btn { padding-inline: var(--mp-space-s); min-block-size: var(--mp-h-control); font-size: var(--mp-fs-sm); }
  }
  @media (prefers-reduced-motion: reduce) { .mp-racing__motion { display: none; } }
}
