:root {
  --bg:#050608;
  --text:#fff;
  --muted:rgba(255,255,255,.74);
  --line:rgba(255,255,255,.15);
  --gold:#b8860b;
  --gold2:#d39a18;
  --paper:#f6f7fb;
  --dark:#07090d
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text)
}

a {
  color:inherit;
  text-decoration:none
}

.site-header {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:20;
  display:grid;
  grid-template-columns:220px 1fr auto;
  align-items:center;
  gap:24px;
  padding:24px clamp(20px,4vw,58px);
  background:linear-gradient(180deg,rgba(0,0,0,.70),rgba(0,0,0,0));
  transition:.25s
}

.site-header.scrolled {
  padding-top:12px;
  padding-bottom:12px;
  background:rgba(5,6,8,.74);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.08)
}

.site-header.solid {
  position:sticky;
  background:#090d14;
  border-bottom:1px solid var(--line)
}

.brand-logo img {
  width:94px;
  height:auto;
  display:block;
  transition:.25s
}

.site-header.scrolled .brand-logo img {
  width:72px
}

.nav {
  display:flex;
  justify-content:center;
  gap:34px;
  align-items:center;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  color:rgba(255,255,255,.82)
}

.nav a {
  position:relative;
  padding:8px 0
}

.nav a:hover,.nav a.active {
  color:var(--gold2)
}

.nav a.active:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-10px;
  height:2px;
  background:var(--gold2)
}

.header-actions {
  display:flex;
  justify-content:flex-end;
  gap:14px;
  align-items:center
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  padding:15px 25px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.035em;
  border:1px solid transparent;
  transition:.2s transform,.2s opacity,.2s background;
  white-space:nowrap
}

.btn:hover {
  transform:translateY(-2px)
}

.btn.primary {
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#FFE896 0%,#FFC93C 30%,#F5A623 60%,#C87E10 100%);
  color:#080808;
  border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 42px rgba(184,134,11,.34),inset 0 1px 0 rgba(255,255,255,.38);
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease
}

.btn.primary:before {
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.55) 42%,rgba(255,255,255,.18) 50%,transparent 62%);
  transform:translateX(-135%);
  transition:transform .55s ease;
  pointer-events:none
}

.btn.primary:hover {
  transform:translateY(-3px);
  box-shadow:0 0 24px rgba(255,210,70,.45),0 20px 50px rgba(184,134,11,.45);
  filter:saturate(1.15)
}

.btn.primary:hover:before {
  transform:translateX(135%)
}

.header-actions .btn.primary {
  animation:goldPulse 2.8s infinite ease-in-out
}

@keyframes goldPulse {
  0%,100% {
    box-shadow:0 0 8px rgba(255,210,70,.18),0 12px 35px rgba(184,134,11,.25)
  }
  50% {
    box-shadow:0 0 18px rgba(255,210,70,.48),0 0 38px rgba(255,184,28,.22),0 12px 35px rgba(184,134,11,.32)
  }

}
.btn.ghost {
  border-color:rgba(255,255,255,.24);
  background:rgba(0,0,0,.20);
  backdrop-filter:blur(10px)
}

.btn.small {
  padding:12px 20px;
  font-size:12px;
  border-radius:6px
}

.hero {
  position:relative;
  min-height:100svh;
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:118px clamp(20px,4vw,58px) 165px;
  text-align:center
}

.hero-bg {
  position:absolute;
  inset:0;
  background:url('/assets/stadium-hero.jpg') center/cover no-repeat;
  filter:none;
  transform:none
}

.hero-overlay {
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 34%,rgba(0,0,0,.08),rgba(0,0,0,.35) 50%,rgba(0,0,0,.78) 100%),linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.12) 42%,#050608 100%),linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.12) 32%,rgba(0,0,0,.12) 68%,rgba(0,0,0,.42))
}

.hero-content {
  position:relative;
  z-index:2;
  max-width:900px;
  margin:0 auto
}

.eyebrow {
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  font-weight:900;
  color:var(--gold2);
  margin:0 0 20px
}

.hero h1 {
  font-size:clamp(58px,7.7vw,118px);
  line-height:.95;
  margin:0 0 22px;
  letter-spacing:-.04em;
  text-transform:none;
  font-weight:900;
  text-wrap:balance;
  text-shadow:0 12px 45px rgba(0,0,0,.65)
}

.gold-title {
  background:linear-gradient(180deg,#FFE896 0%,#FFC93C 30%,#F5A623 60%,#C87E10 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:#ffd447;
  text-shadow:0 0 10px rgba(255,212,71,.35),0 0 26px rgba(255,184,28,.24)
}

.subtitle {
  font-size:clamp(17px,1.55vw,23px);
  line-height:1.42;
  color:#d2d6dc;
  max-width:760px;
  margin:0 auto 28px;
  font-weight:600;
  text-shadow:0 8px 26px rgba(0,0,0,.75)
}

.hero-actions {
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap
}

.countdown-wrap {
  margin-top:18px
}

.countdown-label {
  margin:0 0 12px;
  text-align:center;
  color:var(--gold2);
  font-size:16px;
  letter-spacing:.055em;
  font-weight:900;
  text-transform:uppercase
}

.countdown {
  display:grid;
  grid-template-columns:repeat(4,96px);
  gap:8px;
  justify-content:center
}

.countdown div {
  border:1px solid rgba(255,255,255,.20);
  background:rgba(12,12,12,.52);
  border-radius:8px;
  padding:12px 8px;
  text-align:center;
  backdrop-filter:blur(8px);
  box-shadow:0 16px 45px rgba(0,0,0,.28)
}

.countdown strong {
  display:block;
  font-size:34px;
  line-height:1
}

.countdown span {
  font-size:10px;
  text-transform:uppercase;
  color:#fff;
  font-weight:900
}

.microcopy {
  margin:10px 0 0;
  text-align:center;
  font-size:13px;
  line-height:1.45;
  color:#fff;
  font-weight:700
}

.microcopy strong {
  color:var(--gold2)
}

.stats-strip {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid rgba(255,255,255,.15);
  background:rgba(6,6,6,.58);
  backdrop-filter:blur(12px);
  border-radius:10px;
  overflow:hidden
}

.hero-stats {
  position:absolute;
  left:clamp(20px,6vw,110px);
  right:clamp(20px,6vw,110px);
  bottom:88px;
  z-index:3
}

.stats-strip div {
  padding:22px 18px;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.12)
}

.stats-strip div:last-child {
  border-right:0
}

.stats-strip strong {
  display:block;
  font-size:30px;
  color:var(--gold2);
  font-weight:900
}

.stats-strip span {
  display:block;
  color:rgba(255,255,255,.78);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase
}

.section {
  padding:74px clamp(18px,5vw,80px);
  background:var(--paper);
  color:#111
}

