:root {
  --black: #050608;
  --carbon: #0c1016;
  --card: rgba(14, 18, 26, 0.78);
  --white: #ffffff;
  --silver: #b8c0cc;
  --muted: #7c8594;
  --blue: #2f7cff;
  --red: #e04444;
  --gold: #d8b86a;
  --border: rgba(255, 255, 255, 0.14);
  --shadow: 0 30px 90px rgba(0, 0, 0, 0.5);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--black);
  color: var(--white);
}

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

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px clamp(18px, 4vw, 64px);
  background: linear-gradient(to bottom, rgba(0,0,0,.72), rgba(0,0,0,0));
  transition: background .25s ease, padding .25s ease, border-color .25s ease;
  border-bottom: 1px solid transparent;
}

.site-header.scrolled {
  background: rgba(5, 6, 8, .92);
  backdrop-filter: blur(16px);
  padding-block: 14px;
  border-color: var(--border);
}

.brand {
  display: flex;
  gap: 8px;
  align-items: center;
  font-weight: 900;
  letter-spacing: .08em;
}

.brand-star { color: var(--white); font-size: 14px; }
.brand-text { font-size: 21px; }

.nav-links {
  display: flex;
  gap: 28px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.82);
}

.nav-links a:hover { color: var(--white); }

.header-cta {
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
}

.hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: 140px clamp(20px, 6vw, 88px) 80px;
}

.hero-video,
.hero::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-video {
  object-fit: cover;
  z-index: 0;
  filter: saturate(.9) contrast(1.05);
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 72% 35%,
            rgba(45,120,255,.22),
            transparent 42%),
        radial-gradient(circle at 20% 80%,
            rgba(255,255,255,.05),
            transparent 45%);
}

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to right, rgba(0,0,0,.86), rgba(0,0,0,.48), rgba(0,0,0,.68)),
    linear-gradient(to top, var(--black), rgba(0,0,0,0) 45%);
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 860px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  color: var(--silver);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

h1, h2 {
  margin: 0;
  line-height: .88;
  text-transform: uppercase;
  letter-spacing: -.055em;
}

h1 {
  font-size: clamp(56px, 11vw, 154px);
  font-weight: 950;
}

h1 span { display: block; }

h2 {
  font-size: clamp(40px, 7vw, 92px);
  font-weight: 950;
}

p {
  color: var(--silver);
  font-size: clamp(16px, 1.8vw, 20px);
  line-height: 1.6;
}

.hero-content p {
  max-width: 680px;
  margin: 26px 0 0;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 22px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: transform .18s ease, background .18s ease, border .18s ease;
}

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

.btn.primary {
  background: var(--white);
  color: var(--black);
}

.btn.secondary {
  border: 1px solid rgba(255,255,255,.35);
  color: var(--white);
}

.btn.secondary:hover { border-color: var(--white); }

.hero-status-card {
  position: absolute;
  z-index: 2;
  right: clamp(20px, 6vw, 88px);
  bottom: 54px;
  width: min(320px, calc(100% - 40px));
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: rgba(8, 10, 14, .62);
  backdrop-filter: blur(18px);
  box-shadow: var(--shadow);
}

.hero-status-card span { display: block; color: var(--silver); }
.hero-status-card strong { display: block; font-size: 26px; margin: 8px 0; }
.status-label { font-size: 11px; text-transform: uppercase; letter-spacing: .16em; }

.section {
  padding: 110px clamp(20px, 6vw, 88px);
}

.section-header {
  max-width: 780px;
  margin-bottom: 44px;
}

.race-grid,
.facility-grid,
.news-grid,
.tour-cards {
  display: grid;
  gap: 18px;
}

.race-grid {
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, .8fr);
}

.race-card,
.tour-card,
.event-card,
.facility-card,
.news-card {
  border: 1px solid var(--border);
  border-radius: 26px;
  background: var(--card);
  box-shadow: var(--shadow);
}

.race-card { padding: 24px; }

.card-topline {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: var(--silver);
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .12em;
  margin-bottom: 18px;
}

.live-pill {
  color: var(--black);
  background: var(--white);
  border-radius: 999px;
  padding: 5px 9px;
}

.tst-race-leaderboard {
  display: grid;
  grid-template-columns: 44px 1fr 70px 80px;
  align-items: center;
  gap: 14px;
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}

.rank {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-weight: 900;
}

tst-race--row strong { display: block; }
tst-race-w small { color: var(--muted); }

.movement { font-weight: 900; font-size: 13px; }
.movement.up { color: #73dd9a; }
.movement.down { color: #ff7777; }
.movement.same { color: var(--silver); }

.points { text-align: right; font-weight: 950; }

.text-link {
  display: inline-flex;
  margin-top: 20px;
  color: var(--white);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
}

.bubble-list > div {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 14px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}

.bubble-list span { color: var(--silver); font-weight: 900; }
.bubble-list em {
  font-style: normal;
  font-size: 11px;
  font-weight: 950;
  color: var(--muted);
}

.cutline {
  display: block !important;
  text-align: center;
  color: var(--red);
  font-size: 11px;
  letter-spacing: .18em;
  font-weight: 950;
  border-top: 1px solid rgba(224,68,68,.42) !important;
  border-bottom: 1px solid rgba(224,68,68,.42);
  padding: 10px 0 !important;
}

.tour-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tour-card,
.event-card,
.facility-card,
.news-card {
  padding: 26px;
}

.tour-card span,
.event-card span,
.news-card span {
  color: var(--silver);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 900;
}

.tour-card strong,
.event-card strong,
.facility-card strong,
.news-card strong {
  display: block;
  margin: 12px 0 8px;
  font-size: 26px;
  line-height: 1.05;
}

.tour-card small,
.event-card small,
.facility-card span {
  color: var(--muted);
}

.tour-card.active {
  border-color: rgba(255,255,255,.42);
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(14,18,26,.78));
}

.split-section {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, .8fr);
  gap: 44px;
  align-items: center;
}

.event-stack {
  display: grid;
  gap: 18px;
}

.facility-grid,
.news-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.facility-card.ghost {
  border-style: dashed;
  opacity: .72;
}

.join-section {
  text-align: center;
  background: radial-gradient(circle at 50% 0, rgba(47,124,255,.18), transparent 38%);
}

.join-section p {
  max-width: 640px;
  margin-inline: auto;
}

.centered { justify-content: center; }

.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 34px clamp(20px, 6vw, 88px);
  border-top: 1px solid var(--border);
  color: var(--silver);
}

.site-footer strong,
.site-footer span {
  display: block;
}

.site-footer strong {
  color: var(--white);
  letter-spacing: .12em;
}

.site-footer p {
  margin: 0;
  font-size: 14px;
}

.site-footer small {
  color: var(--muted);
}

@media (max-width: 900px) {
  .nav-links { display: none; }
  .hero-status-card { position: relative; right: auto; bottom: auto; margin-top: 50px; }
  .race-grid,
  .split-section,
  .tour-cards,
  .facility-grid,
  .news-grid {
    grid-template-columns: 1fr;
  }
  .site-footer {
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  .header-cta { display: none; }
  .tst-race- {
    grid-template-columns: 34px 1fr;
  }
  .leader-row .movement,
  .leader-row .points {
    grid-column: 2;
    text-align: left;
  }
}
/* Hero v2 Refinement */

.hero-overlay {
  background:
    linear-gradient(to right, rgba(0,0,0,.94), rgba(0,0,0,.68), rgba(0,0,0,.82)),
    linear-gradient(to top, var(--black), rgba(0,0,0,.12) 55%);
}

.hero-content {
    max-width: 980px;
    padding-top: 60px;
    margin-left: 35px;
}

.hero-line-one {
  margin-bottom: 28px;
}

.hero-line-two {
  max-width: 900px;
}

.hero-content p {
  max-width: 460px;
  font-size: 18px;
  color: rgba(255,255,255,.78);
}

.btn {
  min-height: 58px;
  padding: 0 28px;
}

.btn.secondary {
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(12px);
}

.hero-status-card {
  border-radius: 18px;
  background: rgba(5, 6, 8, .72);
}

/* Player Directory v0.1 */

.page-shell {
  padding: 130px clamp(20px, 6vw, 88px) 80px;
}

.players-hero {
  max-width: 900px;
  margin-bottom: 46px;
}

.players-hero h1 {
  font-size: clamp(72px, 12vw, 160px);
}

.players-tools {
  margin-bottom: 28px;
}

.players-tools input {
  width: min(520px, 100%);
  height: 54px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.06);
  color: var(--white);
  padding: 0 22px;
  font-size: 16px;
}

.players-tools input::placeholder {
  color: var(--muted);
}

.players-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.player-card {
  border: 1px solid var(--border);
  border-radius: 26px;
  background: var(--card);
  padding: 26px;
  box-shadow: var(--shadow);
}

.player-avatar {
  width: 74px;
  height: 74px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.08);
  font-size: 28px;
  margin-bottom: 22px;
}

.player-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 999px;
}

.player-card h3 {
  margin: 0;
  font-size: 30px;
}

.player-card p {
  font-size: 14px;
  margin: 10px 0 22px;
}

.player-card-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 22px;
}

.player-card-stats div {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  padding: 14px;
}

.player-card-stats strong {
  display: block;
  font-size: 24px;
}

.player-card-stats span {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

@media (max-width: 900px) {
  .players-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   PLAYER PROFILE
========================================== */

.player-profile-hero {
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 40px;
  align-items: center;
  margin-bottom: 34px;
}

.player-profile-hero h1 {
  font-size: clamp(56px, 10vw, 130px);
}

.profile-status {
  display: inline-flex;
  margin-top: 18px;
  padding: 10px 16px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--white);
  background: rgba(255,255,255,.06);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.profile-avatar {
  width: 210px;
  height: 210px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.08);
  display: grid;
  place-items: center;
  font-size: 70px;
}

.profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 999px;
}

.profile-rank-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 18px;
}

.profile-rank-grid article,
.profile-panel {
  border: 1px solid var(--border);
  border-radius: 26px;
  background: var(--card);
  box-shadow: var(--shadow);
  padding: 26px;
}

.profile-rank-grid span,
.stat-list span,
.career-card-line span {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
}

.profile-rank-grid strong {
  display: block;
  margin-top: 12px;
  font-size: 48px;
}

.profile-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 18px;
}

.stat-list {
  display: grid;
  gap: 14px;
}

.stat-list div,
.career-card-line {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 14px;
}

.stat-list strong,
.career-card-line strong {
  font-size: 22px;
}

.form-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.form-row div {
  width: 54px;
  height: 54px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  font-size: 20px;
  font-weight: 900;
}

.small-muted {
  color: var(--muted);
  font-size: 13px;
}

.timeline {
  display: grid;
  gap: 14px;
}

.timeline div {
  display: grid;
  grid-template-columns: 1fr 70px 80px;
  gap: 14px;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 14px;
}

.timeline strong {
  font-size: 24px;
}

.timeline small {
  color: var(--muted);
}

.award-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.award-grid div {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  padding: 18px;
  font-size: 28px;
}

.award-grid span {
  display: block;
  margin-top: 8px;
  color: var(--silver);
  font-size: 13px;
}

.career-card {
  background:
    radial-gradient(circle at top right, rgba(216,184,106,.18), transparent 35%),
    var(--card);
}

.career-card h3 {
  font-size: 42px;
  margin: 10px 0 0;
}

.career-card small {
  display: block;
  margin-top: 24px;
  color: var(--silver);
  letter-spacing: .14em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .player-profile-hero,
  .profile-rank-grid,
  .profile-two-column {
    grid-template-columns: 1fr;
  }

  .profile-avatar {
    width: 150px;
    height: 150px;
  }
}

/* ==========================================
   PLAYER PROFILE POLISH v0.2
========================================== */

.profile-hero-v2 {
  padding-top: 20px;
}

.profile-meta-stack {
  display: grid;
  gap: 7px;
  margin-top: 18px;
  color: var(--silver);
  font-size: 18px;
  line-height: 1.35;
}

.profile-meta-stack span:first-child {
  color: var(--white);
  font-weight: 800;
}

.profile-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.profile-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 11px 16px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--white);
  background: rgba(255,255,255,.06);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.secondary-status {
  color: var(--silver);
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #73dd9a;
  box-shadow: 0 0 18px rgba(115, 221, 154, .75);
}

.profile-status.on-the-bubble .status-dot {
  background: var(--gold);
  box-shadow: 0 0 18px rgba(216, 184, 106, .75);
}

.profile-status.chasing .status-dot {
  background: var(--red);
  box-shadow: 0 0 18px rgba(224, 68, 68, .65);
}

.profile-avatar-v2 {
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.12), rgba(255,255,255,.04) 52%, rgba(255,255,255,.02)),
    rgba(255,255,255,.05);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 30px 90px rgba(0,0,0,.45);
}

.profile-rank-grid article {
  position: relative;
  overflow: hidden;
}

.profile-rank-grid article::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  opacity: .5;
}

.profile-rank-grid article strong {
  letter-spacing: -.05em;
}

/* ==========================================
   PLAYER PROFILE VISUAL UPGRADE v0.3
========================================== */

.player-profile-hero {
  padding: 54px;
  border: 1px solid var(--border);
  border-radius: 34px;
  background:
    radial-gradient(circle at 85% 20%, rgba(47,124,255,.16), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.015));
  box-shadow: var(--shadow);
  margin-bottom: 26px;
}

.player-profile-hero h1 {
  margin-top: 14px;
  font-size: clamp(64px, 9vw, 150px);
}

.profile-avatar {
  border: 1px solid rgba(255,255,255,.22);
  box-shadow:
    0 0 0 8px rgba(255,255,255,.025),
    0 30px 90px rgba(0,0,0,.65);
}

.profile-rank-grid article {
  min-height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.profile-rank-grid article strong {
  font-size: 64px;
}

/* ==========================================
   PLAYER DIRECTORY
========================================== */

.players-hero {
  max-width: 900px;
  margin-bottom: 46px;
}

.players-hero h1 {
  font-size: clamp(72px, 12vw, 160px);
}

.players-tools {
  margin-bottom: 28px;
}

.players-tools input {
  width: min(520px, 100%);
  height: 54px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.06);
  color: var(--white);
  padding: 0 22px;
  font-size: 16px;
}

.players-tools input::placeholder {
  color: var(--muted);
}

.players-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.player-card {
  border: 1px solid var(--border);
  border-radius: 26px;
  background: var(--card);
  padding: 26px;
  box-shadow: var(--shadow);
}

.player-card h3 {
  margin: 0;
  font-size: 30px;
}

.player-card p {
  font-size: 14px;
  margin: 10px 0 22px;
}

.player-card-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 22px;
}

.player-card-stats div {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  padding: 14px;
}

.player-card-stats strong {
  display: block;
  font-size: 24px;
}

.player-card-stats span {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

@media (max-width: 900px) {
  .players-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   PLAYER DIRECTORY POLISH v0.2
========================================== */

.roster-hero {
  max-width: none;
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 28px;
  align-items: end;
  margin-bottom: 34px;
}

.roster-hero p {
  max-width: 620px;
}

.roster-summary-card {
  border: 1px solid var(--border);
  border-radius: 28px;
  background:
    radial-gradient(circle at 70% 20%, rgba(47,124,255,.18), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.roster-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.roster-summary-card strong {
  display: block;
  font-size: 76px;
  line-height: .9;
  margin: 12px 0;
  letter-spacing: -.07em;
}

.roster-summary-card small {
  color: var(--silver);
  font-size: 13px;
}

.players-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 28px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: rgba(255,255,255,.035);
}

.players-search-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
}

.players-search-wrap span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.players-search-wrap input {
  width: min(520px, 100%);
  height: 54px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(0,0,0,.35);
  color: var(--white);
  padding: 0 22px;
  font-size: 16px;
}

.players-search-wrap input::placeholder {
  color: var(--muted);
}

.players-toolbar-note {
  max-width: 360px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.roster-grid {
  gap: 22px;
}

.roster-card {
  position: relative;
  overflow: hidden;
  padding: 24px;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.roster-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255,255,255,.24);
  background:
    radial-gradient(circle at 80% 10%, rgba(47,124,255,.13), transparent 34%),
    var(--card);
}

.roster-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.roster-avatar {
  width: 74px;
  height: 74px;
  font-size: 30px;
}

.roster-player-number {
  color: var(--white);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .14em;
  padding: 9px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
}

.roster-card-main h3 {
  margin-top: 8px;
  font-size: 34px;
  letter-spacing: -.04em;
}

.roster-card-main p {
  margin: 8px 0 18px;
  color: var(--silver);
}

.roster-facility-pill {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 24px;
  padding: 9px 13px;
  border-radius: 999px;
  border: 1px solid rgba(200,168,90,.35);
  color: var(--gold, #C8A85A);
  background: rgba(200,168,90,.08);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.roster-stats {
  margin-bottom: 24px;
}

.roster-card-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--white);
  text-decoration: none;
  font-weight: 900;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.09);
}

.roster-card-link span {
  color: var(--gold, #C8A85A);
  font-size: 22px;
}

@media (max-width: 900px) {
  .roster-hero {
    grid-template-columns: 1fr;
  }

  .players-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .players-toolbar-note {
    max-width: none;
  }
}

/* ==========================================
   THE RACE PAGE
========================================== */

.race-hero {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: end;
  margin-bottom: 30px;
}

.race-hero h1 {
  font-size: clamp(72px, 12vw, 160px);
}

.race-hero p {
  max-width: 680px;
}

.race-summary-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(47,124,255,.18), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.race-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.race-summary-card strong {
  display: block;
  margin: 12px 0;
  font-size: 38px;
  line-height: 1;
  letter-spacing: -.04em;
}

.race-summary-card small {
  color: var(--silver);
  line-height: 1.45;
}

.race-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 28px;
}

.race-stat-grid article {
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--card);
  padding: 24px;
  box-shadow: var(--shadow);
}

.race-stat-grid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.race-stat-grid strong {
  display: block;
  margin-top: 12px;
  color: var(--white);
  font-size: 44px;
  line-height: 1;
  letter-spacing: -.06em;
}

.race-panel {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: rgba(255,255,255,.035);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.race-panel-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 28px;
  border-bottom: 1px solid var(--border);
}

.race-panel-header h2 {
  margin: 8px 0 0;
  font-size: 34px;
}

.race-panel-header p {
  max-width: 360px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.race-table-wrap {
  overflow-x: auto;
}

.race-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 900px;
}

