/* Huckabucka's western event identity. One 23 KB local font; no page JavaScript. */
@font-face {
  font-family: 'Rye'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../../fonts/rye-latin-400.woff2') format('woff2');
}
@layer overrides {
  .mp-huck, .mp-huck :is(.mp-scheme-ink, .mp-scheme-photo) {
    color-scheme: dark;
    --mp-color-surface: var(--mp-huck-background);
    --mp-color-surface-2: var(--mp-huck-card);
    --mp-color-text: var(--mp-huck-text);
    --mp-color-text-2: var(--mp-huck-muted);
    --mp-color-line: var(--mp-huck-line);
    --mp-color-line-strong: var(--mp-huck-accent);
    --mp-color-line-hover: var(--mp-huck-accent-hover);
    --mp-color-accent: var(--mp-huck-accent);
    --mp-color-accent-text: var(--mp-huck-accent);
    --mp-color-action: var(--mp-huck-accent);
    --mp-color-action-hover: var(--mp-huck-accent-hover);
    --mp-color-on-action: var(--mp-huck-ink);
    --mp-color-focus: var(--mp-huck-accent-hover);
    --mp-w-max: var(--mp-huck-width);
    color: var(--mp-color-text); background-color: var(--mp-color-surface);
  }
  .mp-huck:is(#weekend, #fees, #film, #faq) { --mp-color-surface: var(--mp-huck-band); }
}
@layer components {
  .mp-huck { grid-template-columns: [full-start] minmax(var(--mp-gutter), 1fr) [wide-start prose-start] minmax(0, var(--mp-huck-width)) [prose-end wide-end] minmax(var(--mp-gutter), 1fr) [full-end]; }
  .mp-huck > * { grid-column: wide; }
  .mp-huck :is(h2, h3) { font-family: var(--mp-huck-font); font-weight: 400; line-height: 1.25; text-transform: none; letter-spacing: 0; color: var(--mp-huck-text); text-wrap: balance; }
  .mp-huck :is(a, summary):focus-visible { outline-color: var(--mp-huck-accent-hover); }
  .mp-huck .mp-btn { border-radius: var(--mp-space-3xs); letter-spacing: var(--mp-track-ui); }
  .mp-huck .mp-btn--primary { color: var(--mp-huck-ink); }
  .mp-huck .mp-eyebrow { color: var(--mp-huck-accent); letter-spacing: var(--mp-track-label); }
  .mp-huck__head { text-align: center; max-inline-size: var(--mp-w-modal); margin: 0 auto var(--mp-space-xl); }
  .mp-huck__head h2 { font-size: var(--mp-huck-heading); margin: 0; }
  .mp-huck__head .mp-eyebrow { margin: 0 0 var(--mp-space-s); }
  .mp-huck__head .mp-eyebrow::before, .mp-huck__head .mp-eyebrow::after { content: '✦'; margin-inline: var(--mp-space-xs); }
  .mp-huck__head > p:last-child:not(.mp-eyebrow) { margin: var(--mp-space-s) auto 0; max-inline-size: var(--mp-measure); color: var(--mp-huck-muted); font-size: var(--mp-fs-lead); }
  .mp-huck__small { font-size: var(--mp-fs-sm); color: var(--mp-huck-muted); }
  /* Sunset photograph, large overlapping mark, then the date and event details. */
  .mp-huck--hero { position: relative; padding-block: 0; }
  .mp-huck--hero .mp-hero { position: relative; display: block; grid-column: full; min-block-size: 0; margin: 0; border-radius: 0; }
  .mp-huck--hero .mp-hero__img { display: block; block-size: var(--mp-huck-hero-height); }
  .mp-huck--hero .mp-hero::after { content: ''; position: absolute; inset: 0 0 auto; block-size: var(--mp-huck-hero-height); background: linear-gradient(180deg, transparent 40%, var(--mp-huck-background)); pointer-events: none; }
  .mp-huck--hero .mp-hero__body { align-items: center; text-align: center; gap: var(--mp-space-xs); background-image: none; padding: calc(var(--mp-huck-logo-width) * .219 + var(--mp-space-m)) var(--mp-gutter) var(--mp-space-xl); }
  .mp-huck--hero .mp-hero__title { order: 1; margin: 0; font: var(--mp-weight-ui) var(--mp-fs-base) / var(--mp-lh-snug) var(--mp-font-ui); letter-spacing: var(--mp-track-caps); max-inline-size: var(--mp-measure); }
  .mp-huck--hero .mp-hero__lede { order: 0; font: 400 var(--mp-huck-date) / 1.3 var(--mp-huck-font); color: var(--mp-huck-accent); margin: 0; }
  .mp-huck--hero .mp-hero__body > .mp-eyebrow { order: 2; color: var(--mp-huck-muted); margin: var(--mp-space-xs) 0 0; }
  .mp-huck--hero .mp-hero__actions { order: 3; justify-content: center; margin: var(--mp-space-m) 0 0; }
  .mp-huck .mp-huck__brand { position: absolute; z-index: 2; inset-block-start: calc(var(--mp-huck-hero-height) - var(--mp-huck-logo-width) * .219); inset-inline-start: 50%; transform: translateX(-50%); inline-size: var(--mp-huck-logo-width); block-size: auto; margin: 0; }
  .mp-huck#dates { padding-block: var(--mp-space-m) var(--mp-space-l); }
  .mp-huck__notice { padding: var(--mp-space-m); border: var(--mp-border) solid var(--mp-huck-line); border-inline-start: var(--mp-space-3xs) solid var(--mp-huck-accent); background: var(--mp-huck-card); }
  .mp-huck__notice h2 { font: var(--mp-weight-ui) var(--mp-fs-base) / var(--mp-lh-snug) var(--mp-font-ui); color: var(--mp-huck-accent-hover); }
  .mp-huck__notice p { margin: var(--mp-space-xs) 0 0; }
  .mp-huck .mp-huck__intro { max-inline-size: var(--mp-w-modal); margin: var(--mp-space-l) auto; text-align: center; color: var(--mp-huck-muted); }
  .mp-huck__nav { display: flex; flex-wrap: wrap; gap: var(--mp-space-2xs); justify-content: center; }
  .mp-huck__nav a { display: inline-flex; align-items: center; min-block-size: var(--mp-h-tap); padding-inline: var(--mp-space-s); border-block-end: var(--mp-border) solid var(--mp-huck-line); text-decoration: none; font-size: var(--mp-fs-sm); }
  .mp-huck__nav a:hover { border-color: var(--mp-huck-accent); }
  .mp-huck#sponsors { padding-block: var(--mp-space-l); border-block: var(--mp-border) solid var(--mp-huck-line); }
  .mp-huck#sponsors .mp-huck__head { margin-block-end: var(--mp-space-m); }
  .mp-huck#sponsors h2 { font: var(--mp-weight-ui) var(--mp-fs-sm) / var(--mp-lh-snug) var(--mp-font-ui); letter-spacing: var(--mp-track-label); text-transform: uppercase; color: var(--mp-huck-accent); }
  .mp-huck__sponsors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--mp-space-m); align-items: center; justify-items: center; }
  .mp-huck__sponsor { inline-size: 100%; max-inline-size: calc(var(--mp-space-3xl) * 1.4); block-size: var(--mp-space-2xl); object-fit: contain; }
  .mp-huck__grid { display: grid; gap: var(--mp-space-m); }
  /* The three race formats are printed posters: CSS paper and borders, no texture images. */
  .mp-huck__card { padding: var(--mp-space-xs); color: var(--mp-huck-ink); background: radial-gradient(ellipse at 10% 5%, color-mix(in srgb, var(--mp-huck-ink) 15%, transparent), transparent 60%), linear-gradient(160deg, var(--mp-huck-paper), var(--mp-huck-paper-shade)); clip-path: polygon(0 1%, 20% 0, 50% 1%, 80% 0, 100% 1%, 99% 50%, 100% 99%, 75% 100%, 45% 99%, 20% 100%, 0 99%, 1% 50%); }
  .mp-huck__poster { display: flex; flex-direction: column; block-size: 100%; padding: var(--mp-space-l) var(--mp-space-m); border: calc(var(--mp-border) * 3) double var(--mp-huck-line); text-align: center; }
  .mp-huck__card h3 { order: 1; color: var(--mp-huck-ink); font-size: var(--mp-huck-heading); margin: var(--mp-space-m) 0; }
  .mp-huck__card .mp-huck__number { order: 0; font-size: var(--mp-fs-sm); font-weight: var(--mp-weight-ui); letter-spacing: var(--mp-track-label); text-transform: uppercase; margin: 0; }
  .mp-huck__card .mp-eyebrow { order: 2; color: var(--mp-huck-ink); padding-block-end: var(--mp-space-m); border-block-end: calc(var(--mp-border) * 3) double var(--mp-huck-line); }
  .mp-huck__poster > p:not([class]) { order: 3; margin: var(--mp-space-m) 0; }
  .mp-huck__stamp { order: 4; margin: auto 0 0; padding-block-start: var(--mp-space-m); font-size: var(--mp-fs-label); letter-spacing: var(--mp-track-caps); text-transform: uppercase; }
  .mp-huck__practice { display: grid; gap: var(--mp-space-m); margin-block-start: var(--mp-space-xl); text-align: center; }
  .mp-huck__practice p { margin: 0; color: var(--mp-huck-muted); }
  .mp-huck__practice strong { color: var(--mp-huck-accent); }
  .mp-huck__details { border-block: var(--mp-border) solid var(--mp-huck-line); margin-block-start: var(--mp-space-l); }
  .mp-huck__details summary { cursor: pointer; padding-block: var(--mp-space-s); min-block-size: var(--mp-h-control); font-weight: var(--mp-weight-ui); }
  .mp-huck__details p { margin-block-end: var(--mp-space-s); }
  .mp-huck__points { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--mp-space-xs); list-style: none; padding: 0; }
  .mp-huck__points li { display: flex; flex-direction: column; border-block-end: var(--mp-border) solid var(--mp-huck-line); padding-block: var(--mp-space-2xs); }
  .mp-huck__points span { font-size: var(--mp-fs-sm); }
  .mp-huck#showdown { padding-block: 0; }
  .mp-huck__showdown { position: relative; isolation: isolate; grid-column: full; }
  .mp-huck__showdown > .mp-huck__photo { position: absolute; inset: 0; block-size: 100%; object-position: 50% 50%; }
  .mp-huck__showdown::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, color-mix(in srgb, var(--mp-huck-background) 88%, transparent), color-mix(in srgb, var(--mp-huck-background) 72%, transparent)); z-index: 1; }
  .mp-huck__showdown-body { position: relative; z-index: 2; text-align: center; padding: var(--mp-space-3xl) max(var(--mp-gutter), (100% - var(--mp-huck-width)) / 2); }
  .mp-huck__showdown h2 { font-size: var(--mp-fs-display-xl); }
  .mp-huck__bigline { font-size: var(--mp-fs-lead); font-weight: var(--mp-weight-ui); letter-spacing: var(--mp-track-caps); text-transform: uppercase; color: var(--mp-huck-accent); }
  .mp-huck__steps { display: grid; gap: var(--mp-space-m); padding: 0; list-style: none; counter-reset: huck-step; text-align: start; margin-block: var(--mp-space-l); }
  .mp-huck__steps li { padding: var(--mp-space-m); background: color-mix(in srgb, var(--mp-huck-background) 82%, transparent); border: var(--mp-border) solid var(--mp-huck-line); counter-increment: huck-step; }
  .mp-huck__steps strong { display: block; color: var(--mp-huck-accent); margin-block-end: var(--mp-space-xs); }
  .mp-huck__steps strong::before { content: counter(huck-step) '. '; }
  .mp-huck__classes { display: grid; gap: var(--mp-space-l); }
  .mp-huck__classes article { border: var(--mp-border) solid var(--mp-huck-line); padding: var(--mp-space-m); }
  .mp-huck__classes h3 { font: var(--mp-weight-ui) var(--mp-fs-base) / var(--mp-lh-snug) var(--mp-font-ui); color: var(--mp-huck-accent); text-transform: uppercase; letter-spacing: var(--mp-track-ui); margin: 0 0 var(--mp-space-s); }
  .mp-huck__classes ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--mp-space-xs); }
  .mp-huck__classes li { border: var(--mp-border) solid var(--mp-huck-line); padding: var(--mp-space-2xs) var(--mp-space-xs); font-size: var(--mp-fs-sm); }
  .mp-huck__day { background: var(--mp-huck-background); border: var(--mp-border) solid var(--mp-huck-line); align-self: start; }
  .mp-huck__day header { padding: var(--mp-space-m); border-block-end: var(--mp-border) solid var(--mp-huck-line); }
  .mp-huck__day h3 { margin: var(--mp-space-xs) 0; font-size: var(--mp-huck-heading); color: var(--mp-huck-accent); }
  .mp-huck__day header p { margin: 0; }
  .mp-huck__day dl { padding: var(--mp-space-m); margin: 0; }
  .mp-huck__day dl > div + div { padding-block-start: var(--mp-space-s); margin-block-start: var(--mp-space-s); border-block-start: var(--mp-border) solid var(--mp-huck-line); }
  .mp-huck__day dt { font-weight: var(--mp-weight-ui); color: var(--mp-huck-accent-hover); }
  .mp-huck__day dd { margin: var(--mp-space-3xs) 0 0; color: var(--mp-huck-muted); }
  .mp-huck__feature, .mp-huck__cost { padding: var(--mp-space-l); border: var(--mp-border) solid var(--mp-huck-line); background: var(--mp-huck-card); min-inline-size: 0; }
  .mp-huck__feature h3, .mp-huck__cost h3, .mp-huck__awards h3, .mp-huck__entry h3 { font-size: var(--mp-huck-subheading); margin: 0 0 var(--mp-space-m); }
  .mp-huck__split { display: grid; gap: var(--mp-space-xl); align-items: center; }
  .mp-huck__split .mp-huck__head { text-align: start; margin-block-end: var(--mp-space-m); }
  .mp-huck__split .mp-huck__head .mp-eyebrow::before, .mp-huck__split .mp-huck__head .mp-eyebrow::after { content: none; }
  .mp-huck__photo { inline-size: 100%; block-size: auto; object-fit: cover; border-radius: 0; }
  .mp-huck__bull { margin-block-start: var(--mp-space-xl); }
  .mp-huck__fees { display: grid; gap: var(--mp-space-m); }
  .mp-huck__table table { inline-size: 100%; border-collapse: collapse; font-size: var(--mp-fs-sm); }
  .mp-huck__table caption { text-align: start; color: var(--mp-huck-muted); padding-block-end: var(--mp-space-s); }
  .mp-huck__table :is(td, th) { text-align: start; padding: var(--mp-space-s) var(--mp-space-3xs); border-block-end: var(--mp-border) solid var(--mp-huck-line); }
  .mp-huck__rates { margin: 0; }
  .mp-huck__rates > div { padding-block: var(--mp-space-s); border-block-end: var(--mp-border) solid var(--mp-huck-line); }
  .mp-huck__rates dd { margin: var(--mp-space-3xs) 0 0; font-weight: var(--mp-weight-ui); color: var(--mp-huck-accent-hover); }
  .mp-huck__camp-price { font-size: var(--mp-fs-display-xs); color: var(--mp-huck-accent-hover); font-weight: var(--mp-weight-ui); }
  .mp-huck__entry { margin-block-start: var(--mp-space-xl); padding-block-start: var(--mp-space-l); border-block-start: var(--mp-border) solid var(--mp-huck-line); }
  .mp-huck__prize-hero { margin-block-end: var(--mp-space-xl); }
  .mp-huck__prize-hero .mp-huck__photo { max-inline-size: calc(var(--mp-space-3xl) * 4); justify-self: center; border: calc(var(--mp-border) * 4) double var(--mp-huck-accent); padding: var(--mp-space-xs); }
  .mp-huck__awards { padding-block-start: var(--mp-space-xl); margin-block-start: var(--mp-space-m); border-block-start: var(--mp-border) solid var(--mp-huck-line); }
  .mp-huck__awards li { margin-block-end: var(--mp-space-2xs); }
  .mp-huck .mp-faq, .mp-huck .mp-video__img { border-radius: 0; }
  .mp-huck__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--mp-space-s); }
  .mp-huck#results { text-align: center; border-block-start: calc(var(--mp-border) * 3) double var(--mp-huck-line); }
  @media (width >= 48rem) {
    .mp-huck__grid--two, .mp-huck__split, .mp-huck__classes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mp-huck__practice { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mp-huck__classes article:first-child { grid-column: 1 / -1; }
    .mp-huck__sponsors { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .mp-huck__points { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  }
  @media (width >= 64rem) {
    .mp-huck__grid--three, .mp-huck__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mp-huck__fees { grid-template-columns: 1.3fr 1fr 1fr; }
    .mp-huck__sponsors { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  }
  @media (width < 48rem) {
    .mp-huck__feature, .mp-huck__cost { padding: var(--mp-space-s); }
    .mp-huck__head { margin-block-end: var(--mp-space-l); }
    .mp-huck__showdown-body { padding-block: var(--mp-space-xl); }
    .mp-huck__showdown h2 { font-size: var(--mp-huck-heading); }
    .mp-huck--hero .mp-btn { padding-inline: var(--mp-space-s); }
  }
}