.section-head {
  max-width:860px;
  margin:0 auto 32px;
  text-align:center
}

.section h2 {
  font-size:clamp(34px,5vw,62px);
  line-height:1;
  margin:0 0 14px;
  letter-spacing:-.055em
}

.section p {
  color:#465064;
  line-height:1.55
}

.eyebrow.dark {
  color:#8b5a00
}

#ranking,#clubs {
  scroll-margin-top:100px
}

.ranking-card {
  max-width:980px;
  margin:auto;
  background:#fff;
  border-radius:28px;
  box-shadow:0 20px 80px rgba(0,0,0,.11);
  overflow:hidden
}

.ranking-list {
  margin:0;
  padding:0;
  list-style:none
}

.ranking-list li {
  display:grid;
  grid-template-columns:46px 1fr 88px 88px 82px;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  border-bottom:1px solid #edf0f5;
  font-weight:900
}

.ranking-list li:last-child {
  border-bottom:0
}

.rank {
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#111;
  color:#fff;
  font-size:14px
}

.club-line {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0
}

.club {
  font-size:15px;
  line-height:1.1
}

.ranking-stats {
  text-align:right
}

.ranking-stats strong {
  display:block;
  font-size:16px;
  color:#111;
  line-height:1
}

.ranking-stats small {
  display:block;
  font-size:8px;
  color:#778094;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-top:2px
}

.mini-icon {
  width:32px;
  height:32px;
  object-fit:contain;
  margin-right:8px
}

.clubs-section {
  min-height:100svh;
  padding-top:110px
}

.clubs-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px 14px;
  max-width:1160px;
  width:100%;
  margin:0 auto
}

.club-tile {
  display:flex;
  align-items:center;
  gap:11px;
  min-height:66px;
  background:#111824;
  color:white;
  border-radius:15px;
  padding:8px 12px;
  text-align:left;
  border:1px solid rgba(255,255,255,.08);
  transition:.2s
}

.club-tile:hover {
  background:var(--gold);
  color:#111;
  transform:translateY(-2px)
}

.club-tile:hover small {
  color:rgba(0,0,0,.62)
}

.club-tile .club-icon {
  width:50px;
  height:50px;
  object-fit:contain;
  flex:0 0 auto
}

.large-icon {
  border-radius:16px;
  padding:8px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(8px)
}

.club-name {
  display:block;
  font-weight:900;
  line-height:1.03;
  font-size:14px;
  flex:1
}

.club-tile small {
  display:block;
  color:rgba(255,255,255,.55);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  margin-left:auto
}

.about-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
  align-items:start;
  padding-bottom:44px
}

.about-card,.steps div,.club-hero-card,.success-card {
  background:white;
  border-radius:30px;
  padding:36px;
  box-shadow:0 20px 80px rgba(0,0,0,.1)
}

.steps {
  display:grid;
  gap:16px
}

.steps strong {
  display:inline-grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#111;
  color:var(--gold);
  margin-bottom:10px
}

.steps h3 {
  margin:0;
  font-size:22px
}

.footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  padding:30px clamp(18px,4vw,56px);
  color:var(--muted);
  border-top:1px solid var(--line);
  background:#090d14
}

.footer strong {
  color:white;
  font-weight:900
}

.footer span {
  text-align:right
}

.club-page {
  height:100svh;
  min-height:100svh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:radial-gradient(circle at center,rgba(0,0,0,.02),rgba(0,0,0,.46) 62%,#07090d 100%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(7,9,13,.72) 100%),url('/assets/stadium-hero.jpg') center/cover no-repeat
}

.club-header {
  position:relative;
  flex:0 0 86px;
  height:86px;
  min-height:86px;
  padding:10px clamp(18px,4vw,56px);
  background:rgba(9,13,20,.88);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px)
}

.club-header .brand-logo img {
  width:86px
}

.club-main {
  flex:1 1 auto;
  min-height:0;
  display:grid;
  place-items:center;
  padding:6px 20px 8px
}

.club-choice-layout {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:44px;
  width:100%;
  max-width:980px;
  margin:0 auto;
  transform:translateY(-42px)
}

.club-hero-card {
  width:100%;
  max-width:880px;
  min-height:330px;
  text-align:center;
  color:#111;
  padding:22px 48px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:rgba(255,255,255,.42);
  backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 22px 70px rgba(0,0,0,.24)
}

.club-logo {
  width:70px;
  margin:0 auto 6px
}

.club-logo img {
  width:100%;
  display:block
}

.club-hero-card .eyebrow {
  font-size:11px;
  letter-spacing:3px;
  margin-bottom:10px;
  color:#8b5a00
}

.club-hero-card h1 {
  font-size:clamp(56px,5.4vw,78px);
  font-weight:900;
  line-height:.92;
  letter-spacing:-.06em;
  margin:0 0 8px
}

.club-note {
  color:#697386;
  font-weight:900;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.08em;
  margin:0 0 12px
}

.club-hero-card .subtitle {
  font-size:18px;
  line-height:1.25;
  margin:0 auto 18px;
  max-width:560px;
  color:#465064;
  text-shadow:none
}

.club-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:0 auto;
  max-width:760px;
  width:100%
}

.club-stats div {
  background:rgba(0,0,0,.22);
  border:1px solid rgba(184,134,11,.45);
  border-radius:15px;
  padding:13px 10px;
  backdrop-filter:blur(8px);
  box-shadow:0 0 16px rgba(184,134,11,.18),0 10px 28px rgba(0,0,0,.18)
}

.club-stats strong {
  display:block;
  font-size:34px;
  font-weight:900;
  line-height:1;
  color:var(--gold2)
}

.club-stats span {
  display:block;
  margin-top:5px;
  font-size:10px;
  color:#fff4a3;
  font-weight:900;
  text-transform:uppercase
}

.choice-options-side {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  width:100%;
  max-width:720px
}

.choice-option {
  min-height:118px;
  display:grid;
  align-content:center;
  background:rgba(255,255,255,.74);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 8px 25px rgba(0,0,0,.16);
  color:#111;
  border-radius:24px;
  padding:24px;
  transition:.25s
}

.choice-option:hover {
  transform:translateY(-4px) scale(1.02);
  background:rgba(255,255,255,.88)
}

