/* Shared tokens + chrome for races.html, race.html, store.html — mirrors index.html's design system. */
:root{
  --ground:#F0EAE8;
  --ground-2:#E4DAD7;
  --ink:#121011;
  --ink-soft:rgba(18,16,17,0.55);
  --line:rgba(18,16,17,0.14);
  --surface-dark:#121011;
  --surface-raised:#1C1315;
  --surface-panel:#231719;
  --on-dark:#F5F0EE;
  --on-dark-muted:rgba(245,240,238,0.55);
  --on-dark-faint:rgba(245,240,238,0.32);
  --line-dark:rgba(245,240,238,0.14);
  --accent:#7A2436;
  --accent-bright:#B5566B;

  --font-display:'Big Shoulders Display', Impact, sans-serif;
  --font-sans:'Space Grotesk', system-ui, sans-serif;
  --font-mono:'JetBrains Mono', monospace;

  --gutter:clamp(20px, 3vw, 32px);
  --ease:cubic-bezier(.2,0,0,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;} }
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-sans)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none;margin:0;padding:0}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.masthead-type{font-family:var(--font-display);font-weight:800;text-transform:uppercase;line-height:.92;text-wrap:balance}
.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}

.rv{opacity:0;transform:translateY(.8em);transition:opacity .7s var(--ease), transform .7s var(--ease);transition-delay:var(--d,0s)}
.rv.rv-in{opacity:1;transform:translateY(0)}

/* ---------- masthead / nav (shared across sub-pages) ---------- */
.masthead{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:1.5rem var(--gutter);background:var(--ground);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.logo-mark{width:22px;height:22px;flex:none;color:var(--ink)}
.nav-center{display:none}
.nav-center ul{display:flex;gap:2.75rem}
.nav-center a{font-size:1rem;text-transform:uppercase;line-height:.9;transition:color .15s var(--ease)}
.nav-center a:hover,.nav-center a.active{color:var(--accent)}
.nav-right{display:none;font-weight:600;font-size:1rem;text-transform:uppercase}
.nav-right:hover{color:var(--accent)}
.burger{display:flex;flex-direction:column;gap:5px;padding:.5rem;margin-right:-.5rem}
.burger span{width:22px;height:2px;background:currentColor}
@media (min-width:1280px){ .nav-center{display:block} .nav-right{display:inline} .burger{display:none} }
.sheet{position:fixed;inset:0;z-index:50;background:var(--ground);padding:1.5rem 2rem;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
.sheet.open{opacity:1;pointer-events:auto}
.sheet-top{display:flex;align-items:center;justify-content:space-between}
.sheet-close span{display:block;width:20px;height:1.5px;background:currentColor;transform:rotate(45deg);position:relative}
.sheet-close span::after{content:"";position:absolute;inset:0;transform:rotate(90deg)}
.sheet-nav{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1rem}
.sheet-nav a{font-family:var(--font-display);font-weight:700;font-size:2.5rem;text-transform:uppercase;line-height:.95;opacity:0;transform:translateY(.75rem);transition:opacity .4s var(--ease),transform .4s var(--ease),color .15s}
.sheet.open .sheet-nav a{opacity:1;transform:translateY(0)}
.sheet-nav a:hover{color:var(--accent)}
.sheet-nav a:nth-child(1){transition-delay:.08s} .sheet-nav a:nth-child(2){transition-delay:.14s}
.sheet-nav a:nth-child(3){transition-delay:.2s} .sheet-nav a:nth-child(4){transition-delay:.26s}
.sheet-nav a:nth-child(5){transition-delay:.32s} .sheet-nav a:nth-child(6){transition-delay:.38s}

/* ---------- buttons ---------- */
.cta{position:relative;height:3.1rem;min-width:11rem;display:inline-flex;align-items:center;justify-content:center;gap:.9rem;
  background:var(--surface-dark);border:1px solid var(--accent-bright);color:var(--accent-bright);font-size:.95rem;text-transform:uppercase;
  overflow:hidden;padding:0 1.4rem;transition:color .25s var(--ease)}
.cta::before{content:"";position:absolute;inset:0;background:var(--accent-bright);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);z-index:0}
.cta span,.cta svg{position:relative;z-index:1}
.cta svg{width:.9rem;transition:transform .15s var(--ease)}
.cta:hover{color:var(--surface-dark)}
.cta:hover::before{transform:scaleX(1)}
.cta:hover svg{transform:translateX(.25rem)}
.cta.ghost{background:transparent;border-color:var(--accent);color:var(--accent)}
.cta.ghost::before{background:var(--accent)}
.cta.ghost:hover{color:var(--on-dark)}

/* ---------- footer (shared) ---------- */
.site-foot{background:var(--surface-dark);color:var(--on-dark-muted);padding:2.5rem var(--gutter);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;font-size:.8rem;text-transform:uppercase}
.site-foot a:hover{color:var(--accent-bright)}