.race-table th,
.race-table td {
  padding: 18px 20px;
  text-align: left;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.race-table th {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.race-table td {
  color: var(--silver);
  font-size: 14px;
}

.race-table tr:hover td {
  background: rgba(255,255,255,.035);
}

.race-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 34px;
  border-radius: 999px;
  color: var(--white);
  background: rgba(255,255,255,.06);
  border: 1px solid var(--border);
  font-weight: 900;
}

.race-player-link {
  display: grid;
  gap: 5px;
  color: var(--white);
  text-decoration: none;
}

.race-player-link strong {
  font-size: 17px;
}

.race-player-link span {
  color: var(--muted);
  font-size: 12px;
}

.race-status {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  border-radius: 999px;
  padding: 8px 11px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.05);
  color: var(--silver);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.race-status.tour-leader {
  color: var(--gold, #C8A85A);
  border-color: rgba(200,168,90,.45);
  background: rgba(200,168,90,.09);
}

.race-status.inside-cut {
  color: #73dd9a;
  border-color: rgba(115,221,154,.35);
  background: rgba(115,221,154,.08);
}

.race-status.on-the-bubble {
  color: var(--gold, #C8A85A);
  border-color: rgba(200,168,90,.45);
  background: rgba(200,168,90,.08);
}

.race-status.chasing {
  color: var(--muted);
}

@media (max-width: 900px) {
  .race-hero {
    grid-template-columns: 1fr;
  }

  .race-stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .race-panel-header {
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  .race-stat-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   THE RACE POLISH v0.2
========================================== */

.race-panel {
  position: relative;
}

.race-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--gold, #C8A85A), transparent);
  opacity: .8;
}

.race-table tbody tr {
  position: relative;
}

.race-table tbody tr.leader-row td {
  background:
    linear-gradient(90deg, rgba(200,168,90,.09), transparent 70%);
}

.race-table tbody tr.podium-row .race-rank {
  border-color: rgba(200,168,90,.45);
  color: var(--gold, #C8A85A);
  background: rgba(200,168,90,.09);
}

.race-table tbody tr.last-in-row td {
  border-bottom-color: rgba(115,221,154,.45);
}

.race-table tbody tr.bubble-row td {
  background:
    linear-gradient(90deg, rgba(200,168,90,.055), transparent 70%);
}

.race-table tbody tr.bubble-row .race-rank {
  color: var(--gold, #C8A85A);
}

.race-table td:nth-child(5) strong {
  color: var(--white);
  font-size: 18px;
}

.race-player-link strong {
  transition: color .2s ease;
}

.race-player-link:hover strong {
  color: var(--gold, #C8A85A);
}

.race-status {
  gap: 7px;
}

.race-status::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 14px currentColor;
}

.race-summary-card strong {
  color: var(--white);
}

.race-stat-grid article {
  position: relative;
  overflow: hidden;
}

.race-stat-grid article::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
  opacity: .45;
}

/* ==========================================
   THE RACE CLEANUP v0.3
========================================== */

.race-hero {
  padding-top: 36px;
}

.race-hero h1 {
  line-height: .86;
  margin-top: 14px;
}

.race-table th,
.race-table td {
  vertical-align: middle;
}

.race-table tbody tr.leader-row td {
  background:
    linear-gradient(90deg, rgba(200,168,90,.055), transparent 72%);
}

.race-rank {
  min-width: 54px;
}

.race-table td:nth-child(3) {
  color: var(--silver);
  line-height: 1.25;
}

.race-status {
  white-space: nowrap;
}

/* ==========================================
   THE RACE CLASS CONFLICT FIX v0.4
========================================== */

.race-table tbody tr.tst-race-leader-row td {
  background:
    linear-gradient(90deg, rgba(200,168,90,.055), transparent 72%) !important;
}

.race-table tbody tr.tst-race-podium-row .race-rank {
  border-color: rgba(200,168,90,.45);
  color: var(--gold, #C8A85A);
  background: rgba(200,168,90,.09);
}

.race-table tbody tr.tst-race-last-in-row td {
  border-bottom-color: rgba(115,221,154,.45);
}

.race-table tbody tr.tst-race-bubble-row td {
  background:
    linear-gradient(90deg, rgba(200,168,90,.055), transparent 70%) !important;
}

.race-table tbody tr.tst-race-bubble-row .race-rank {
  color: var(--gold, #C8A85A);
}

/* ==========================================
   THE RACE TABLE HARD RESET
========================================== */

.race-table {
  display: table;
  width: 100%;
  table-layout: auto;
}

.race-table thead {
  display: table-header-group;
}

.race-table tbody {
  display: table-row-group;
}

.race-table tr {
  display: table-row !important;
}

.race-table th,
.race-table td {
  display: table-cell !important;
  vertical-align: middle;
}

.race-table td {
  height: 78px;
}

.race-table td:nth-child(1) {
  width: 90px;
}

.race-table td:nth-child(2) {
  min-width: 230px;
}

.race-table td:nth-child(3) {
  min-width: 170px;
}

.race-table td:nth-child(4),
.race-table td:nth-child(5),
.race-table td:nth-child(6) {
  width: 110px;
}

.race-table td:nth-child(7) {
  width: 180px;
}

.race-status {
  white-space: nowrap;
}

/* ==========================================
   THE RACE SAFE POLISH v0.5
========================================== */

.race-table tbody tr:first-child td {
  background:
    linear-gradient(90deg, rgba(200,168,90,.07), transparent 72%);
}

.race-table tbody tr:nth-child(-n+3) .race-rank {
  color: var(--gold, #C8A85A);
  border-color: rgba(200,168,90,.45);
  background: rgba(200,168,90,.08);
}

.race-table tbody tr:first-child .race-player-link strong {
  color: var(--white);
}

.race-table tbody tr:first-child .race-rank {
  box-shadow: 0 0 22px rgba(200,168,90,.18);
}

.race-player-link:hover strong {
  color: var(--gold, #C8A85A);
}

.race-table td:nth-child(5) strong {
  color: var(--white);
  font-size: 18px;
}

.race-status {
  gap: 7px;
}

.race-status::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 14px currentColor;
}

.race-status.tour-leader {
  color: var(--gold, #C8A85A);
  border-color: rgba(200,168,90,.45);
  background: rgba(200,168,90,.09);
}

.race-status.inside-cut {
  color: #73dd9a;
  border-color: rgba(115,221,154,.35);
  background: rgba(115,221,154,.08);
}

.race-status.on-the-bubble {
  color: var(--gold, #C8A85A);
  border-color: rgba(200,168,90,.45);
  background: rgba(200,168,90,.08);
}

/* ==========================================
   THE RACE HERO CLEANUP v0.6
========================================== */

.race-hero {
  padding-top: 70px;
  margin-bottom: 42px;
}

.race-hero h1 {
  font-size: clamp(72px, 10vw, 132px);
  line-height: .9;
  margin-bottom: 24px;
}

.race-hero p {
  font-size: 20px;
  line-height: 1.55;
}

.race-summary-card {
  align-self: center;
}

/* ==========================================
   TOURS PAGE
========================================== */

.tours-hero {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 28px;
  align-items: end;
  padding-top: 70px;
  margin-bottom: 34px;
}

.tours-hero h1 {
  font-size: clamp(72px, 12vw, 160px);
  line-height: .9;
}

.tours-hero p {
  max-width: 700px;
  font-size: 20px;
  line-height: 1.55;
}

.tours-summary-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(47,124,255,.18), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.tours-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.tours-summary-card strong {
  display: block;
  margin: 12px 0;
  font-size: 76px;
  line-height: .9;
  letter-spacing: -.07em;
}

.tours-summary-card small {
  color: var(--silver);
  font-size: 13px;
}

.tour-season-panel {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: rgba(255,255,255,.035);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.tour-season-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 30px;
  border-bottom: 1px solid var(--border);
}

.tour-season-header h2 {
  margin: 8px 0 0;
  font-size: 36px;
}

.tour-season-header p {
  max-width: 380px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.tours-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.08);
}

.tour-card {
  min-height: 390px;
  padding: 28px;
  background: #0b0d10;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.tour-card.current-tour-card {
  background:
    radial-gradient(circle at 75% 10%, rgba(200,168,90,.16), transparent 36%),
    #0b0d10;
}

.tour-card-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.tour-status {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 8px 11px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.05);
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.tour-status.active {
  color: var(--gold, #C8A85A);
  border-color: rgba(200,168,90,.45);
  background: rgba(200,168,90,.09);
}

.tour-status.complete {
  color: #73dd9a;
  border-color: rgba(115,221,154,.35);
  background: rgba(115,221,154,.08);
}

.tour-season {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
}

.tour-card h3 {
  margin: 40px 0 14px;
  font-size: 42px;
  line-height: .95;
  letter-spacing: -.05em;
}

.tour-card p {
  color: var(--silver);
  font-size: 15px;
  line-height: 1.5;
}

.tour-card-stats {
  display: grid;
  gap: 10px;
  margin-top: 28px;
}

.tour-card-stats div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.tour-card-stats strong {
  color: var(--white);
  font-size: 18px;
}

.tour-card-stats span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.tour-card-footer {
  padding-top: 24px;
}

.tour-card-footer a {
  display: flex;
  justify-content: space-between;
  color: var(--white);
  text-decoration: none;
  font-weight: 900;
}

.tour-card-footer a span {
  color: var(--gold, #C8A85A);
  font-size: 22px;
}

.tour-card-footer > span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

@media (max-width: 1100px) {
  .tours-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .tours-hero {
    grid-template-columns: 1fr;
  }

  .tour-season-header {
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .tours-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   FACILITIES PAGE
========================================== */

.facilities-hero {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: end;
  padding-top: 70px;
  margin-bottom: 34px;
}

.facilities-hero h1 {
  font-size: clamp(72px, 12vw, 160px);
  line-height: .9;
}

.facilities-hero p {
  max-width: 720px;
  font-size: 20px;
  line-height: 1.55;
}

.facilities-summary-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(200,168,90,.16), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.facilities-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.facilities-summary-card strong {
  display: block;
  margin: 12px 0;
  font-size: 68px;
  line-height: .9;
  letter-spacing: -.07em;
}

.facilities-summary-card small {
  color: var(--silver);
  font-size: 13px;
  line-height: 1.4;
}

.facility-model-panel {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: rgba(255,255,255,.035);
  box-shadow: var(--shadow);
  padding: 30px;
  margin-bottom: 34px;
}

.facility-model-panel h2 {
  margin: 8px 0 26px;
  font-size: 40px;
  letter-spacing: -.04em;
}

.facility-model-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.facility-model-grid article {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 22px;
  background: rgba(0,0,0,.22);
  padding: 22px;
}

.facility-model-grid strong {
  display: block;
  color: var(--white);
  font-size: 17px;
  margin-bottom: 10px;
}

.facility-model-grid p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
  margin: 0;
}

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

.facilities-section-header h2 {
  margin: 8px 0 0;
  font-size: 42px;
  letter-spacing: -.04em;
}

.facilities-section-header p {
  max-width: 460px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.facilities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.facility-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 28px;
  background:
    radial-gradient(circle at 80% 10%, rgba(47,124,255,.12), transparent 34%),
    var(--card);
  padding: 26px;
  box-shadow: var(--shadow);
  min-height: 380px;
  display: flex;
  flex-direction: column;
}

.facility-card.home-facility-card {
  background:
    radial-gradient(circle at 80% 10%, rgba(200,168,90,.12), transparent 34%),
    var(--card);
}

.facility-card-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin-bottom: 26px;
}

.facility-type,
.facility-status {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 8px 11px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.05);
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.facility-status {
  color: #73dd9a;
  border-color: rgba(115,221,154,.35);
  background: rgba(115,221,154,.08);
}

.facility-mark {
  width: 82px;
  height: 82px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin-bottom: 26px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--white);
  font-size: 34px;
  box-shadow: 0 25px 70px rgba(0,0,0,.45);
}

.facility-card h3 {
  margin: 0;
  font-size: 38px;
  line-height: .98;
  letter-spacing: -.05em;
}

.facility-card p {
  color: var(--silver);
  font-size: 15px;
  margin: 12px 0 26px;
}

.facility-card-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: auto;
  margin-bottom: 24px;
}

.facility-card-stats div {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  padding: 16px;
}

.facility-card-stats strong {
  display: block;
  color: var(--white);
  font-size: 30px;
}

.facility-card-stats span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.facility-card-footer {
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.09);
}

.facility-card-footer a {
  display: flex;
  justify-content: space-between;
  color: var(--white);
  text-decoration: none;
  font-weight: 900;
}

.facility-card-footer a span {
  color: var(--gold, #C8A85A);
  font-size: 22px;
}

.facility-card-footer > span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

@media (max-width: 1100px) {
  .facility-model-grid,
  .facilities-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .facilities-hero {
    grid-template-columns: 1fr;
  }

  .facilities-section-header {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .facility-model-grid,
  .facilities-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   JOIN PAGE
========================================== */

.join-hero {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: end;
  padding-top: 70px;
  margin-bottom: 36px;
}

.join-hero h1 {
  max-width: 980px;
  font-size: clamp(64px, 10vw, 140px);
  line-height: .9;
  letter-spacing: -.07em;
}

.join-hero p {
  max-width: 720px;
  font-size: 20px;
  line-height: 1.55;
}

.join-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.join-summary-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(200,168,90,.18), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.join-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.join-summary-card strong {
  display: block;
  margin: 12px 0;
  color: var(--white);
  font-size: 82px;
  line-height: .9;
  letter-spacing: -.08em;
}

.join-summary-card small {
  color: var(--silver);
  font-size: 13px;
  line-height: 1.4;
}

.join-split-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  margin-bottom: 34px;
}

.join-path-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: var(--card);
  padding: 30px;
  box-shadow: var(--shadow);
}

.join-path-card h2 {
  margin: 8px 0 28px;
  font-size: 42px;
  line-height: .95;
  letter-spacing: -.05em;
}

.join-step-list {
  display: grid;
  gap: 14px;
}

.join-step-list div {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  align-items: start;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  background: rgba(0,0,0,.22);
}

.join-step-list strong {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: var(--gold, #C8A85A);
  border: 1px solid rgba(200,168,90,.4);
  background: rgba(200,168,90,.08);
  font-size: 15px;
}

.join-step-list p {
  margin: 0;
  color: var(--silver);
  font-size: 15px;
  line-height: 1.45;
}

.join-economics-panel {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 28px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 85% 20%, rgba(47,124,255,.12), transparent 34%),
    rgba(255,255,255,.035);
  padding: 30px;
  box-shadow: var(--shadow);
  margin-bottom: 34px;
}

.join-economics-panel h2 {
  margin: 8px 0 12px;
  font-size: 42px;
  line-height: .98;
  letter-spacing: -.05em;
}

.join-economics-panel p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.join-economics-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.join-economics-grid article {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  background: rgba(0,0,0,.25);
  padding: 24px;
}

.join-economics-grid strong {
  display: block;
  color: var(--white);
  font-size: 54px;
  line-height: .9;
  letter-spacing: -.07em;
  margin-bottom: 12px;
}

.join-economics-grid span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .11em;
}

.join-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-bottom: 34px;
}

.join-info-grid article {
  border: 1px solid var(--border);
  border-radius: 28px;
  background: var(--card);
  padding: 28px;
  box-shadow: var(--shadow);
}

.join-info-grid h3 {
  margin: 10px 0 12px;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -.04em;
}

.join-info-grid p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.join-cta-panel {
  text-align: center;
  border: 1px solid var(--border);
  border-radius: 34px;
  background:
    radial-gradient(circle at 50% 0%, rgba(200,168,90,.16), transparent 40%),
    rgba(255,255,255,.035);
  padding: 52px 30px;
  box-shadow: var(--shadow);
}

.join-cta-panel h2 {
  margin: 10px 0 14px;
  font-size: clamp(42px, 7vw, 84px);
  line-height: .9;
  letter-spacing: -.06em;
}

.join-cta-panel p {
  max-width: 680px;
  margin: 0 auto 28px;
  color: var(--silver);
  font-size: 18px;
  line-height: 1.55;
}

@media (max-width: 1000px) {
  .join-hero,
  .join-economics-panel {
    grid-template-columns: 1fr;
  }

  .join-split-grid,
  .join-info-grid {
    grid-template-columns: 1fr;
  }

  .join-economics-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   ACTIVE NAV STATE
========================================== */

.nav-links a.active,
.nav-links a[aria-current="page"] {
  color: var(--white);
}

.nav-links a.active::after,
.nav-links a[aria-current="page"]::after {
  width: 100%;
  opacity: 1;
}

.header-cta.active {
  background: var(--white);
  color: var(--black);
  border-color: var(--white);
}

/* ==========================================
   NEWS PAGE
========================================== */

.news-hero {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: end;
  padding-top: 70px;
  margin-bottom: 34px;
}

.news-hero h1 {
  font-size: clamp(72px, 12vw, 160px);
  line-height: .9;
}

.news-hero p {
  max-width: 720px;
  font-size: 20px;
  line-height: 1.55;
}

.news-summary-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(47,124,255,.18), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.news-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.news-summary-card strong {
  display: block;
  margin: 12px 0;
  color: var(--white);
  font-size: 72px;
  line-height: .9;
  letter-spacing: -.07em;
}

.news-summary-card small {
  color: var(--silver);
  font-size: 13px;
  line-height: 1.4;
}

.news-featured-panel {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 32px;
  background:
    radial-gradient(circle at 85% 10%, rgba(200,168,90,.16), transparent 36%),
    rgba(255,255,255,.035);
  padding: 34px;
  box-shadow: var(--shadow);
  margin-bottom: 34px;
}

.news-featured-panel h2 {
  margin: 8px 0 14px;
  font-size: clamp(38px, 6vw, 72px);
  line-height: .9;
  letter-spacing: -.06em;
}

.news-featured-panel p {
  max-width: 760px;
  color: var(--silver);
  font-size: 17px;
  line-height: 1.55;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.news-card {
  border: 1px solid var(--border);
  border-radius: 28px;
  background: var(--card);
  padding: 28px;
  box-shadow: var(--shadow);
  min-height: 310px;
  display: flex;
  flex-direction: column;
}

.news-tag {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 8px 11px;
  border: 1px solid rgba(200,168,90,.35);
  color: var(--gold, #C8A85A);
  background: rgba(200,168,90,.08);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.news-card h3 {
  margin: 24px 0 14px;
  color: var(--white);
  font-size: 32px;
  line-height: 1;
  letter-spacing: -.045em;
}

.news-card p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.news-card small {
  margin-top: auto;
  padding-top: 24px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

@media (max-width: 1000px) {
  .news-hero {
    grid-template-columns: 1fr;
  }

  .news-featured-panel {
    align-items: flex-start;
    flex-direction: column;
  }

  .news-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   HOMEPAGE POLISH v1.0
========================================== */

.home-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: 150px 6vw 70px;
}

.home-hero-media {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: #050608;
}

.home-hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .46;
  filter: saturate(.9) contrast(1.08);
}

.home-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 72% 28%, rgba(47,124,255,.18), transparent 36%),
    linear-gradient(to right, rgba(0,0,0,.94), rgba(0,0,0,.62), rgba(0,0,0,.82)),
    linear-gradient(to top, #050608, rgba(0,0,0,.1) 55%);
}

.home-hero-content {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 34px;
  align-items: end;
}

.home-hero-main h1 {
  max-width: 1050px;
  margin: 18px 0 24px;
  font-size: clamp(70px, 11vw, 170px);
  line-height: .86;
  letter-spacing: -.08em;
}

.home-hero-main h1 span {
  display: block;
}

.home-hero-main p {
  max-width: 640px;
  color: rgba(255,255,255,.78);
  font-size: 21px;
  line-height: 1.55;
}

.home-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.home-hero-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 75% 20%, rgba(200,168,90,.16), transparent 38%),
    rgba(5,6,8,.76);
  backdrop-filter: blur(16px);
  padding: 28px;
  box-shadow: var(--shadow);
}

.home-hero-card > span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.home-hero-card strong {
  display: block;
  margin: 14px 0;
  color: var(--white);
  font-size: 42px;
  line-height: .95;
  letter-spacing: -.05em;
}

.home-hero-card p {
  color: var(--silver);
  font-size: 14px;
  line-height: 1.5;
}

.home-hero-card a {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.1);
  color: var(--white);
  text-decoration: none;
  font-weight: 900;
}

.home-hero-card a span {
  color: var(--gold, #C8A85A);
  font-size: 22px;
}

.home-platform-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.08);
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.home-platform-card {
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 34px;
  background:
    radial-gradient(circle at 80% 10%, rgba(47,124,255,.11), transparent 34%),
    #090b0e;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease;
}

.home-platform-card:hover {
  background:
    radial-gradient(circle at 80% 10%, rgba(200,168,90,.13), transparent 34%),
    #0b0d10;
}

.home-platform-card span {
  color: var(--gold, #C8A85A);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.home-platform-card strong {
  display: block;
  margin: 14px 0 10px;
  color: var(--white);
  font-size: 32px;
  line-height: 1;
  letter-spacing: -.04em;
}

.home-platform-card small {
  max-width: 360px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.home-section {
  padding: 90px 6vw;
}

.home-section-header {
  max-width: 900px;
  margin-bottom: 34px;
}

.home-section-header h2 {
  margin: 10px 0 16px;
  font-size: clamp(46px, 7vw, 94px);
  line-height: .9;
  letter-spacing: -.065em;
}

.home-section-header p {
  max-width: 720px;
  color: var(--silver);
  font-size: 18px;
  line-height: 1.55;
}

.home-how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.home-how-grid article {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: var(--card);
  padding: 30px;
  box-shadow: var(--shadow);
  min-height: 280px;
}

.home-how-grid strong {
  color: var(--gold, #C8A85A);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .14em;
}

.home-how-grid h3 {
  margin: 44px 0 14px;
  color: var(--white);
  font-size: 38px;
  line-height: .95;
  letter-spacing: -.05em;
}

.home-how-grid p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.home-race-feature {
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 34px;
  align-items: center;
  padding: 90px 6vw;
  background:
    radial-gradient(circle at 85% 15%, rgba(47,124,255,.11), transparent 34%),
    #07090c;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.home-race-feature h2 {
  margin: 10px 0 18px;
  font-size: clamp(64px, 10vw, 140px);
  line-height: .86;
  letter-spacing: -.075em;
}

.home-race-feature p {
  max-width: 680px;
  color: var(--silver);
  font-size: 19px;
  line-height: 1.55;
  margin-bottom: 30px;
}

.home-race-board {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: rgba(255,255,255,.035);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.home-race-board-header {
  display: flex;
  justify-content: space-between;
  padding: 24px;
  border-bottom: 1px solid var(--border);
}

.home-race-board-header span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.home-race-board-header strong {
  color: var(--white);
}

.home-race-row {
  display: grid;
  grid-template-columns: 70px 1fr 90px;
  gap: 16px;
  align-items: center;
  padding: 18px 24px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.home-race-row:first-of-type {
  background: linear-gradient(90deg, rgba(200,168,90,.08), transparent 70%);
}

.home-race-row span {
  color: var(--gold, #C8A85A);
  font-weight: 900;
}

.home-race-row strong {
  color: var(--white);
}

.home-race-row small {
  text-align: right;
  color: var(--silver);
  font-weight: 800;
}

.home-partner-panel {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 34px;
  align-items: center;
  padding: 90px 6vw;
}

.home-partner-panel h2 {
  margin: 10px 0 18px;
  font-size: clamp(46px, 7vw, 92px);
  line-height: .9;
  letter-spacing: -.065em;
}

.home-partner-panel p {
  max-width: 650px;
  color: var(--silver);
  font-size: 18px;
  line-height: 1.55;
}

.home-partner-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.home-partner-stats article {
  border: 1px solid var(--border);
  border-radius: 28px;
  background: var(--card);
  padding: 28px;
  box-shadow: var(--shadow);
  min-height: 210px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.home-partner-stats strong {
  color: var(--white);
  font-size: 44px;
  line-height: .9;
  letter-spacing: -.06em;
}

.home-partner-stats span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.home-final-cta {
  margin: 0 6vw 80px;
  border: 1px solid var(--border);
  border-radius: 36px;
  background:
    radial-gradient(circle at 50% 0%, rgba(200,168,90,.16), transparent 40%),
    rgba(255,255,255,.035);
  padding: 70px 34px;
  text-align: center;
  box-shadow: var(--shadow);
}

.home-final-cta h2 {
  margin: 12px auto 18px;
  max-width: 1000px;
  color: var(--white);
  font-size: clamp(48px, 8vw, 110px);
  line-height: .9;
  letter-spacing: -.07em;
}

.home-final-cta p {
  max-width: 680px;
  margin: 0 auto;
  color: var(--silver);
  font-size: 18px;
  line-height: 1.55;
}

.home-final-cta .home-hero-actions {
  justify-content: center;
}

@media (max-width: 1050px) {
  .home-hero-content,
  .home-race-feature,
  .home-partner-panel {
    grid-template-columns: 1fr;
  }

  .home-platform-strip,
  .home-how-grid,
  .home-partner-stats {
    grid-template-columns: 1fr;
  }

  .home-hero-card {
    max-width: 520px;
  }
}

@media (max-width: 640px) {
  .home-hero {
    padding: 130px 22px 54px;
  }

  .home-section,
  .home-race-feature,
  .home-partner-panel {
    padding: 64px 22px;
  }

  .home-platform-card {
    padding: 28px 22px;
  }

  .home-race-row {
    grid-template-columns: 54px 1fr;
  }

  .home-race-row small {
    grid-column: 2;
    text-align: left;
  }

  .home-final-cta {
    margin: 0 22px 60px;
  }
}

/* ==========================================
   HOMEPAGE DYNAMIC RACE LINKS
========================================== */

.home-race-row {
  color: inherit;
  text-decoration: none;
}

.home-race-row:hover {
  background: rgba(255,255,255,.04);
}

.home-race-row:hover strong {
  color: var(--gold, #C8A85A);
}

/* ==========================================
   SITE FOOTER
========================================== */

.site-footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 36px;
  align-items: start;
  padding: 46px 6vw;
  border-top: 1px solid rgba(255,255,255,.09);
  background: #050608;
}

.footer-brand p {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
}

.footer-links a {
  color: var(--silver);
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  transition: color .2s ease;
}

.footer-links a:hover {
  color: var(--gold, #C8A85A);
}

.footer-meta {
  display: grid;
  gap: 12px;
  justify-items: end;
  text-align: right;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.footer-meta small {
  color: rgba(255,255,255,.38);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

@media (max-width: 900px) {
  .site-footer {
    grid-template-columns: 1fr;
  }

  .footer-links {
    justify-content: flex-start;
  }

  .footer-meta {
    justify-items: start;
    text-align: left;
  }
}

/* ==========================================
   TOUR DETAIL PAGE
========================================== */

.tour-detail-hero {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: end;
  padding-top: 70px;
  margin-bottom: 34px;
}

.tour-detail-hero h1 {
  max-width: 980px;
  font-size: clamp(70px, 11vw, 150px);
  line-height: .86;
  letter-spacing: -.08em;
}

.tour-detail-hero p {
  max-width: 720px;
  color: var(--silver);
  font-size: 20px;
  line-height: 1.55;
}

.tour-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.tour-detail-summary-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(200,168,90,.16), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.tour-detail-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.tour-detail-summary-card strong {
  display: block;
  margin: 14px 0;
  color: var(--white);
  font-size: 42px;
  line-height: .95;
  letter-spacing: -.05em;
}

.tour-detail-summary-card small {
  color: var(--silver);
  font-size: 13px;
  line-height: 1.45;
}

.tour-detail-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 30px;
}

.tour-detail-stat-grid article {
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--card);
  padding: 24px;
  box-shadow: var(--shadow);
}

.tour-detail-stat-grid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.tour-detail-stat-grid strong {
  display: block;
  margin-top: 12px;
  color: var(--white);
  font-size: 38px;
  line-height: 1;
  letter-spacing: -.06em;
}

.tour-detail-panel {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: rgba(255,255,255,.035);
  box-shadow: var(--shadow);
  overflow: hidden;
  margin-bottom: 34px;
}

.tour-detail-panel-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 30px;
  border-bottom: 1px solid var(--border);
}

.tour-detail-panel-header h2 {
  margin: 8px 0 0;
  font-size: 38px;
  letter-spacing: -.04em;
}

.tour-detail-panel-header p {
  max-width: 380px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.tour-events-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.08);
}

.tour-event-card {
  min-height: 280px;
  padding: 26px;
  background: #0b0d10;
  display: flex;
  flex-direction: column;
}

.tour-event-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 28px;
}

.tour-event-number,
.tour-event-status {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 8px 11px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.05);
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.tour-event-status.complete {
  color: #73dd9a;
  border-color: rgba(115,221,154,.35);
  background: rgba(115,221,154,.08);
}

.tour-event-status.active {
  color: var(--gold, #C8A85A);
  border-color: rgba(200,168,90,.45);
  background: rgba(200,168,90,.08);
}

.tour-event-card h3 {
  margin: 0;
  color: var(--white);
  font-size: 30px;
  line-height: 1;
  letter-spacing: -.045em;
}

.tour-event-card p {
  margin: 12px 0 28px;
  color: var(--silver);
  font-size: 15px;
}

.tour-event-meta {
  margin-top: auto;
  display: grid;
  gap: 10px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.tour-event-meta span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

@media (max-width: 1050px) {
  .tour-detail-hero {
    grid-template-columns: 1fr;
  }

  .tour-detail-stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .tour-events-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .tour-detail-panel-header {
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .tour-detail-stat-grid,
  .tour-events-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   EVENT DETAIL PAGE
========================================== */

.tour-event-link-card {
  color: inherit;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}

.tour-event-link-card:hover {
  background:
    radial-gradient(circle at 80% 10%, rgba(200,168,90,.12), transparent 34%),
    #0d1014;
  transform: translateY(-3px);
}

.event-detail-hero {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: end;
  padding-top: 70px;
  margin-bottom: 34px;
}

.event-detail-hero h1 {
  max-width: 980px;
  font-size: clamp(60px, 10vw, 130px);
  line-height: .86;
  letter-spacing: -.08em;
}

.event-detail-hero p {
  max-width: 720px;
  color: var(--silver);
  font-size: 20px;
  line-height: 1.55;
}

.event-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.event-detail-summary-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(200,168,90,.16), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.event-detail-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.event-detail-summary-card strong {
  display: block;
  margin: 14px 0;
  color: var(--white);
  font-size: 42px;
  line-height: .95;
  letter-spacing: -.05em;
}

.event-detail-summary-card small {
  color: var(--silver);
  font-size: 13px;
  line-height: 1.45;
}

.event-detail-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 30px;
}

.event-detail-stat-grid article {
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--card);
  padding: 24px;
  box-shadow: var(--shadow);
}

.event-detail-stat-grid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.event-detail-stat-grid strong {
  display: block;
  margin-top: 12px;
  color: var(--white);
  font-size: 38px;
  line-height: 1;
  letter-spacing: -.06em;
}

.event-results-panel {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: rgba(255,255,255,.035);
  box-shadow: var(--shadow);
  overflow: hidden;
  margin-bottom: 34px;
}

.event-results-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 30px;
  border-bottom: 1px solid var(--border);
}

.event-results-header h2 {
  margin: 8px 0 0;
  font-size: 38px;
  letter-spacing: -.04em;
}

.event-results-header p {
  max-width: 380px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.event-paid-pill {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 8px 11px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.05);
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.event-paid-pill.gross {
  color: var(--gold, #C8A85A);
  border-color: rgba(200,168,90,.45);
  background: rgba(200,168,90,.09);
}

.event-paid-pill.net {
  color: #73dd9a;
  border-color: rgba(115,221,154,.35);
  background: rgba(115,221,154,.08);
}

@media (max-width: 1050px) {
  .event-detail-hero {
    grid-template-columns: 1fr;
  }

  .event-detail-stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .event-results-header {
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .event-detail-stat-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   EVENT DETAIL POLISH v0.2
========================================== */

.event-detail-hero-polished {
  margin-bottom: 26px;
}

.event-status-card-polished {
  align-self: center;
}

.event-winner-strip {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 18px;
  margin-bottom: 30px;
}

.event-winner-card {
  border: 1px solid var(--border);
  border-radius: 28px;
  background:
    radial-gradient(circle at 80% 10%, rgba(47,124,255,.11), transparent 34%),
    var(--card);
  padding: 28px;
  box-shadow: var(--shadow);
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.event-winner-card-gold {
  background:
    radial-gradient(circle at 80% 10%, rgba(200,168,90,.18), transparent 36%),
    var(--card);
  border-color: rgba(200,168,90,.34);
}

.event-winner-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.event-winner-card strong {
  display: block;
  margin: 22px 0 12px;
  color: var(--white);
  font-size: 36px;
  line-height: .95;
  letter-spacing: -.05em;
}

.event-winner-card small {
  color: var(--silver);
  font-size: 14px;
  line-height: 1.45;
}

.event-results-panel:first-of-type {
  border-color: rgba(200,168,90,.22);
}

.event-results-table tbody tr:first-child td {
  background:
    linear-gradient(90deg, rgba(200,168,90,.07), transparent 72%);
}

.event-results-table tbody tr:first-child .race-rank {
  color: var(--gold, #C8A85A);
  border-color: rgba(200,168,90,.45);
  background: rgba(200,168,90,.09);
  box-shadow: 0 0 22px rgba(200,168,90,.14);
}

.event-results-table tbody tr:first-child .race-player-link strong {
  color: var(--white);
}

.event-results-table td:nth-child(4) strong {
  color: var(--white);
  font-size: 18px;
}

.event-paid-pill.gross,
.event-paid-pill.net {
  min-width: 72px;
  justify-content: center;
}

@media (max-width: 950px) {
  .event-winner-strip {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   EVENT SCORE COLUMNS
========================================== */

.event-results-table {
  min-width: 1080px;
}

.event-results-table td:nth-child(4) strong,
.event-results-table td:nth-child(5) strong,
.event-results-table td:nth-child(7) strong {
  color: var(--white);
  font-size: 18px;
}

.event-score-to-par {
  display: inline-flex;
  justify-content: center;
  min-width: 44px;
  border-radius: 999px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color: var(--white);
  font-size: 12px;
  font-weight: 900;
}

/* ==========================================
   PLAYER PROFILE EVENT HISTORY
========================================== */

.profile-panel-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 24px;
}

.profile-panel-header h2 {
  margin: 8px 0 0;
  font-size: 38px;
  letter-spacing: -.04em;
}

.profile-panel-header p {
  max-width: 360px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.player-event-history-panel {
  margin-bottom: 34px;
}

.player-event-history-list {
  display: grid;
  gap: 16px;
}

.player-event-history-card {
  display: grid;
  grid-template-columns: 1.2fr 2fr auto;
  gap: 22px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px;
  background:
    radial-gradient(circle at 85% 15%, rgba(47,124,255,.1), transparent 34%),
    rgba(0,0,0,.22);
  padding: 22px;
}

.player-event-history-main h3 {
  margin: 8px 0 8px;
  color: var(--white);
  font-size: 28px;
  line-height: 1;
  letter-spacing: -.045em;
}

.player-event-history-main p {
  margin: 0;
  color: var(--silver);
  font-size: 14px;
}

.player-event-score-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.player-event-score-grid div {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  padding: 14px;
}

.player-event-score-grid span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.player-event-score-grid strong {
  display: block;
  margin: 8px 0 4px;
  color: var(--white);
  font-size: 24px;
  line-height: 1;
}

.player-event-score-grid small {
  color: var(--silver);
  font-size: 12px;
}

.player-event-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
  color: var(--white);
  text-decoration: none;
  font-weight: 900;
  padding: 13px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}

.player-event-link span {
  color: var(--gold, #C8A85A);
  font-size: 20px;
}

.player-event-link:hover {
  border-color: rgba(200,168,90,.45);
}

@media (max-width: 1100px) {
  .player-event-history-card {
    grid-template-columns: 1fr;
  }

  .player-event-score-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .player-event-link {
    width: fit-content;
  }
}

@media (max-width: 560px) {
  .profile-panel-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .player-event-score-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   RACE MOVEMENT + RANKINGS PAGE
========================================== */

.race-rankings-link {
  display: inline-flex;
  width: fit-content;
  margin-top: 14px;
  color: var(--gold, #C8A85A);
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.race-rankings-link:hover {
  color: var(--white);
}

.race-move {
  display: inline-flex;
  min-width: 54px;
  justify-content: center;
  border-radius: 999px;
  padding: 7px 10px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.05);
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.race-move.up {
  color: #73dd9a;
  border-color: rgba(115,221,154,.35);
  background: rgba(115,221,154,.08);
}

.race-move.down {
  color: #e07171;
  border-color: rgba(224,113,113,.35);
  background: rgba(224,113,113,.08);
}

.race-move.new {
  color: var(--gold, #C8A85A);
  border-color: rgba(200,168,90,.4);
  background: rgba(200,168,90,.08);
}

.race-move.same {
  color: var(--muted);
}

.rankings-hero {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: end;
  padding-top: 70px;
  margin-bottom: 34px;
}

.rankings-hero h1 {
  font-size: clamp(72px, 12vw, 160px);
  line-height: .9;
  letter-spacing: -.08em;
}

.rankings-hero p {
  max-width: 720px;
  color: var(--silver);
  font-size: 20px;
  line-height: 1.55;
}

.rankings-summary-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(200,168,90,.16), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.rankings-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.rankings-summary-card strong {
  display: block;
  margin: 12px 0;
  color: var(--white);
  font-size: 76px;
  line-height: .9;
  letter-spacing: -.07em;
}

.rankings-summary-card small {
  color: var(--silver);
  font-size: 13px;
  line-height: 1.45;
}

.rankings-tab-panel {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: rgba(255,255,255,.035);
  box-shadow: var(--shadow);
  overflow: hidden;
  margin-bottom: 34px;
}

.rankings-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border);
}

.rankings-tabs button {
  border: 0;
  border-right: 1px solid var(--border);
  background: rgba(255,255,255,.035);
  color: var(--muted);
  padding: 18px 24px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  cursor: pointer;
}

.rankings-tabs button.active {
  color: var(--gold, #C8A85A);
  background: rgba(200,168,90,.08);
}

.rankings-panel {
  display: none;
}

.rankings-panel.active {
  display: block;
}

.rankings-panel-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 30px;
  border-bottom: 1px solid var(--border);
}

.rankings-panel-header h2 {
  margin: 8px 0 0;
  font-size: 38px;
  letter-spacing: -.04em;
}

.rankings-panel-header p {
  max-width: 420px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.rankings-table {
  min-width: 980px;
}

.rankings-table td:nth-child(7) strong {
  color: var(--white);
  font-size: 18px;
}

@media (max-width: 900px) {
  .rankings-hero {
    grid-template-columns: 1fr;
  }

  .rankings-panel-header {
    flex-direction: column;
  }

  .rankings-tabs {
    flex-direction: column;
  }

  .rankings-tabs button {
    border-right: 0;
    border-bottom: 1px solid var(--border);
    text-align: left;
  }
}

/* ==========================================
   RULES / FORMAT PAGE
========================================== */

.rules-hero {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: end;
  padding-top: 70px;
  margin-bottom: 34px;
}

.rules-hero h1 {
  max-width: 1050px;
  font-size: clamp(64px, 11vw, 150px);
  line-height: .86;
  letter-spacing: -.08em;
}

.rules-hero p {
  max-width: 760px;
  color: var(--silver);
  font-size: 20px;
  line-height: 1.55;
}

.rules-summary-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(200,168,90,.16), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.rules-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.rules-summary-card strong {
  display: block;
  margin: 14px 0;
  color: var(--white);
  font-size: 52px;
  line-height: .9;
  letter-spacing: -.06em;
}

.rules-summary-card small {
  color: var(--silver);
  font-size: 13px;
  line-height: 1.45;
}

.rules-section {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: rgba(255,255,255,.035);
  box-shadow: var(--shadow);
  overflow: hidden;
  margin-bottom: 34px;
}

.rules-section-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 30px;
  border-bottom: 1px solid var(--border);
}

.rules-section-header h2 {
  margin: 8px 0 0;
  font-size: 42px;
  line-height: .95;
  letter-spacing: -.05em;
}

.rules-section-header p {
  max-width: 420px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.rules-tour-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.08);
}

.rules-tour-grid article {
  min-height: 250px;
  padding: 28px;
  background:
    radial-gradient(circle at 80% 10%, rgba(47,124,255,.1), transparent 34%),
    #0b0d10;
}

.rules-tour-grid span {
  color: var(--gold, #C8A85A);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.rules-tour-grid strong {
  display: block;
  margin: 38px 0 14px;
  color: var(--white);
  font-size: 38px;
  line-height: .95;
  letter-spacing: -.05em;
}

.rules-tour-grid p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.rules-split-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  margin-bottom: 34px;
}

.rules-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: var(--card);
  padding: 30px;
  box-shadow: var(--shadow);
}

.rules-card h2 {
  margin: 8px 0 28px;
  color: var(--white);
  font-size: 42px;
  line-height: .95;
  letter-spacing: -.05em;
}

.rules-list {
  display: grid;
  gap: 14px;
}

.rules-list div {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  background: rgba(0,0,0,.22);
  padding: 18px;
}

.rules-list strong {
  display: block;
  margin-bottom: 8px;
  color: var(--white);
  font-size: 17px;
}

.rules-list p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.rules-format-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.08);
}

.rules-format-grid article {
  min-height: 230px;
  padding: 28px;
  background: #0b0d10;
}

.rules-format-grid strong {
  display: block;
  margin-bottom: 14px;
  color: var(--white);
  font-size: 24px;
  line-height: 1;
  letter-spacing: -.04em;
}

.rules-format-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.rules-economics-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}

.rules-economics-grid div {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  background: rgba(0,0,0,.24);
  padding: 22px;
}

.rules-economics-grid strong {
  display: block;
  color: var(--white);
  font-size: 44px;
  line-height: .9;
  letter-spacing: -.06em;
  margin-bottom: 12px;
}

.rules-economics-grid span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.rules-muted {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.rules-callout-panel {
  text-align: center;
  border: 1px solid var(--border);
  border-radius: 34px;
  background:
    radial-gradient(circle at 50% 0%, rgba(200,168,90,.16), transparent 40%),
    rgba(255,255,255,.035);
  padding: 58px 32px;
  box-shadow: var(--shadow);
  margin-bottom: 34px;
}

.rules-callout-panel h2 {
  max-width: 900px;
  margin: 10px auto 16px;
  color: var(--white);
  font-size: clamp(42px, 7vw, 86px);
  line-height: .9;
  letter-spacing: -.06em;
}

.rules-callout-panel p {
  max-width: 760px;
  margin: 0 auto;
  color: var(--silver);
  font-size: 18px;
  line-height: 1.55;
}

.rules-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

@media (max-width: 1100px) {
  .rules-tour-grid,
  .rules-format-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .rules-split-grid {
    grid-template-columns: 1fr;
  }

  .rules-economics-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .rules-hero {
    grid-template-columns: 1fr;
  }

  .rules-section-header {
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .rules-tour-grid,
  .rules-format-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   SPONSORS PAGE
========================================== */

.sponsors-hero {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: end;
  padding-top: 70px;
  margin-bottom: 34px;
}

.sponsors-hero h1 {
  max-width: 1050px;
  font-size: clamp(64px, 11vw, 150px);
  line-height: .86;
  letter-spacing: -.08em;
}

.sponsors-hero p {
  max-width: 760px;
  color: var(--silver);
  font-size: 20px;
  line-height: 1.55;
}

.sponsors-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.sponsors-summary-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(200,168,90,.16), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.sponsors-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.sponsors-summary-card strong {
  display: block;
  margin: 14px 0;
  color: var(--white);
  font-size: 68px;
  line-height: .9;
  letter-spacing: -.07em;
}

.sponsors-summary-card small {
  color: var(--silver);
  font-size: 13px;
  line-height: 1.45;
}

.sponsor-value-panel {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 28px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 85% 10%, rgba(47,124,255,.12), transparent 34%),
    rgba(255,255,255,.035);
  padding: 30px;
  box-shadow: var(--shadow);
  margin-bottom: 34px;
}

.sponsor-value-panel h2 {
  margin: 8px 0 14px;
  color: var(--white);
  font-size: clamp(40px, 6vw, 76px);
  line-height: .9;
  letter-spacing: -.06em;
}

.sponsor-value-panel p {
  color: var(--silver);
  font-size: 17px;
  line-height: 1.55;
}

.sponsor-value-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.sponsor-value-grid article {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  background: rgba(0,0,0,.24);
  padding: 24px;
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sponsor-value-grid strong {
  color: var(--white);
  font-size: 30px;
  line-height: .95;
  letter-spacing: -.05em;
}

.sponsor-value-grid span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.sponsor-section {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: rgba(255,255,255,.035);
  box-shadow: var(--shadow);
  overflow: hidden;
  margin-bottom: 34px;
}

.sponsor-section-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 30px;
  border-bottom: 1px solid var(--border);
}

.sponsor-section-header h2 {
  margin: 8px 0 0;
  color: var(--white);
  font-size: 42px;
  line-height: .95;
  letter-spacing: -.05em;
}

.sponsor-section-header p {
  max-width: 430px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.sponsor-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.08);
}

.sponsor-card {
  min-height: 420px;
  background: #0b0d10;
  padding: 28px;
  display: flex;
  flex-direction: column;
}

.featured-sponsor-card {
  background:
    radial-gradient(circle at 80% 10%, rgba(200,168,90,.17), transparent 36%),
    #0b0d10;
}

.sponsor-card span {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 8px 11px;
  border: 1px solid rgba(200,168,90,.35);
  color: var(--gold, #C8A85A);
  background: rgba(200,168,90,.08);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.sponsor-card h3 {
  margin: 34px 0 14px;
  color: var(--white);
  font-size: 36px;
  line-height: .95;
  letter-spacing: -.05em;
}

.sponsor-card p {
  color: var(--silver);
  font-size: 15px;
  line-height: 1.5;
}

.sponsor-card ul {
  margin: auto 0 0;
  padding: 24px 0 0;
  list-style: none;
  border-top: 1px solid rgba(255,255,255,.08);
  display: grid;
  gap: 10px;
}

.sponsor-card li {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.sponsor-card li::before {
  content: "•";
  color: var(--gold, #C8A85A);
  margin-right: 8px;
}

.sponsor-audience-panel {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: var(--card);
  box-shadow: var(--shadow);
  padding: 30px;
  margin-bottom: 34px;
}

.sponsor-audience-panel h2 {
  margin: 8px 0 28px;
  color: var(--white);
  font-size: 42px;
  line-height: .95;
  letter-spacing: -.05em;
}

.sponsor-audience-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.sponsor-audience-grid article {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 22px;
  background: rgba(0,0,0,.22);
  padding: 22px;
}

.sponsor-audience-grid strong {
  display: block;
  margin-bottom: 10px;
  color: var(--white);
  font-size: 20px;
  line-height: 1;
  letter-spacing: -.035em;
}

.sponsor-audience-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.sponsor-cta-panel {
  text-align: center;
  border: 1px solid var(--border);
  border-radius: 34px;
  background:
    radial-gradient(circle at 50% 0%, rgba(200,168,90,.16), transparent 40%),
    rgba(255,255,255,.035);
  padding: 58px 32px;
  box-shadow: var(--shadow);
  margin-bottom: 34px;
}

.sponsor-cta-panel h2 {
  max-width: 900px;
  margin: 10px auto 16px;
  color: var(--white);
  font-size: clamp(42px, 7vw, 86px);
  line-height: .9;
  letter-spacing: -.06em;
}

.sponsor-cta-panel p {
  max-width: 760px;
  margin: 0 auto;
  color: var(--silver);
  font-size: 18px;
  line-height: 1.55;
}

.sponsor-cta-panel .sponsors-actions {
  justify-content: center;
}

@media (max-width: 1100px) {
  .sponsor-value-panel {
    grid-template-columns: 1fr;
  }

  .sponsor-value-grid,
  .sponsor-card-grid,
  .sponsor-audience-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .sponsors-hero {
    grid-template-columns: 1fr;
  }

  .sponsor-section-header {
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .sponsor-value-grid,
  .sponsor-card-grid,
  .sponsor-audience-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   CONTACT / INTEREST PAGE
========================================== */

.contact-hero {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: end;
  padding-top: 70px;
  margin-bottom: 34px;
}

.contact-hero h1 {
  max-width: 1050px;
  font-size: clamp(64px, 11vw, 150px);
  line-height: .86;
  letter-spacing: -.08em;
}

.contact-hero p {
  max-width: 760px;
  color: var(--silver);
  font-size: 20px;
  line-height: 1.55;
}

.contact-summary-card {
  border: 1px solid var(--border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(200,168,90,.16), transparent 38%),
    rgba(255,255,255,.045);
  padding: 28px;
  box-shadow: var(--shadow);
}

.contact-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.contact-summary-card strong {
  display: block;
  margin: 14px 0;
  color: var(--white);
  font-size: 76px;
  line-height: .9;
  letter-spacing: -.07em;
}

.contact-summary-card small {
  color: var(--silver);
  font-size: 13px;
  line-height: 1.45;
}

.contact-split-grid {
  display: grid;
  grid-template-columns: 1.4fr .8fr;
  gap: 22px;
  margin-bottom: 34px;
}

.contact-form-panel,
.contact-info-panel {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: var(--card);
  padding: 30px;
  box-shadow: var(--shadow);
}

.contact-panel-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 28px;
}

.contact-panel-header h2,
.contact-info-panel h2 {
  margin: 8px 0 0;
  color: var(--white);
  font-size: 42px;
  line-height: .95;
  letter-spacing: -.05em;
}

.contact-panel-header p {
  max-width: 360px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.contact-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.contact-form div {
  display: grid;
  gap: 8px;
}

.contact-form label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(0,0,0,.35);
  color: var(--white);
  padding: 16px 18px;
  font-size: 16px;
}

.contact-form textarea {
  resize: vertical;
}

.contact-form .full-width {
  grid-column: 1 / -1;
}

.contact-form button {
  grid-column: 1 / -1;
  width: fit-content;
  margin-top: 10px;
}

.hidden-field {
  display: none;
}

.contact-info-list {
  display: grid;
  gap: 14px;
  margin-top: 28px;
}

.contact-info-list article {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  background: rgba(0,0,0,.22);
  padding: 18px;
}

.contact-info-list strong {
  display: block;
  margin-bottom: 8px;
  color: var(--white);
  font-size: 18px;
}

.contact-info-list p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.contact-cta-panel,
.thanks-panel {
  text-align: center;
  border: 1px solid var(--border);
  border-radius: 34px;
  background:
    radial-gradient(circle at 50% 0%, rgba(200,168,90,.16), transparent 40%),
    rgba(255,255,255,.035);
  padding: 58px 32px;
  box-shadow: var(--shadow);
  margin-bottom: 34px;
}

.contact-cta-panel h2,
.thanks-panel h1 {
  max-width: 900px;
  margin: 10px auto 16px;
  color: var(--white);
  font-size: clamp(42px, 7vw, 86px);
  line-height: .9;
  letter-spacing: -.06em;
}

.contact-cta-panel p,
.thanks-panel p {
  max-width: 700px;
  margin: 0 auto;
  color: var(--silver);
  font-size: 18px;
  line-height: 1.55;
}

.contact-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

@media (max-width: 1000px) {
  .contact-hero,
  .contact-split-grid {
    grid-template-columns: 1fr;
  }

  .contact-panel-header {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .contact-form {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   MOBILE POLISH PASS
========================================== */

@media (max-width: 900px) {
  body {
    overflow-x: hidden;
  }

  .site-header {
    padding: 14px 18px;
    gap: 14px;
  }

  .brand {
    flex-shrink: 0;
  }

  .nav-links {
    display: none;
  }

  .header-cta {
    margin-left: auto;
    padding: 10px 16px;
    font-size: 12px;
  }

  .page-shell {
    padding-left: 18px;
    padding-right: 18px;
  }

  .hero,
  .race-hero,
  .tours-hero,
  .tour-detail-hero,
  .event-hero,
  .players-hero,
  .player-hero,
  .facilities-hero,
  .join-hero,
  .rules-hero,
  .sponsors-hero,
  .contact-hero {
    padding-top: 46px;
  }

  h1,
  .hero-title,
  .race-hero h1,
  .tours-hero h1,
  .tour-detail-hero h1,
  .event-hero h1,
  .players-hero h1,
  .player-hero h1,
  .facilities-hero h1,
  .join-hero h1,
  .rules-hero h1,
  .sponsors-hero h1,
  .contact-hero h1 {
    font-size: clamp(48px, 17vw, 82px);
    letter-spacing: -.075em;
  }

  h2,
  .section-title,
  .tour-season-header h2,
  .rules-section-header h2,
  .sponsor-section-header h2,
  .contact-panel-header h2 {
    font-size: clamp(32px, 10vw, 48px);
  }

  p {
    font-size: 15px;
  }

  .btn,
  .header-cta {
    min-height: 44px;
  }

  .site-footer {
    padding: 34px 18px;
    gap: 26px;
  }

  .footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
  }

  .footer-links a {
    font-size: 13px;
  }
}

@media (max-width: 720px) {
  .hero-actions,
  .join-hero-actions,
  .rules-actions,
  .sponsors-actions,
  .contact-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero-actions .btn,
  .join-hero-actions .btn,
  .rules-actions .btn,
  .sponsors-actions .btn,
  .contact-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .tour-card,
  .player-card,
  .facility-card,
  .rules-card,
  .sponsor-card,
  .contact-form-panel,
  .contact-info-panel {
    border-radius: 24px;
  }

  .tour-card,
  .player-card,
  .facility-card,
  .rules-card,
  .sponsor-card {
    padding: 22px;
  }

  .rules-summary-card,
  .sponsors-summary-card,
  .contact-summary-card,
  .tours-summary-card {
    border-radius: 24px;
  }

  .race-table,
  .rankings-table,
  .event-results-table {
    font-size: 13px;
  }

  .race-table th,
  .race-table td,
  .rankings-table th,
  .rankings-table td,
  .event-results-table th,
  .event-results-table td {
    padding: 12px 10px;
  }
}

@media (max-width: 520px) {
  .page-shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .site-header {
    padding-left: 14px;
    padding-right: 14px;
  }

  .brand-text {
    font-size: 20px;
  }

  .brand-star {
    font-size: 18px;
  }

  .header-cta {
    padding: 9px 13px;
    font-size: 11px;
  }

  .eyebrow {
    font-size: 10px;
    letter-spacing: .14em;
  }

  .hero,
  .race-hero,
  .tours-hero,
  .tour-detail-hero,
  .event-hero,
  .players-hero,
  .player-hero,
  .facilities-hero,
  .join-hero,
  .rules-hero,
  .sponsors-hero,
  .contact-hero {
    margin-bottom: 24px;
  }

  .rules-section,
  .sponsor-section,
  .tour-season-panel,
  .contact-form-panel,
  .contact-info-panel,
  .rules-callout-panel,
  .sponsor-cta-panel,
  .contact-cta-panel,
  .thanks-panel {
    border-radius: 24px;
  }

  .rules-section-header,
  .sponsor-section-header,
  .tour-season-header,
  .contact-panel-header {
    padding: 22px;
  }

  .rules-tour-grid article,
  .rules-format-grid article,
  .sponsor-card,
  .sponsor-audience-panel,
  .contact-form-panel,
  .contact-info-panel {
    padding: 22px;
  }

  .contact-form input,
  .contact-form select,
  .contact-form textarea {
    font-size: 16px;
    border-radius: 14px;
  }

  .footer-brand p,
  .footer-meta span,
  .footer-meta small {
    font-size: 12px;
  }
}

/* ==========================================
   MOBILE TOP NAV OVERRIDE
   Keeps nav visible on phones
========================================== */

@media (max-width: 900px) {
  .site-header {
    flex-wrap: wrap;
    align-items: center;
  }

  .nav-links {
    order: 3;
    display: flex !important;
    width: 100%;
    gap: 16px;
    overflow-x: auto;
    padding-top: 10px;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .nav-links::-webkit-scrollbar {
    display: none;
  }

  .nav-links a {
    flex: 0 0 auto;
    font-size: 12px;
    white-space: nowrap;
    padding: 8px 0;
  }

  .header-cta {
    margin-left: auto;
  }
}

@media (max-width: 520px) {
  .nav-links {
    gap: 14px;
  }

  .nav-links a {
    font-size: 11px;
  }
}

/* ==========================================
   HOMEPAGE HERO TITLE REFINEMENT
========================================== */

.hero-title {
  max-width: 1050px;
  font-size: clamp(68px, 8.2vw, 132px);
  line-height: .9;
  letter-spacing: -.075em;
}

.hero-copy {
  max-width: 760px;
  font-size: 19px;
}

@media (max-width: 900px) {
  .hero-title {
    font-size: clamp(52px, 14vw, 82px);
    line-height: .92;
  }

  .hero-copy {
    font-size: 16px;
  }
}

@media (max-width: 520px) {
  .hero-title {
    font-size: clamp(44px, 15vw, 68px);
    letter-spacing: -.065em;
  }
}

/* ==========================================
   FINAL HOMEPAGE HERO TITLE SIZE
========================================== */

.hero-title {
  max-width: 940px;
  font-size: clamp(58px, 7vw, 108px);
  line-height: .92;
  letter-spacing: -.065em;
}

.hero-copy {
  max-width: 700px;
  font-size: 18px;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .hero-title {
    font-size: clamp(46px, 12vw, 72px);
    line-height: .94;
    letter-spacing: -.06em;
  }

  .hero-copy {
    font-size: 16px;
  }
}

@media (max-width: 520px) {
  .hero-title {
    font-size: clamp(40px, 13vw, 60px);
    line-height: .96;
    letter-spacing: -.055em;
  }
}

/* ==========================================
   PRESENTATION-SAFE HOMEPAGE HERO
========================================== */

.hero-title {
  max-width: 820px;
  font-size: clamp(50px, 5.8vw, 88px);
  line-height: .94;
  letter-spacing: -.055em;
}

.hero-copy {
  max-width: 660px;
  font-size: 17px;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .hero-title {
    max-width: 100%;
    font-size: clamp(42px, 11vw, 64px);
    line-height: .96;
    letter-spacing: -.052em;
  }

  .hero-copy {
    font-size: 16px;
  }
}

@media (max-width: 520px) {
  .hero-title {
    font-size: clamp(36px, 12vw, 54px);
    line-height: .98;
    letter-spacing: -.045em;
  }
}

/* ==========================================
   FORCE HOMEPAGE HERO TO TWO LINES
========================================== */

.hero-title {
  max-width: 1040px;
  font-size: clamp(46px, 5.1vw, 78px);
  line-height: .96;
  letter-spacing: -.052em;
}

.hero-title-nowrap {
  white-space: nowrap;
}

@media (max-width: 900px) {
  .hero-title {
    font-size: clamp(40px, 10vw, 62px);
  }
}

@media (max-width: 620px) {
  .hero-title-nowrap {
    white-space: normal;
  }
}

/* ==========================================
   CLEAN HOMEPAGE HERO FINAL
========================================== */

.hero-title {
  max-width: 920px;
  font-size: clamp(42px, 3.9vw, 66px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.hero-copy {
  max-width: 640px;
  font-size: 17px;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .hero-title {
    max-width: 100%;
    font-size: clamp(38px, 10vw, 58px);
    line-height: 1.02;
  }

  .hero-copy {
    font-size: 16px;
  }
}

@media (max-width: 520px) {
  .hero-title {
    font-size: clamp(34px, 11vw, 50px);
    line-height: 1.04;
    letter-spacing: -.04em;
  }
}

/* ==========================================
   TRUE FINAL HOMEPAGE HERO SIZE
========================================== */

.hero-title.hero-title-compact {
  max-width: 820px;
  font-size: clamp(40px, 4.5vw, 72px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.hero-title.hero-title-compact span {
  display: block;
}

.hero-title.hero-title-compact span:nth-child(2) {
  font-size: .82em;
  white-space: nowrap;
}

.hero-copy {
  max-width: 620px;
  font-size: 16.5px;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .hero-title.hero-title-compact {
    font-size: clamp(38px, 9vw, 58px);
  }
}

@media (max-width: 620px) {
  .hero-title.hero-title-compact span:nth-child(2) {
    white-space: normal;
  }

  .hero-title.hero-title-compact {
    font-size: clamp(34px, 10vw, 48px);
  }
}

/* ==========================================
   HOMEPAGE HERO BALANCED FINAL
========================================== */

.hero-title.hero-title-compact {
  max-width: 900px;
  font-size: clamp(44px, 5.1vw, 84px);
  line-height: 1;
  letter-spacing: -.047em;
}

.hero-title.hero-title-compact span {
  display: block;
}

.hero-title.hero-title-compact span:nth-child(2) {
  font-size: .86em;
  white-space: nowrap;
}

.hero-copy {
  max-width: 660px;
  font-size: 17px;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .hero-title.hero-title-compact {
    font-size: clamp(38px, 9vw, 60px);
  }
}

@media (max-width: 620px) {
  .hero-title.hero-title-compact span:nth-child(2) {
    white-space: normal;
  }

  .hero-title.hero-title-compact {
    font-size: clamp(34px, 10vw, 50px);
  }
}

/* ==========================================
   HOMEPAGE HERO TRUE BALANCE
========================================== */

.hero-title.hero-title-compact {
  max-width: 1040px;
  font-size: clamp(56px, 6.4vw, 112px);
  line-height: .94;
  letter-spacing: -.055em;
}

.hero-title.hero-title-compact span {
  display: block;
}

.hero-title.hero-title-compact span:nth-child(2) {
  font-size: .9em;
  white-space: nowrap;
}

.hero-copy {
  max-width: 700px;
  font-size: 18px;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .hero-title.hero-title-compact {
    font-size: clamp(44px, 11vw, 72px);
    line-height: .96;
  }

  .hero-copy {
    font-size: 16px;
  }
}

@media (max-width: 620px) {
  .hero-title.hero-title-compact span:nth-child(2) {
    white-space: normal;
  }

  .hero-title.hero-title-compact {
    font-size: clamp(38px, 12vw, 58px);
  }
}

/* ==========================================
   HOMEPAGE HERO VERTICAL POSITION
========================================== */

.hero-content {
  padding-top: 70px;
  transform: translateY(-45px);
}

@media (max-width: 900px) {
  .hero-content {
    padding-top: 50px;
    transform: translateY(-25px);
  }
}

@media (max-width: 520px) {
  .hero-content {
    transform: translateY(-15px);
  }
}

/* ==========================================
   HOMEPAGE HERO LIFT - STRONG OVERRIDE
========================================== */

.hero {
  min-height: 88vh;
  padding-top: 90px;
}

.hero-content,
.hero-copy-block,
.hero-text,
.hero-left,
.hero-main {
  transform: translateY(-90px) !important;
}

@media (max-width: 900px) {
  .hero {
    min-height: auto;
    padding-top: 110px;
  }

  .hero-content,
  .hero-copy-block,
  .hero-text,
  .hero-left,
  .hero-main {
    transform: translateY(-35px) !important;
  }
}

@media (max-width: 520px) {
  .hero-content,
  .hero-copy-block,
  .hero-text,
  .hero-left,
  .hero-main {
    transform: translateY(-20px) !important;
  }
}

/* ==========================================
   HOMEPAGE HERO CONTENT LIFT - DIRECT TARGET
========================================== */

.hero .eyebrow,
.hero-title.hero-title-compact,
.hero-copy,
.hero-actions {
  transform: translateY(-90px) !important;
}

@media (max-width: 900px) {
  .hero .eyebrow,
  .hero-title.hero-title-compact,
  .hero-copy,
  .hero-actions {
    transform: translateY(-40px) !important;
  }
}

@media (max-width: 520px) {
  .hero .eyebrow,
  .hero-title.hero-title-compact,
  .hero-copy,
  .hero-actions {
    transform: translateY(-20px) !important;
  }
}

/* ==========================================
   HOMEPAGE HERO NATURAL LIFT FIX
========================================== */

/* Cancel the direct transform lift that threw spacing off */
.hero .eyebrow,
.hero-title.hero-title-compact,
.hero-copy,
.hero-actions {
  transform: none !important;
}

/* Lift the full left-side stack naturally */
.hero > .eyebrow,
.hero .hero-title.hero-title-compact {
  position: relative;
}

/* Pull the first label/title stack upward without breaking spacing */
.hero .eyebrow:first-of-type {
  margin-top: -85px;
}

/* Keep title/copy/button spacing clean */
.hero-title.hero-title-compact {
  margin-top: 26px;
  margin-bottom: 24px;
}

.hero-copy {
  margin-top: 0;
  margin-bottom: 28px;
}

.hero-actions {
  margin-top: 0;
}

@media (max-width: 900px) {
  .hero .eyebrow:first-of-type {
    margin-top: -25px;
  }
}

@media (max-width: 520px) {
  .hero .eyebrow:first-of-type {
    margin-top: -10px;
  }
}

/* ==========================================
   HOMEPAGE HERO NATURAL LIFT FIX
========================================== */

/* Cancel the direct transform lift that threw spacing off */
.hero .eyebrow,
.hero-title.hero-title-compact,
.hero-copy,
.hero-actions {
  transform: none !important;
}

/* Lift the full left-side stack naturally */
.hero > .eyebrow,
.hero .hero-title.hero-title-compact {
  position: relative;
}

/* Pull the first label/title stack upward without breaking spacing */
.hero .eyebrow:first-of-type {
  margin-top: -60px;
}

/* Keep title/copy/button spacing clean */
.hero-title.hero-title-compact {
  margin-top: 26px;
  margin-bottom: 24px;
}

.hero-copy {
  margin-top: 0;
  margin-bottom: 28px;
}

.hero-actions {
  margin-top: 0;
}

@media (max-width: 900px) {
  .hero .eyebrow:first-of-type {
    margin-top: -25px;
  }
}

@media (max-width: 520px) {
  .hero .eyebrow:first-of-type {
    margin-top: -10px;
  }
}

/* ==========================================
   HOMEPAGE HERO FINAL SMALL LIFT
========================================== */

.hero .eyebrow:first-of-type {
  margin-top: -85px;
}

@media (max-width: 900px) {
  .hero .eyebrow:first-of-type {
    margin-top: -35px;
  }
}

@media (max-width: 520px) {
  .hero .eyebrow:first-of-type {
    margin-top: -18px;
  }
}

/* ==========================================
   HOMEPAGE HERO LEFT STACK POSITION
========================================== */

.hero-left-stack {
  position: relative;
  top: -80px;
}

@media (max-width: 900px) {
  .hero-left-stack {
    top: -25px;
  }
}

@media (max-width: 520px) {
  .hero-left-stack {
    top: -12px;
  }
}

/* ==========================================
   SITE-WIDE PAGE HEADLINE REFINEMENT
========================================== */

.race-hero h1,
.tours-hero h1,
.tour-detail-hero h1,
.event-hero h1,
.players-hero h1,
.player-hero h1,
.facilities-hero h1,
.join-hero h1,
.rules-hero h1,
.sponsors-hero h1,
.contact-hero h1,
.news-hero h1 {
  font-size: clamp(56px, 7vw, 108px);
  line-height: .94;
  letter-spacing: -.065em;
}

/* Large feature headlines inside pages */
.news-feature-card h2,
.sponsor-value-panel h2,
.rules-callout-panel h2,
.sponsor-cta-panel h2,
.contact-cta-panel h2,
.thanks-panel h1 {
  font-size: clamp(38px, 5.2vw, 72px);
  line-height: .96;
  letter-spacing: -.055em;
}

@media (max-width: 900px) {
  .race-hero h1,
  .tours-hero h1,
  .tour-detail-hero h1,
  .event-hero h1,
  .players-hero h1,
  .player-hero h1,
  .facilities-hero h1,
  .join-hero h1,
  .rules-hero h1,
  .sponsors-hero h1,
  .contact-hero h1,
  .news-hero h1 {
    font-size: clamp(44px, 12vw, 72px);
  }

  .news-feature-card h2,
  .sponsor-value-panel h2,
  .rules-callout-panel h2,
  .sponsor-cta-panel h2,
  .contact-cta-panel h2,
  .thanks-panel h1 {
    font-size: clamp(34px, 9vw, 56px);
  }
}

@media (max-width: 520px) {
  .race-hero h1,
  .tours-hero h1,
  .tour-detail-hero h1,
  .event-hero h1,
  .players-hero h1,
  .player-hero h1,
  .facilities-hero h1,
  .join-hero h1,
  .rules-hero h1,
  .sponsors-hero h1,
  .contact-hero h1,
  .news-hero h1 {
    font-size: clamp(38px, 13vw, 58px);
    letter-spacing: -.055em;
  }

  .news-feature-card h2,
  .sponsor-value-panel h2,
  .rules-callout-panel h2,
  .sponsor-cta-panel h2,
  .contact-cta-panel h2,
  .thanks-panel h1 {
    font-size: clamp(30px, 10vw, 46px);
  }
}
/* =========================================================
   LIVE DATA STATUS
========================================================= */
.tst-data-status {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1000;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(8, 12, 10, 0.9);
  color: #fff;
  text-decoration: none;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(12px);
}

.tst-data-status span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e8b84a;
  box-shadow: 0 0 0 4px rgba(232, 184, 74, 0.14);
}

.tst-data-status.live span {
  background: #75d69c;
  box-shadow: 0 0 0 4px rgba(117, 214, 156, 0.14);
}

.tst-data-status.fallback span {
  background: #e8b84a;
}

@media (max-width: 700px) {
  .tst-data-status {
    right: 12px;
    bottom: 12px;
    padding: 9px 11px;
    font-size: 0.65rem;
  }
}

/* ==========================================
   GROSS / NET STANDINGS CONTROLS
========================================== */
.standings-toggle,
.home-standings-toggle {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,.02);
}

.standings-toggle button,
.home-standings-toggle button {
  appearance: none;
  border: 0;
  border-right: 1px solid var(--border);
  background: transparent;
  color: var(--muted);
  padding: 16px 22px;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  cursor: pointer;
}

.standings-toggle button.active,
.home-standings-toggle button.active {
  color: var(--gold, #C8A85A);
  background: rgba(200,168,90,.09);
}

.standings-toggle button:hover,
.home-standings-toggle button:hover {
  color: var(--white);
}

.home-standings-toggle {
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.home-standings-toggle button {
  flex: 1;
  padding: 12px 18px;
}

.race-qualification-note {
  padding: 18px 24px;
  border-top: 1px solid var(--border);
  color: var(--silver);
  background: rgba(200,168,90,.045);
  font-size: 13px;
  line-height: 1.55;
}

.race-status.qualified-both,
.race-status.qualified-via-gross,
.race-status.qualified-via-net,
.race-status.inside-gross-cut,
.race-status.inside-net-cut,
.race-status.qualified-gross-net {
  color: var(--gold, #C8A85A);
  border-color: rgba(200,168,90,.35);
  background: rgba(200,168,90,.09);
}

.rankings-scoring-tabs {
  background: rgba(255,255,255,.015);
}

.rankings-scoring-tabs button {
  padding-top: 13px;
  padding-bottom: 13px;
}

@media (max-width: 720px) {
  .standings-toggle {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .standings-toggle button {
    border-right: 1px solid var(--border);
    text-align: center;
    padding: 14px 10px;
  }

  .race-qualification-note {
    padding: 16px;
  }
}

/* ==========================================
   V6 REGISTRATION + STRIPE CHECKOUT
========================================== */
.registration-shell {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 24px;
  border: 1px solid var(--border);
  border-radius: 34px;
  background:
    radial-gradient(circle at 0 0, rgba(200,168,90,.13), transparent 34%),
    var(--card);
  padding: 30px;
  margin-bottom: 34px;
  box-shadow: var(--shadow);
  scroll-margin-top: 110px;
}

.registration-intro {
  align-self: start;
  padding: 10px 8px 10px 4px;
}

.registration-intro h2 {
  margin: 10px 0 18px;
  color: var(--white);
  font-size: clamp(42px, 5vw, 72px);
  line-height: .92;
  letter-spacing: -.06em;
}

.registration-intro > p {
  margin: 0;
  color: var(--silver);
  font-size: 17px;
  line-height: 1.6;
}

.registration-includes {
  display: grid;
  gap: 10px;
  margin-top: 28px;
}

.registration-includes article {
  display: flex;
  align-items: baseline;
  gap: 14px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: rgba(0,0,0,.22);
  padding: 14px 16px;
}

.registration-includes strong {
  min-width: 54px;
  color: var(--gold, #C8A85A);
  font-size: 28px;
  line-height: 1;
}

.registration-includes span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.registration-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 26px;
  background: rgba(0,0,0,.23);
  padding: 24px;
}

.registration-form > div:not(.registration-payment-note):not(.registration-message),
.registration-form fieldset {
  min-width: 0;
}

.registration-form > div {
  display: grid;
  gap: 8px;
}

.registration-form label,
.account-choice legend {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .11em;
}

.registration-form input[type="text"],
.registration-form input[type="email"],
.registration-form input[type="tel"],
.registration-form input[type="password"] {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(0,0,0,.38);
  color: var(--white);
  padding: 15px 17px;
  font: inherit;
  font-size: 16px;
}

.registration-form input:focus {
  outline: 2px solid rgba(200,168,90,.34);
  outline-offset: 2px;
  border-color: rgba(200,168,90,.55);
}

.registration-form .full-width {
  grid-column: 1 / -1;
}

.account-choice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0;
  padding: 0;
  border: 0;
}

.account-choice legend {
  grid-column: 1 / -1;
  margin-bottom: 2px;
}

.account-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,.025);
  padding: 15px;
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
}

.account-option:has(input:checked) {
  border-color: rgba(200,168,90,.55);
  background: rgba(200,168,90,.08);
}

.account-option input,
.registration-agreement input {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--gold, #C8A85A);
  flex: 0 0 auto;
}

.account-option span {
  display: grid;
  gap: 5px;
}

.account-option strong {
  color: var(--white);
  font-size: 14px;
  line-height: 1.3;
}

.account-option small,
.field-note {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  text-transform: none;
  letter-spacing: 0;
}

.registration-agreement {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border-top: 1px solid var(--border);
  padding-top: 18px;
  color: var(--silver) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.55;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.registration-agreement a {
  color: var(--gold, #C8A85A);
}

.registration-payment-note {
  display: flex !important;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(117,214,156,.22);
  border-radius: 16px;
  background: rgba(117,214,156,.06);
  padding: 13px 15px;
}

.registration-payment-note strong {
  color: #9ae2b5;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .1em;
  white-space: nowrap;
}

.registration-payment-note span {
  color: var(--silver);
  font-size: 13px;
  line-height: 1.45;
}

.registration-message {
  display: none !important;
  border-radius: 15px;
  padding: 13px 15px;
  font-size: 14px;
  line-height: 1.45;
}

.registration-message:not(:empty) { display: block !important; }
.registration-message.loading,
.registration-message.notice { color: var(--silver); background: rgba(255,255,255,.055); border: 1px solid var(--border); }
.registration-message.success { color: #a8e7bf; background: rgba(117,214,156,.08); border: 1px solid rgba(117,214,156,.28); }
.registration-message.error { color: #ffb8b8; background: rgba(255,92,92,.08); border: 1px solid rgba(255,92,92,.28); }

.registration-submit {
  width: 100%;
  justify-content: center;
  border: 0;
  font-size: 14px;
  cursor: pointer;
}

.registration-submit:disabled {
  opacity: .62;
  cursor: wait;
}

.sgt-fallback-links {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px 18px;
  padding: 0 4px;
  color: var(--muted);
  font-size: 12px;
}

.sgt-fallback-links a { color: var(--gold, #C8A85A); }

.registration-progress {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  max-width: 860px;
  margin: 34px auto 0;
  text-align: left;
}

.progress-step {
  display: grid;
  grid-template-columns: 38px 1fr;
  column-gap: 11px;
  row-gap: 2px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(0,0,0,.23);
  padding: 15px;
}

.progress-step > span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid var(--border);
  color: var(--muted);
  font-weight: 900;
}

.progress-step strong { color: var(--white); font-size: 14px; }
.progress-step small { color: var(--muted); font-size: 12px; }
.progress-step.active { border-color: rgba(200,168,90,.38); }
.progress-step.active > span { color: var(--gold, #C8A85A); border-color: rgba(200,168,90,.5); }
.progress-step.complete { border-color: rgba(117,214,156,.28); background: rgba(117,214,156,.055); }
.progress-step.complete > span { color: #9ae2b5; border-color: rgba(117,214,156,.45); }
.progress-step.warning { border-color: rgba(232,184,74,.35); }
.progress-step.warning > span { color: #e8b84a; border-color: rgba(232,184,74,.5); }

.registration-confirmation-note {
  max-width: 700px;
  margin: 22px auto 0;
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 980px) {
  .registration-shell { grid-template-columns: 1fr; }
  .registration-intro { padding-right: 0; }
}

@media (max-width: 680px) {
  .registration-shell { padding: 18px; border-radius: 26px; }
  .registration-form { grid-template-columns: 1fr; padding: 18px; }
  .account-choice { grid-template-columns: 1fr; }
  .registration-form .full-width,
  .account-choice legend { grid-column: 1; }
  .registration-payment-note { align-items: flex-start; flex-direction: column; }
  .registration-progress { grid-template-columns: 1fr; }
  .sgt-fallback-links { justify-content: flex-start; }
}

/* ==========================================
   V9 POST-REGISTRATION EXPERIENCE
========================================== */
.registration-confirmation-page {
  display: grid;
  gap: 24px;
}

.confirmation-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 30px;
  align-items: end;
  border: 1px solid var(--border);
  border-radius: 34px;
  background:
    radial-gradient(circle at 84% 10%, rgba(200,168,90,.17), transparent 32%),
    radial-gradient(circle at 8% 0%, rgba(117,214,156,.08), transparent 28%),
    var(--card);
  padding: 48px;
  box-shadow: var(--shadow);
}

.confirmation-hero h1 {
  max-width: 900px;
  margin: 10px 0 16px;
  color: var(--white);
  font-size: clamp(52px, 7vw, 100px);
  line-height: .9;
  letter-spacing: -.065em;
}

.confirmation-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--silver);
  font-size: 18px;
  line-height: 1.65;
}

.confirmation-badge {
  display: grid;
  grid-template-columns: 14px 1fr;
  column-gap: 12px;
  row-gap: 4px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: rgba(0,0,0,.28);
  padding: 20px;
}

.confirmation-badge > span {
  grid-row: 1 / 3;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #e8b84a;
  box-shadow: 0 0 0 6px rgba(232,184,74,.12);
}

.confirmation-badge strong { color: var(--white); font-size: 15px; }
.confirmation-badge small { color: var(--muted); font-size: 12px; line-height: 1.45; }
.confirmation-badge.complete { border-color: rgba(117,214,156,.3); background: rgba(117,214,156,.055); }
.confirmation-badge.complete > span { background: #75d69c; box-shadow: 0 0 0 6px rgba(117,214,156,.12); }
.confirmation-badge.warning { border-color: rgba(232,184,74,.36); }

.registration-progress-four {
  max-width: none;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
}

.confirmation-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: 24px;
}

.confirmation-details-card,
.confirmation-next-card,
.confirmation-schedule-panel,
.confirmation-help-panel,
.confirmation-play-ahead {
  border: 1px solid var(--border);
  border-radius: 30px;
  background: var(--card);
  box-shadow: var(--shadow);
}

.confirmation-details-card,
.confirmation-next-card,
.confirmation-schedule-panel,
.confirmation-help-panel {
  padding: 30px;
}

.confirmation-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
}

.confirmation-section-header h2,
.confirmation-next-card h2,
.confirmation-play-ahead h2,
.confirmation-help-panel h2 {
  margin: 8px 0 0;
  color: var(--white);
  font-size: clamp(32px, 4vw, 54px);
  line-height: .96;
  letter-spacing: -.045em;
}

.btn.compact {
  flex: 0 0 auto;
  padding: 12px 17px;
  font-size: 11px;
}

.confirmation-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 26px;
}

.confirmation-detail-grid article {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 18px;
  background: rgba(0,0,0,.22);
  padding: 16px;
}

.confirmation-detail-grid span,
.confirmation-schedule-grid span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .13em;
}

.confirmation-detail-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--white);
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.confirmation-email-notice {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 14px;
  border: 1px solid rgba(200,168,90,.28);
  border-radius: 18px;
  background: rgba(200,168,90,.055);
  padding: 15px 17px;
}

.confirmation-email-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #e8b84a;
  box-shadow: 0 0 0 5px rgba(232,184,74,.1);
}

.confirmation-email-notice > div { display: grid; gap: 3px; }
.confirmation-email-notice strong { color: var(--white); font-size: 13px; }
.confirmation-email-notice small { color: var(--muted); font-size: 12px; line-height: 1.45; }
.confirmation-email-notice.sent { border-color: rgba(117,214,156,.28); background: rgba(117,214,156,.055); }
.confirmation-email-notice.sent .confirmation-email-dot { background: #75d69c; box-shadow: 0 0 0 5px rgba(117,214,156,.1); }

.confirmation-next-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(200,168,90,.12), transparent 34%),
    var(--card);
}

.confirmation-next-list {
  display: grid;
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.confirmation-next-list li {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  align-items: start;
  border-top: 1px solid var(--border);
  padding-top: 14px;
}

.confirmation-next-list li > span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid rgba(200,168,90,.4);
  color: var(--gold, #C8A85A);
  font-size: 12px;
  font-weight: 900;
}

.confirmation-next-list strong { color: var(--white); font-size: 14px; }
.confirmation-next-list p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }

.confirmation-play-ahead {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 36px;
  align-items: center;
  padding: 32px 36px;
  background:
    linear-gradient(105deg, rgba(200,168,90,.11), transparent 50%),
    var(--card);
}

.confirmation-play-ahead p {
  margin: 0;
  color: var(--silver);
  font-size: 15px;
  line-height: 1.7;
}

.confirmation-schedule-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 26px;
}

.confirmation-schedule-grid article {
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 18px;
  background: rgba(0,0,0,.2);
  padding: 18px;
}

.confirmation-schedule-grid article.championship {
  border-color: rgba(200,168,90,.38);
  background: rgba(200,168,90,.065);
}

.confirmation-schedule-grid article.championship span { color: var(--gold, #C8A85A); }
.confirmation-schedule-grid strong { display: block; margin-top: 10px; color: var(--white); font-size: 17px; line-height: 1.3; }
.confirmation-schedule-grid small { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.5; }

.confirmation-help-panel {
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(200,168,90,.15), transparent 40%),
    var(--card);
}

.confirmation-help-panel h2 { max-width: 760px; margin-left: auto; margin-right: auto; }
.confirmation-actions { justify-content: center; margin-top: 24px; }
.confirmation-help-panel > p { margin: 20px 0 0; color: var(--muted); font-size: 11px; }

@media (max-width: 1050px) {
  .confirmation-dashboard { grid-template-columns: 1fr; }
  .confirmation-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .confirmation-schedule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .registration-progress-four { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .confirmation-hero { grid-template-columns: 1fr; padding: 28px 22px; }
  .confirmation-badge { max-width: none; }
  .confirmation-section-header { align-items: flex-start; flex-direction: column; }
  .confirmation-play-ahead { grid-template-columns: 1fr; gap: 18px; padding: 26px 22px; }
  .confirmation-detail-grid,
  .confirmation-schedule-grid,
  .registration-progress-four { grid-template-columns: 1fr; }
  .confirmation-details-card,
  .confirmation-next-card,
  .confirmation-schedule-panel,
  .confirmation-help-panel { padding: 22px; border-radius: 24px; }
  .confirmation-actions { display: grid; }
  .confirmation-actions .btn { width: 100%; justify-content: center; }
}

/* V10 protected admin confirmation-email test */
.admin-test-page { min-height: 100vh; background: #050806; }
.admin-only-badge {
  border: 1px solid rgba(200,168,90,.35);
  border-radius: 999px;
  padding: 9px 13px;
  color: var(--gold, #c8a85a);
  background: rgba(200,168,90,.07);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.admin-test-shell { padding-top: 132px; }
.admin-test-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .45fr);
  gap: 36px;
  align-items: end;
  border: 1px solid var(--border);
  border-radius: 34px;
  padding: 42px;
  background: radial-gradient(circle at 100% 0%, rgba(200,168,90,.13), transparent 36%), var(--card);
}
.admin-test-hero h1 { max-width: 950px; margin: 12px 0 16px; color: var(--white); font-size: clamp(46px, 7vw, 94px); line-height: .91; letter-spacing: -.055em; }
.admin-test-hero p { max-width: 820px; margin: 0; color: var(--silver); font-size: 16px; line-height: 1.7; }
.admin-test-hero aside { border: 1px solid rgba(200,168,90,.3); border-radius: 22px; padding: 22px; background: rgba(0,0,0,.24); }
.admin-test-hero aside span { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.admin-test-hero aside strong { display: block; margin-top: 9px; color: var(--white); font-size: 22px; }
.admin-test-hero aside small { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.admin-test-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(290px, .55fr); gap: 22px; margin-top: 22px; }
.admin-test-form,
.admin-test-notes { border: 1px solid var(--border); border-radius: 30px; background: var(--card); padding: 30px; }
.admin-test-heading { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; margin-bottom: 24px; }
.admin-test-heading h2,
.admin-test-notes h2 { margin: 7px 0 0; color: var(--white); font-size: clamp(28px, 4vw, 48px); line-height: .98; letter-spacing: -.04em; }
.admin-test-heading > p { max-width: 400px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.admin-test-form label { display: grid; gap: 9px; color: var(--silver); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.admin-test-form input { width: 100%; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(0,0,0,.24); color: var(--white); padding: 15px 16px; font: inherit; text-transform: none; letter-spacing: normal; }
.admin-test-form input:focus { outline: none; border-color: rgba(200,168,90,.65); box-shadow: 0 0 0 4px rgba(200,168,90,.08); }
.admin-test-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 14px 0; }
.admin-test-form > .btn { margin-top: 20px; }
.admin-test-form > .btn:disabled { opacity: .55; cursor: wait; }
.admin-test-status { display: grid; grid-template-columns: 12px 1fr; gap: 13px; align-items: start; margin-top: 18px; border: 1px solid var(--border); border-radius: 17px; padding: 15px; background: rgba(0,0,0,.2); }
.admin-test-status > span { width: 10px; height: 10px; margin-top: 4px; border-radius: 50%; background: #e8b84a; box-shadow: 0 0 0 5px rgba(232,184,74,.1); }
.admin-test-status > div { display: grid; gap: 4px; }
.admin-test-status strong { color: var(--white); font-size: 13px; }
.admin-test-status small { color: var(--muted); font-size: 12px; line-height: 1.45; }
.admin-test-status.success { border-color: rgba(117,214,156,.3); }
.admin-test-status.success > span { background: #75d69c; box-shadow: 0 0 0 5px rgba(117,214,156,.1); }
.admin-test-status.error { border-color: rgba(234,98,98,.35); }
.admin-test-status.error > span { background: #ea6262; box-shadow: 0 0 0 5px rgba(234,98,98,.1); }
.admin-test-notes code { display: block; margin-top: 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(0,0,0,.22); padding: 11px 12px; color: #d9dfdc; overflow-wrap: anywhere; }
.admin-test-notes p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.admin-test-notes hr { border: 0; border-top: 1px solid var(--border); margin: 24px 0; }
.admin-test-notes > strong { color: var(--white); font-size: 15px; }
@media (max-width: 900px) {
  .admin-test-hero,
  .admin-test-grid { grid-template-columns: 1fr; }
  .admin-test-heading { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 620px) {
  .admin-test-shell { padding-top: 104px; }
  .admin-test-hero,
  .admin-test-form,
  .admin-test-notes { padding: 22px; border-radius: 24px; }
  .admin-test-fields { grid-template-columns: 1fr; }
}

/* ==========================================
   PLAYER CARDS 2.0 + CAREER PLATFORM v11
========================================== */

.roster-badge-stack {
  display: grid;
  justify-items: end;
  gap: 8px;
}

.founding-badge,
.competitor-badge,
.cut-status {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  padding: 8px 11px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .11em;
  line-height: 1;
  text-transform: uppercase;
  text-align: right;
}

.founding-badge {
  color: var(--gold, #c8a85a);
  border: 1px solid rgba(200,168,90,.42);
  background: rgba(200,168,90,.09);
}

.competitor-badge {
  color: var(--silver);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.045);
}

.cut-status {
  color: var(--muted);
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
}

.cut-status.inside-gross-cut,
.cut-status.inside-net-cut,
.cut-status.inside-both-cuts,
.cut-status.qualified-via-gross,
.cut-status.qualified-via-net,
.cut-status.qualified-via-gross-net {
  color: #92e6ad;
  border-color: rgba(65,190,105,.4);
  background: rgba(65,190,105,.09);
}

.cut-status.on-the-bubble {
  color: #e7ca7a;
  border-color: rgba(231,202,122,.35);
  background: rgba(231,202,122,.08);
}

.player-card-rank-stats strong {
  font-size: 22px;
}

.player-card-v2 .roster-card-main .eyebrow {
  color: var(--muted);
}

.founding-profile-badge {
  color: var(--gold, #c8a85a);
  border-color: rgba(200,168,90,.38);
  background: rgba(200,168,90,.08);
}

.dual-points-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 20px;
}

.dual-points-grid > div {
  padding: 20px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: rgba(255,255,255,.025);
}

.dual-points-grid span,
.dual-points-grid small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.dual-points-grid strong {
  display: block;
  margin: 10px 0 7px;
  font-size: 42px;
}

.career-rank-grid {
  margin-top: 18px;
}

.player-awards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.player-awards div {
  min-height: 110px;
}

.player-awards strong {
  display: block;
  color: var(--gold, #c8a85a);
  font-size: 30px;
}

.player-event-history-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 17px;
  margin-top: 17px;
  border-top: 1px solid rgba(255,255,255,.08);
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .09em;
}

@media (max-width: 700px) {
  .roster-card-top {
    align-items: flex-start;
  }

  .roster-badge-stack {
    max-width: 190px;
  }

  .dual-points-grid,
  .player-awards {
    grid-template-columns: 1fr;
  }

  .player-event-history-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ==========================================
   V12 ADMIN PLAYER PROFILE EDITOR
========================================== */
.admin-profile-shell { padding-bottom: 80px; }
.admin-profile-unlock-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .6fr);
  gap: 18px;
  margin-top: 22px;
  align-items: stretch;
}
.admin-profile-unlock-card > * {
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--card);
}
.admin-profile-unlock { display: flex; align-items: end; gap: 14px; padding: 22px; }
.admin-profile-unlock label { flex: 1; }
.admin-profile-unlock .btn { flex: 0 0 auto; margin: 0; }
.admin-profile-unlock-card .admin-test-status { margin: 0; min-height: 100%; align-content: center; }
.admin-profile-editor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .55fr);
  gap: 22px;
  margin-top: 22px;
  scroll-margin-top: 120px;
}
.admin-profile-form select,
.admin-profile-form input {
  width: 100%;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 15px;
  background: rgba(0,0,0,.24);
  color: var(--white);
  padding: 15px 16px;
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
}
.admin-profile-form select:focus,
.admin-profile-form input:focus { outline: none; border-color: rgba(200,168,90,.65); box-shadow: 0 0 0 4px rgba(200,168,90,.08); }
.admin-profile-form input[readonly] { color: var(--muted); background: rgba(255,255,255,.025); cursor: not-allowed; }
.admin-profile-readonly-grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 12px; margin: 14px 0; }
.admin-location-fields { grid-template-columns: 1fr .6fr .45fr; }
.field-optional { color: var(--muted); font-weight: 700; text-transform: lowercase; letter-spacing: 0; }
.admin-profile-toggles { display: grid; gap: 10px; margin-top: 16px; }
.admin-toggle-row {
  display: grid !important;
  grid-template-columns: 20px 1fr;
  align-items: start;
  gap: 13px !important;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 17px;
  background: rgba(0,0,0,.19);
  padding: 15px;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.admin-toggle-row input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--gold, #c8a85a); }
.admin-toggle-row span { display: grid; gap: 4px; }
.admin-toggle-row strong { color: var(--white); font-size: 13px; }
.admin-toggle-row small { color: var(--muted); font-size: 12px; line-height: 1.45; font-weight: 500; }
.admin-profile-preview-panel {
  position: sticky;
  top: 104px;
  height: fit-content;
  border: 1px solid var(--border);
  border-radius: 30px;
  background: radial-gradient(circle at 100% 0%, rgba(200,168,90,.11), transparent 34%), var(--card);
  padding: 28px;
}
.admin-profile-preview-panel h2 { margin: 7px 0 22px; color: var(--white); font-size: 34px; line-height: 1; letter-spacing: -.04em; }
.admin-profile-preview-card { display: grid; min-height: 350px; }
.admin-profile-preview-card .roster-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.admin-profile-preview-card .roster-card-main small { display: block; margin-top: 8px; color: var(--muted); }
.admin-profile-help { display: grid; gap: 7px; margin-top: 22px; border-top: 1px solid var(--border); padding-top: 20px; }
.admin-profile-help strong { margin-top: 7px; color: var(--white); font-size: 13px; }
.admin-profile-help p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.admin-profile-help code { color: var(--silver); overflow-wrap: anywhere; }
@media (max-width: 1000px) {
  .admin-profile-editor-grid { grid-template-columns: 1fr; }
  .admin-profile-preview-panel { position: static; }
}
@media (max-width: 760px) {
  .admin-profile-unlock-card { grid-template-columns: 1fr; }
  .admin-profile-unlock { align-items: stretch; flex-direction: column; }
  .admin-profile-readonly-grid,
  .admin-location-fields { grid-template-columns: 1fr; }
}

/* =========================================================
   V13 — FACILITY PARTNER NETWORK
   ========================================================= */
.facility-network-page,
.facility-application-page { padding-top: 128px; padding-bottom: 86px; }
.facility-network-hero { align-items: stretch; }
.facility-network-hero h1,
.facility-application-hero h1 { max-width: 930px; margin: 12px 0 17px; color: var(--white); font-size: clamp(48px, 7vw, 94px); line-height: .91; letter-spacing: -.055em; }
.facility-network-hero p,
.facility-application-hero p { max-width: 760px; color: var(--silver); font-size: 16px; line-height: 1.7; }
.facility-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.facility-economics-card { display: flex; flex-direction: column; justify-content: center; min-height: 250px; }
.facility-economics-card strong { font-size: clamp(36px, 5vw, 62px); letter-spacing: -.05em; }
.facility-partner-model { margin-top: 26px; }
.facility-model-intro { max-width: 650px; color: var(--muted); line-height: 1.65; }
.facility-hosting-strip { display: grid; grid-template-columns: minmax(240px,.7fr) minmax(0,1.5fr) auto; gap: 28px; align-items: center; margin-top: 24px; border: 1px solid var(--border); border-radius: 28px; background: linear-gradient(130deg,rgba(200,168,90,.08),rgba(255,255,255,.02)); padding: 28px; }
.facility-hosting-strip h2 { margin: 8px 0 0; color: var(--white); font-size: clamp(27px,3.6vw,46px); line-height: .98; letter-spacing: -.04em; }
.facility-hosting-points { display: flex; flex-wrap: wrap; gap: 9px; }
.facility-hosting-points span { border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(0,0,0,.22); padding: 10px 13px; color: var(--silver); font-size: 11px; font-weight: 800; }
.facility-hosting-strip > a { color: var(--white); font-size: 12px; font-weight: 900; letter-spacing: .04em; text-decoration: none; white-space: nowrap; }
.facility-hosting-strip > a span { color: var(--gold); }
.facility-directory-header { scroll-margin-top: 110px; }
.facility-directory-card { min-height: 425px; }
.facility-directory-card.founding-facility-card { border-color: rgba(200,168,90,.38); box-shadow: inset 0 1px rgba(255,255,255,.04), 0 24px 80px rgba(0,0,0,.2); }
.facility-card-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: auto; border-top: 1px solid var(--border); padding-top: 18px; }
.facility-card-actions > span { grid-column: 1/-1; color: var(--muted); font-size: 12px; }
.facility-card-button { justify-content: center; min-width: 0; padding: 11px 12px; font-size: 10px; }
.facility-empty-state { grid-column: 1/-1; }
.facility-network-cta { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 30px; align-items: center; margin-top: 28px; border: 1px solid rgba(200,168,90,.28); border-radius: 30px; background: radial-gradient(circle at 95% 0,rgba(200,168,90,.14),transparent 40%),var(--card); padding: 34px; }
.facility-network-cta h2 { margin: 8px 0 13px; max-width: 850px; color: var(--white); font-size: clamp(32px,4.5vw,58px); line-height: .96; letter-spacing: -.045em; }
.facility-network-cta p { max-width: 820px; margin: 0; color: var(--muted); line-height: 1.65; }

.facility-application-hero { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(270px,.55fr); gap: 28px; align-items: stretch; }
.facility-application-hero aside { display: flex; flex-direction: column; justify-content: center; border: 1px solid rgba(200,168,90,.3); border-radius: 28px; background: radial-gradient(circle at top right,rgba(200,168,90,.15),transparent 55%),var(--card); padding: 30px; }
.facility-application-hero aside span { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.facility-application-hero aside strong { margin-top: 10px; color: var(--white); font-size: 38px; letter-spacing: -.04em; }
.facility-application-hero aside small { margin-top: 9px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.facility-economics-breakdown { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 26px; }
.facility-economics-breakdown article { border: 1px solid var(--border); border-radius: 22px; background: var(--card); padding: 23px; }
.facility-economics-breakdown span { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.facility-economics-breakdown strong { display: block; margin-top: 9px; color: var(--white); font-size: 24px; }
.facility-economics-breakdown p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.facility-standards-panel { margin-top: 24px; border: 1px solid var(--border); border-radius: 30px; background: var(--card); padding: 32px; scroll-margin-top: 110px; }
.facility-standards-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.65fr); gap: 30px; align-items: end; }
.facility-standards-heading h2 { margin: 8px 0 0; color: var(--white); font-size: clamp(34px,4.7vw,62px); line-height: .95; letter-spacing: -.045em; }
.facility-standards-heading p { margin: 0; color: var(--muted); line-height: 1.65; }
.facility-standards-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin-top: 28px; }
.facility-standards-grid article { border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(0,0,0,.18); padding: 19px; }
.facility-standards-grid strong { color: var(--white); font-size: 14px; }
.facility-standards-grid p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.58; }
.facility-application-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(290px,.55fr); gap: 22px; align-items: start; margin-top: 24px; }
.facility-application-form,
.facility-application-side > div { border: 1px solid var(--border); border-radius: 28px; background: var(--card); padding: 30px; }
.facility-form-heading { display: flex; justify-content: space-between; gap: 26px; align-items: end; margin-bottom: 25px; }
.facility-form-heading h2 { margin: 8px 0 0; color: var(--white); font-size: clamp(31px,4vw,50px); line-height: .98; letter-spacing: -.04em; }
.facility-form-heading > p { max-width: 390px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.facility-application-form label,
.admin-facility-review-form label { display: grid; gap: 9px; color: var(--silver); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.facility-application-form input,
.facility-application-form select,
.facility-application-form textarea,
.admin-facility-review-form input,
.admin-facility-review-form select,
.admin-facility-review-form textarea { width: 100%; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(0,0,0,.24); color: var(--white); padding: 14px 15px; font: inherit; line-height: 1.45; text-transform: none; letter-spacing: normal; resize: vertical; }
.facility-application-form input:focus,
.facility-application-form select:focus,
.facility-application-form textarea:focus,
.admin-facility-review-form input:focus,
.admin-facility-review-form select:focus,
.admin-facility-review-form textarea:focus { outline: none; border-color: rgba(200,168,90,.65); box-shadow: 0 0 0 4px rgba(200,168,90,.08); }
.facility-form-grid { display: grid; gap: 14px; margin: 14px 0; }
.facility-form-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.facility-form-grid.location { grid-template-columns: 1fr .45fr .55fr .35fr; }
.facility-form-checks { display: grid; gap: 10px; margin-top: 18px; }
.facility-form-checks label { display: flex; grid-template-columns: none; flex-direction: row; gap: 13px; align-items: flex-start; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(0,0,0,.18); padding: 15px; text-transform: none; letter-spacing: normal; }
.facility-form-checks input { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--gold); }
.facility-form-checks span { display: grid; gap: 4px; }
.facility-form-checks strong { color: var(--white); font-size: 13px; }
.facility-form-checks small { color: var(--muted); font-size: 12px; line-height: 1.45; font-weight: 500; }
.facility-application-form > .btn { margin-top: 20px; }
.facility-application-form > .btn:disabled { opacity: .55; cursor: wait; }
.facility-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.facility-application-status { margin-top: 16px; }
.facility-application-side { display: grid; gap: 14px; position: sticky; top: 110px; }
.facility-application-side h3 { margin: 8px 0 14px; color: var(--white); font-size: 24px; letter-spacing: -.025em; }
.facility-application-side ul { margin: 0; padding-left: 18px; color: var(--silver); font-size: 13px; line-height: 1.75; }
.facility-application-side > p { margin: 0; border: 1px solid rgba(200,168,90,.25); border-radius: 18px; background: rgba(200,168,90,.07); padding: 18px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.facility-application-side > p a { color: var(--gold); }
.field-optional { color: var(--muted); font-size: 9px; font-weight: 600; text-transform: none; letter-spacing: normal; }

.btn.danger { border-color: rgba(234,98,98,.45); color: #ffb2b2; background: rgba(234,98,98,.08); }
.admin-facility-shell { padding-bottom: 80px; }
.admin-facility-workspace { margin-top: 22px; }
.admin-facility-tabs { display: flex; gap: 8px; margin-bottom: 14px; border: 1px solid var(--border); border-radius: 17px; background: var(--card); padding: 7px; }
.admin-facility-tabs button { border: 0; border-radius: 12px; background: transparent; color: var(--muted); padding: 12px 16px; font-weight: 900; cursor: pointer; }
.admin-facility-tabs button.active { background: var(--white); color: #070a08; }
.admin-facility-tabs span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: 6px; border-radius: 999px; background: rgba(200,168,90,.16); color: var(--gold); font-size: 10px; }
.admin-facility-tabs button.active span { background: #131713; color: #fff; }
.admin-facility-panel { display: grid; grid-template-columns: minmax(260px,.55fr) minmax(0,1.45fr); gap: 16px; align-items: start; }
.admin-facility-list-panel { border: 1px solid var(--border); border-radius: 24px; background: var(--card); padding: 18px; position: sticky; top: 105px; }
.admin-facility-list-heading { display: grid; gap: 9px; padding: 4px 4px 14px; }
.admin-facility-list-heading select { border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: rgba(0,0,0,.25); color: var(--white); padding: 10px; }
.admin-facility-list-heading small { color: var(--muted); }
.admin-facility-list { display: grid; gap: 8px; max-height: 680px; overflow: auto; }
.admin-facility-list-item { display: grid; gap: 6px; width: 100%; border: 1px solid rgba(255,255,255,.08); border-radius: 15px; background: rgba(0,0,0,.18); padding: 14px; color: var(--white); text-align: left; cursor: pointer; }
.admin-facility-list-item:hover,
.admin-facility-list-item.active { border-color: rgba(200,168,90,.5); background: rgba(200,168,90,.075); }
.admin-facility-list-item strong { font-size: 14px; }
.admin-facility-list-item small { color: var(--muted); font-size: 11px; }
.facility-admin-status { display: inline-flex; width: fit-content; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; padding: 5px 8px; color: var(--silver); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.facility-admin-status.pending { border-color: rgba(232,184,74,.35); color: #e8b84a; }
.facility-admin-status.needs_info { border-color: rgba(93,174,235,.38); color: #8dc9f4; }
.facility-admin-status.approved { border-color: rgba(117,214,156,.35); color: #75d69c; }
.facility-admin-status.declined { border-color: rgba(234,98,98,.35); color: #ea8b8b; }
.admin-facility-empty { border: 1px dashed var(--border); border-radius: 14px; padding: 18px; color: var(--muted); font-size: 12px; }
.admin-facility-review-form { min-width: 0; }
.compact-toggle { display: flex !important; flex-direction: row; align-items: center; align-self: end; min-height: 72px; }
.facility-admin-readout-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 14px 0; }
.facility-admin-readout-grid article { border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(0,0,0,.18); padding: 14px; }
.facility-admin-readout-grid span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.facility-admin-readout-grid p { margin: 7px 0 0; color: var(--silver); font-size: 12px; line-height: 1.5; white-space: pre-wrap; }
.admin-facility-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }

@media (max-width: 1000px) {
  .facility-hosting-strip,
  .facility-network-cta,
  .facility-application-hero,
  .facility-standards-heading,
  .facility-application-layout,
  .admin-facility-panel { grid-template-columns: 1fr; }
  .facility-hosting-strip > a { white-space: normal; }
  .facility-application-side,
  .admin-facility-list-panel { position: static; }
  .facility-standards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .facility-network-page,
  .facility-application-page { padding-top: 102px; }
  .facility-economics-breakdown,
  .facility-standards-grid,
  .facility-form-grid.two,
  .facility-form-grid.location,
  .facility-admin-readout-grid { grid-template-columns: 1fr; }
  .facility-form-heading { align-items: flex-start; flex-direction: column; }
  .facility-card-actions { grid-template-columns: 1fr; }
  .facility-network-cta,
  .facility-standards-panel,
  .facility-application-form,
  .facility-application-side > div { padding: 22px; border-radius: 23px; }
  .admin-facility-tabs { overflow-x: auto; }
  .admin-facility-tabs button { white-space: nowrap; }
}

/* =========================================================
   V14 — SEASON OPERATIONS ADMIN
   ========================================================= */
.operations-shell { padding-bottom: 90px; }
.operations-hero aside strong { color: var(--gold); }
.operations-unlock-card { margin-bottom: 22px; }
.operations-workspace { display: grid; gap: 18px; }
.operations-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(216,184,106,.10), rgba(14,18,26,.82));
  padding: 24px;
}
.operations-toolbar h2 { margin: 7px 0 5px; font-size: clamp(25px, 4vw, 38px); letter-spacing: -.04em; }
.operations-toolbar p { margin: 0; color: var(--muted); font-size: 13px; }
.operations-toolbar-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.operations-admin-links { display: flex; flex-wrap: wrap; gap: 8px; }
.operations-admin-links a {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  padding: 9px 13px;
  color: var(--silver);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.operations-admin-links a:hover { border-color: rgba(216,184,106,.45); color: var(--white); }
.operations-summary-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 11px; }
.operations-summary-card {
  display: grid;
  gap: 8px;
  min-height: 138px;
  align-content: center;
  border: 1px solid var(--border);
  border-radius: 21px;
  background: var(--card);
  padding: 18px;
}
.operations-summary-card.highlight { border-color: rgba(216,184,106,.28); background: linear-gradient(145deg, rgba(216,184,106,.11), rgba(14,18,26,.84)); }
.operations-summary-card.warning-card strong { color: #e8b84a; }
.operations-summary-card span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.operations-summary-card strong { color: var(--white); font-size: clamp(25px, 3vw, 37px); line-height: 1; letter-spacing: -.04em; }
.operations-summary-card small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.operations-content-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(290px,.65fr); gap: 16px; align-items: start; }
.operations-panel {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 25px;
  background: var(--card);
  padding: 23px;
  box-shadow: 0 18px 55px rgba(0,0,0,.18);
}
.operations-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.operations-panel-heading h2 { margin: 6px 0 0; font-size: clamp(23px, 3vw, 31px); letter-spacing: -.035em; }
.operations-panel-heading > small { max-width: 420px; color: var(--muted); font-size: 11px; line-height: 1.5; text-align: right; }
.operations-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  padding: 6px 9px;
  color: var(--silver);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
  white-space: nowrap;
}
.operations-status-pill.good,
.operations-status-pill.paid,
.operations-status-pill.complete,
.operations-status-pill.qualified,
.operations-status-pill.open,
.operations-status-pill.active { border-color: rgba(117,214,156,.35); color: #75d69c; background: rgba(117,214,156,.06); }
.operations-status-pill.warning,
.operations-status-pill.pending,
.operations-status-pill.needs-retry,
.operations-status-pill.upcoming,
.operations-status-pill.partially-refunded { border-color: rgba(232,184,74,.38); color: #e8b84a; background: rgba(232,184,74,.06); }
.operations-status-pill.failed,
.operations-status-pill.refunded,
.operations-status-pill.canceled,
.operations-status-pill.removed { border-color: rgba(234,98,98,.38); color: #ea8b8b; background: rgba(234,98,98,.06); }
.operations-status-pill.closed,
.operations-status-pill.finalized { border-color: rgba(135,164,211,.34); color: #9db5dc; background: rgba(135,164,211,.06); }
.operations-payout-controls { display: grid; grid-template-columns: .65fr 1fr 1fr; gap: 10px; }
.operations-payout-controls label { display: grid; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.operations-payout-controls input,
.operations-table-controls input,
.operations-table-controls select {
  width: 100%;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 12px;
  background: rgba(0,0,0,.24);
  color: var(--white);
  padding: 12px;
  font: inherit;
}
.operations-pool-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.operations-pool-split > div { border: 1px solid rgba(216,184,106,.22); border-radius: 16px; background: rgba(216,184,106,.055); padding: 16px; }
.operations-pool-split span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.operations-pool-split strong { display: block; margin-top: 6px; font-size: 25px; }
.operations-payout-tables { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.operations-payout-tables h3 { margin: 0 0 9px; font-size: 14px; }
.operations-payout-rows { display: grid; gap: 7px; }
.operations-payout-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(0,0,0,.17); padding: 12px; }
.operations-payout-row span { color: var(--muted); font-size: 10px; }
.operations-payout-row strong { font-size: 15px; }
.operations-rule-note { margin: 16px 0 0; border-left: 2px solid var(--gold); padding-left: 12px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.operations-readiness-list { display: grid; gap: 8px; }
.operations-readiness-item { display: flex; gap: 11px; align-items: flex-start; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(0,0,0,.16); padding: 12px; }
.operations-readiness-item > span { display: grid; place-items: center; flex: 0 0 23px; width: 23px; height: 23px; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); color: var(--silver); font-weight: 900; font-size: 10px; }
.operations-readiness-item.good > span { border-color: rgba(117,214,156,.4); color: #75d69c; }
.operations-readiness-item.warning > span { border-color: rgba(232,184,74,.42); color: #e8b84a; }
.operations-readiness-item div { display: grid; gap: 3px; }
.operations-readiness-item strong { font-size: 12px; }
.operations-readiness-item small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.operations-sync-meta { display: grid; gap: 4px; margin-top: 12px; border-top: 1px solid rgba(255,255,255,.08); padding-top: 13px; }
.operations-sync-meta span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; font-weight: 900; }
.operations-sync-meta strong { font-size: 12px; }
.operations-event-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; }
.operations-event-card { display: grid; align-content: start; gap: 7px; min-height: 150px; border: 1px solid rgba(255,255,255,.08); border-radius: 17px; background: rgba(0,0,0,.16); padding: 14px; }
.operations-event-card.championship { border-color: rgba(216,184,106,.35); background: rgba(216,184,106,.06); }
.operations-event-topline { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.operations-event-topline > span:first-child { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.operations-event-card h3 { margin: 3px 0 0; font-size: 15px; line-height: 1.2; }
.operations-event-card p { margin: 0; color: var(--silver); font-size: 10px; }
.operations-event-card small { margin-top: auto; color: var(--muted); font-size: 9px; line-height: 1.4; }
.operations-table-heading { align-items: flex-end; }
.operations-table-controls { display: grid; grid-template-columns: minmax(210px,1fr) 170px; gap: 8px; width: min(520px,100%); }
.operations-table-wrap { overflow-x: auto; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; }
.operations-table { width: 100%; min-width: 820px; border-collapse: collapse; }
.operations-table th { background: rgba(0,0,0,.28); color: var(--muted); padding: 11px 12px; font-size: 8px; letter-spacing: .09em; text-transform: uppercase; text-align: left; }
.operations-table td { border-top: 1px solid rgba(255,255,255,.065); padding: 12px; color: var(--silver); font-size: 11px; vertical-align: middle; }
.operations-table tbody tr:hover { background: rgba(255,255,255,.025); }
.operations-table tbody tr.attention-row { background: rgba(232,184,74,.035); }
.operations-table td strong { display: block; color: var(--white); font-size: 12px; }
.operations-table td small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.operations-table td .operations-status-pill + small { margin-top: 6px; }
.operations-empty { border: 1px dashed var(--border); border-radius: 14px; margin-top: 12px; padding: 18px; color: var(--muted); text-align: center; font-size: 11px; }
.operations-cut-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-bottom: 14px; }
.operations-cut-summary > div { border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(0,0,0,.16); padding: 13px; }
.operations-cut-summary span { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.operations-cut-summary strong { display: block; margin-top: 6px; font-size: 20px; }

@media (max-width: 1180px) {
  .operations-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .operations-event-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .operations-content-grid { grid-template-columns: 1fr; }
  .operations-toolbar { align-items: flex-start; flex-direction: column; }
  .operations-table-heading { align-items: flex-start; flex-direction: column; }
  .operations-table-controls { width: 100%; }
}

@media (max-width: 680px) {
  .operations-shell { padding-top: 102px; }
  .operations-summary-grid,
  .operations-event-grid,
  .operations-payout-controls,
  .operations-payout-tables,
  .operations-cut-summary { grid-template-columns: 1fr; }
  .operations-pool-split { grid-template-columns: 1fr 1fr; }
  .operations-panel,
  .operations-toolbar { padding: 19px; border-radius: 21px; }
  .operations-summary-card { min-height: 112px; }
  .operations-table-controls { grid-template-columns: 1fr; }
  .operations-toolbar-actions { width: 100%; }
  .operations-toolbar-actions .btn { flex: 1; }
}

/* V15 — Manual and complimentary season registrations */
.operations-manual-panel {
  border-color: rgba(216,184,106,.32);
  background:
    radial-gradient(circle at 92% 6%, rgba(216,184,106,.11), transparent 32%),
    linear-gradient(145deg, rgba(17,22,31,.96), rgba(8,11,16,.94));
}
.operations-close-button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(0,0,0,.22);
  color: var(--silver);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.operations-close-button:hover { border-color: rgba(216,184,106,.42); color: var(--white); }
.operations-manual-intro {
  display: grid;
  gap: 5px;
  margin: -7px 0 18px;
  border-left: 2px solid var(--gold);
  padding-left: 13px;
}
.operations-manual-intro p { margin: 0; color: var(--silver); font-size: 12px; line-height: 1.55; }
.operations-manual-intro small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.operations-manual-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 13px;
}
.operations-manual-form > label:not(.operations-check-field) {
  display: grid;
  align-content: start;
  gap: 7px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.operations-manual-form select,
.operations-manual-form input,
.operations-manual-form textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 13px;
  outline: none;
  background: rgba(0,0,0,.24);
  color: var(--white);
  padding: 12px 13px;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.operations-manual-form select:focus,
.operations-manual-form input:focus,
.operations-manual-form textarea:focus { border-color: rgba(216,184,106,.5); box-shadow: 0 0 0 3px rgba(216,184,106,.07); }
.operations-manual-form textarea { resize: vertical; min-height: 86px; line-height: 1.5; }
.operations-manual-form label > small { color: var(--muted); font-size: 9px; font-weight: 500; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.operations-field-wide { grid-column: 1 / -1; }
.operations-optional { color: rgba(255,255,255,.38); font-size: 8px; font-weight: 700; }
.operations-money-input { position: relative; }
.operations-money-input > span {
  position: absolute;
  top: 50%;
  left: 13px;
  z-index: 1;
  transform: translateY(-50%);
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
}
.operations-money-input input { padding-left: 29px; }
.operations-check-field {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(0,0,0,.16);
  padding: 13px;
  cursor: pointer;
}
.operations-check-field input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--gold); }
.operations-check-field > span { display: grid; gap: 3px; }
.operations-check-field strong { color: var(--white); font-size: 11px; }
.operations-check-field small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.operations-manual-actions { display: flex; flex-wrap: wrap; gap: 9px; padding-top: 3px; }
.operations-status-pill.complimentary,
.operations-status-pill.sponsor,
.operations-status-pill.staff,
.operations-status-pill.manual-payment {
  border-color: rgba(216,184,106,.38);
  color: var(--gold);
  background: rgba(216,184,106,.07);
}

@media (max-width: 680px) {
  .operations-manual-form { grid-template-columns: 1fr; }
  .operations-field-wide { grid-column: auto; }
  .operations-manual-actions .btn { flex: 1; }
}

/* V16 — Championship lock, qualifier enrollment, and final payouts */
.operations-championship-controls {
  display: grid;
  gap: 15px;
  margin-top: 18px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 18px;
}
.operations-championship-state {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.operations-championship-state > div {
  display: grid;
  gap: 5px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 15px;
  background: rgba(0,0,0,.17);
  padding: 14px;
}
.operations-championship-state span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.operations-championship-state strong { color: var(--white); font-size: 17px; }
.operations-championship-state small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.operations-championship-actions,
.operations-final-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.operations-championship-actions .btn:disabled,
.operations-final-actions .btn:disabled { cursor: not-allowed; opacity: .42; }
.operations-final-payout-panel {
  border-color: rgba(216,184,106,.25);
  background:
    radial-gradient(circle at 85% 4%, rgba(216,184,106,.09), transparent 33%),
    linear-gradient(145deg, rgba(16,21,29,.97), rgba(7,10,15,.95));
}
.operations-payout-summary { margin-bottom: 16px; }
.operations-final-actions { margin-bottom: 8px; }
.operations-declined-row { opacity: .72; }
.operations-declined-row td:nth-child(5) strong { text-decoration: line-through; }
.operations-final-payout-panel .operations-table td:nth-child(5) strong { display: block; }
.operations-final-payout-panel .operations-table td:nth-child(5) small { color: var(--muted); }

@media (max-width: 680px) {
  .operations-championship-state { grid-template-columns: 1fr; }
  .operations-championship-actions .btn,
  .operations-final-actions .btn { flex: 1 1 100%; }
}

/* ==========================================
   V17 COMPETITOR ACCOUNTS & HUB
========================================== */

/* The HTML hidden attribute must always win over component display rules. */
[hidden] {
  display: none !important;
}


.competitor-account-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 85% 12%, rgba(47,124,255,.18), transparent 34%),
    radial-gradient(circle at 8% 72%, rgba(216,184,106,.09), transparent 30%),
    var(--black);
}

.competitor-login-shell,
.competitor-hub-shell {
  padding-top: 145px;
  padding-bottom: 90px;
}

.competitor-login-hero {
  min-height: 590px;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(340px, .7fr);
  align-items: center;
  gap: clamp(38px, 7vw, 100px);
}

.competitor-login-hero h1,
.competitor-hub-error h1 {
  font-size: clamp(58px, 8vw, 118px);
  max-width: 900px;
}

.competitor-login-hero > div > p { max-width: 720px; }

.competitor-login-card,
.competitor-panel,
.competitor-summary-grid article,
.competitor-handicap-card {
  border: 1px solid var(--border);
  background: linear-gradient(145deg, rgba(20,25,34,.94), rgba(8,11,16,.9));
  box-shadow: var(--shadow);
}

.competitor-login-card {
  padding: 34px;
  border-radius: 28px;
}

.competitor-login-card h2 {
  font-size: clamp(36px, 4vw, 58px);
  margin-bottom: 28px;
}

.competitor-login-card label {
  display: grid;
  gap: 10px;
  color: var(--silver);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.competitor-login-card input {
  width: 100%;
  min-height: 56px;
  padding: 0 17px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
  color: var(--white);
  font: inherit;
  font-size: 16px;
  text-transform: none;
  letter-spacing: 0;
  outline: none;
}

.competitor-login-card input:focus { border-color: rgba(47,124,255,.8); }
.competitor-login-card .btn { width: 100%; margin-top: 18px; }
.competitor-login-card > small { display: block; margin-top: 16px; color: var(--muted); line-height: 1.55; }

.competitor-login-status {
  margin-top: 15px;
  padding: 13px 14px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.5;
}
.competitor-login-status.loading { background: rgba(47,124,255,.1); color: #b9d2ff; }
.competitor-login-status.success { background: rgba(73,185,120,.12); color: #aee5c5; }
.competitor-login-status.error { background: rgba(224,68,68,.12); color: #ffb5b5; }

.competitor-account-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 36px;
}

.competitor-account-benefits article {
  min-height: 230px;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: rgba(12,16,22,.72);
}
.competitor-account-benefits article > span { color: var(--gold); font-weight: 950; letter-spacing: .12em; }
.competitor-account-benefits strong { display: block; margin-top: 30px; font-size: 22px; }
.competitor-account-benefits p { margin-bottom: 0; font-size: 15px; }

.competitor-signout {
  background: transparent;
  color: var(--white);
  cursor: pointer;
}

.competitor-hub-loading,
.competitor-hub-error {
  min-height: 62vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.competitor-hub-loading strong { margin-top: 22px; font-size: 24px; }
.competitor-hub-loading small { margin-top: 8px; color: var(--muted); }
.competitor-loader { width: 48px; height: 48px; border: 3px solid rgba(255,255,255,.12); border-top-color: var(--white); border-radius: 50%; animation: competitor-spin .8s linear infinite; }
@keyframes competitor-spin { to { transform: rotate(360deg); } }
.competitor-hub-error p { max-width: 680px; }

.competitor-hub-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding: 36px 0 30px;
}
.competitor-hub-identity { display: flex; align-items: center; gap: 24px; }
.competitor-hub-avatar {
  width: 108px;
  height: 108px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(216,184,106,.5);
  border-radius: 26px;
  background: radial-gradient(circle at 35% 25%, rgba(216,184,106,.25), rgba(255,255,255,.04));
  color: var(--gold);
  font-size: 34px;
  overflow: hidden;
}
.competitor-hub-avatar img { width: 100%; height: 100%; object-fit: cover; }
.competitor-hub-identity h1 { font-size: clamp(52px, 7vw, 98px); }
.competitor-hub-identity p { margin: 12px 0 0; }
.competitor-hub-identity p strong { color: var(--white); }

.competitor-handicap-card {
  min-width: 180px;
  padding: 24px;
  border-radius: 22px;
  text-align: right;
}
.competitor-handicap-card span,
.competitor-summary-grid span,
.competitor-standings-grid span { display: block; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.competitor-handicap-card strong { display: block; margin: 4px 0; font-size: 54px; line-height: 1; }
.competitor-handicap-card small { color: var(--silver); }

.competitor-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 8px 0 22px;
}
.competitor-summary-grid article { padding: 22px; border-radius: 18px; }
.competitor-summary-grid strong { display: block; margin: 8px 0 5px; font-size: 25px; }
.competitor-summary-grid small { color: var(--muted); line-height: 1.45; }

.competitor-hub-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .72fr); gap: 20px; align-items: start; }
.competitor-hub-main,
.competitor-hub-sidebar { display: grid; gap: 20px; }
.competitor-panel { padding: 26px; border-radius: 24px; }
.competitor-panel h2 { font-size: clamp(34px, 4vw, 56px); }
.competitor-panel h3 { font-size: 25px; margin: 8px 0 0; }
.competitor-panel-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.text-link { color: var(--silver); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.text-link:hover { color: var(--white); }

.competitor-event-list { display: grid; gap: 10px; }
.competitor-event-row {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 17px;
  padding: 17px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
}
.competitor-event-row.championship { border-color: rgba(216,184,106,.34); background: rgba(216,184,106,.045); }
.competitor-event-number { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: rgba(255,255,255,.07); font-weight: 950; color: var(--gold); }
.competitor-event-copy > span { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.competitor-event-copy strong { display: block; margin-top: 4px; font-size: 19px; }
.competitor-event-copy p { margin: 4px 0 0; font-size: 13px; }
.competitor-event-action { min-width: 150px; display: grid; justify-items: end; gap: 6px; text-align: right; }
.competitor-event-action small { color: var(--muted); }
.competitor-event-action small b { color: var(--silver); }
.competitor-event-action > a { color: var(--white); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.competitor-event-status { display: inline-flex; padding: 6px 9px; border-radius: 999px; font-size: 9px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.competitor-event-status.open { background: rgba(73,185,120,.14); color: #9ce0b7; }
.competitor-event-status.completed { background: rgba(47,124,255,.15); color: #b4d0ff; }
.competitor-event-status.upcoming { background: rgba(255,255,255,.08); color: var(--silver); }
.competitor-event-status.closed,
.competitor-event-status.not_qualified { background: rgba(224,68,68,.12); color: #ffb5b5; }

.competitor-standings-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.competitor-standings-grid > div { padding: 20px; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.025); }
.competitor-standings-grid strong { display: block; margin: 8px 0; font-size: 38px; }
.competitor-standings-grid small { color: var(--muted); }
.competitor-standings-grid small b { color: var(--silver); }

.competitor-qualification-card { border-color: rgba(216,184,106,.35); }
.competitor-qualification-card > strong { display: block; margin: 10px 0; font-size: 33px; }
.competitor-qualification-card p { font-size: 14px; }
.competitor-qualification-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.competitor-qualification-badges span { padding: 8px 10px; border-radius: 999px; background: rgba(216,184,106,.12); color: #ead59f; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.competitor-qualification-badges span.muted { background: rgba(255,255,255,.06); color: var(--muted); }

.competitor-facility-actions { display: grid; gap: 12px; margin-top: 20px; }
.competitor-facility-actions .btn { width: 100%; }
.competitor-payout-list { display: grid; gap: 10px; }
.competitor-payout-list > p { font-size: 14px; margin-bottom: 0; }
.competitor-payout-list > div { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; padding: 13px; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; }
.competitor-payout-list > div strong { font-size: 20px; }
.competitor-payout-list > div small { color: var(--muted); }

.competitor-preferences-panel form { display: grid; gap: 12px; margin-top: 15px; }
.competitor-preferences-panel label { display: flex; gap: 11px; align-items: flex-start; padding: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; cursor: pointer; }
.competitor-preferences-panel input { margin-top: 3px; accent-color: var(--blue); }
.competitor-preferences-panel label span { display: grid; gap: 3px; }
.competitor-preferences-panel label small { color: var(--muted); line-height: 1.4; }
.competitor-preferences-panel .btn { width: 100%; }
#hubPreferencesStatus { color: var(--muted); text-align: center; }

@media (max-width: 1050px) {
  .competitor-login-hero,
  .competitor-hub-grid { grid-template-columns: 1fr; }
  .competitor-summary-grid { grid-template-columns: repeat(2, 1fr); }
  .competitor-hub-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .competitor-login-shell,
  .competitor-hub-shell { padding-top: 185px; }
  .competitor-login-hero { min-height: auto; }
  .competitor-account-benefits,
  .competitor-summary-grid,
  .competitor-hub-sidebar,
  .competitor-standings-grid { grid-template-columns: 1fr; }
  .competitor-hub-hero { align-items: flex-start; flex-direction: column; }
  .competitor-handicap-card { width: 100%; text-align: left; }
  .competitor-panel-heading { align-items: flex-start; flex-direction: column; }
  .competitor-event-row { grid-template-columns: 44px minmax(0,1fr); }
  .competitor-event-action { grid-column: 1 / -1; min-width: 0; justify-items: start; text-align: left; padding-left: 61px; }
}

@media (max-width: 520px) {
  .competitor-login-card,
  .competitor-panel { padding: 20px; }
  .competitor-hub-identity { align-items: flex-start; }
  .competitor-hub-avatar { width: 76px; height: 76px; border-radius: 19px; }
  .competitor-event-action { padding-left: 0; }
}

/* =========================================================
   V18 — Notification Admin
   ========================================================= */
.notification-shell { padding-bottom: 80px; }
.notification-hero h1 { max-width: 980px; }
.notification-workspace { margin-top: 22px; }
.notification-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  border: 1px solid var(--border);
  border-radius: 28px;
  background: var(--card);
  padding: 26px 28px;
}
.notification-toolbar h2 { margin: 7px 0 4px; color: var(--white); font-size: clamp(30px,4vw,50px); line-height: .98; letter-spacing: -.045em; }
.notification-toolbar p { margin: 0; color: var(--muted); }
.notification-toolbar-actions { display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }
.notification-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 14px 0; }
.notification-grid-main { display: grid; grid-template-columns: minmax(320px,.85fr) minmax(0,1.15fr); gap: 14px; align-items: start; }
.notification-grid-lower { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); gap: 14px; margin-top: 14px; align-items: start; }
.notification-settings-form { display: grid; gap: 10px; }
.notification-settings-form .admin-toggle-row { margin: 0; }
.notification-setting-fields,
.notification-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.notification-settings-form > label:not(.admin-toggle-row),
.notification-broadcast-form > label,
.notification-field-grid label {
  display: grid;
  gap: 8px;
  color: var(--silver);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.notification-settings-form select,
.notification-broadcast-form input,
.notification-broadcast-form select,
.notification-broadcast-form textarea,
.notification-history-filters input,
.notification-history-filters select {
  width: 100%;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(0,0,0,.24);
  color: var(--white);
  padding: 13px 14px;
  font: inherit;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: normal;
}
.notification-broadcast-form textarea { resize: vertical; min-height: 150px; }
.notification-settings-form select:focus,
.notification-broadcast-form input:focus,
.notification-broadcast-form select:focus,
.notification-broadcast-form textarea:focus,
.notification-history-filters input:focus,
.notification-history-filters select:focus { outline: none; border-color: rgba(200,168,90,.65); box-shadow: 0 0 0 4px rgba(200,168,90,.08); }
.notification-settings-form > .btn { margin-top: 8px; justify-self: start; }
.notification-upcoming-wrap { margin-top: 25px; padding-top: 22px; border-top: 1px solid var(--border); }
.notification-upcoming-wrap h3 { margin: 0 0 12px; color: var(--white); font-size: 16px; }
.notification-upcoming-list { display: grid; gap: 8px; }
.notification-upcoming-list article { display: grid; grid-template-columns: 10px 1fr auto; gap: 11px; align-items: center; border: 1px solid rgba(255,255,255,.07); border-radius: 13px; background: rgba(0,0,0,.18); padding: 12px; }
.notification-upcoming-list article > div { display: grid; gap: 3px; min-width: 0; }
.notification-upcoming-list strong { color: var(--silver); font-size: 12px; line-height: 1.35; }
.notification-upcoming-list small { color: var(--muted); font-size: 10px; }
.notification-upcoming-list em { color: var(--muted); font-size: 9px; font-style: normal; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.notification-window-dot { width: 8px; height: 8px; border-radius: 50%; background: #d8b86a; box-shadow: 0 0 0 4px rgba(216,184,106,.08); }
.notification-window-dot.due_or_sent { background: #75d69c; box-shadow: 0 0 0 4px rgba(117,214,156,.08); }
.notification-broadcast-form { display: grid; gap: 13px; }
.notification-selected-wrap { border: 1px solid rgba(255,255,255,.09); border-radius: 16px; padding: 14px; background: rgba(0,0,0,.16); }
.notification-selected-wrap > span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.notification-player-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; max-height: 220px; overflow: auto; margin-top: 10px; padding-right: 4px; }
.notification-player-checklist label { display: flex; gap: 9px; align-items: start; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; padding: 10px; background: rgba(255,255,255,.02); color: var(--white); cursor: pointer; }
.notification-player-checklist input { width: auto; margin-top: 2px; accent-color: var(--gold); }
.notification-player-checklist span { display: grid; gap: 3px; min-width: 0; }
.notification-player-checklist strong { font-size: 11px; }
.notification-player-checklist small { color: var(--muted); font-size: 9px; overflow-wrap: anywhere; }
.notification-essential-toggle { margin-top: 0; }
.notification-composer-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 4px; }
.notification-preview-panel iframe { width: 100%; min-height: 720px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: #050806; }
.notification-campaign-list { display: grid; gap: 9px; }
.notification-campaign-list article { display: grid; grid-template-columns: 1fr auto; gap: 8px 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(0,0,0,.18); padding: 14px; }
.notification-campaign-list article > div { display: grid; gap: 4px; min-width: 0; }
.notification-campaign-list strong { color: var(--white); font-size: 13px; }
.notification-campaign-list small,
.notification-campaign-list p { color: var(--muted); font-size: 10px; line-height: 1.45; }
.notification-campaign-list p { grid-column: 1 / -1; margin: 0; }
.notification-delivery-status { display: inline-flex; width: fit-content; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 5px 8px; color: var(--silver); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.notification-delivery-status.sent { border-color: rgba(117,214,156,.35); color: #75d69c; }
.notification-delivery-status.failed { border-color: rgba(234,98,98,.38); color: #ef9696; }
.notification-delivery-status.skipped { border-color: rgba(232,184,74,.35); color: #e8c477; }
.notification-delivery-status.pending,
.notification-delivery-status.sending { border-color: rgba(93,174,235,.35); color: #8dc9f4; }
.notification-delivery-status.partial { border-color: rgba(232,184,74,.35); color: #e8c477; }
.notification-history-panel { margin-top: 14px; }
.notification-history-filters { display: flex; gap: 8px; min-width: min(520px,100%); }
.notification-history-filters input { flex: 1; }
.notification-history-filters select { width: 150px; }
.notification-history-table td strong { display: block; color: var(--white); font-size: 12px; }
.notification-history-table td small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; overflow-wrap: anywhere; }
.notification-empty { margin: 0; border: 1px dashed rgba(255,255,255,.12); border-radius: 13px; padding: 16px; color: var(--muted); font-size: 11px; line-height: 1.5; }

@media (max-width: 1050px) {
  .notification-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .notification-grid-main,
  .notification-grid-lower { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .notification-toolbar { align-items: stretch; flex-direction: column; padding: 22px; border-radius: 23px; }
  .notification-toolbar-actions { justify-content: stretch; }
  .notification-toolbar-actions .btn { flex: 1; }
  .notification-summary-grid,
  .notification-setting-fields,
  .notification-field-grid,
  .notification-player-checklist { grid-template-columns: 1fr; }
  .notification-composer-actions { display: grid; grid-template-columns: 1fr; }
  .notification-history-filters { display: grid; min-width: 100%; }
  .notification-history-filters select { width: 100%; }
  .notification-preview-panel iframe { min-height: 620px; }
}

/* =========================================================
   V18.5 — PERMANENT PLATFORM + VISUAL POLISH
   ========================================================= */

.public-site {
  --content-max: 1380px;
  --reading-max: 720px;
  --surface-soft: rgba(255, 255, 255, .035);
  --surface-strong: rgba(14, 18, 26, .92);
  background:
    radial-gradient(circle at 82% 8%, rgba(47, 124, 255, .08), transparent 28%),
    var(--black);
}

.public-site h1,
.public-site h2 {
  text-transform: none;
  line-height: 1.02;
  letter-spacing: -.045em;
}

.public-site h1 {
  font-size: clamp(44px, 6.2vw, 78px);
  font-weight: 900;
}

.public-site main h2 {
  font-size: clamp(32px, 4.3vw, 56px);
  font-weight: 880;
}

.public-site h3 {
  letter-spacing: -.025em;
}

.public-site p {
  font-size: 16px;
  line-height: 1.62;
}

.public-site .eyebrow {
  margin-bottom: 11px;
  color: rgba(216, 184, 106, .9);
  font-size: 10px;
  letter-spacing: .17em;
}

.public-site .btn {
  min-height: 48px;
  padding: 0 22px;
  font-size: 11px;
}

.public-site .page-shell {
  width: min(100%, calc(var(--content-max) + 12vw));
  margin-inline: auto;
  padding: 124px clamp(20px, 6vw, 84px) 72px;
}

.public-site .public-page-shell {
  padding-bottom: 92px;
}

.public-site .public-page-hero,
.public-site .race-hero,
.public-site .rankings-hero,
.public-site .players-hero,
.public-site .facilities-hero,
.public-site .facility-application-hero,
.public-site .join-hero,
.public-site .rules-hero,
.public-site .sponsors-hero,
.public-site .contact-hero,
.public-site .news-hero,
.public-site .tour-detail-hero,
.public-site .event-hero {
  min-height: 0;
  margin-bottom: 44px;
  padding-block: 28px 24px;
}

.public-site .public-page-hero h1,
.public-site .race-hero h1,
.public-site .rankings-hero h1,
.public-site .players-hero h1,
.public-site .facilities-hero h1,
.public-site .facility-application-hero h1,
.public-site .join-hero h1,
.public-site .rules-hero h1,
.public-site .sponsors-hero h1,
.public-site .contact-hero h1,
.public-site .news-hero h1,
.public-site .tour-detail-hero h1,
.public-site .event-hero h1 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(44px, 6vw, 76px);
  line-height: 1;
  letter-spacing: -.052em;
}

.public-site .public-page-hero p,
.public-site .race-hero p,
.public-site .rankings-hero p,
.public-site .players-hero p,
.public-site .facilities-hero p,
.public-site .facility-application-hero p,
.public-site .join-hero p,
.public-site .rules-hero p,
.public-site .sponsors-hero p,
.public-site .contact-hero p,
.public-site .news-hero p,
.public-site .tour-detail-hero p,
.public-site .event-hero p {
  max-width: var(--reading-max);
  margin-top: 18px;
  font-size: 17px;
  line-height: 1.6;
}

.public-site .section,
.public-site .rules-section,
.public-site .sponsor-section,
.public-site .facility-model-panel,
.public-site .facility-hosting-strip,
.public-site .facility-standards-panel,
.public-site .join-economics-panel {
  padding-top: 58px;
  padding-bottom: 58px;
}

/* Header and navigation */
.public-site .site-header {
  min-height: 72px;
  padding: 16px clamp(18px, 4vw, 58px);
  background: linear-gradient(to bottom, rgba(3, 4, 6, .82), rgba(3, 4, 6, .16));
}

.public-site .site-header.scrolled {
  min-height: 66px;
  padding-block: 11px;
  background: rgba(5, 6, 8, .94);
}

.public-site .brand {
  gap: 9px;
}

.public-site .brand-star {
  color: var(--gold);
}

.public-site .brand-text {
  font-size: 20px;
}

.public-site .nav-links {
  gap: clamp(16px, 2.2vw, 30px);
  font-size: 11px;
  letter-spacing: .1em;
}

.public-site .nav-links a {
  position: relative;
  padding-block: 8px;
}

.public-site .nav-links a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 2px;
  left: 0;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}

.public-site .nav-links a:hover::after,
.public-site .nav-links a.active::after {
  transform: scaleX(1);
}

.public-site .header-cta {
  padding: 10px 17px;
  border-color: rgba(216, 184, 106, .54);
  color: #f3dfaa;
  font-size: 10px;
}

.nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: var(--white);
  cursor: pointer;
}

.nav-toggle span {
  width: 17px;
  height: 1px;
  background: currentColor;
  transition: transform .2s ease;
}

.site-header.nav-open .nav-toggle span:first-child { transform: translateY(3.5px) rotate(45deg); }
.site-header.nav-open .nav-toggle span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
body.nav-lock { overflow: hidden; }

/* Homepage platform hero */
.public-site .home-hero-platform {
  min-height: clamp(670px, 84vh, 860px);
  align-items: center;
  padding: 132px clamp(20px, 6vw, 84px) 82px;
}

.public-site .home-hero-media video {
  opacity: .54;
  filter: saturate(.78) contrast(1.1) brightness(.78);
}

.public-site .home-hero-overlay {
  background:
    radial-gradient(circle at 76% 32%, rgba(47,124,255,.13), transparent 33%),
    linear-gradient(90deg, rgba(1,2,4,.96) 0%, rgba(1,2,4,.80) 46%, rgba(1,2,4,.50) 76%, rgba(1,2,4,.72) 100%),
    linear-gradient(0deg, #050608 0%, rgba(5,6,8,.04) 38%);
}

.public-site .home-hero-content {
  width: min(100%, var(--content-max));
  margin-inline: auto;
  display: block;
}

.public-site .hero-left-stack {
  top: 0;
}

.public-site .home-hero-main {
  max-width: 790px;
}

.public-site .home-hero-main .eyebrow {
  margin-bottom: 18px;
  color: rgba(255,255,255,.72);
}

.public-site .home-hero-main h1,
.public-site .hero-title-platform {
  max-width: 790px;
  margin: 0;
  font-size: clamp(52px, 7vw, 88px);
  line-height: .98;
  letter-spacing: -.058em;
}

.public-site .home-hero-main p {
  max-width: 690px;
  margin-top: 24px;
  color: rgba(255,255,255,.76);
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.58;
}

.public-site .home-hero-actions {
  margin-top: 28px;
}

.hero-proof-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 30px;
  color: rgba(255,255,255,.56);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.hero-proof-row span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.hero-proof-row span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: var(--gold);
}

.current-season-feature {
  width: min(calc(100% - 40px), var(--content-max));
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(420px, .82fr);
  gap: 34px;
  align-items: center;
  margin: 34px auto 0;
  padding: clamp(30px, 4vw, 48px);
  border: 1px solid rgba(216,184,106,.28);
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 10%, rgba(216,184,106,.13), transparent 34%),
    linear-gradient(145deg, rgba(17,21,29,.94), rgba(7,9,13,.94));
  box-shadow: 0 24px 70px rgba(0,0,0,.32);
}

.current-season-status-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.season-status-pill {
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(73,185,120,.13);
  color: #a8e2bf;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.season-status-pill.active { background: rgba(47,124,255,.16); color: #bed3ff; }
.season-status-pill.complete { background: rgba(255,255,255,.08); color: var(--silver); }

.current-season-copy h2 {
  max-width: 760px;
  margin: 3px 0 14px;
  font-size: clamp(34px, 4.7vw, 60px);
}

.current-season-copy p {
  max-width: 680px;
  margin: 0;
  color: var(--silver);
}

.current-season-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.current-season-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.current-season-facts article {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: rgba(255,255,255,.025);
}

.current-season-facts strong {
  font-size: 34px;
  letter-spacing: -.045em;
}

.current-season-facts span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.public-site .home-platform-strip {
  width: min(calc(100% - 40px), var(--content-max));
  gap: 14px;
  margin: 70px auto 0;
  border: 0;
  background: transparent;
}

.public-site .home-platform-card {
  min-height: 190px;
  justify-content: flex-start;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: rgba(255,255,255,.025);
}

.public-site .home-platform-card strong {
  margin: 22px 0 10px;
  font-size: 25px;
  line-height: 1.08;
}

.public-site .home-platform-card small {
  font-size: 14px;
  line-height: 1.55;
}

.public-site .home-section,
.public-site .home-race-feature,
.public-site .home-partner-panel {
  width: min(100%, calc(var(--content-max) + 12vw));
  margin-inline: auto;
  padding: 78px clamp(20px, 6vw, 84px);
}

.public-site .home-section-header {
  max-width: 800px;
  margin-bottom: 30px;
}

.public-site .home-section-header h2,
.public-site .home-race-feature h2,
.public-site .home-partner-panel h2,
.public-site .home-final-cta h2 {
  margin: 5px 0 14px;
  font-size: clamp(36px, 5vw, 62px);
  line-height: 1.01;
  letter-spacing: -.048em;
}

.public-site .home-section-header p,
.public-site .home-race-feature p,
.public-site .home-partner-panel p,
.public-site .home-final-cta p {
  max-width: 680px;
  font-size: 16px;
  line-height: 1.62;
}

.public-site .home-how-grid {
  gap: 14px;
}

.public-site .home-how-grid article {
  min-height: 220px;
  padding: 26px;
  border-radius: 22px;
  box-shadow: none;
}

.public-site .home-how-grid h3 {
  margin: 38px 0 10px;
  font-size: 28px;
  line-height: 1.05;
}

.public-site .home-race-feature {
  grid-template-columns: minmax(0, 1fr) minmax(420px, 520px);
  border: 0;
  background: transparent;
}

.public-site .home-race-board {
  border-radius: 22px;
  box-shadow: none;
}

.public-site .home-partner-panel {
  grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
}

.public-site .home-partner-stats {
  gap: 12px;
}

.public-site .home-partner-stats article {
  min-height: 170px;
  padding: 24px;
  border-radius: 20px;
  box-shadow: none;
}

.public-site .home-partner-stats strong {
  font-size: 36px;
}

.public-site .home-final-cta {
  width: min(calc(100% - 40px), var(--content-max));
  margin: 20px auto 80px;
  padding: 56px 28px;
  border-radius: 28px;
}

/* Tours catalog */
.public-site .tours-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 54px;
  align-items: end;
}

.platform-summary-card {
  min-height: 190px;
  justify-content: center;
}

.tour-platform-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 76px;
}

.tour-platform-principles article {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: rgba(255,255,255,.025);
}

.tour-platform-principles article > span {
  color: var(--gold);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .13em;
}

.tour-platform-principles strong {
  display: block;
  margin-top: 30px;
  font-size: 22px;
}

.tour-platform-principles p {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.tour-catalog-section {
  margin-top: 72px;
}

.tour-catalog-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}

.tour-catalog-heading h2 {
  margin: 2px 0 0;
  font-size: clamp(32px, 4vw, 48px) !important;
}

.tour-catalog-heading > p {
  max-width: 420px;
  margin: 0;
  color: var(--muted);
  text-align: right;
}

.public-site .tours-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.tour-catalog-card {
  min-height: 390px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px;
  border-radius: 22px;
  box-shadow: none;
}

.tour-catalog-card .tour-date-line {
  display: block;
  margin-bottom: 14px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.tour-catalog-card h3 {
  margin: 0;
  font-size: clamp(28px, 3.3vw, 42px);
  line-height: 1.02;
}

.tour-catalog-card p {
  max-width: 590px;
  margin: 14px 0 22px;
  color: var(--muted);
  font-size: 14px;
}

.tour-catalog-card .tour-card-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
}

.tour-catalog-card .tour-card-footer > span {
  color: var(--muted);
  font-size: 12px;
}

.tour-empty-state {
  min-height: 260px;
  padding: 32px;
  border: 1px dashed rgba(255,255,255,.16);
  border-radius: 22px;
  background: rgba(255,255,255,.018);
}

.tour-empty-state strong {
  display: block;
  max-width: 620px;
  margin-top: 40px;
  font-size: 28px;
}

.tour-empty-state p {
  max-width: 560px;
  margin-bottom: 0;
  color: var(--muted);
}

/* Compact public feature blocks */
.public-site .news-feature-card h2,
.public-site .sponsor-value-panel h2,
.public-site .rules-callout-panel h2,
.public-site .sponsor-cta-panel h2,
.public-site .contact-cta-panel h2,
.public-site .thanks-panel h1,
.public-site .competitor-login-hero h1,
.public-site .competitor-hub-error h1,
.public-site .competitor-hub-identity h1 {
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1;
}

.public-site .competitor-login-hero {
  min-height: 540px;
}

.public-site .competitor-login-card h2,
.public-site .competitor-panel h2 {
  font-size: clamp(30px, 3.5vw, 44px);
}

.public-site .competitor-hub-hero {
  padding-top: 18px;
}

.public-site .competitor-hub-identity h1 {
  font-size: clamp(42px, 6vw, 72px);
}

/* Footer */
.public-site .site-footer {
  width: min(100%, calc(var(--content-max) + 12vw));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr minmax(320px, 1.4fr) 1fr;
  align-items: start;
  padding: 42px clamp(20px, 6vw, 84px);
}

.public-site .footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  justify-content: center;
  color: var(--silver);
  font-size: 12px;
}

.public-site .footer-meta {
  text-align: right;
}

@media (max-width: 1100px) {
  .current-season-feature,
  .public-site .home-race-feature,
  .public-site .home-partner-panel,
  .public-site .tours-hero {
    grid-template-columns: 1fr;
  }

  .current-season-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .public-site .home-race-board,
  .public-site .home-partner-stats {
    max-width: 760px;
  }

  .platform-summary-card {
    width: 100%;
    max-width: 420px;
  }
}

@media (max-width: 980px) {
  .public-site .site-header {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    min-height: 68px;
    background: rgba(5,6,8,.95);
    border-bottom: 1px solid var(--border);
  }

  .public-site .nav-toggle {
    display: inline-flex;
    grid-column: 2;
  }

  .public-site .header-cta {
    grid-column: 3;
    display: inline-flex;
  }

  .public-site .nav-links {
    position: fixed;
    top: 67px;
    right: 12px;
    left: 12px;
    z-index: 99;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: rgba(8,10,14,.98);
    box-shadow: 0 28px 80px rgba(0,0,0,.6);
    opacity: 0;
    transform: translateY(-12px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
  }

  .public-site .site-header.nav-open .nav-links {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .public-site .nav-links a {
    padding: 15px 13px;
    border-bottom: 1px solid rgba(255,255,255,.07);
    font-size: 13px;
  }

  .public-site .nav-links a:last-child { border-bottom: 0; }
  .public-site .nav-links a::after { display: none; }

  .public-site .home-platform-strip,
  .public-site .home-how-grid,
  .tour-platform-principles,
  .public-site .tours-grid {
    grid-template-columns: 1fr;
  }

  .current-season-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .public-site .site-footer {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .public-site .footer-links {
    justify-content: flex-start;
  }

  .public-site .footer-meta {
    text-align: left;
  }
}

@media (max-width: 680px) {
  .public-site h1,
  .public-site .public-page-hero h1,
  .public-site .race-hero h1,
  .public-site .rankings-hero h1,
  .public-site .players-hero h1,
  .public-site .facilities-hero h1,
  .public-site .facility-application-hero h1,
  .public-site .join-hero h1,
  .public-site .rules-hero h1,
  .public-site .sponsors-hero h1,
  .public-site .contact-hero h1,
  .public-site .news-hero h1 {
    font-size: clamp(38px, 12vw, 54px);
  }

  .public-site .page-shell {
    padding: 104px 20px 58px;
  }

  .public-site .home-hero-platform {
    min-height: 690px;
    padding: 118px 20px 64px;
  }

  .public-site .home-hero-main h1,
  .public-site .hero-title-platform {
    font-size: clamp(46px, 13vw, 64px);
  }

  .public-site .home-hero-main p {
    font-size: 17px;
  }

  .hero-proof-row {
    display: grid;
    gap: 9px;
  }

  .current-season-feature {
    width: calc(100% - 28px);
    margin-top: 18px;
    padding: 24px;
    border-radius: 22px;
  }

  .current-season-facts {
    grid-template-columns: 1fr 1fr;
  }

  .current-season-facts article {
    min-height: 100px;
    padding: 16px;
  }

  .current-season-facts strong { font-size: 28px; }

  .public-site .home-platform-strip {
    width: calc(100% - 28px);
    margin-top: 44px;
  }

  .public-site .home-section,
  .public-site .home-race-feature,
  .public-site .home-partner-panel {
    padding: 60px 20px;
  }

  .public-site .home-section-header h2,
  .public-site .home-race-feature h2,
  .public-site .home-partner-panel h2,
  .public-site .home-final-cta h2 {
    font-size: clamp(34px, 10.5vw, 48px);
  }

  .public-site .home-final-cta {
    width: calc(100% - 28px);
    margin-bottom: 56px;
    padding: 42px 22px;
  }

  .tour-catalog-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .tour-catalog-heading > p {
    text-align: left;
  }

  .tour-catalog-card {
    min-height: 0;
    padding: 22px;
  }

  .tour-catalog-card .tour-card-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .public-site .site-header {
    padding-inline: 14px;
  }

  .public-site .header-cta {
    min-height: 40px;
    padding: 8px 13px;
  }

  .public-site .tst-data-status {
    max-width: 150px;
  }
}

@media (max-width: 420px) {
  .public-site .header-cta {
    display: none;
  }

  .public-site .site-header {
    grid-template-columns: 1fr auto;
  }

  .public-site .nav-toggle {
    grid-column: 2;
  }

  .current-season-actions .btn,
  .public-site .home-hero-actions .btn {
    width: 100%;
  }
}

/* V18.5 hero readability refinement */
.public-site .home-hero-main {
  max-width: 880px;
}
.public-site .home-hero-main h1,
.public-site .hero-title-platform {
  max-width: 880px;
  font-size: clamp(48px, 5.8vw, 76px);
}

/* Keep the permanent hero statement readable in two clean lines. */
.public-site .home-hero-main,
.public-site .home-hero-main h1,
.public-site .hero-title-platform {
  max-width: 1020px;
}
.public-site .home-hero-main h1,
.public-site .hero-title-platform {
  font-size: clamp(46px, 5.2vw, 68px);
}

/* ==========================================
   V18.5.1 — PERMANENT-BRAND HERO VISUAL
   Removes the retired Texas Simulator Tour video asset and replaces it
   with a lightweight, brand-neutral simulator scene built in CSS.
========================================== */
.public-site .home-hero-ambient {
  isolation: isolate;
  background:
    radial-gradient(circle at 77% 31%, rgba(39, 101, 205, .22), transparent 30%),
    radial-gradient(circle at 64% 78%, rgba(190, 153, 65, .10), transparent 26%),
    linear-gradient(135deg, #020305 0%, #05080e 52%, #09111f 100%);
}

.public-site .home-hero-ambient::before {
  content: "";
  position: absolute;
  inset: -20%;
  background:
    linear-gradient(112deg, transparent 31%, rgba(255,255,255,.025) 42%, transparent 52%),
    radial-gradient(ellipse at 73% 42%, rgba(62, 126, 235, .12), transparent 36%);
  animation: tstHeroAmbient 14s ease-in-out infinite alternate;
  transform: translate3d(0, 0, 0);
}

.public-site .home-hero-ambient::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .13;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 84px 84px;
  mask-image: linear-gradient(90deg, transparent 16%, #000 58%, #000 100%);
  transform: perspective(750px) rotateX(62deg) scale(1.45) translateY(22%);
  transform-origin: center bottom;
}

.hero-simulator-visual {
  position: absolute;
  width: min(49vw, 760px);
  aspect-ratio: 16 / 10;
  right: clamp(-120px, -3vw, -28px);
  top: 50%;
  transform: translateY(-47%) perspective(1200px) rotateY(-8deg) rotateX(1deg);
  opacity: .76;
  filter: drop-shadow(0 44px 80px rgba(0,0,0,.62));
}

.hero-screen-scene {
  position: absolute;
  inset: 7% 5% 15%;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: clamp(20px, 2.4vw, 34px);
  background:
    radial-gradient(circle at 72% 20%, rgba(255,255,255,.18), transparent 13%),
    linear-gradient(180deg, #18355b 0%, #275a7a 39%, #284c34 40%, #0d2418 100%);
  box-shadow:
    inset 0 0 0 10px rgba(1,3,7,.70),
    inset 0 -80px 120px rgba(0,0,0,.46),
    0 0 90px rgba(50,118,221,.15);
}

.hero-screen-scene::before,
.hero-screen-scene::after {
  content: "";
  position: absolute;
  bottom: -12%;
  width: 66%;
  height: 66%;
  border-radius: 50% 50% 0 0;
  filter: blur(.2px);
}

.hero-screen-scene::before {
  left: -22%;
  background: linear-gradient(135deg, #132e20, #315e39);
  transform: rotate(10deg);
}

.hero-screen-scene::after {
  right: -27%;
  background: linear-gradient(225deg, #0f2a1d, #2c5734);
  transform: rotate(-9deg);
}

.hero-horizon {
  position: absolute;
  left: 8%;
  right: 8%;
  top: 39%;
  height: 1px;
  background: rgba(255,255,255,.20);
  box-shadow: 0 8px 26px rgba(255,255,255,.12);
}

.hero-fairway {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: -13%;
  width: 40%;
  height: 69%;
  transform: translateX(-50%);
  clip-path: polygon(42% 0, 58% 0, 100% 100%, 0 100%);
  background:
    linear-gradient(90deg, rgba(255,255,255,.04), transparent 22%, rgba(255,255,255,.06) 50%, transparent 78%),
    linear-gradient(180deg, #3e7a44, #1a4b2d 76%);
  box-shadow: 0 -8px 40px rgba(85,160,89,.18);
}

.hero-pin {
  position: absolute;
  z-index: 4;
  left: 60%;
  top: 43%;
  width: 2px;
  height: 15%;
  background: rgba(255,255,255,.84);
  box-shadow: 0 0 12px rgba(255,255,255,.38);
}

.hero-pin::after {
  content: "";
  position: absolute;
  left: 2px;
  top: 0;
  width: 20px;
  height: 12px;
  clip-path: polygon(0 0, 100% 48%, 0 100%);
  background: var(--gold);
}

.hero-flight-line {
  position: absolute;
  z-index: 5;
  left: 29%;
  top: 23%;
  width: 46%;
  height: 45%;
  border-top: 3px solid rgba(91,169,255,.92);
  border-right: 3px solid rgba(91,169,255,.92);
  border-radius: 0 100% 0 0;
  transform: rotate(-17deg);
  filter: drop-shadow(0 0 8px rgba(64,152,255,.80));
  animation: tstFlightPulse 3.8s ease-in-out infinite;
}

.hero-ball-dot {
  position: absolute;
  z-index: 6;
  left: 28%;
  bottom: 19%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 18px rgba(255,255,255,.9);
}

.hero-platform-line {
  position: absolute;
  left: 2%;
  right: 0;
  bottom: 7%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(216,184,106,.72), transparent);
  box-shadow: 0 0 25px rgba(216,184,106,.28);
}

.public-site .home-hero-overlay {
  background:
    radial-gradient(circle at 74% 34%, rgba(47,124,255,.06), transparent 34%),
    linear-gradient(90deg, rgba(1,2,4,.98) 0%, rgba(1,2,4,.92) 42%, rgba(1,2,4,.50) 72%, rgba(1,2,4,.76) 100%),
    linear-gradient(0deg, #050608 0%, rgba(5,6,8,.03) 42%);
}

@keyframes tstHeroAmbient {
  from { transform: translate3d(-1.5%, -1%, 0) scale(1); opacity: .72; }
  to { transform: translate3d(1.5%, 1%, 0) scale(1.04); opacity: 1; }
}

@keyframes tstFlightPulse {
  0%, 100% { opacity: .66; filter: drop-shadow(0 0 6px rgba(64,152,255,.55)); }
  50% { opacity: 1; filter: drop-shadow(0 0 13px rgba(64,152,255,.92)); }
}

@media (max-width: 920px) {
  .hero-simulator-visual {
    width: 88vw;
    right: -38vw;
    top: 48%;
    opacity: .42;
  }

  .public-site .home-hero-overlay {
    background:
      linear-gradient(90deg, rgba(1,2,4,.97), rgba(1,2,4,.78)),
      linear-gradient(0deg, #050608 0%, rgba(5,6,8,.08) 48%);
  }
}

@media (max-width: 640px) {
  .hero-simulator-visual {
    width: 120vw;
    right: -70vw;
    top: 44%;
    opacity: .30;
  }

  .public-site .home-hero-ambient::after {
    background-size: 58px 58px;
    opacity: .09;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-site .home-hero-ambient::before,
  .hero-flight-line {
    animation: none;
  }
}

/* ==========================================
   V18.5.2 — ANIMATED LEADERBOARD HERO
   Richer public-site palette and a fictional player climbing the standings.
========================================== */
.public-site {
  --black: #081112;
  --carbon: #101d20;
  --card: rgba(18, 31, 34, .84);
  --silver: #c5d1cf;
  --muted: #899b99;
  --border: rgba(205, 229, 220, .16);
  --shadow: 0 26px 70px rgba(1, 8, 9, .34);
  background:
    radial-gradient(circle at 84% 5%, rgba(56, 126, 121, .22), transparent 27%),
    radial-gradient(circle at 8% 34%, rgba(47, 124, 255, .09), transparent 31%),
    radial-gradient(circle at 76% 82%, rgba(216, 184, 106, .08), transparent 28%),
    linear-gradient(180deg, #0d1c1c 0%, #091416 45%, #10181f 100%);
  background-attachment: fixed;
}

.public-site main {
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(180deg, transparent 0 33%, rgba(25, 52, 49, .18) 49%, transparent 67%),
    radial-gradient(circle at 12% 48%, rgba(72, 143, 122, .08), transparent 25%),
    radial-gradient(circle at 88% 70%, rgba(55, 104, 169, .08), transparent 27%);
}

.public-site .site-header.scrolled {
  background: rgba(8, 17, 18, .93);
}

.public-site .home-platform-card,
.public-site .home-how-grid article,
.public-site .home-race-board,
.public-site .home-partner-stats article,
.public-site .tour-platform-principles article,
.public-site .tour-catalog-card,
.public-site .tour-empty-state {
  background:
    linear-gradient(145deg, rgba(31, 52, 51, .72), rgba(16, 28, 32, .80));
  border-color: rgba(205, 229, 220, .17);
  box-shadow: 0 18px 44px rgba(2, 9, 10, .20);
}

.current-season-feature {
  background:
    radial-gradient(circle at 88% 10%, rgba(216, 184, 106, .17), transparent 34%),
    radial-gradient(circle at 9% 92%, rgba(68, 145, 121, .16), transparent 35%),
    linear-gradient(145deg, rgba(28, 49, 49, .96), rgba(12, 24, 28, .96));
  box-shadow: 0 24px 64px rgba(2, 8, 9, .27);
}

.public-site .home-final-cta,
.public-site .home-partner-panel {
  background:
    radial-gradient(circle at 88% 20%, rgba(216, 184, 106, .10), transparent 30%),
    linear-gradient(145deg, rgba(23, 43, 42, .70), rgba(11, 22, 26, .54));
}

.public-site .home-race-feature {
  background:
    linear-gradient(90deg, rgba(20, 44, 41, .28), transparent 58%);
}


.public-site .home-hero-main {
  max-width: 760px;
}

.public-site .home-hero-main h1,
.public-site .hero-title-platform {
  max-width: 760px;
  font-size: clamp(42px, 4.25vw, 58px);
  line-height: 1.01;
}

.public-site .home-hero-main p {
  max-width: 620px;
}

.hero-climber-row > strong:last-child {
  position: relative;
  min-height: 20px;
}

/* New hero atmosphere */
.public-site .home-hero-leaderboard-bg {
  isolation: isolate;
  background:
    radial-gradient(circle at 76% 34%, rgba(74, 159, 137, .29), transparent 31%),
    radial-gradient(circle at 88% 71%, rgba(216, 184, 106, .18), transparent 26%),
    radial-gradient(circle at 50% 12%, rgba(55, 108, 183, .14), transparent 31%),
    linear-gradient(125deg, #071011 0%, #102724 53%, #15252c 100%);
}

.public-site .home-hero-leaderboard-bg::before {
  content: "";
  position: absolute;
  inset: -18%;
  background:
    linear-gradient(112deg, transparent 27%, rgba(255,255,255,.04) 42%, transparent 56%),
    radial-gradient(ellipse at 77% 45%, rgba(119, 204, 174, .13), transparent 36%);
  animation: tstBoardAmbient 15s ease-in-out infinite alternate;
}

.public-site .home-hero-leaderboard-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .13;
  background-image:
    linear-gradient(rgba(220, 240, 233, .11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(220, 240, 233, .11) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, transparent 10%, #000 54%, #000 100%);
  transform: perspective(950px) rotateX(66deg) scale(1.42) translateY(27%);
  transform-origin: center bottom;
}

.public-site .home-hero-overlay {
  background:
    radial-gradient(circle at 72% 32%, rgba(88, 176, 151, .05), transparent 35%),
    linear-gradient(90deg, rgba(5, 13, 14, .98) 0%, rgba(5, 13, 14, .90) 39%, rgba(5, 13, 14, .22) 67%, rgba(5, 13, 14, .05) 100%),
    linear-gradient(0deg, #0b1718 0%, rgba(11, 23, 24, .03) 44%);
}

.hero-leaderboard-scene {
  position: absolute;
  z-index: 2;
  top: 51%;
  right: clamp(10px, 2vw, 32px);
  width: min(52vw, 760px);
  aspect-ratio: 1.18 / 1;
  transform: translateY(-48%) perspective(1450px) rotateY(-7deg) rotateX(1deg);
  filter: drop-shadow(0 42px 80px rgba(1, 7, 8, .45));
}

.hero-leaderboard-panel {
  position: absolute;
  inset: 3% 1% 17% 1%;
  overflow: hidden;
  border: 1px solid rgba(225, 241, 235, .20);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(34, 64, 61, .97), rgba(13, 29, 34, .98));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 -80px 120px rgba(0,0,0,.18),
    0 28px 80px rgba(0,0,0,.28);
  backdrop-filter: blur(14px);
}

.hero-board-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 26px 20px;
  border-bottom: 1px solid rgba(220, 238, 232, .12);
  background: linear-gradient(90deg, rgba(68, 142, 120, .14), transparent 58%);
}

.hero-board-heading > div {
  display: grid;
  gap: 5px;
}

.hero-board-heading > div > span,
.hero-board-footer,
.hero-board-columns {
  color: rgba(205, 223, 218, .59);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.hero-board-heading strong {
  color: #f5f8f6;
  font-size: 22px;
  letter-spacing: -.025em;
}

.hero-board-live {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border: 1px solid rgba(114, 217, 163, .27);
  border-radius: 999px;
  background: rgba(65, 175, 117, .09);
  color: #aee5c4;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.hero-board-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #69d79a;
  box-shadow: 0 0 0 5px rgba(105, 215, 154, .10);
  animation: tstLivePulse 2.2s ease-in-out infinite;
}

.hero-board-columns,
.hero-board-row {
  display: grid;
  grid-template-columns: 54px minmax(185px, 1fr) 72px 84px;
  align-items: center;
}

.hero-board-columns {
  padding: 12px 24px;
  border-bottom: 1px solid rgba(220, 238, 232, .08);
}

.hero-board-columns span:nth-child(3),
.hero-board-columns span:nth-child(4) {
  text-align: right;
}

.hero-board-rows {
  position: relative;
  padding: 0 16px;
}

.hero-board-row {
  position: relative;
  min-height: 68px;
  padding: 9px 8px;
  border-bottom: 1px solid rgba(220, 238, 232, .075);
  color: #f4f7f5;
}

.hero-board-row > b {
  position: relative;
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.hero-board-row > span:not(.rank-frame) {
  display: grid;
  grid-template-columns: 38px 1fr;
  grid-template-rows: auto auto;
  column-gap: 11px;
  align-items: center;
}

.hero-board-row > span > i {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.78);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .05em;
}

.hero-board-row > span > strong {
  font-size: 13px;
  line-height: 1.2;
}

.hero-board-row > span > small {
  margin-top: 3px;
  color: rgba(205, 223, 218, .53);
  font-size: 10px;
}

.hero-board-row > em,
.hero-board-row > strong:last-child {
  text-align: right;
  font-size: 13px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
}

.hero-board-row > em {
  color: rgba(215, 229, 225, .60);
}

.hero-climber-row {
  z-index: 4;
  margin-inline: -4px;
  padding-inline: 12px;
  border: 1px solid rgba(216, 184, 106, .44);
  border-radius: 15px;
  background:
    linear-gradient(90deg, rgba(216, 184, 106, .17), rgba(60, 146, 119, .13));
  box-shadow: 0 13px 30px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.07);
  animation: tstClimbRow 12s ease-in-out infinite;
}

.hero-climber-row > b small {
  display: block;
  margin-top: 2px;
  color: #8ad9ae;
  font-size: 8px;
  line-height: 1;
  letter-spacing: .04em;
}

.hero-climber-row > span > i {
  background: linear-gradient(145deg, #d8b86a, #8a6a28);
  color: #10201d;
}

.rank-frame,
.points-frame {
  position: absolute;
  inset: 50% auto auto 0;
  transform: translateY(-50%);
  opacity: 0;
  animation: tstRankFrame 12s infinite;
}

.points-frame {
  right: 0;
  left: auto;
  width: max-content;
}

.rank-frame-12,
.points-frame-one { animation-delay: 0s; }
.rank-frame-7,
.points-frame-two { animation-delay: -8s; }
.rank-frame-3,
.points-frame-three { animation-delay: -4s; }

.hero-board-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 24px;
  border-top: 1px solid rgba(220, 238, 232, .09);
  background: rgba(0,0,0,.12);
}

.hero-player-card {
  position: absolute;
  z-index: 8;
  right: 2%;
  bottom: 1%;
  width: min(380px, 50%);
  padding: 18px;
  border: 1px solid rgba(236, 226, 188, .35);
  border-radius: 22px;
  background:
    radial-gradient(circle at 90% 5%, rgba(216, 184, 106, .16), transparent 32%),
    linear-gradient(145deg, rgba(29, 50, 48, .97), rgba(11, 25, 29, .98));
  box-shadow: 0 28px 60px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.07);
  animation: tstPlayerCardFloat 6s ease-in-out infinite;
}

.hero-player-card-top {
  display: flex;
  align-items: center;
  gap: 13px;
}

.hero-player-avatar {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: linear-gradient(145deg, #e4c879, #927026);
  color: #0d1b19;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .06em;
}

.hero-player-card-top > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.hero-player-card-top small,
.hero-player-card-stats small,
.hero-player-progress small {
  color: rgba(206, 222, 218, .58);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hero-player-card-top strong {
  font-size: 18px;
  line-height: 1.15;
}

.hero-player-card-top > div > span {
  overflow: hidden;
  color: rgba(206, 222, 218, .64);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hero-player-card-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 16px;
}

.hero-player-card-stats > div {
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(220, 238, 232, .09);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
}

.hero-player-card-stats small,
.hero-player-card-stats strong {
  display: block;
}

.hero-player-card-stats strong {
  position: relative;
  min-height: 21px;
  margin-top: 5px;
  font-size: 17px;
  font-variant-numeric: tabular-nums;
}

.rank-number span {
  position: absolute;
  inset: 0 auto auto 0;
  opacity: 0;
  animation: tstRankNumber 12s infinite;
}

.rank-number span:nth-child(1) { animation-delay: 0s; }
.rank-number span:nth-child(2) { animation-delay: -8s; }
.rank-number span:nth-child(3) { animation-delay: -4s; }

.hero-player-progress {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  margin-top: 14px;
}

.hero-player-progress > span {
  position: relative;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
}

.hero-player-progress > span > i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 88%;
  border-radius: inherit;
  background: linear-gradient(90deg, #5cbf94, #d8b86a);
  box-shadow: 0 0 18px rgba(216, 184, 106, .25);
  animation: tstProgressClimb 12s cubic-bezier(.65,0,.26,1) infinite;
}

.hero-player-progress > div {
  display: grid;
  gap: 2px;
  text-align: right;
}

.hero-player-progress strong {
  color: #e7cd84;
  font-size: 11px;
}

.hero-rank-journey {
  position: absolute;
  z-index: 7;
  left: 0;
  bottom: 3%;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 14px;
  border: 1px solid rgba(220, 238, 232, .13);
  border-radius: 999px;
  background: rgba(9, 23, 24, .82);
  box-shadow: 0 16px 38px rgba(0,0,0,.24);
  backdrop-filter: blur(12px);
}

.hero-rank-journey > span {
  margin-right: 5px;
  color: rgba(205, 223, 218, .55);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hero-rank-journey strong {
  color: rgba(255,255,255,.63);
  font-size: 12px;
}

.hero-rank-journey i {
  color: rgba(255,255,255,.30);
  font-size: 11px;
  font-style: normal;
}

.hero-rank-journey .current {
  color: #e5c878;
  animation: tstRankGlow 2.4s ease-in-out infinite;
}

@keyframes tstBoardAmbient {
  from { transform: translate3d(-1.5%, -1%, 0) scale(1); opacity: .74; }
  to { transform: translate3d(1.5%, 1%, 0) scale(1.04); opacity: 1; }
}

@keyframes tstClimbRow {
  0%, 18% { transform: translateY(10px); box-shadow: 0 8px 22px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.05); }
  31%, 48% { transform: translateY(5px); }
  63%, 100% { transform: translateY(0); box-shadow: 0 15px 34px rgba(0,0,0,.24), 0 0 28px rgba(216,184,106,.08), inset 0 1px 0 rgba(255,255,255,.08); }
}

@keyframes tstRankFrame {
  0%, 28% { opacity: 1; transform: translateY(-50%); }
  32%, 100% { opacity: 0; transform: translateY(-90%); }
}

@keyframes tstRankNumber {
  0%, 28% { opacity: 1; transform: translateY(0); }
  32%, 100% { opacity: 0; transform: translateY(-45%); }
}

@keyframes tstProgressClimb {
  0%, 18% { width: 29%; }
  31%, 48% { width: 58%; }
  63%, 100% { width: 88%; }
}

@keyframes tstPlayerCardFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

@keyframes tstLivePulse {
  0%, 100% { opacity: .65; transform: scale(.92); }
  50% { opacity: 1; transform: scale(1.08); }
}

@keyframes tstRankGlow {
  0%, 100% { text-shadow: 0 0 0 rgba(216,184,106,0); }
  50% { text-shadow: 0 0 16px rgba(216,184,106,.55); }
}

@media (max-width: 1180px) {
  .hero-leaderboard-scene {
    width: min(58vw, 740px);
    right: -12vw;
    opacity: .78;
  }

  .public-site .home-hero-overlay {
    background:
      linear-gradient(90deg, rgba(5, 13, 14, .98) 0%, rgba(5, 13, 14, .91) 48%, rgba(5, 13, 14, .47) 77%, rgba(5, 13, 14, .30) 100%),
      linear-gradient(0deg, #0b1718 0%, rgba(11, 23, 24, .03) 44%);
  }
}

@media (max-width: 900px) {
  .public-site .home-hero-platform {
    min-height: 760px;
  }

  .hero-leaderboard-scene {
    width: 760px;
    right: -410px;
    top: 56%;
    opacity: .58;
    transform: translateY(-48%) perspective(1450px) rotateY(-7deg) scale(.92);
  }

  .hero-player-card {
    display: none;
  }

  .hero-rank-journey {
    left: 3%;
    bottom: 8%;
  }

  .public-site .home-hero-overlay {
    background:
      linear-gradient(90deg, rgba(5, 13, 14, .97), rgba(5, 13, 14, .71)),
      linear-gradient(0deg, #0b1718 0%, rgba(11, 23, 24, .10) 49%);
  }
}

@media (max-width: 640px) {
  .public-site .home-hero-platform {
    min-height: 735px;
  }

  .hero-leaderboard-scene {
    width: 660px;
    right: -430px;
    top: 61%;
    opacity: .43;
  }

  .hero-board-heading,
  .hero-board-columns,
  .hero-board-footer {
    opacity: .86;
  }

  .hero-rank-journey {
    left: 20px;
    bottom: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-site .home-hero-leaderboard-bg::before,
  .hero-board-live i,
  .hero-climber-row,
  .rank-frame,
  .points-frame,
  .rank-number span,
  .hero-player-progress > span > i,
  .hero-player-card,
  .hero-rank-journey .current {
    animation: none !important;
  }

  .hero-climber-row { transform: none; opacity: 1; }
  .rank-frame-12, .rank-frame-7, .points-frame-one, .points-frame-two,
  .rank-number span:nth-child(1), .rank-number span:nth-child(2) { opacity: 0; }
  .rank-frame-3, .points-frame-three, .rank-number span:nth-child(3) { opacity: 1; }
  .hero-player-progress > span > i { width: 88%; }
}

/* ==========================================
   V18.5.3 — OFFICIAL TST LOGO INTEGRATION
   Uses the approved metallic star + TST mark and the national name.
========================================== */
.tst-logo-lockup {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  color: var(--white);
  text-decoration: none;
}

.tst-logo-lockup .tst-logo-mark {
  display: block;
  width: 92px;
  height: auto;
  flex: 0 0 auto;
  filter: drop-shadow(0 5px 13px rgba(0,0,0,.34));
}

.tst-logo-lockup .tst-logo-name {
  max-width: 112px;
  color: rgba(248,250,249,.88);
  font-size: 9px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.public-site .site-header .tst-logo-header {
  gap: 10px;
}

.public-site .site-header.scrolled .tst-logo-mark {
  width: 84px;
}

.hero-logo-lockup {
  width: min(320px, 56vw);
  display: grid;
  justify-items: center;
  gap: 9px;
  margin: 0 0 24px;
}

.hero-logo-lockup > img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 16px 30px rgba(0,0,0,.38));
}

.hero-logo-lockup > span {
  color: rgba(247,250,248,.88);
  font-size: clamp(10px, 1vw, 13px);
  font-weight: 800;
  letter-spacing: .32em;
  line-height: 1;
  text-indent: .32em;
}

.hero-logo-lockup > i {
  width: 74%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 2px;
}

.hero-logo-lockup > i b {
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(83,175,145,.35), #5eb894);
}

.hero-logo-lockup > i b:last-child {
  background: linear-gradient(90deg, #d8b86a, rgba(216,184,106,.32));
}

.public-site .home-hero-main .hero-logo-lockup + .eyebrow {
  margin-top: 0;
  margin-bottom: 16px;
  color: rgba(214,228,223,.64);
}

.tst-logo-footer {
  display: grid;
  justify-items: start;
  gap: 8px;
}

.tst-logo-footer .tst-logo-mark {
  width: 136px;
}

.tst-logo-footer .tst-logo-name {
  max-width: none;
  font-size: 9px;
  letter-spacing: .23em;
}

.footer-brand p {
  margin-top: 14px;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .public-site .site-header .tst-logo-name {
    display: none;
  }
}

@media (max-width: 900px) {
  .tst-logo-lockup .tst-logo-mark,
  .public-site .site-header.scrolled .tst-logo-mark {
    width: 76px;
  }

  .public-site .site-header .tst-logo-name {
    display: none;
  }

  .hero-logo-lockup {
    width: min(250px, 62vw);
    margin-bottom: 20px;
  }

  .hero-logo-lockup > span {
    font-size: 9px;
    letter-spacing: .26em;
    text-indent: .26em;
  }
}

@media (max-width: 520px) {
  .hero-logo-lockup {
    width: min(220px, 68vw);
  }

  .tst-logo-footer .tst-logo-mark {
    width: 122px;
  }
}

/* ==========================================
   VERSION 19 — LAUNCH, LEGAL & PRIVACY
   ========================================== */
.legal-shell {
  padding-top: 128px;
  max-width: 1480px;
  margin: 0 auto;
}

.legal-hero {
  max-width: 920px;
  padding: 44px 0 36px;
}

.legal-hero h1,
.error-shell h1 {
  margin: 0;
  font-size: clamp(44px, 7vw, 88px);
  line-height: .98;
  letter-spacing: -.045em;
  text-transform: none;
}

.legal-hero p {
  max-width: 760px;
  margin: 18px 0 12px;
}

.legal-hero small {
  color: rgba(209, 220, 228, .62);
  font-weight: 700;
  letter-spacing: .04em;
}

.legal-layout {
  display: grid;
  grid-template-columns: minmax(190px, 260px) minmax(0, 920px);
  gap: clamp(28px, 5vw, 76px);
  align-items: start;
  padding-bottom: 100px;
}

.legal-nav {
  position: sticky;
  top: 118px;
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  background: rgba(13, 24, 28, .72);
  backdrop-filter: blur(16px);
}

.legal-nav a {
  padding: 10px 12px;
  border-radius: 10px;
  color: rgba(223, 232, 235, .72);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
}

.legal-nav a:hover {
  color: #fff;
  background: rgba(255,255,255,.07);
}

.legal-document {
  display: grid;
  gap: 12px;
}

.legal-document section {
  scroll-margin-top: 110px;
  padding: 26px 28px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(17, 31, 35, .84), rgba(10, 17, 23, .9));
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

.legal-document h2 {
  margin: 0 0 12px;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.08;
  letter-spacing: -.025em;
  text-transform: none;
}

.legal-document p,
.legal-document li {
  color: rgba(218, 228, 231, .76);
  font-size: 15px;
  line-height: 1.72;
}

.legal-document p { margin: 10px 0 0; }
.legal-document ul { margin: 12px 0 0; padding-left: 22px; }
.legal-document a { color: #e1c77e; text-decoration: underline; text-underline-offset: 3px; }

.legal-note {
  margin-top: 8px;
  padding: 20px 22px;
  border: 1px solid rgba(216,184,106,.34);
  border-radius: 18px;
  background: rgba(92, 72, 25, .18);
  color: rgba(244, 235, 207, .86);
  line-height: 1.6;
}

.privacy-consent {
  position: fixed;
  z-index: 1000;
  left: 18px;
  right: 18px;
  bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1060px;
  margin: 0 auto;
  padding: 18px 20px;
  border: 1px solid rgba(216,184,106,.34);
  border-radius: 20px;
  background: rgba(8, 17, 21, .96);
  box-shadow: 0 24px 80px rgba(0,0,0,.52);
  backdrop-filter: blur(20px);
}

.privacy-consent strong { display: block; margin-bottom: 5px; }
.privacy-consent p { margin: 0; max-width: 680px; font-size: 13px; line-height: 1.5; }
.privacy-consent-actions { display: flex; gap: 9px; flex: 0 0 auto; }
.privacy-consent .btn { min-height: 42px; padding-inline: 16px; }

.footer-privacy-button {
  appearance: none;
  border: 0;
  padding: 0;
  background: none;
  color: rgba(213, 224, 228, .58);
  font: inherit;
  font-size: 11px;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.footer-privacy-button:hover { color: #fff; }

.error-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.error-shell {
  flex: 1;
  min-height: 76vh;
  display: grid;
  place-content: center;
  justify-items: start;
  width: min(900px, calc(100% - 40px));
  margin: 0 auto;
  padding: 150px 0 90px;
}

.error-shell p { max-width: 590px; margin: 18px 0 0; }
.error-mark img { width: 72px; height: 72px; margin-bottom: 22px; filter: drop-shadow(0 14px 28px rgba(0,0,0,.45)); }

.launch-checklist-shell { max-width: 1460px; margin: 0 auto; }
.launch-health-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0;
}

.launch-health-card {
  min-height: 150px;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 20px;
  background: rgba(13, 22, 28, .85);
}
.launch-health-card span { color: rgba(214,225,230,.58); font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.launch-health-card strong { font-size: 23px; }
.launch-health-card small { color: rgba(214,225,230,.66); line-height: 1.5; }
.launch-health-card.pass { border-color: rgba(83,175,145,.35); }
.launch-health-card.pass strong { color: #72c9aa; }
.launch-health-card.warn { border-color: rgba(216,184,106,.4); }
.launch-health-card.warn strong { color: #e1c77e; }
.launch-health-card.fail { border-color: rgba(224,91,91,.42); }
.launch-health-card.fail strong { color: #f08080; }

.launch-checklist-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.launch-check-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 17px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
  cursor: pointer;
}
.launch-check-item input { width: 19px; height: 19px; margin-top: 2px; accent-color: #5eb894; }
.launch-check-item span { display: grid; gap: 5px; }
.launch-check-item small { color: rgba(214,225,230,.55); }
.launch-check-item.complete { border-color: rgba(83,175,145,.34); background: rgba(52,116,96,.12); }
.launch-check-item.complete small { color: #72c9aa; }
.launch-test-steps { display: grid; gap: 12px; padding-left: 24px; color: rgba(218,228,231,.74); line-height: 1.65; }
.launch-test-steps strong { color: #fff; }

@media (max-width: 900px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-nav { position: static; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .launch-health-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .launch-checklist-list { grid-template-columns: 1fr; }
  .privacy-consent { align-items: stretch; flex-direction: column; }
}

@media (max-width: 600px) {
  .legal-shell { padding-top: 102px; }
  .legal-hero { padding-top: 28px; }
  .legal-document section { padding: 21px 18px; }
  .legal-nav { grid-template-columns: 1fr; }
  .launch-health-grid { grid-template-columns: 1fr; }
  .privacy-consent-actions { width: 100%; }
  .privacy-consent-actions .btn { flex: 1; }
}

.skip-link {
  position: fixed;
  z-index: 2000;
  top: 10px;
  left: 10px;
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: 10px;
  background: #fff;
  color: #071015;
  font-size: 13px;
  font-weight: 850;
  transition: transform .18s ease;
}
.skip-link:focus { transform: translateY(0); }

:focus-visible {
  outline: 3px solid rgba(225, 199, 126, .92);
  outline-offset: 3px;
}

/* Version 19.3 — contact form delivery states */
.contact-form-status {
  grid-column: 1 / -1;
  min-height: 22px;
  margin-top: -4px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.5;
}
.contact-form-status.sending { color: var(--silver); }
.contact-form-status.success {
  color: #bff6d3;
  border: 1px solid rgba(98, 211, 143, .3);
  background: rgba(40, 131, 78, .14);
  border-radius: 14px;
  padding: 12px 14px;
}
.contact-form-status.error {
  color: #ffd0ca;
  border: 1px solid rgba(255, 112, 92, .34);
  background: rgba(161, 50, 35, .14);
  border-radius: 14px;
  padding: 12px 14px;
}
.contact-form button:disabled {
  opacity: .65;
  cursor: wait;
}