.choice-option.premium {
  background:linear-gradient(135deg,#b8860b 0%,#d29a18 48%,#9a6b05 100%);
  border:2px solid #c99214;
  box-shadow:0 0 18px rgba(184,134,11,.52),0 15px 35px rgba(0,0,0,.25)
}

.choice-label {
  display:block;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:10px
}

.choice-option strong {
  display:block;
  font-size:24px;
  line-height:1.08;
  margin-bottom:8px
}

.choice-option small {
  display:block;
  font-size:13px;
  color:#465064;
  line-height:1.35
}

.club-footer {
  flex:0 0 58px;
  height:58px;
  min-height:58px;
  padding:16px clamp(18px,4vw,56px);
  border-top:1px solid var(--line);
  background:#090d14
}

@media(max-width:1120px) {
  .site-header {
    grid-template-columns:150px 1fr
  }
  .header-actions {
    display:none
  }
  .hero {
    padding-top:120px
  }
  .hero h1 {
    font-size:clamp(54px,9vw,98px)
  }
  .stats-strip {
    grid-template-columns:repeat(4,1fr)
  }

}
@media(max-width:900px) {
  .nav {
    gap:18px;
    font-size:12px
  }
  .clubs-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .about-section {
    grid-template-columns:1fr
  }
  .club-page {
    height:auto;
    overflow:auto
  }
  .club-header {
    height:auto;
    min-height:0
  }
  .club-choice-layout {
    gap:22px;
    transform:none
  }
  .choice-options-side {
    grid-template-columns:1fr;
    max-width:620px
  }
  .club-main {
    padding:40px 20px
  }

}
@media(max-width:800px) {
  .site-header {
    display:flex;
    justify-content:space-between
  }
  .nav {
    display:none
  }
  .hero {
    min-height:auto;
    padding-top:120px;
    padding-bottom:60px
  }
  .countdown {
    grid-template-columns:repeat(2,minmax(120px,1fr))
  }
  .hero-stats {
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:34px;
    width:100%
  }
  .stats-strip {
    grid-template-columns:repeat(2,1fr)
  }
  .footer {
    flex-direction:column;
    text-align:center
  }
  .footer span {
    text-align:center
  }

}
.ranking-mobile-row { display:none }

@media(max-width:560px) {
  .desktop-break {
    display:none
  }
  .clubs-grid {
    grid-template-columns:1fr
  }
  .ranking-list li {
    grid-template-columns:32px 1fr 52px 52px 52px;
    padding:14px 10px;
    gap:6px
  }
  .ranking-stats {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center
  }
  .ranking-stats strong {
    font-size:12px;
    color:#111
  }
  .ranking-stats small {
    font-size:6px;
    letter-spacing:.04em
  }
  .mini-icon {
    display:block;
    width:22px;
    height:22px
  }
  .club {
    font-size:12px
  }
  .ranking-mobile-row {
    display:flex;
    gap:14px;
    padding-top:2px
  }
  .hero h1 {
    font-size:46px
  }
  .btn {
    width:100%
  }
  .countdown {
    grid-template-columns:repeat(2,1fr)
  }
  .stats-strip {
    grid-template-columns:1fr
  }
  .stats-strip div {
    border-right:0;
    border-bottom:1px solid var(--line)
  }

}

[data-club-badge] img {
  border-radius:12px;
  mix-blend-mode:multiply;
  background:#f0f0f0
}

/* ─── CLUB HUB V1 ─────────────────────────────────────────────────────────── */
.hub-page {
  height: auto;
  min-height: 100svh;
  overflow: auto;
  background:
    radial-gradient(circle at 50% 0%, rgba(244,200,93,.15), transparent 28%),
    linear-gradient(180deg, rgba(5,6,8,.68), rgba(5,6,8,.94)),
    url('/assets/stadium-hero.jpg') center/cover fixed no-repeat;
}

.hub-main {
  min-height: calc(100svh - 86px);
  padding: 34px clamp(16px, 4vw, 56px) 28px;
}

.hub-shell {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.hub-hero {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) 310px;
  gap: 22px;
  align-items: center;
  padding: 24px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.13);
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.045));
  backdrop-filter: blur(18px);
  box-shadow: 0 30px 90px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.08);
}

.hub-badge {
  width: 104px;
  height: 104px;
  display: grid;
  place-items: center;
  border-radius: 28px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(244,200,93,.30);
  box-shadow: 0 20px 46px rgba(0,0,0,.28);
}

.hub-badge img { width: 78px; display:block; }

