/* =========================================================
   HLRN HOME V10 — CLEAN NETWORK HOME
   Lean homepage with explicit Day Race / Night Race support.
   ========================================================= */

:root{
  --h10-red:#e31837;
  --h10-yellow:#f6c800;
  --h10-green:#36d576;
  --h10-bg:#07090d;
  --h10-panel:#0d1117;
  --h10-panel2:#121821;
  --h10-line:#28313c;
  --h10-text:#f7f8fa;
  --h10-muted:#9aa5b2;
  --h10-soft:#151c25;
  --h10-shell:min(100% - 36px,1380px);
  --h10-shadow:0 18px 50px rgba(0,0,0,.22);
}

html[data-hlrn-theme="light"]{
  --h10-bg:#eaf0f8;
  --h10-panel:#f6f9fe;
  --h10-panel2:#edf5ff;
  --h10-line:#c5d8ec;
  --h10-text:#14243d;
  --h10-muted:#445f7e;
  --h10-soft:#e1edfa;
  --h10-shadow:0 10px 28px rgba(40,72,128,.12);
}

body.home-v10-page{
  margin:0;
  background:var(--h10-bg);
  color:var(--h10-text);
}

.home10{
  min-height:100vh;
  overflow:hidden;
  background:var(--h10-bg);
  color:var(--h10-text);
}

.h10-shell{
  width:var(--h10-shell);
  margin:0 auto;
}

/* HERO */
.h10-hero{
  position:relative;
  min-height:560px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border-bottom:1px solid var(--h10-line);
  background:#05070a;
}

.h10-hero > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(1.03);
}

.h10-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,5,8,.88) 0%,rgba(3,5,8,.66) 42%,rgba(3,5,8,.20) 74%,rgba(3,5,8,.08) 100%),
    linear-gradient(0deg,rgba(3,5,8,.82) 0%,rgba(3,5,8,.10) 58%,rgba(3,5,8,.22) 100%);
  z-index:1;
}

.h10-hero-inner{
  position:relative;
  z-index:2;
  width:var(--h10-shell);
  margin:0 auto;
  padding:96px 0 72px;
}

.h10-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:15px;
  color:#fff;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.h10-eyebrow:before{
  content:"";
  width:34px;
  height:4px;
  background:var(--h10-red);
}

.h10-hero h1{
  max-width:850px;
  margin:0;
  color:#fff!important;
  font-size:clamp(52px,7vw,100px);
  line-height:.88;
  letter-spacing:-.055em;
  font-weight:1000;
  text-transform:uppercase;
  text-shadow:0 3px 20px rgba(0,0,0,.45)!important;
}

.h10-hero p{
  max-width:650px;
  margin:22px 0 0;
  color:#e8edf2!important;
  font-size:clamp(16px,1.55vw,22px);
  line-height:1.45;
  font-weight:700;
  text-shadow:0 2px 12px rgba(0,0,0,.55)!important;
}

.h10-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.h10-btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 20px;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(8,11,16,.58);
  color:#fff!important;
  text-decoration:none;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.10em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}

.h10-btn.primary{
  border-color:var(--h10-red);
  background:var(--h10-red);
}

.h10-btn:hover,.h10-btn:focus-visible{
  transform:translateY(-1px);
  filter:brightness(1.08);
  outline:none;
}

/* THREE-ITEM INFO BAND */
.h10-info{
  background:var(--h10-panel);
  border-bottom:1px solid var(--h10-line);
}

.h10-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.h10-info-item{
  min-height:94px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  padding:18px 24px;
  border-right:1px solid var(--h10-line);
  color:var(--h10-text);
  text-decoration:none;
}

.h10-info-item:last-child{border-right:0}

