.race-page {
  background:var(--acc-bg);
  color:var(--acc-text);
  font-family:Inter,sans-serif;
  line-height:1.7}

.race-page * {
  box-sizing:border-box}

.race-page h1,.race-page h2,.race-page h3 {
  color:inherit;
  font-family:inherit;
  line-height:1.15;
  letter-spacing:-.035em}

.race-page p {
  color:var(--acc-muted);
  font-size:1rem;
  line-height:1.75}

.race-page .race-eyebrow {
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  color:var(--acc-primary);
  margin:0 0 18px}

.race-hero {
  background:#0b172a;
  color:#fff;
  padding:84px 0 72px}

.race-hero-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:46px;
  align-items:center}

.race-page h1 {
  font-size:clamp(2.6rem,4.3vw,4.3rem);
  font-weight:800;
  margin:0 0 25px}

.race-page h1 em {
  font-style:normal;
  color:#66e4ce}

.race-hero .race-eyebrow {
  color:#66e4ce}

.race-hero .race-intro {
  font-size:1.08rem;
  color:#d0dce8;
  max-width:540px}

.race-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px}

.race-page .race-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:14px 20px;
  border-radius:10px;
  background:#65e3cb;
  color:#092c30!important;
  font-weight:700;
  min-height:50px;
  text-decoration:none;
  border:1px solid transparent}

.race-page .race-button:hover {
  background:#a3f2e3}

.race-page .race-button-outline {
  background:transparent;
  color:#fff!important;
  border-color:#718399}

.race-page .race-button-outline:hover {
  background:#24364a}

.race-hero .race-hero-note {
  font-size:.8rem;
  color:#b1c0d2;
  margin:22px 0 0}

.race-hero-image {
  margin:0;
  position:relative;
  border-radius:24px;
  overflow:hidden;
  border:1px solid #34465a}

.race-hero-image img {
  width:100%;
  height:490px;
  object-fit:cover;
  display:block}

.race-hero-image figcaption {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  background:linear-gradient(transparent,rgba(4,17,32,.95));
  padding:65px 22px 22px;
  color:white;
  font-size:.85rem}

.race-dot {
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#65e3cb;
  margin-right:8px}

.race-band {
  background:var(--acc-surface);
  border-bottom:1px solid var(--acc-border)}

.race-band>div {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding-block:23px;
  gap:16px;
  text-align:center;
  font-size:.85rem;
  font-weight:700}

.race-section {
  padding:80px 0;
  scroll-margin-top:100px}

.race-heading {
  max-width:680px;
  margin-bottom:36px}

.race-page h2 {
  font-size:clamp(2rem,3vw,3rem);
  font-weight:750;
  margin-bottom:18px}

.race-page h3 {
  font-size:1.25rem;
  font-weight:700;
  margin:12px 0}

.race-steps {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px}

.race-steps li {
  background:var(--acc-surface);
  border:1px solid var(--acc-border);
  border-radius:18px;
  padding:28px}

.race-step-number {
  font-size:.85rem;
  font-weight:800;
  color:var(--acc-primary);
  background:var(--acc-primary-soft);
  display:inline-grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:12px;
  margin-bottom:12px}

.race-steps p {
  margin-bottom:0;
  font-size:.94rem}

.race-soft {
  background:var(--acc-surface-alt)}

.race-kit {
  margin:0 0 35px}

.race-kit img {
  display:block;
  width:100%;
  height:auto;
  max-height:540px;
  object-fit:cover;
  border-radius:20px}

.race-kit figcaption {
  font-size:.78rem;
  color:var(--acc-muted);
  padding-top:12px}

.race-hardware-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px}

.race-hardware-grid article {
  border-top:2px solid var(--acc-border);
  padding-top:22px}

.race-results-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px;
  align-items:center}

.race-text-link {
  color:var(--acc-primary);
  font-weight:700;
  text-underline-offset:5px}

.race-result-card {
  background:var(--acc-surface);
  border:1px solid var(--acc-border);
  border-radius:22px;
  padding:30px;
  box-shadow:var(--acc-shadow-sm)}

.race-result-top {
  display:flex;
  flex-direction:column;
  gap:10px}

.race-result-top>span {
  font-size:.68rem;
  letter-spacing:.12em;
  color:var(--acc-muted)}

.race-result-top>strong {
  font-size:2rem;
  letter-spacing:-.04em}

.race-checkpoints {
  list-style:none;
  margin:24px 0;
  padding:0}

.race-checkpoints li {
  padding:16px 0;
  border-top:1px solid var(--acc-border);
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:.85rem}

.race-checkpoints strong {
  font-weight:600;
  text-align:right}

.race-result-bottom {
  border-radius:8px;
  padding:14px;
  background:var(--acc-primary-soft);
  font-size:.8rem;
  text-align:center}

.race-result-bottom span {
  padding:0 10px}

.race-faq {
  max-width:860px}

.race-faq details {
  border-bottom:1px solid var(--acc-border);
  padding:20px 0}

.race-faq summary {
  cursor:pointer;
  font-weight:650;
  font-size:1.05rem;
  min-height:30px}

.race-faq details p {
  margin:16px 0 0;
  max-width:740px}

.race-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  background:#0b172a;
  border-radius:24px;
  padding:48px;
  color:#fff}

.race-cta>div {
  max-width:700px}

.race-cta p {
  color:#cedae8}

.race-cta .race-eyebrow {
  color:#66e4ce}

.race-cta .race-button {
  flex-shrink:0}

.race-page a:focus-visible,.race-page summary:focus-visible {
  outline:3px solid #f97316;
  outline-offset:5px}

html[data-theme=dark] .race-page .race-eyebrow,html[data-theme=dark] .race-step-number,html[data-theme=dark] .race-text-link {
  color:#66e4ce}


@media(max-width:1000px) {
  .race-hero-grid,.race-results-grid {
  grid-template-columns:1fr;
  gap:32px}

.race-hero {
  padding:50px 0}

.race-hero-image img {
  height:auto;
  max-height:480px}

.race-steps {
  grid-template-columns:repeat(2,1fr)}

.race-cta {
  align-items:flex-start;
  flex-direction:column}

.race-hardware-grid {
  gap:20px}

.race-section {
  padding:56px 0}

}


@media(max-width:600px) {
  .race-steps,.race-hardware-grid {
  grid-template-columns:1fr}

.race-band>div {
  grid-template-columns:1fr 1fr}

.race-hero-image img {
  min-height:300px;
  object-fit:cover}

.race-cta {
  padding:28px}

.race-result-card {
  padding:22px}

.race-checkpoints li {
  gap:10px}

.race-actions .race-button {
  width:100%}

.race-kit img {
  object-fit:contain}

.race-page h1 {
  font-size:2.6rem}

}


@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}

}


/* Shared theme styles set heading colors with !important. */
.race-page .race-hero h1,.race-page .race-cta h2 {
  color:#fff!important}


.race-page .race-heading h2,.race-page .race-steps h3,.race-page .race-hardware-grid h3 {
  color:var(--acc-text)!important}
