@font-face{font-family:Anton;src:url(fonts/anton-latin.woff2) format("woff2");font-display:swap}
:root{--red:#d7191f;--red-d:#a50f14;--ink:#0b0b0b;--paper:#fff;--gray:#f2f2f2;--mute:#666}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper)}
a{color:var(--red)}
h1,h2,h3,.brand,.btn,.stat b,.date-block b,.kicker,.tag,.footer-brand{font-family:Anton,Impact,"Arial Narrow Bold",sans-serif;font-weight:400;letter-spacing:.02em}
.star{width:1em;height:1em;fill:var(--red);vertical-align:-.12em;flex:none}
.topbar{position:sticky;top:0;z-index:10;background:var(--ink);color:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem;padding:.6rem 1rem;padding-top:max(.6rem,env(safe-area-inset-top));border-bottom:4px solid var(--red)}
.brand{color:#fff;text-decoration:none;font-size:1.05rem;display:flex;gap:.4rem;align-items:center}
.brand .bn span{color:var(--red)}
.topbar nav{display:flex;gap:.9rem;overflow-x:auto;font-size:.85rem;font-weight:700;text-transform:uppercase}
.topbar nav a{color:#ddd;text-decoration:none;white-space:nowrap}
.topbar nav a:hover{color:#fff}
.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:3rem 1.25rem 2.5rem;text-align:center}
.hero-stars{display:flex;justify-content:center;gap:.6rem;font-size:1.6rem;margin-bottom:1rem}
.kicker{display:inline-block;background:var(--red);padding:.2rem .7rem;font-size:1rem;text-transform:uppercase;margin:0 0 1rem}
.hero h1{font-size:clamp(4rem,22vw,10rem);line-height:.88;margin:0 0 1.2rem;text-transform:uppercase}
.hero h1 span{color:var(--red)}
.lede{max-width:40rem;margin:0 auto 1.5rem;font-size:1.1rem;color:#e6e6e6}
.lede strong{color:#fff}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
.btn{display:inline-block;font-size:1.15rem;text-transform:uppercase;text-decoration:none;padding:.8rem 1.5rem;border:3px solid var(--red);border-radius:2px;cursor:pointer;min-height:48px}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-d);border-color:var(--red-d)}
.btn-ghost{color:#fff;border-color:#fff;background:transparent}
.btn-yt{background:var(--red);color:#fff;font-size:1.3rem}
.btn-disabled{background:#ccc;border-color:#ccc;color:#555;cursor:not-allowed;width:100%}
.countdown{margin-top:1.8rem;font-size:1rem;color:#bbb}
.countdown b{font-family:Anton,Impact,sans-serif;font-weight:400;color:var(--red);font-size:2.4rem;vertical-align:-.25rem;margin-right:.25rem}
.section{padding:3rem 1.25rem;max-width:1180px;margin:0 auto}
.section.dark{max-width:none;background:var(--ink);color:#fff}
.section.dark>*{max-width:1140px;margin-left:auto;margin-right:auto}
.section-title{font-size:clamp(2.4rem,9vw,4rem);text-transform:uppercase;margin:0 0 .4rem;display:flex;align-items:center;gap:.5rem;line-height:1}
.section-sub{color:var(--mute);margin:0 0 1.75rem}
.cards{display:grid;gap:1rem}
.card{background:#fff;border:2px solid var(--ink);border-left:10px solid var(--red);padding:1.2rem 1.2rem 1rem}
.card h3{font-size:1.55rem;line-height:1.1;margin:.5rem 0 .6rem;text-transform:uppercase}
.card p{margin:0 0 .7rem}
.tag{display:inline-block;background:var(--ink);color:#fff;font-size:.8rem;padding:.1rem .5rem;text-transform:uppercase}
.src{font-size:.85rem;color:var(--mute)}
.src a{font-weight:700}
.dark .src{color:#aaa}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#333;border:1px solid #333;margin:1.5rem 0}
.stat{background:var(--ink);padding:1.2rem 1rem;display:flex;flex-direction:column;gap:.3rem}
.stat b{font-size:clamp(2rem,9vw,2.8rem);color:var(--red);line-height:1}
.stat b small{font-size:.5em;color:#fff}
.stat span{font-weight:600}
.stat a{font-size:.75rem;color:#9a9a9a}
.fair{border:2px dashed #555;padding:1.2rem;margin-top:1.5rem}
.fair h3{margin:0 0 .5rem;font-size:1.5rem;text-transform:uppercase}
.race{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1.25rem 0 1.5rem}
.date-block{background:var(--red);color:#fff;padding:1rem;text-align:center}
.date-block.alt{background:var(--ink)}
.date-block b{display:block;font-size:2.6rem;line-height:1}
.date-block span{font-size:.85rem;font-weight:600}
.race~p{max-width:46rem}
.watch{text-align:center}
.watch .section-title{justify-content:center}
.watch .big{font-family:Anton,Impact,sans-serif;font-size:1.8rem;text-transform:uppercase;margin:.5rem auto}
.products{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,340px));justify-content:center}
.product{background:var(--gray);padding:1rem;text-align:center;border-bottom:6px solid var(--red)}
.product img{width:100%;height:auto;display:block;margin-bottom:.5rem}
.product h3{font-size:1.6rem;margin:.2rem 0;text-transform:uppercase}
.product p{margin:0 0 .8rem;color:var(--mute)}
.footer{background:var(--ink);color:#bbb;text-align:center;padding:2.5rem 1.25rem calc(2.5rem + env(safe-area-inset-bottom));border-top:6px solid var(--red);font-size:.9rem}
.footer p{margin:.4rem auto;max-width:40rem}
.footer a{color:#fff}
.footer-brand{color:#fff;font-size:1.6rem;display:flex;gap:.4rem;justify-content:center;align-items:center}
.small{font-size:.75rem;color:#777}
@media (max-width:759px){.stat:last-child{grid-column:1/-1}}
@media (min-width:760px){
  .stats{grid-template-columns:repeat(3,1fr)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .hero{padding:5rem 2rem 4rem}
  .section{padding:4.5rem 2rem}
}
@media (min-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.poll-label{display:inline-block;background:#fff3cd;border:1px solid #e0c060;color:#5a4500;font-weight:700;font-size:.85rem;padding:.3rem .6rem;margin:0 0 1.2rem}
.poll-form fieldset{border:0;margin:0 0 1rem;padding:0;display:grid;gap:.5rem}
.poll-form fieldset[disabled]{opacity:.55}
.opt{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .7rem;border:2px solid var(--ink);padding:.75rem .9rem;cursor:pointer;min-height:52px;background:#fff}
.opt input{width:22px;height:22px;accent-color:var(--red);margin:0}
.opt .nm{font-weight:800;font-size:1.05rem}
.opt small{color:var(--mute);flex-basis:100%;padding-left:calc(22px + .7rem);margin-top:-.15rem}
.opt:has(input:checked){border-color:var(--red);background:#fff1f1}
.poll-form .btn{width:100%}
.poll-status{color:var(--mute);margin:.6rem 0 1rem}
.poll-results h3{font-size:1.8rem;text-transform:uppercase;margin:0 0 .8rem}
.poll-results h3 span{font-family:inherit;color:var(--mute);font-size:1rem;margin-left:.4rem}
.bar{margin:0 0 .7rem}
.bar-top{display:flex;justify-content:space-between;gap:.5rem;font-weight:700;margin-bottom:.2rem}
.bar-top small{color:var(--mute);font-weight:400}
.bar-track{height:14px;background:#e8e8e8}
.bar-track i{display:block;height:100%;background:var(--ink)}
.bar.mine .bar-track i{background:var(--red)}
.poll-note{background:#f2f2f2;padding:.6rem .8rem;font-weight:600}
@media (min-width:760px){.poll-form fieldset{grid-template-columns:repeat(2,1fr)}.poll-form .btn{width:auto;min-width:260px}}
.section-title .star{align-self:flex-start;margin-top:.08em}
section[id]{scroll-margin-top:96px}

.kelly{border-top:8px solid var(--red)}
.kicker-dark{display:inline-block;background:var(--ink);color:#fff;font-family:Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:.03em;padding:.2rem .7rem;margin:0 0 .8rem}
.kelly-head{font-family:Anton,Impact,sans-serif;font-size:clamp(2rem,9vw,3.4rem);line-height:1;text-transform:uppercase;color:var(--red);margin:.2rem 0 1rem}
.kelly-why{font-size:1.1rem;max-width:48rem}
.kelly-bio{background:var(--gray);padding:1rem 1.1rem;border-left:6px solid var(--ink);max-width:48rem}
.kelly-bio .src{display:block;margin-top:.4rem}
.pledges{display:grid;gap:1rem;margin:1.5rem 0}
.pledge{border:2px solid var(--ink);border-top:8px solid var(--red);padding:1rem 1.1rem;background:#fff}
.pledge h3{font-size:1.45rem;line-height:1.1;text-transform:uppercase;margin:.5rem 0}
.pledge p{margin:0 0 .6rem}
.kelly-fair{border:2px dashed #999;padding:1rem 1.1rem;max-width:48rem}
.kelly-disclaimer{font-size:.85rem;color:var(--mute);max-width:48rem}
@media (min-width:760px){.pledges{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.pledges{grid-template-columns:repeat(4,1fr)}}
.wilson{border-top-color:var(--ink)}
.kicker-alt{background:#555}
.sub-h{font-size:1.6rem;text-transform:uppercase;margin:1.6rem 0 0}
.wilson .pledge{border-top-color:var(--ink)}

.shop-cta{text-align:center;margin:0 0 1.5rem}.btn-big{font-size:1.5rem;padding:1rem 2.5rem;min-width:min(100%,320px)}.btn-block{display:block;width:100%}.product-alt{margin:.6rem 0 0!important;font-size:.95rem}.product-alt a{color:var(--red);font-weight:700}
