/* Race artwork: typography stays live and follows the schedule. */
.hero-grid > * { min-width: 0; }
.hero-grid > :first-child { container-type: inline-size; }
.hero-grid .hero-title { font-size: clamp(2.6rem, calc(13.5cqw * var(--hero-title-scale, 1)), 9rem); max-width: 100%; }
.hero-grid .hero-title .word { max-width: 100%; }
@media (max-width: 900px) { .hero-grid .hero-title { font-size: clamp(2.7rem, calc(12.2cqw * var(--hero-title-scale, 1)), 6rem); } }
@media (max-width: 420px) { .hero-grid .hero-title { font-size: clamp(2rem, calc(12cqw * var(--hero-title-scale, 1)), 3.3rem); } }
.race-poster {
  position: relative;
  container-type: inline-size;
  margin: 0;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #0b0e12;
  color: #fff;
  isolation: isolate;
  box-shadow: 0 28px 70px rgb(0 0 0 / .2);
}
.race-poster > img {
  width: 100%; height: 100%; object-fit: cover;
}
.race-poster::after {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(180deg, rgb(3 6 10 / .67) 0%, rgb(3 6 10 / .3) 34%, transparent 55%, rgb(3 6 10 / .1) 72%, rgb(3 6 10 / .85) 100%);
}
.race-poster-copy { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; padding: clamp(1rem, 2.2vw, 1.8rem); }
.image-disclosure { position: absolute; z-index: 2; top: clamp(.8rem, 1.5vw, 1.3rem); right: clamp(.8rem, 1.5vw, 1.3rem); padding: .32rem .5rem; background: rgb(4 7 12 / .82); color: #fff; border: 1px solid rgb(255 255 255 / .55); font: 700 .63rem/1.2 Archivo, sans-serif; letter-spacing: .04em; }
.door-panel[data-circuit="fuji"]::after,
.door-panel[data-circuit="road-atlanta"]::after,
.door-panel[data-circuit="le-mans"]::after { content: "Enhanced with AI"; position: absolute; right: .65rem; bottom: .6rem; z-index: 2; padding: .2rem .35rem; background: rgb(4 7 12 / .86); color: #fff; font: 700 .57rem/1.2 Archivo, sans-serif; letter-spacing: .03em; pointer-events: none; }
.race-poster-top { display: flex; align-items: center; gap: .55rem; font: 800 clamp(.65rem, 1vw, .85rem)/1.2 Archivo, sans-serif; letter-spacing: .16em; }
.race-poster-main { display: flex; flex-direction: column; margin-top: clamp(2rem, 5vw, 4rem); text-transform: uppercase; }
.race-poster-main > span { font: 750 clamp(.62rem, 1.2vw, .92rem)/1.2 ui-monospace, monospace; letter-spacing: .23em; }
.race-poster-main strong { display: block; max-width: 100%; margin-top: .45rem; font: italic 950 clamp(2.5rem, 13cqw, 6.8rem)/.85 Archivo, sans-serif; font-stretch: 110%; letter-spacing: -.075em; overflow-wrap: anywhere; text-shadow: 0 3px 26px rgb(0 0 0 / .35); }
.race-poster-bottom { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-top: auto; padding-top: 2rem; border-top: 1px solid rgb(255 255 255 / .45); font: 700 clamp(.65rem, 1vw, .9rem)/1.3 ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; }
.race-poster-bottom span:last-child { text-align: right; max-width: 46%; }
@media (max-width: 900px) { .race-poster { max-width: 38rem; margin-inline: auto; } }
@media (max-width: 500px) { .race-poster-main { margin-top: 2.4rem; } }

/* Use the race-week image on the live entry card, including its empty state. */
.door-panel[data-circuit="fuji"],
.door-panel[data-circuit="fuji"]:not([data-class]),
.door-panel[data-circuit="fuji"][data-class] {
  background: linear-gradient(180deg, rgb(5 8 13 / .62), rgb(5 8 13 / .42) 55%, rgb(5 8 13 / .72)),
              url("../assets/posters/fuji-card.jpg?v=3") right center / cover no-repeat;
  color: #fff;
  outline: none;
}
.door-panel[data-circuit="fuji"] .door-stripe { opacity: 0; }
.door-panel[data-circuit="fuji"] .door-event { color: #fff; opacity: 1; text-shadow: 0 1px 8px #000; }
.door-panel[data-circuit="fuji"] .door-name,
.door-panel[data-circuit="fuji"] .door-name.is-empty { color: #fff; text-shadow: 0 2px 14px #000; }

.door-panel[data-circuit="road-atlanta"],
.door-panel[data-circuit="road-atlanta"]:not([data-class]),
.door-panel[data-circuit="road-atlanta"][data-class] {
  background: linear-gradient(180deg, rgb(5 8 13 / .53), rgb(5 8 13 / .25) 50%, rgb(5 8 13 / .65)),
              url("../assets/posters/road-atlanta-card.jpg?v=3") right center / cover no-repeat;
  color: #fff;
  outline: none;
}
.door-panel[data-circuit="road-atlanta"] .door-stripe { opacity: 0; }
.door-panel[data-circuit="road-atlanta"] .door-event { color: #fff; opacity: 1; text-shadow: 0 1px 8px #000; }
.door-panel[data-circuit="road-atlanta"] .door-name,
.door-panel[data-circuit="road-atlanta"] .door-name.is-empty { color: #fff; text-shadow: 0 2px 14px #000; }

.door-panel[data-circuit="le-mans"],
.door-panel[data-circuit="le-mans"]:not([data-class]),
.door-panel[data-circuit="le-mans"][data-class] {
  background: linear-gradient(180deg, rgb(5 8 13 / .6), rgb(5 8 13 / .23) 52%, rgb(5 8 13 / .7)),
              url("../assets/posters/le-mans-card.jpg?v=3") right center / cover no-repeat;
  color: #fff;
  outline: none;
}
.door-panel[data-circuit="le-mans"] .door-stripe { opacity: 0; }
.door-panel[data-circuit="le-mans"] .door-event { color: #fff; opacity: 1; text-shadow: 0 1px 8px #000; }
.door-panel[data-circuit="le-mans"] .door-name,
.door-panel[data-circuit="le-mans"] .door-name.is-empty { color: #fff; text-shadow: 0 2px 14px #000; }