.hub-kicker {
  margin: 0 0 8px;
  color: var(--gold2);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.hub-title-block h1 {
  margin: 0;
  font-size: clamp(42px, 5.2vw, 72px);
  line-height: .88;
  letter-spacing: -.06em;
  font-weight: 950;
}

.hub-meta {
  margin: 12px 0 0;
  color: rgba(255,255,255,.62);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hub-fli-card {
  padding: 22px;
  min-height: 150px;
  border-radius: 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(180deg,#FFE896 0%,#FFC93C 30%,#F5A623 60%,#C87E10 100%);
  color: #080808;
  box-shadow: 0 18px 48px rgba(184,134,11,.34), inset 0 1px 0 rgba(255,255,255,.35);
}

.hub-fli-card span {
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .78;
}

.hub-fli-card strong {
  display: block;
  margin: 8px 0 4px;
  font-size: clamp(42px, 5vw, 58px);
  line-height: 1;
  letter-spacing: -.05em;
  font-weight: 950;
}

.hub-fli-card small {
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.hub-actions {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.hub-action {
  min-height: 92px;
  padding: 22px 24px;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.hub-action:hover { transform: translateY(-3px); border-color: rgba(244,200,93,.38); }
.hub-action span { color: var(--gold2); font-size: 12px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.hub-action strong { margin-top: 6px; font-size: 24px; line-height: 1.05; font-weight: 950; }
.hub-action em { font-style: normal; }
.hub-action.premium {
  background: linear-gradient(135deg, rgba(244,200,93,.22), rgba(184,134,11,.12)), rgba(255,255,255,.08);
  border-color: rgba(244,200,93,.26);
}

.hub-race-section {
  margin-top: 22px;
  padding: 24px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(8,10,14,.70);
  backdrop-filter: blur(18px);
  box-shadow: 0 28px 80px rgba(0,0,0,.38);
}

.hub-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.hub-section-head p { margin:0; color:var(--gold2); font-weight:950; text-transform:uppercase; letter-spacing:.16em; font-size:12px; }
.hub-section-head h2 { margin:0; font-size: clamp(24px, 3vw, 36px); line-height:1; letter-spacing:-.04em; }

.hub-race-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
.race-card {
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.11);
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
}
.race-card.featured { border-color: rgba(244,200,93,.28); box-shadow: inset 0 1px 0 rgba(244,200,93,.12); }
.race-card-top { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:14px; }
.race-card-top span { color:var(--gold2); font-size:12px; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
.race-card-top strong { color:rgba(255,255,255,.58); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.race-row {
  display:grid;
  grid-template-columns: 42px 1fr auto;
  gap:10px;
  align-items:center;
  padding:13px 12px;
  border-radius:15px;
  color:rgba(255,255,255,.78);
}
.race-row + .race-row { margin-top:8px; }
.race-row.active {
  background: linear-gradient(90deg, rgba(244,200,93,.20), rgba(244,200,93,.07));
  color:#fff;
  border:1px solid rgba(244,200,93,.22);
}
.race-row .rank { color:var(--gold2); font-weight:950; }
.race-row strong { font-size:15px; font-weight:950; }
.race-row em { font-style:normal; font-size:13px; font-weight:950; }

.hub-secondary {
  margin-top: 18px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.hub-secondary-btn {
  min-height: 64px;
  display:grid;
  place-items:center;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.86);
  font-size:13px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

@media(max-width: 920px) {
  .hub-main { padding-top: 22px; }
  .hub-hero { grid-template-columns: 82px 1fr; }
  .hub-badge { width:82px; height:82px; border-radius:22px; }
  .hub-badge img { width:62px; }
  .hub-fli-card { grid-column: 1 / -1; min-height: 118px; }
  .hub-race-grid { grid-template-columns:1fr; }
}

@media(max-width: 620px) {
  .hub-main { padding: 16px 14px 22px; }
  .hub-hero { grid-template-columns:1fr; text-align:center; padding:18px; border-radius:24px; }
  .hub-badge { margin:0 auto; }
  .hub-title-block h1 { font-size:42px; }
  .hub-actions, .hub-secondary { grid-template-columns:1fr; }
  .hub-action { min-height:82px; }
  .hub-action strong { font-size:20px; }
  .hub-section-head { display:block; text-align:left; }
  .hub-section-head h2 { margin-top:8px; }
  .hub-race-section { padding:16px; border-radius:24px; }
  .race-row { grid-template-columns: 38px 1fr auto; padding:12px 10px; }
}

/* ─── CLUB HUB V2 LAYOUT OVERRIDE ────────────────────────────────────────── */
.hub-layout-v2 .hub-main{
  min-height:calc(100svh - 86px);
  padding:26px clamp(22px,3vw,54px) 18px;
}
.hub-layout-v2 .hub-board{
  width:min(1390px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px,330px) minmax(430px,1fr) minmax(280px,330px);
  grid-template-rows:auto auto;
  gap:18px 26px;
  align-items:start;
}
.hub-layout-v2 .hub-stack{
  display:grid;
  gap:16px;
}
.hub-layout-v2 .hub-center{min-width:0;}
.hub-layout-v2 .hub-panel,
.hub-layout-v2 .hub-hero-v2,
.hub-layout-v2 .hub-info-card,
.hub-layout-v2 .hub-action{
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(180deg,rgba(255,255,255,.082),rgba(255,255,255,.032));
  backdrop-filter:blur(16px);
  box-shadow:0 24px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.06);
}
.hub-layout-v2 .race-card{
  padding:18px 16px 15px;
  border-radius:19px;
}
.hub-layout-v2 .race-card-top{margin-bottom:14px;}
.hub-layout-v2 .race-card-top span{font-size:14px;letter-spacing:.08em;}
.hub-layout-v2 .race-card-top strong{font-size:13px;letter-spacing:.06em;}
.hub-layout-v2 .race-row{
  grid-template-columns:38px 36px 1fr auto;
  gap:10px;
  min-height:57px;
  padding:10px 10px;
  border-radius:12px;
}
.hub-layout-v2 .race-row img{
  width:30px;
  height:30px;
  object-fit:contain;
  border-radius:6px;
}
.hub-layout-v2 .race-row .rank{font-size:17px;}
.hub-layout-v2 .race-row strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hub-layout-v2 .race-row em{font-size:14px;}
.hub-layout-v2 .ranking-link{
  margin-top:14px;
  padding:0 8px;
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--gold2);
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hub-layout-v2 .ranking-link span{font-size:24px;line-height:1;}

.hub-layout-v2 .hub-hero-v2{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:510px;
  padding:34px 34px 40px;
  border-radius:22px;
  border-color:rgba(244,200,93,.42);
  background:
    linear-gradient(180deg,rgba(104,10,10,.34),rgba(5,6,8,.80)),
    url('/assets/stadium-hero.jpg') center/cover no-repeat;
}
.hub-layout-v2 .hub-badge{
  width:104px;
  height:104px;
  border-radius:24px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.hub-layout-v2 .hub-badge img{
  width:102px;
  height:102px;
  object-fit:contain;
  mix-blend-mode:normal;
  background:transparent;
  border-radius:0;
}
.hub-layout-v2 .hub-title-block h1{
  margin-top:12px;
  font-size:clamp(54px,5.4vw,86px);
  letter-spacing:-.055em;
  line-height:.9;
}
.hub-layout-v2 .hub-meta{
  margin-top:15px;
  font-size:18px;
  color:rgba(255,255,255,.88);
}
.hub-layout-v2 .hub-fli-main{
  width:min(520px,100%);
  margin-top:28px;
  padding-top:26px;
  border-top:1px solid rgba(244,200,93,.24);
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hub-layout-v2 .hub-fli-main span{
  color:#fff;
  font-size:17px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.hub-layout-v2 .hub-fli-main strong{
  margin-top:8px;
  display:block;
  font-size:clamp(68px,7vw,104px);
  line-height:.92;
  font-weight:950;
  color:var(--gold2);
  letter-spacing:-.06em;
  text-shadow:0 8px 38px rgba(244,200,93,.18);
}
.hub-layout-v2 .hub-fli-main small{
  margin-top:12px;
  color:#fff;
  font-size:20px;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.hub-layout-v2 .hub-fli-main small::first-letter{color:var(--gold2);}

.hub-layout-v2 .community-card{padding:18px 16px 15px;border-radius:19px;}
.hub-layout-v2 .community-stat{
  min-height:86px;
  padding:16px 16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.07);
}
.hub-layout-v2 .community-stat + .community-stat{margin-top:10px;}
.hub-layout-v2 .community-stat span{
  color:rgba(255,255,255,.64);
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hub-layout-v2 .community-stat strong{
  margin-top:7px;
  font-size:33px;
  color:#fff;
  letter-spacing:-.04em;
}

.hub-layout-v2 .hub-bottom-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(240px,330px) minmax(430px,1fr) minmax(240px,330px);
  gap:18px 26px;
  align-items:center;
}
.hub-layout-v2 .hub-action-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.hub-layout-v2 .hub-action,
.hub-layout-v2 .hub-info-card{
  min-height:78px;
  border-radius:16px;
  padding:14px 18px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  color:#fff;
  text-transform:none;
}
.hub-layout-v2 .hub-action{grid-template-columns:auto 1fr;}
.hub-layout-v2 .hub-action.premium{
  background:linear-gradient(135deg,rgba(244,200,93,.13),rgba(255,255,255,.035));
  border-color:rgba(244,200,93,.40);
}
.hub-layout-v2 .hub-info-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--gold2);
  border:1px solid rgba(244,200,93,.40);
  font-size:24px;
  line-height:1;
}
.hub-layout-v2 .hub-info-card strong,
.hub-layout-v2 .hub-action strong{
  display:block;
  margin:0;
  color:var(--gold2);
  font-size:18px;
  font-weight:950;
  letter-spacing:.03em;
  text-transform:uppercase;
  line-height:1.1;
}
.hub-layout-v2 .hub-info-card small,
.hub-layout-v2 .hub-action small{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
}
.hub-layout-v2 .hub-info-card em{
  color:var(--gold2);
  font-style:normal;
  font-size:24px;
}

@media(max-width:1100px){
  .hub-layout-v2 .hub-board,
  .hub-layout-v2 .hub-bottom-row{grid-template-columns:1fr;}
  .hub-layout-v2 .hub-center{order:-1;}
  .hub-layout-v2 .hub-hero-v2{min-height:430px;}
  .hub-layout-v2 .hub-action-pair{grid-template-columns:1fr 1fr;}
}
@media(max-width:620px){
  .hub-layout-v2 .hub-main{padding:16px 14px 22px;}
  .hub-layout-v2 .hub-board{gap:14px;}
  .hub-layout-v2 .hub-hero-v2{min-height:390px;padding:24px 18px;border-radius:22px;}
  .hub-layout-v2 .hub-title-block h1{font-size:44px;}
  .hub-layout-v2 .hub-meta{font-size:13px;}
  .hub-layout-v2 .hub-fli-main strong{font-size:64px;}
  .hub-layout-v2 .hub-fli-main small{font-size:15px;}
  .hub-layout-v2 .hub-action-pair{grid-template-columns:1fr;}
  .hub-layout-v2 .race-row{grid-template-columns:34px 32px 1fr auto;}
}

/* Hub V3 layout: header links + 3-column balanced dashboard */
.hub-layout-v2 .club-header .nav{
  gap: clamp(18px,2.2vw,34px);
  flex-wrap: wrap;
}
.hub-layout-v2 .club-header .nav a{
  white-space: nowrap;
}
.hub-layout-v2 .hub-main{
  min-height:calc(100svh - 86px);
  padding:22px clamp(22px,3vw,54px) 18px;
}
.hub-layout-v2 .hub-board{
  width:min(1390px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px,330px) minmax(480px,1fr) minmax(280px,330px);
  gap:18px 26px;
  align-items:stretch;
}
.hub-layout-v2 .hub-center{
  min-width:0;
  display:grid;
  grid-template-rows:1fr auto;
  gap:18px;
}
.hub-layout-v2 .hub-stack{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:16px;
  height:100%;
  align-content:stretch;
}
.hub-layout-v2 .hub-stack > .hub-panel{
  min-height:0;
  display:flex;
  flex-direction:column;
}
.hub-layout-v2 .hub-stack .ranking-link{
  margin-top:auto;
}
.hub-layout-v2 .hub-hero-v2{
  min-height:570px;
  padding:36px 34px 44px;
}
.hub-layout-v2 .hub-action-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.hub-layout-v2 .hub-action{
  min-height:112px;
  border-radius:18px;
  padding:22px 26px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
}
.hub-layout-v2 .hub-action .hub-info-icon{
  width:58px;
  height:58px;
  font-size:30px;
}
.hub-layout-v2 .hub-action strong{
  font-size:22px;
}
.hub-layout-v2 .hub-action small{
  font-size:15px;
}
.hub-layout-v2 .community-card .community-stat{
  flex:1;
}

@media(max-width:1100px){
  .hub-layout-v2 .hub-board{grid-template-columns:1fr;}
  .hub-layout-v2 .hub-center{order:-1;}
  .hub-layout-v2 .hub-stack{grid-template-rows:auto;}
  .hub-layout-v2 .hub-hero-v2{min-height:430px;}
}
@media(max-width:620px){
  .hub-layout-v2 .club-header .nav{gap:14px;font-size:11px;}
  .hub-layout-v2 .hub-action-pair{grid-template-columns:1fr;}
  .hub-layout-v2 .hub-action{min-height:90px;}
}


/* Hub V4 refinements */
.hub-layout-v2 .club-header{
  grid-template-columns:auto 1fr;
  padding-left:clamp(18px,4vw,56px);
  padding-right:clamp(18px,4vw,56px);
}
.hub-layout-v2 .club-header .nav{
  justify-content:flex-end;
  gap:clamp(24px,2.8vw,44px);
  width:100%;
}
.hub-layout-v2 .community-card{
  display:flex;
  flex-direction:column;
}
.hub-layout-v2 .community-card .community-stat{
  flex:1 1 0;
  min-height:0;
  padding:12px 16px;
}
.hub-layout-v2 .community-card .community-stat strong{
  font-size:clamp(25px,2.2vw,33px);
}
.hub-layout-v2 .community-card .youth-pledge strong{
  color:var(--gold2);
  font-size:clamp(32px,2.7vw,42px);
}
.hub-layout-v2 .community-card .youth-pledge small{
  display:block;
  margin-top:2px;
  color:rgba(255,255,255,.70);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
@media(max-width:900px){
  .hub-layout-v2 .club-header .nav{justify-content:center;}
}


/* Hub V5 spacing refinements */
.hub-layout-v2 .race-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.hub-layout-v2 .race-card-top{
  margin-bottom:0;
  min-height:34px;
  display:flex;
  align-items:center;
}
.hub-layout-v2 .race-row{
  min-height:0;
  height:62px;
  padding:9px 10px;
  flex:0 0 auto;
}
.hub-layout-v2 .ranking-link{
  margin-top:0;
  min-height:42px;
  padding:0 8px;
}
.hub-layout-v2 .community-card{
  justify-content:space-between;
}
.hub-layout-v2 .community-card .race-card-top{
  min-height:34px;
  margin-bottom:0;
}
.hub-layout-v2 .community-card .community-stat{
  flex:0 0 auto;
  min-height:72px;
  padding:10px 16px;
  justify-content:center;
}
.hub-layout-v2 .community-stat + .community-stat{
  margin-top:0;
}
.hub-layout-v2 .community-card .community-stat span{
  font-size:11px;
  line-height:1.15;
}
.hub-layout-v2 .community-card .community-stat strong{
  margin-top:4px;
  font-size:clamp(24px,2vw,30px);
  line-height:1;
}
.hub-layout-v2 .community-card .youth-pledge strong{
  font-size:clamp(28px,2.35vw,36px);
}
.hub-layout-v2 .community-card .youth-pledge small{
  font-size:9.5px;
  line-height:1.15;
  letter-spacing:.05em;
}
.hub-layout-v2 .community-card .ranking-link{
  min-height:36px;
}

/* Hub V6 precise vertical rhythm */
.hub-layout-v2 .race-card,
.hub-layout-v2 .community-card{
  padding:14px 16px;
  display:grid;
  grid-template-rows:auto repeat(3, minmax(54px, 1fr)) auto;
  gap:14px;
  align-content:stretch;
}
.hub-layout-v2 .race-card-top{
  min-height:34px;
  margin:0;
  display:flex;
  align-items:center;
}
.hub-layout-v2 .race-row{
  height:auto;
  min-height:54px;
  padding:8px 10px;
  display:grid;
  align-items:center;
}
.hub-layout-v2 .ranking-link{
  margin:0;
  min-height:34px;
  padding:0 8px;
  display:flex;
  align-items:center;
}
.hub-layout-v2 .community-card .community-stat{
  height:auto;
  min-height:54px;
  padding:8px 16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hub-layout-v2 .community-stat + .community-stat{margin-top:0;}
.hub-layout-v2 .community-card .community-stat span{
  font-size:10.5px;
  line-height:1.1;
}
.hub-layout-v2 .community-card .community-stat strong{
  margin-top:4px;
  font-size:clamp(23px,1.9vw,29px);
  line-height:1;
}
.hub-layout-v2 .community-card .youth-pledge strong{
  font-size:clamp(27px,2.25vw,34px);
}
.hub-layout-v2 .community-card .youth-pledge small{
  font-size:8.8px;
  line-height:1.1;
  letter-spacing:.045em;
}

/* Hub V7: wider centered main column (+20%) and side cards pushed outward */
.hub-layout-v2 .hub-main{
  padding:22px clamp(12px,2vw,30px) 18px;
}
.hub-layout-v2 .hub-board{
  width:min(1500px,100%);
  grid-template-columns:minmax(250px,320px) minmax(600px,1.45fr) minmax(250px,320px);
  gap:18px 22px;
  align-items:stretch;
}
.hub-layout-v2 .hub-center{
  min-width:0;
  width:100%;
}
.hub-layout-v2 .hub-hero-v2,
.hub-layout-v2 .hub-action-pair{
  width:100%;
}
.hub-layout-v2 .hub-hero-v2{
  min-height:570px;
}
.hub-layout-v2 .hub-action-pair{
  grid-template-columns:1fr 1fr;
  gap:18px;
}
@media(max-width:1100px){
  .hub-layout-v2 .hub-main{padding:16px 14px 22px;}
  .hub-layout-v2 .hub-board{grid-template-columns:1fr; width:100%;}
}

/* Hub V8: center column +10% wider than V7, side cards unchanged */
.hub-layout-v2 .hub-board{
  width:min(1600px,100%);
  grid-template-columns:minmax(250px,320px) minmax(660px,1.62fr) minmax(250px,320px);
  gap:18px 22px;
}
.hub-layout-v2 .hub-hero-v2,
.hub-layout-v2 .hub-action-pair{
  width:100%;
}
@media(max-width:1100px){
  .hub-layout-v2 .hub-board{grid-template-columns:1fr; width:100%;}
}

/* Hub V9: compact centered action buttons + community rows match race rows */
.hub-layout-v2 .hub-action-pair{
  width:min(660px, 62%);
  margin:0 auto;
  grid-template-columns:1fr 1fr;
  gap:22px;
  justify-content:center;
}
.hub-layout-v2 .hub-action{
  min-height:96px;
  padding:18px 18px;
  border-radius:17px;
  gap:14px;
}
.hub-layout-v2 .hub-action .hub-info-icon{
  width:48px;
  height:48px;
  font-size:26px;
}
.hub-layout-v2 .hub-action strong{
  font-size:17px;
  line-height:1.08;
}
.hub-layout-v2 .hub-action small{
  font-size:12px;
}

.hub-layout-v2 .community-card{
  grid-template-rows:auto repeat(3, 54px) auto;
}
.hub-layout-v2 .community-card .community-stat{
  box-sizing:border-box;
  width:100%;
  height:54px;
  min-height:54px;
  padding:8px 10px;
  border-radius:12px;
  justify-content:center;
}
.hub-layout-v2 .community-card .community-stat span{
  font-size:9.4px;
  line-height:1.05;
  letter-spacing:.045em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hub-layout-v2 .community-card .community-stat strong{
  margin-top:3px;
  font-size:clamp(20px,1.65vw,25px);
  line-height:1;
}
.hub-layout-v2 .community-card .youth-pledge strong{
  font-size:clamp(22px,1.8vw,28px);
}
.hub-layout-v2 .community-card .youth-pledge small{
  margin-top:1px;
  font-size:7.6px;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:1100px){
  .hub-layout-v2 .hub-action-pair{width:100%;}
}
@media(max-width:620px){
  .hub-layout-v2 .hub-action-pair{grid-template-columns:1fr; gap:14px;}
  .hub-layout-v2 .hub-action{min-height:88px;}
}


/* Hub V11: final action spacing, button styles and community text fix */
.hub-layout-v2 .hub-action-pair{
  width:100%;
  margin:0;
  display:grid;
  grid-template-columns:1fr minmax(0,3.45fr) 1fr minmax(0,3.45fr) 1fr;
  gap:0;
  align-items:stretch;
}
.hub-layout-v2 .hub-action-pair .hub-action:nth-child(1){grid-column:2;}
.hub-layout-v2 .hub-action-pair .hub-action:nth-child(2){grid-column:4;}
.hub-layout-v2 .hub-action{
  min-height:98px;
  padding:18px 20px;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.hub-layout-v2 .hub-action.check{
  background:linear-gradient(180deg,#f4f4f0 0%,#d8d8d1 100%);
  border-color:rgba(255,255,255,.72);
  color:#111;
  box-shadow:0 18px 38px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.76);
}
.hub-layout-v2 .hub-action.check .hub-info-icon{
  color:#111;
  border-color:rgba(0,0,0,.22);
  background:rgba(0,0,0,.06);
}
.hub-layout-v2 .hub-action.check strong,
.hub-layout-v2 .hub-action.check small{
  color:#111;
}
.hub-layout-v2 .hub-action.check:hover{
  transform:translateY(-3px) scale(1.015);
  border-color:#fff;
  box-shadow:0 24px 48px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.92);
}
.hub-layout-v2 .hub-action.premium{
  background:linear-gradient(135deg,#f7d36b 0%,#d7a73a 52%,#b88420 100%);
  border-color:rgba(255,220,112,.92);
  color:#101010;
  box-shadow:0 20px 48px rgba(0,0,0,.30), 0 0 24px rgba(244,200,93,.18), inset 0 1px 0 rgba(255,255,255,.42);
}
.hub-layout-v2 .hub-action.premium .hub-info-icon{
  color:#111;
  border-color:rgba(0,0,0,.22);
  background:rgba(255,255,255,.22);
}
.hub-layout-v2 .hub-action.premium strong,
.hub-layout-v2 .hub-action.premium small{
  color:#111;
}
.hub-layout-v2 .hub-action.premium:hover{
  transform:translateY(-4px) scale(1.04);
  box-shadow:0 28px 58px rgba(0,0,0,.36), 0 0 38px rgba(244,200,93,.48), inset 0 1px 0 rgba(255,255,255,.55);
  border-color:rgba(255,230,130,1);
}
.hub-layout-v2 .community-card .youth-pledge span{
  font-size:8.5px;
  letter-spacing:.025em;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.05;
}
.hub-layout-v2 .community-card .youth-pledge small{
  display:block;
  max-width:100%;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  font-size:7.4px;
  line-height:1.05;
  letter-spacing:.02em;
}
@media(max-width:620px){
  .hub-layout-v2 .hub-action-pair{display:grid;grid-template-columns:1fr;gap:14px;}
  .hub-layout-v2 .hub-action-pair .hub-action:nth-child(1),
  .hub-layout-v2 .hub-action-pair .hub-action:nth-child(2){grid-column:auto;}
}

/* Full Ranking Page */
.rankings-page{min-height:100vh;}
.rankings-main{width:min(1180px,calc(100% - 44px));margin:118px auto 44px;}
.rankings-hero{padding:28px 30px;margin-bottom:18px;text-align:center;}
.rankings-hero .eyebrow{display:block;color:var(--gold2);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.16em;margin-bottom:10px;}
.rankings-hero h1{margin:0;font-size:clamp(34px,5vw,62px);line-height:.95;letter-spacing:-.04em;text-transform:uppercase;}
.rankings-hero p{margin:12px auto 0;color:rgba(255,255,255,.68);font-weight:700;}
.rankings-shell{padding:18px;border-radius:24px;}
.ranking-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
.ranking-tab{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:rgba(255,255,255,.72);border-radius:14px;padding:14px 12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:.2s ease;}
.ranking-tab:hover,.ranking-tab.active{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#121006;box-shadow:0 14px 36px rgba(244,200,93,.18);}
.ranking-panel{display:none;}
.ranking-panel.active{display:block;}
.ranking-panel-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:12px 4px 18px;}
.ranking-panel-head span{display:block;color:var(--gold2);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;}
.ranking-panel-head strong{display:block;color:#fff;font-size:30px;line-height:1.05;text-transform:uppercase;}
.ranking-panel-head small{color:rgba(255,255,255,.55);font-weight:800;text-align:right;}
.full-ranking-table{display:grid;gap:9px;}
.full-ranking-row{display:grid;grid-template-columns:58px minmax(230px,1fr) 130px 130px 110px;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055);border-radius:16px;}
.full-ranking-row:nth-child(1){border-color:rgba(244,200,93,.32);background:rgba(244,200,93,.11);}
.full-rank{color:var(--gold2);font-size:18px;font-weight:950;}
.full-club{display:flex;align-items:center;gap:12px;min-width:0;}
.full-club img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.35));}
.full-club strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.full-ranking-row > span:not(.full-club):not(.full-rank){display:grid;gap:2px;text-align:right;}
.full-ranking-row > span strong{font-size:15px;}
.full-ranking-row > span small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.48);font-weight:900;}
.full-fli strong{color:var(--gold2);}
@media (max-width: 760px){
  .rankings-main{width:min(100% - 24px,1180px);margin-top:96px;}
  .rankings-shell{padding:12px;}
  .ranking-panel-head{display:block;text-align:center;}
  .ranking-panel-head small{display:block;text-align:center;margin-top:8px;}
  .full-ranking-row{grid-template-columns:48px 1fr 72px;gap:8px;}
  .full-ranking-row span:nth-child(3),.full-ranking-row span:nth-child(4){display:none!important;}
  .full-club img{width:30px;height:30px;}
  .ranking-tabs{gap:7px;}
  .ranking-tab{font-size:11px;padding:12px 8px;}
}

/* V17: Ranking page with all three tables visible at once */
.rankings-all-page .rankings-main{
  width:min(1480px,calc(100% - 44px));
}
.rankings-grid-all{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.rankings-grid-all .ranking-panel,
.rankings-grid-all .ranking-panel.all-visible{
  display:block;
  padding:18px;
  border-radius:24px;
}
.rankings-grid-all .ranking-panel-head{
  display:block;
  text-align:left;
  padding:4px 2px 14px;
}
.rankings-grid-all .ranking-panel-head strong{
  font-size:clamp(22px,2vw,30px);
}
.rankings-grid-all .ranking-panel-head small{
  display:block;
  text-align:left;
  margin-top:6px;
}
.compact-ranking-table{
  display:grid;
  gap:8px;
}
.compact-ranking-row{
  grid-template-columns:44px minmax(110px,1fr) 62px 62px 62px;
  gap:8px;
  padding:10px 10px;
  border-radius:14px;
}
.compact-ranking-row .full-club{
  gap:8px;
}
.compact-ranking-row .full-club img{
  width:28px;
  height:28px;
}
.compact-ranking-row .full-club strong{
  font-size:13px;
}
.compact-ranking-row .full-rank{
  font-size:15px;
}
.compact-ranking-row > span strong{
  font-size:13px;
}
.compact-ranking-row > span small{
  font-size:8px;
  letter-spacing:.05em;
}
.compact-ranking-row.watched-club{
  border-color:rgba(244,200,93,.55);
  background:rgba(244,200,93,.13);
  box-shadow:0 12px 30px rgba(244,200,93,.08);
}
@media(max-width:1200px){
  .rankings-grid-all{grid-template-columns:1fr;}
  .compact-ranking-row{grid-template-columns:48px 1fr 82px;}
  .compact-ranking-row span:nth-child(3),
  .compact-ranking-row span:nth-child(4){display:none!important;}
}

/* V18: shared header alignment for internal content pages */
.content-header-page .club-header{
  display:grid;
  grid-template-columns:minmax(90px,220px) 1fr;
  align-items:center;
  padding-left:clamp(18px,4vw,56px);
  padding-right:clamp(18px,4vw,56px);
}
.content-header-page .club-header .nav{
  justify-content:flex-end;
  gap:clamp(18px,2.2vw,34px);
  flex-wrap:nowrap;
}
.content-header-page .club-header .nav a{white-space:nowrap;}

/* V18: richer About Our Community page */
.community-page{
  overflow:auto;
}
.community-page .rankings-main.community-main{
  width:min(1280px,calc(100% - 44px));
  margin:118px auto 44px;
}
.community-hero{
  text-align:center;
  padding:56px 36px;
  margin-bottom:22px;
}
.community-hero h1{
  margin:0;
  font-size:clamp(42px,6vw,78px);
  line-height:.92;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.community-hero p{
  max-width:880px;
  margin:16px auto 0;
  color:rgba(255,255,255,.72);
  font-weight:800;
  line-height:1.55;
}
.community-intro-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:18px;
  margin-bottom:18px;
}
.community-feature{
  padding:28px;
  border-radius:24px;
}
.community-feature h2,
.pledge-copy h2,
.community-final h2{
  margin:8px 0 12px;
  font-size:clamp(28px,3vw,46px);
  line-height:1;
  letter-spacing:-.04em;
}
.community-feature p,
.pledge-copy p,
.community-final p{
  margin:0;
  color:rgba(255,255,255,.72);
  line-height:1.7;
  font-weight:650;
}
.community-kicker{
  color:var(--gold2);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:950;
}
.gold-soft{
  background:linear-gradient(135deg,rgba(184,134,11,.22),rgba(255,255,255,.055));
  border-color:rgba(244,200,93,.28)!important;
}
.formula-pill{
  margin-top:18px;
  display:inline-flex;
  padding:12px 16px;
  border:1px solid rgba(244,200,93,.35);
  border-radius:999px;
  color:var(--gold2);
  font-weight:950;
  background:rgba(0,0,0,.24);
}
.community-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:18px;
}
.community-card-lite{
  padding:24px;
  border-radius:22px;
}
.card-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  border:1px solid rgba(244,200,93,.42);
  color:var(--gold2);
  font-size:24px;
  font-weight:950;
  margin-bottom:18px;
  background:rgba(244,200,93,.08);
}
.community-card-lite h3{
  margin:0 0 8px;
  font-size:22px;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.community-card-lite p{
  margin:0;
  color:rgba(255,255,255,.68);
  line-height:1.55;
  font-weight:650;
}
.pledge-section{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:28px;
  align-items:center;
  padding:30px;
  border-radius:26px;
  margin-bottom:18px;
}
.pledge-number{
  min-height:250px;
  border-radius:24px;
  border:1px solid rgba(244,200,93,.35);
  background:radial-gradient(circle at 50% 20%,rgba(244,200,93,.20),rgba(255,255,255,.055) 65%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
}
.pledge-number span,
.pledge-number small{
  text-transform:uppercase;
  letter-spacing:.11em;
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:950;
}
.pledge-number strong{
  color:var(--gold2);
  font-size:96px;
  line-height:.95;
  letter-spacing:-.06em;
}
.pledge-note{
  margin-top:14px!important;
  color:rgba(244,200,93,.85)!important;
}
.community-stats-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:18px;
}
.community-stat-box{
  padding:20px;
  border-radius:20px;
}
.community-stat-box span{
  display:block;
  color:rgba(255,255,255,.55);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:950;
}
.community-stat-box strong{
  display:block;
  color:#fff;
  font-size:30px;
  margin-top:8px;
}
.community-final{
  padding:28px;
  border-radius:24px;
  margin-bottom:28px;
}
@media(max-width:980px){
  .community-intro-grid,
  .pledge-section{grid-template-columns:1fr;}
  .community-cards,
  .community-stats-row{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .content-header-page .club-header{display:flex;justify-content:space-between;}
  .content-header-page .club-header .nav{gap:12px;font-size:10px;overflow-x:auto;justify-content:flex-start;}
  .community-page .rankings-main.community-main{width:min(100% - 24px,1280px);margin-top:96px;}
  .community-cards,.community-stats-row{grid-template-columns:1fr;}
  .community-hero,.community-feature,.pledge-section,.community-final{padding:22px;}
  .pledge-number strong{font-size:72px;}
}


/* V19: Hall of Fame page */
.fame-page{overflow:auto;}
.fame-main{width:min(1280px,calc(100% - 44px));margin:118px auto 44px;}
.fame-hero{padding:56px 36px;text-align:center;margin-bottom:20px;background:radial-gradient(circle at 50% 0%,rgba(244,200,93,.18),rgba(255,255,255,.05) 55%,rgba(0,0,0,.18));}
.fame-hero h1{margin:0 auto;max-width:980px;font-size:clamp(42px,6vw,78px);line-height:.92;letter-spacing:-.06em;text-transform:uppercase;}
.fame-hero p{max-width:820px;margin:18px auto 0;color:rgba(255,255,255,.72);font-weight:800;line-height:1.55;}
.fame-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;}
.fame-card{border-radius:24px;padding:24px;min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;}
.fame-card img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 14px 22px rgba(0,0,0,.35));}
.fame-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold2);font-weight:950;}
.fame-card h2{margin:8px 0 0;font-size:28px;line-height:1;text-transform:uppercase;letter-spacing:-.04em;}
.fame-card p{margin:0;color:rgba(255,255,255,.60);font-size:13px;font-weight:850;}
.fame-card strong{font-size:34px;color:#fff;letter-spacing:-.04em;}
.fame-gold{border-color:rgba(244,200,93,.42)!important;box-shadow:0 24px 80px rgba(244,200,93,.11), inset 0 1px 0 rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(244,200,93,.17),rgba(255,255,255,.05));}
.fame-globe{width:88px;height:88px;display:grid;place-items:center;border-radius:26px;border:1px solid rgba(244,200,93,.35);background:rgba(244,200,93,.08);font-size:44px;}
.fame-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.fame-records,.fame-path,.fame-timeline{border-radius:24px;padding:24px;}
.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;}
.section-title-row span{color:var(--gold2);font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:950;}
.section-title-row strong{font-size:26px;text-transform:uppercase;letter-spacing:-.04em;}
.fame-record-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:0 16px;margin-top:10px;background:rgba(255,255,255,.045);}
.fame-record-row span{color:rgba(255,255,255,.58);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;}
.fame-record-row strong{font-size:15px;color:#fff;}
.fame-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.fame-steps div{min-height:122px;border:1px solid rgba(244,200,93,.25);border-radius:18px;background:rgba(244,200,93,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;}
.fame-steps b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--gold2);color:#111;margin-bottom:12px;}
.fame-steps span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:950;line-height:1.25;}
.timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.timeline-grid div{border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.045);padding:20px;min-height:118px;}
.timeline-grid small{display:block;color:var(--gold2);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:950;margin-bottom:12px;}
.timeline-grid strong{display:block;font-size:24px;letter-spacing:-.04em;text-transform:uppercase;}
.timeline-grid span{display:block;color:rgba(255,255,255,.58);font-size:12px;font-weight:850;margin-top:8px;}
@media(max-width:1100px){.fame-feature-grid{grid-template-columns:repeat(2,1fr)}.fame-split{grid-template-columns:1fr}.fame-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.fame-main{width:min(100% - 24px,1280px);margin-top:96px}.fame-feature-grid,.timeline-grid{grid-template-columns:1fr}.fame-hero,.fame-card,.fame-records,.fame-path,.fame-timeline{padding:22px}.fame-steps{grid-template-columns:1fr}}