.h10-info-item small{
  color:var(--h10-muted)!important;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.h10-info-item strong{
  overflow:hidden;
  color:var(--h10-text)!important;
  font-size:clamp(17px,2vw,26px);
  line-height:1.1;
  font-weight:1000;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.h10-info-item.sunday{box-shadow:inset 0 4px 0 var(--h10-red)}
.h10-info-item.monday{box-shadow:inset 0 4px 0 #1fa454}
.h10-info-item.winner{box-shadow:inset 0 4px 0 var(--h10-yellow)}

.h10-info-item:hover{background:var(--h10-soft)}

/* SHARED SECTIONS */
.h10-section{
  padding:64px 0;
  border-bottom:1px solid var(--h10-line);
}

.h10-section.compact{padding:54px 0}

.h10-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}

.h10-section-head small{
  display:block;
  margin-bottom:6px;
  color:var(--h10-red)!important;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.h10-section-head h2{
  margin:0;
  color:var(--h10-text)!important;
  font-size:clamp(30px,4vw,48px);
  line-height:.95;
  font-weight:1000;
  letter-spacing:-.035em;
  text-transform:uppercase;
}

.h10-section-head>a{
  color:var(--h10-muted)!important;
  text-decoration:none;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.h10-section-head>a:hover{color:var(--h10-red)!important}

/* THIS WEEK */
.h10-week-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.h10-week-card{
  min-height:210px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:30px;
  border:1px solid var(--h10-line);
  background:var(--h10-panel);
  color:var(--h10-text);
  text-decoration:none;
  box-shadow:var(--h10-shadow);
  transition:.16s ease;
}

.h10-week-card.sunday{border-top:5px solid var(--h10-red)}
.h10-week-card.monday{border-top:5px solid #1fa454}

.h10-week-card small{
  color:var(--h10-muted)!important;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.h10-week-card h3{
  margin:10px 0 8px;
  color:var(--h10-text)!important;
  font-size:clamp(27px,3.5vw,45px);
  line-height:.98;
  font-weight:1000;
  letter-spacing:-.03em;
  text-transform:uppercase;
}

.h10-week-card p{
  max-width:520px;
  margin:0;
  color:var(--h10-muted)!important;
  font-size:13px;
  line-height:1.55;
  font-weight:650;
}

.h10-week-card b{
  margin-top:20px;
  color:var(--h10-text)!important;
  font-size:9px;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.h10-week-card:hover{
  transform:translateY(-3px);
  border-color:#596675;
}

/* LATEST STORY */
.h10-story-layout{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:16px;
  align-items:stretch;
}

.h10-story-art{
  min-height:330px;
  overflow:hidden;
  border:1px solid var(--h10-line);
  background:var(--h10-panel);
  box-shadow:var(--h10-shadow);
}

.h10-story-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.h10-story-layout .hlrn-recap-section{
  margin:0;
  min-width:0;
}

.h10-story-layout .hlrn-recap-grid{
  height:100%;
  display:block;
  margin:0;
}

.h10-story-layout .hlrn-recap-card{
  height:100%;
  display:grid;
  grid-template-rows:auto 1fr auto;
  border:1px solid var(--h10-line);
  background:var(--h10-panel)!important;
  color:var(--h10-text)!important;
  box-shadow:var(--h10-shadow);
  text-decoration:none;
}

.h10-story-layout .hlrn-recap-card-top{
  background:var(--h10-soft)!important;
  color:var(--h10-text)!important;
  border-bottom:1px solid var(--h10-line);
}

.h10-story-layout .hlrn-recap-card-top span{color:var(--h10-red)!important}

.h10-story-layout .hlrn-recap-card-main{
  padding:30px;
}

.h10-story-layout .hlrn-recap-card-main small,
.h10-story-layout .hlrn-recap-card-main p{
  color:var(--h10-muted)!important;
}

.h10-story-layout .hlrn-recap-card-main h3{
  color:var(--h10-text)!important;
  font-size:clamp(30px,4vw,48px);
  line-height:.98;
}

.h10-story-layout .hlrn-recap-card-foot{
  background:var(--h10-panel2)!important;
  border-top:1px solid var(--h10-line);
  color:var(--h10-muted)!important;
}

.h10-story-layout .hlrn-recap-card-foot strong{
  color:var(--h10-text)!important;
}

/* QUICK LINKS */
.h10-links-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.h10-link-card{
  min-height:155px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:22px;
  border:1px solid var(--h10-line);
  background:var(--h10-panel);
  color:var(--h10-text);
  text-decoration:none;
  transition:.16s ease;
}

.h10-link-card span{
  color:var(--h10-red)!important;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.h10-link-card strong{
  color:var(--h10-text)!important;
  font-size:22px;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
}

.h10-link-card small{
  color:var(--h10-muted)!important;
  font-size:11px;
  line-height:1.45;
  font-weight:700;
}

.h10-link-card:hover{
  transform:translateY(-3px);
  background:var(--h10-soft);
}

/* FOOTER */
.h10-footer{
  background:var(--h10-panel);
  border-top:4px solid var(--h10-red);
}

.h10-footer-inner{
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.h10-footer-brand strong{
  display:block;
  color:var(--h10-text)!important;
  font-size:18px;
  font-weight:1000;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.h10-footer-brand span{
  display:block;
  margin-top:5px;
  color:var(--h10-muted)!important;
  font-size:10px;
  font-weight:700;
}

.h10-footer nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:18px;
}

.h10-footer a{
  color:var(--h10-muted)!important;
  text-decoration:none;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.h10-footer a:hover{color:var(--h10-text)!important}

/* Compatibility/data-only nodes */
.h10-data-bridge{display:none!important}

/* Day mode: hero stays intentionally photographic/dark for contrast. */
html[data-hlrn-theme="light"] .h10-hero h1,
html[data-hlrn-theme="light"] .h10-hero p,
html[data-hlrn-theme="light"] .h10-hero .h10-eyebrow,
html[data-hlrn-theme="light"] .h10-hero .h10-btn{
  color:#fff!important;
}

/* Race-night takeover should remain visually strong regardless of site theme. */
body.home-v10-page.rn-active #hlrnRaceNightTakeover :where(h1,h2,h3,strong,b){
  color:#fff!important;
}

/* RESPONSIVE */
@media(max-width:980px){
  .h10-hero{min-height:500px}
  .h10-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .h10-story-layout{grid-template-columns:1fr}
  .h10-story-art{min-height:260px;max-height:360px}
}

@media(max-width:720px){
  :root{--h10-shell:min(100% - 24px,1380px)}
  .h10-hero{min-height:470px}
  .h10-hero-inner{padding:72px 0 46px}
  .h10-hero h1{font-size:clamp(44px,15vw,72px)}
  .h10-hero p{font-size:15px}
  .h10-info-grid{grid-template-columns:1fr}
  .h10-info-item{
    min-height:74px;
    border-right:0;
    border-bottom:1px solid var(--h10-line);
  }
  .h10-info-item:last-child{border-bottom:0}
  .h10-week-grid{grid-template-columns:1fr}
  .h10-week-card{min-height:175px;padding:24px}
  .h10-section{padding:46px 0}
  .h10-section-head{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .h10-links-grid{grid-template-columns:1fr}
  .h10-link-card{min-height:125px}
  .h10-story-art{min-height:210px}
  .h10-story-layout .hlrn-recap-card-main{padding:22px}
  .h10-story-layout .hlrn-recap-card-foot{grid-template-columns:1fr}
  .h10-footer-inner{
    min-height:150px;
    align-items:flex-start;
    flex-direction:column;
    justify-content:center;
  }
  .h10-footer nav{justify-content:flex-start}
}

@media(prefers-reduced-motion:reduce){
  .h10-btn,.h10-week-card,.h10-link-card{transition:none!important}
}

/* Preserve the automatic Race Night takeover on the lean homepage. */
body.rn-active .h10-hero{display:none!important}
.rn-takeover .v7-shell{width:var(--h10-shell);margin-left:auto;margin-right:auto}

html[data-hlrn-theme="light"] body.rn-active .rn-copy h1{color:#fff!important}
html[data-hlrn-theme="light"] body.rn-active .rn-copy h2{color:var(--rn-accent)!important}
html[data-hlrn-theme="light"] body.rn-active.rn-live .rn-copy h1{color:var(--rn-accent)!important}
html[data-hlrn-theme="light"] body.rn-active.rn-live .rn-copy h2{color:#fff!important}
html[data-hlrn-theme="light"] body.rn-active :where(.rn-board-head strong,.rn-clock strong,.rn-info strong,.rn-btn strong,.rn-eyebrow b){color:#fff!important}
html[data-hlrn-theme="light"] body.rn-active :where(.rn-copy>p,.rn-eyebrow,.rn-trackline span,.rn-btn small,.rn-clock span,.rn-info span,.rn-crawl .v7-shell){color:#9ca6af!important}
html[data-hlrn-theme="light"] body.rn-active .rn-btn.primary small{color:rgba(255,255,255,.72)!important}


/* =========================================================
   V10 HERO — LATEST HOSTED RACE CARD
   ========================================================= */
.h10-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);
  gap:58px;
  align-items:end;
}

.h10-hero-copy{
  min-width:0;
}

.h10-hero-copy h1{
  max-width:760px;
}

.h10-hosted-card{
  width:100%;
  max-width:470px;
  justify-self:end;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.24);
  border-top:5px solid var(--h10-yellow);
  background:rgba(7,9,13,.90);
  color:#fff;
  box-shadow:0 28px 70px rgba(0,0,0,.42);
  backdrop-filter:blur(12px);
}

.h10-hosted-head{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 16px;
  border-bottom:1px solid rgba(255,255,255,.13);
}

.h10-hosted-head>div{
  min-width:0;
  display:grid;
  gap:3px;
}

.h10-hosted-head small{
  color:#aab3bd!important;
  font-size:7px;
  font-weight:1000;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.h10-hosted-head strong{
  color:#fff!important;
  font-size:14px;
  line-height:1;
  font-weight:1000;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.h10-hosted-head>span{
  flex:0 0 auto;
  padding:7px 9px;
  background:var(--h10-yellow);
  color:#080a0d!important;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.1em;
}

.h10-hosted-winner{
  min-height:126px;
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:15px 16px;
  border-bottom:1px solid rgba(255,255,255,.13);
}

.h10-hosted-photo-wrap{
  position:relative;
  height:94px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  border:1px solid rgba(255,255,255,.15);
  background:
    linear-gradient(145deg,rgba(246,200,0,.20),rgba(227,24,55,.10)),
    #11161d;
  color:#fff;
  text-decoration:none;
}

.h10-hosted-photo-wrap img{
  position:absolute;
  inset:auto 0 0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:none;
  z-index:1;
}

.h10-hosted-number{
  position:relative;
  z-index:2;
  margin:0 0 7px;
  padding:5px 7px;
  background:rgba(5,7,10,.86);
  color:#fff!important;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.04em;
}

.h10-hosted-number b{
  color:#fff!important;
}

.h10-hosted-winner-copy{
  min-width:0;
}

.h10-hosted-winner-copy small{
  display:block;
  margin-bottom:5px;
  color:var(--h10-yellow)!important;
  font-size:7px;
  font-weight:1000;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.h10-hosted-winner-copy strong{
  display:block;
  overflow:hidden;
  color:#fff!important;
  font-size:clamp(23px,2.5vw,35px);
  line-height:.95;
  font-weight:1000;
  letter-spacing:-.035em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.h10-hosted-winner-copy span{
  display:block;
  margin-top:8px;
  overflow:hidden;
  color:#aeb7c1!important;
  font-size:9px;
  line-height:1.35;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.h10-hosted-track{
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.13);
}

.h10-hosted-track small{
  display:block;
  color:#7f8993!important;
  font-size:7px;
  font-weight:1000;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.h10-hosted-track strong{
  display:block;
  margin-top:4px;
  overflow:hidden;
  color:#fff!important;
  font-size:16px;
  line-height:1.1;
  font-weight:1000;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.h10-hosted-track span{
  display:block;
  margin-top:4px;
  color:#aab3bd!important;
  font-size:8px;
  font-weight:800;
  letter-spacing:.06em;
}

.h10-hosted-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-bottom:1px solid rgba(255,255,255,.13);
}

.h10-hosted-stats>div{
  min-width:0;
  padding:12px 7px;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.11);
}

.h10-hosted-stats>div:last-child{
  border-right:0;
}

.h10-hosted-stats b{
  display:block;
  overflow:hidden;
  color:#fff!important;
  font-size:18px;
  line-height:1;
  font-weight:1000;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.h10-hosted-stats span{
  display:block;
  margin-top:5px;
  color:#7f8993!important;
  font-size:6px;
  font-weight:1000;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.h10-hosted-stats.secondary{
  background:rgba(255,255,255,.035);
}

.h10-hosted-stats.secondary b{
  font-size:15px;
}

.h10-hosted-link{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:0 16px;
  color:#fff!important;
  text-decoration:none;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.h10-hosted-link:hover,
.h10-hosted-link:focus-visible{
  background:rgba(246,200,0,.10);
  color:var(--h10-yellow)!important;
  outline:none;
}

/* Day Race gets a light glass card; Night Race keeps the dark command-card look. */
html[data-hlrn-theme="light"] .h10-hosted-card{
  background:rgba(255,255,255,.94)!important;
  color:#11161c!important;
  border-color:rgba(255,255,255,.80)!important;
  box-shadow:0 24px 60px rgba(5,10,16,.28);
}

html[data-hlrn-theme="light"] .h10-hosted-head,
html[data-hlrn-theme="light"] .h10-hosted-winner,
html[data-hlrn-theme="light"] .h10-hosted-track,
html[data-hlrn-theme="light"] .h10-hosted-stats{
  border-color:#d9dee5!important;
}

html[data-hlrn-theme="light"] .h10-hosted-head strong,
html[data-hlrn-theme="light"] .h10-hosted-winner-copy strong,
html[data-hlrn-theme="light"] .h10-hosted-track strong,
html[data-hlrn-theme="light"] .h10-hosted-stats b{
  color:#11161c!important;
}

html[data-hlrn-theme="light"] .h10-hosted-head small,
html[data-hlrn-theme="light"] .h10-hosted-winner-copy span,
html[data-hlrn-theme="light"] .h10-hosted-track small,
html[data-hlrn-theme="light"] .h10-hosted-track span,
html[data-hlrn-theme="light"] .h10-hosted-stats span{
  color:#66717d!important;
}

html[data-hlrn-theme="light"] .h10-hosted-winner-copy small{
  color:#9a7600!important;
}

html[data-hlrn-theme="light"] .h10-hosted-photo-wrap{
  border-color:#d6dce3;
  background:
    linear-gradient(145deg,rgba(246,200,0,.24),rgba(227,24,55,.08)),
    #edf0f3;
}

html[data-hlrn-theme="light"] .h10-hosted-stats.secondary{
  background:#f6f8fa!important;
}

html[data-hlrn-theme="light"] .h10-hosted-link{
  color:#11161c!important;
}

html[data-hlrn-theme="light"] .h10-hosted-link:hover,
html[data-hlrn-theme="light"] .h10-hosted-link:focus-visible{
  background:#f3f5f7!important;
  color:#b10f29!important;
}

@media(max-width:1120px){
  .h10-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);
    gap:30px;
  }
  .h10-hosted-card{max-width:420px}
  .h10-hero-copy h1{font-size:clamp(50px,7.4vw,82px)}
}

@media(max-width:900px){
  .h10-hero{
    min-height:0;
    align-items:stretch;
  }
  .h10-hero-inner{
    padding:70px 0 42px;
  }
  .h10-hero-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .h10-hosted-card{
    max-width:none;
    justify-self:stretch;
  }
}

@media(max-width:520px){
  .h10-hosted-winner{
    grid-template-columns:78px minmax(0,1fr);
  }
  .h10-hosted-photo-wrap{
    height:82px;
  }
  .h10-hosted-winner-copy strong{
    font-size:24px;
  }
  .h10-hosted-stats b{
    font-size:16px;
  }
}


/* Hosted card V2: race information first, winner as supporting feature. */
.h10-hosted-race{
  padding:18px 16px 16px;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.h10-hosted-race>small{
  display:block;
  color:#7f8993!important;
  font-size:7px;
  font-weight:1000;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.h10-hosted-race>strong{
  display:block;
  margin-top:6px;
  color:#fff!important;
  font-size:clamp(22px,2.25vw,31px);
  line-height:.96;
  font-weight:1000;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.h10-hosted-race-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:9px;
}
.h10-hosted-race-meta span{
  color:#aab3bd!important;
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.h10-hosted-race-meta i{
  color:var(--h10-yellow)!important;
  font-style:normal;
}
.h10-hosted-race-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-bottom:1px solid rgba(255,255,255,.13);
}
.h10-hosted-race-stats>div{
  min-width:0;
  padding:14px 6px;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.11);
}
.h10-hosted-race-stats>div:last-child{border-right:0}
.h10-hosted-race-stats b{
  display:block;
  color:#fff!important;
  font-size:18px;
  line-height:1;
  font-weight:1000;
}
.h10-hosted-race-stats span{
  display:block;
  margin-top:5px;
  color:#7f8993!important;
  font-size:6px;
  line-height:1.15;
  font-weight:1000;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.h10-hosted-winner-feature{
  min-height:110px;
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.h10-hosted-winner-photo{
  position:relative;
  height:86px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  border:1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(145deg,rgba(246,200,0,.20),rgba(227,24,55,.10)),
    #11161d;
  color:#fff;
  text-decoration:none;
}
.h10-hosted-winner-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:none;
  z-index:1;
}
.h10-hosted-winner-photo>span{
  position:relative;
  z-index:2;
  margin-bottom:6px;
  padding:4px 7px;
  background:rgba(5,7,10,.86);
  color:#fff!important;
  font-size:9px;
  font-weight:1000;
}
.h10-hosted-winner-photo b{color:#fff!important}
.h10-hosted-winner-feature .h10-hosted-winner-copy strong{
  font-size:clamp(22px,2.35vw,32px);
}
.h10-hosted-winner-feature .h10-hosted-winner-copy>span{
  text-transform:uppercase;
  letter-spacing:.06em;
}

html[data-hlrn-theme="light"] .h10-hosted-race,
html[data-hlrn-theme="light"] .h10-hosted-race-stats,
html[data-hlrn-theme="light"] .h10-hosted-winner-feature{
  border-color:#d9dee5!important;
}
html[data-hlrn-theme="light"] .h10-hosted-race>strong,
html[data-hlrn-theme="light"] .h10-hosted-race-stats b{
  color:#11161c!important;
}
html[data-hlrn-theme="light"] .h10-hosted-race>small,
html[data-hlrn-theme="light"] .h10-hosted-race-meta span,
html[data-hlrn-theme="light"] .h10-hosted-race-stats span{
  color:#66717d!important;
}
html[data-hlrn-theme="light"] .h10-hosted-winner-photo{
  border-color:#d6dce3;
  background:
    linear-gradient(145deg,rgba(246,200,0,.24),rgba(227,24,55,.08)),
    #edf0f3;
}

@media(max-width:520px){
  .h10-hosted-race-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .h10-hosted-race-stats>div:nth-child(2){border-right:0}
  .h10-hosted-race-stats>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.11)}
  html[data-hlrn-theme="light"] .h10-hosted-race-stats>div:nth-child(-n+2){border-bottom-color:#d9dee5!important}
}


/* Phase 2 / homepage visual polish — layout & typography only.
   No image sources, live state, Hosted data, themes, or links are changed. */
.home10 .h10-section{scroll-margin-top:24px}
.home10 .h10-section-head{gap:18px;align-items:end}
.home10 .h10-section-head h2{letter-spacing:-.038em;text-wrap:balance}
.home10 .h10-section-head>a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid var(--h10-line);border-radius:6px;text-decoration:none;white-space:nowrap;transition:background-color .18s,border-color .18s}
.home10 .h10-section-head>a:hover,.home10 .h10-section-head>a:focus-visible{background:var(--h10-soft);border-color:var(--h10-muted)}
.home10 .h10-week-grid,.home10 .h10-links-grid{gap:18px}
.home10 .h10-week-card,.home10 .h10-link-card{border-radius:10px;overflow:hidden;box-shadow:var(--h10-shadow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.home10 .h10-week-card:hover,.home10 .h10-link-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.16)}
.home10 .h10-week-card h3{line-height:1.12;overflow-wrap:anywhere;text-wrap:balance}
.home10 .h10-link-card strong{line-height:1.12}
.home10 .h10-link-card small{line-height:1.5}
.home10 .h10-info-item{min-width:0;transition:background-color .18s}
.home10 .h10-info-item strong{overflow-wrap:anywhere;line-height:1.1}
.home10 .h10-hosted-card{border-radius:10px;overflow:hidden;box-shadow:0 22px 54px rgba(0,0,0,.22)}
.home10 .h10-hosted-race>strong{line-height:1.04;overflow-wrap:anywhere;text-wrap:balance}
.home10 .h10-hosted-race-stats b{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.home10 .h10-hosted-winner-feature .h10-hosted-winner-copy strong{white-space:normal;overflow-wrap:anywhere;line-height:1.03}
.home10 .h10-hosted-link{min-height:48px}
.home10 .h10-story-layout .hlrn-recap-card{border-radius:10px;overflow:hidden}
.home10 .h10-hero-copy h1{max-width:820px;text-wrap:balance;line-height:.99}
.home10 .h10-hero-copy p{max-width:620px;line-height:1.55}
.home10 .h10-btn{border-radius:5px}
html[data-hlrn-theme="light"] .home10 .h10-week-card,
html[data-hlrn-theme="light"] .home10 .h10-link-card{box-shadow:0 8px 24px rgba(15,23,42,.07)}
html[data-hlrn-theme="light"] .home10 .h10-week-card:hover,
html[data-hlrn-theme="light"] .home10 .h10-link-card:hover{box-shadow:0 15px 32px rgba(15,23,42,.13)}
@media(max-width:720px){
  .home10 .h10-section-head{align-items:flex-start;flex-wrap:wrap}
  .home10 .h10-section-head>a{min-height:38px}
  .home10 .h10-week-grid,.home10 .h10-links-grid{gap:12px}
  .home10 .h10-hero-copy h1{line-height:1.02}
  .home10 .h10-hosted-race-stats b{font-size:clamp(15px,4vw,18px)}
}
@media(max-width:420px){
  .home10 .h10-hosted-winner-feature{grid-template-columns:78px minmax(0,1fr);gap:12px;padding-inline:12px}
  .home10 .h10-hosted-winner-photo{height:80px}
  .home10 .h10-hosted-winner-feature .h10-hosted-winner-copy strong{font-size:clamp(18px,6vw,26px)}
}
@media(prefers-reduced-motion:reduce){
  .home10 .h10-week-card,.home10 .h10-link-card,.home10 .h10-section-head>a{transition:none}
  .home10 .h10-week-card:hover,.home10 .h10-link-card:hover{transform:none}
}

/* Homepage hero: upcoming league races. Scoped to the hero to leave other sections intact. */
.h10-hero-copy .h10-upcoming{margin-top:28px;max-width:760px}
.h10-hero-copy .h10-upcoming-title{margin:0 0 12px;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:#f5f7fa}
.h10-upcoming-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.h10-upcoming-card{min-width:0;padding:18px;background:rgba(9,16,27,.89);border:1px solid rgba(255,255,255,.22);border-top:4px solid #e31837;border-radius:9px;color:#fff}
.h10-upcoming-card.monday{border-top-color:#36b96c}
.h10-upcoming-card small{display:block;color:#ff9ba9;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.h10-upcoming-card.monday small{color:#85eab1}
.h10-upcoming-card h3{margin:10px 0 7px;font-size:clamp(18px,2vw,23px);line-height:1.14;color:#fff;overflow-wrap:anywhere}
.h10-hero .h10-upcoming-card p{margin:0 0 8px;font-size:13px;color:#d9e0e9;line-height:1.4}
.h10-upcoming-time{display:block;color:#fff;font-size:13px;font-weight:750;margin-bottom:12px}
.h10-upcoming-time[hidden]{display:none}
.h10-upcoming-card a{display:inline-block;color:#fff;font-size:13px;font-weight:800;text-underline-offset:3px}
.h10-upcoming-card a:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:600px){.h10-upcoming-grid{grid-template-columns:1fr}.h10-upcoming-card{padding:16px}.h10-hero-copy .h10-upcoming{margin-top:24px}}

/* Race Week 2.0 — scoped, schedule-driven metadata for both league cards. */
.home10 .h10-week-card{justify-content:flex-end;gap:0}
.home10 .h10-week-card h3{margin:12px 0 9px;font-size:clamp(28px,3.4vw,43px);overflow-wrap:anywhere}
.home10 .h10-week-card p{font-size:14px;font-weight:700;line-height:1.45}
.home10 .h10-week-details{display:flex;gap:20px;flex-wrap:wrap;margin-top:17px;padding-top:14px;border-top:1px solid var(--h10-line)}
.home10 .h10-week-details[hidden]{display:none}
.home10 .h10-week-details>span{display:flex;flex-direction:column;gap:5px;color:var(--h10-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.home10 .h10-week-details strong{color:var(--h10-text);font-size:15px;font-weight:900;letter-spacing:0;overflow-wrap:anywhere}
.home10 .h10-week-card b{margin-top:18px}
@media(max-width:720px){.home10 .h10-week-card{padding:22px;min-height:0}.home10 .h10-week-details{gap:20px}}

/* Homepage results 3.0 — top-five leaderboard enhancements. */
.home10 .h20-finish-list li{min-width:0;gap:10px;flex-wrap:wrap}
.home10 .h20-finish-list .h20-result-name{flex:1 1 130px}
.home10 .h20-result-winner{background:color-mix(in srgb,#e9ba44 9%,transparent);border-radius:5px;padding-inline:10px!important;border-left:3px solid #d9ab35}
.home10 .h20-result-winner:before{color:#c99520!important}
.home10 .h20-position-change{min-width:44px;text-align:right;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.home10 .h20-position-change.up{color:#279c59}
.home10 .h20-position-change.down{color:#d94b58}
.home10 .h20-position-change.even{color:var(--h10-muted)}
@media(max-width:720px){.home10 .h20-results-grid{grid-template-columns:1fr}.home10 .h20-results-panel{padding:20px}.home10 .h20-finish-list li{gap:8px}.home10 .h20-position-change{min-width:35px}}

/* Homepage Championship Watch 2.0 — scoped card hierarchy. */
.home10 .h20-panel .h20-live-label{color:#c39b38;font-weight:900;letter-spacing:.1em}
.home10 .h20-panel h3{font-size:clamp(26px,2.9vw,39px);line-height:1.12;overflow-wrap:anywhere;margin:20px 0 8px}
.home10 .h20-championship-total{display:flex;flex-direction:column;gap:4px;padding:15px 0 17px;border-top:1px solid var(--h10-line)}
.home10 .h20-championship-total b{color:var(--h10-text);font-size:clamp(35px,4vw,52px);font-variant-numeric:tabular-nums;line-height:1}
.home10 .h20-championship-total span{color:var(--h10-muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:850}
.home10 .h20-numbers{grid-template-columns:repeat(2,minmax(0,1fr));padding:17px 0}
.home10 .h20-numbers div:last-child b{color:#279c59;overflow-wrap:anywhere}
.home10 .h20-numbers div:last-child small{line-height:1.3}
@media(max-width:720px){.home10 .h20-grid{grid-template-columns:1fr}.home10 .h20-panel{padding:22px}.home10 .h20-numbers{gap:12px}}
@media(max-width:390px){.home10 .h20-panel-top{flex-wrap:wrap}.home10 .h20-numbers b{font-size:clamp(16px,5vw,23px)}}

/* Homepage Quick Links 2.0 — scoped to the Explore HLRN navigation hub. */
.home10 .h10-quick-links .h10-links-intro{color:var(--h10-muted);font-size:14px;margin:9px 0 0;line-height:1.5}
.home10 .h10-quick-links .h10-links-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home10 .h10-quick-links .h10-link-card{--ql-accent:var(--h10-red);min-height:185px;gap:10px;justify-content:flex-start;border-top:3px solid var(--ql-accent);border-radius:12px;padding:22px}
.home10 .h10-quick-links .h10-link-icons{display:flex;align-items:center;justify-content:space-between;margin-bottom:auto}
.home10 .h10-quick-links .h10-link-icon{width:27px;height:27px;color:var(--ql-accent);flex:none}
.home10 .h10-quick-links .h10-link-arrow{font-size:22px;color:var(--h10-muted);line-height:1}
.home10 .h10-quick-links .h10-link-card>span{color:var(--ql-accent)!important}
.home10 .h10-quick-links .h10-link-card strong{font-size:clamp(19px,2vw,24px);line-height:1.15}
.home10 .h10-quick-links .h10-link-card small{font-size:12px;line-height:1.5}
.home10 .h10-quick-links .h10-link-gold{--ql-accent:#bd963c}
.home10 .h10-quick-links .h10-link-red{--ql-accent:#d45168}
.home10 .h10-quick-links .h10-link-blue{--ql-accent:#508bc3}
.home10 .h10-quick-links .h10-link-green{--ql-accent:#319a69}
.home10 .h10-quick-links .h10-link-purple{--ql-accent:#9674c1}
.home10 .h10-quick-links .h10-link-featured{grid-column:1/-1;min-height:155px}
.home10 .h10-quick-links .h10-link-card:focus-visible{outline:3px solid var(--ql-accent);outline-offset:4px}
@media(max-width:720px){.home10 .h10-quick-links .h10-links-grid{grid-template-columns:1fr;gap:12px}.home10 .h10-quick-links .h10-link-featured{grid-column:auto}.home10 .h10-quick-links .h10-link-card{min-height:150px;padding:20px}}
@media(prefers-reduced-motion:reduce){.home10 .h10-quick-links .h10-link-card{transition:none!important;transform:none!important}}
