/* ─── HERO ─── */
.hero{
  background:var(--w);padding:72px 52px 0;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:80px;align-items:end
}
.hero-lbl{
  font-family:var(--sans);font-size:12px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--kl);margin-bottom:28px
}
.hero h1{
  font-family:var(--serif);font-size:22px;font-weight:normal;
  line-height:1.7;color:var(--k);max-width:420px
}
.hero-right{display:flex;flex-direction:column;align-items:flex-end;padding-bottom:0}
.hero-desc{
  font-family:var(--sans);font-size:13px;line-height:2.05;
  color:var(--km);max-width:300px;margin-bottom:36px;text-align:right
}

/* ─── STATS BAR ─── */
.stats-bar{
  background:var(--k);
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:0.5px solid var(--rule-k);margin-top:52px
}
.stat{padding:20px 52px;border-right:0.5px solid var(--rule-k)}
.stat:last-child{border-right:none}
.stat-n{font-family:var(--serif);font-size:22px;color:#d8d7cf;margin-bottom:4px}
.stat-n.red{color:var(--r)}
.stat-l{
  font-family:var(--sans);font-size:10px;letter-spacing:0.14em;
  text-transform:uppercase;color:#484840
}

/* ─── SEASON TABS ─── */
.season-tabs{
  background:var(--w);
  border-top:0.5px solid var(--rule);
  display:flex;padding:0 52px
}
.stab{
  font-family:var(--sans);font-size:11px;letter-spacing:0.09em;
  text-transform:uppercase;color:var(--kl);
  padding:14px 20px 13px 0;margin-right:20px;
  border-bottom:1.5px solid transparent;cursor:pointer;
  transition:all 0.15s;text-decoration:none;min-height:44px
}
.stab:first-child{padding-left:0}
.stab.active{color:var(--k);border-bottom-color:var(--r)}
.stab:hover:not(.active){color:var(--k)}

/* ─── SEARCH BAR ─── */
.search-bar{
  display:flex;gap:12px;padding:16px 52px;
  border-bottom:0.5px solid var(--rule);
  background:var(--c);align-items:center;
  border-top:0.5px solid var(--rule);flex-wrap:wrap
}
.search-bar input{
  font-family:var(--sans);font-size:12px;
  padding:8px 14px;border:0.5px solid rgba(24,24,22,0.15);
  background:var(--w);color:var(--k);width:280px;outline:none
}
.search-bar input:focus{border-color:var(--kl)}
.filter-btn{
  font-family:var(--sans);font-size:10px;letter-spacing:0.09em;
  text-transform:uppercase;padding:7px 14px;
  border:0.5px solid rgba(24,24,22,0.15);background:transparent;
  color:var(--km);cursor:pointer;transition:all 0.15s
}
.filter-btn.on{background:var(--k);color:#d8d7cf;border-color:var(--k)}
.filter-btn:hover:not(.on){border-color:var(--kl);color:var(--k)}

/* ─── BODY LAYOUT ─── */
.body-wrap{display:grid;grid-template-columns:160px 1fr}
.season-panel{display:none}
.season-panel.active{display:block}

/* ─── MONTH RAIL ─── */
.month-rail{
  border-right:0.5px solid var(--rule);
  background:var(--w);position:sticky;top:56px;
  align-self:start;max-height:calc(100vh - 56px);overflow-y:auto
}
.rail-item{
  padding:10px 16px;cursor:pointer;
  border-left:2px solid transparent;
  transition:all 0.1s;min-height:44px;
  display:flex;flex-direction:column;justify-content:center
}
.rail-item:hover{background:var(--c);color:var(--km)}
.rail-item.active{border-left-color:var(--r);background:var(--c)}
.rail-month{
  font-family:var(--sans);font-size:11px;color:var(--k);
  display:block;font-weight:500;letter-spacing:0.03em
}
.rail-count{
  font-family:var(--sans);font-size:10px;color:var(--kl);
  display:block;margin-top:2px
}
.rail-divider{height:0.5px;background:var(--rule);margin:4px 0}

/* ─── RESULTS MAIN ─── */
.results-main{overflow:hidden}

/* ─── RACE BLOCK ─── */
.race-block{border-bottom:0.5px solid var(--rule)}
.race-block:last-child{border-bottom:none}
.race-hd{
  display:flex;align-items:baseline;gap:10px;
  padding:18px 52px 0;cursor:pointer;min-height:44px
}
.race-hd:hover .race-name{color:var(--r)}
.race-name{
  font-family:var(--sans);font-size:13px;font-weight:500;
  color:var(--k);flex:1;transition:color 0.1s;letter-spacing:0.02em
}
.race-date{font-family:var(--sans);font-size:11px;color:var(--kl);white-space:nowrap}
.race-toggle{
  font-family:var(--sans);font-size:11px;color:var(--kl);
  margin-left:8px;user-select:none
}

/* highlight pills */
.race-pills{display:flex;gap:6px;flex-wrap:wrap;padding:8px 52px 0}
.pill{
  font-family:var(--sans);font-size:10px;letter-spacing:0.05em;
  padding:3px 9px;font-weight:500;text-transform:uppercase
}
.pill-win{background:#FAECE7;color:#712B13}
.pill-pr{background:#E6F1FB;color:#0C447C}
.pill-ag{background:#EAF3DE;color:#27500A}
.pill-oa{background:var(--k);color:#d8d7cf}
.pill-sc{background:#FAECE7;color:#712B13}

/* results grid — 2 col */
.results-grid{columns:2;column-gap:0;margin:10px 52px 16px}
.rr{
  background:var(--w);padding:6px 12px;
  display:flex;justify-content:space-between;align-items:baseline;
  border-bottom:0.5px solid var(--rule);
  break-inside:avoid;-webkit-column-break-inside:avoid;
  transition:opacity 0.15s ease
}
.rr-name{font-family:var(--sans);font-size:12px;color:var(--k)}
.rr-right{display:flex;align-items:center;gap:6px}
.rr-time{
  font-family:var(--serif);font-size:13px;color:var(--k);
  font-variant-numeric:tabular-nums
}
.rr-badge{
  font-family:var(--sans);font-size:9px;letter-spacing:0.05em;
  padding:1px 5px;text-transform:uppercase;font-weight:500
}
.rr-badge-pr{background:#E6F1FB;color:#0C447C}
.rr-badge-oa{background:var(--k);color:#d8d7cf}
.rr-badge-ag{background:#EAF3DE;color:#27500A}
.rr-badge-sc{background:#FAECE7;color:#712B13}
.rr-badge-deb{display:none}

.sub-event{
  font-family:var(--sans);font-size:10px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--kl);
  padding:8px 52px 4px;margin-top:4px
}

.more-row{
  font-family:var(--sans);font-size:11px;color:var(--kl);
  padding:6px 52px 14px;cursor:pointer;
  display:block;text-align:center
}
.more-row:hover{color:var(--r)}

/* season highlight panel */
.season-highlights{
  padding:36px 52px;border-bottom:0.5px solid var(--rule);
  background:var(--c);display:flex;gap:12px;flex-wrap:wrap
}
.sh-badge{
  font-family:var(--sans);font-size:10px;letter-spacing:0.08em;
  text-transform:uppercase;padding:4px 12px;font-weight:500
}
.sh-cup{background:#FAECE7;color:#712B13}
.sh-blue{background:#E6F1FB;color:#0C447C}
.sh-green{background:#EAF3DE;color:#27500A}
.sh-dark{background:var(--k);color:#d8d7cf}

/* =========================================================================
   RESPONSIVE — results
   ========================================================================= */
@media (max-width:1024px){
  .hero{padding:56px 32px 0;gap:40px}
  .stat{padding:18px 28px}
  .season-tabs{padding:0 32px}
  .search-bar{padding:16px 32px}
  .body-wrap{grid-template-columns:140px 1fr}
  .race-hd{padding:18px 32px 0}
  .race-pills{padding:8px 32px 0}
  .results-grid{margin:10px 32px 16px}
  .sub-event{padding:8px 32px 4px}
  .season-highlights{padding:32px 32px}
}

@media (max-width:768px){
  .hero{
    grid-template-columns:1fr;gap:24px;
    padding:44px 24px 0;align-items:start
  }
  .hero h1{font-size:18px;max-width:none}
  .hero-right{align-items:flex-start}
  .hero-desc{text-align:left;max-width:none}

  .stats-bar{grid-template-columns:1fr 1fr;margin-top:36px}
  .stat{padding:16px 24px;border-bottom:0.5px solid var(--rule-k)}
  .stat:nth-child(2){border-right:none}
  .stat:nth-last-child(-n+2){border-bottom:none}

  /* season tabs scroll horizontally */
  .season-tabs{
    padding:0 24px;overflow-x:auto;white-space:nowrap;
    -webkit-overflow-scrolling:touch
  }
  .stab{flex-shrink:0}

  .search-bar{padding:14px 24px;gap:8px}
  .search-bar input{width:100%;flex:1 1 100%}

  /* hide month rail entirely */
  .body-wrap{grid-template-columns:1fr}
  .month-rail{display:none !important}

  .race-hd{padding:16px 24px 0;flex-wrap:wrap}
  .race-pills{padding:8px 24px 0}
  .results-grid{columns:1;margin:10px 24px 16px}
  .sub-event{padding:8px 24px 4px}
  .season-highlights{padding:24px}
}
