:root { --gold: #36F7AE; --gold-d: #12C98A; --ink: #0A0F1E; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, sans-serif; background: #0A0F1E; color: #E8ECF5; -webkit-font-smoothing: antialiased; }
.font-display { font-family: 'Barlow Condensed', 'Inter', sans-serif; letter-spacing: .01em; }

/* Buttons */
.btn-gold, .btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; font-weight: 700; border-radius: .65rem; padding: .8rem 1.4rem; transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease; white-space: nowrap; }
.btn-gold { background: linear-gradient(180deg, #8DFFD3 0%, #36F7AE 55%, #12C98A 100%); color: #0A0F1E; box-shadow: 0 10px 28px -10px rgba(54,247,174,.65); }
.btn-gold:hover { transform: translateY(-1px); box-shadow: 0 14px 34px -10px rgba(54,247,174,.85); }
.btn-ghost { border: 1px solid rgba(255,255,255,.2); color: #fff; background: rgba(255,255,255,.02); }
.btn-ghost:hover { border-color: rgba(54,247,174,.7); background: rgba(54,247,174,.08); }
.btn-sm { padding: .5rem .85rem; font-size: .8rem; border-radius: .55rem; }
@media (min-width: 640px) { .btn-sm { padding: .55rem 1.05rem; font-size: .875rem; } }
.btn-lg { padding: 1rem 1.75rem; font-size: 1.05rem; }

/* Nav */
.nav-link { position: relative; color: rgba(255,255,255,.7); transition: color .15s; padding: .35rem 0; }
.nav-link:hover, .nav-link.active { color: #fff; }
.nav-link.active::after { content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; border-radius: 2px; background: var(--gold); }
.mnav-link { display: block; padding: .7rem .5rem; border-radius: .5rem; color: rgba(255,255,255,.8); }
.mnav-link:hover, .mnav-link.active { background: rgba(255,255,255,.05); color: var(--gold); }

/* Decorative */
.eyebrow { font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); font-weight: 700; }
.lanes { background-image: repeating-linear-gradient(100deg, rgba(255,255,255,.035) 0 1px, transparent 1px 110px); }
.hero-glow { background: radial-gradient(60% 55% at 78% 30%, rgba(54,247,174,.16), transparent 70%), radial-gradient(45% 50% at 10% 85%, rgba(59,130,246,.14), transparent 70%); }
/* Hero photo backgrounds (sport + trading overlay) */
.hero-photo { background-size: cover; background-position: center; background-repeat: no-repeat; opacity: .55; filter: saturate(.85) contrast(1.05); }
.hero-shade { background: linear-gradient(90deg, rgba(10,15,30,.96) 0%, rgba(10,15,30,.86) 40%, rgba(10,15,30,.55) 75%, rgba(10,15,30,.7) 100%), linear-gradient(180deg, rgba(10,15,30,.35) 0%, rgba(10,15,30,0) 35%, rgba(10,15,30,.9) 100%); }
.hero-chart { display: none; }
.logo-img { height: 3rem; width: auto; display: block; }
@media (min-width: 640px) { .logo-img { height: 3.4rem; } }
/* Header logo: doubled size, overhanging below the menu bar */
header a:has(> .logo-img) { position: relative; display: block; height: 2.5rem; width: 9rem; z-index: 1; }
@media (min-width: 640px) { header a:has(> .logo-img) { width: 10.5rem; } }
header .logo-img { position: absolute; top: -.5rem; left: 0; height: 6rem; width: auto; max-width: none; transition: transform .2s ease; filter: drop-shadow(0 4px 10px rgba(0,0,0,.35)); }
@media (min-width: 640px) { header .logo-img { height: 6.8rem; } }
header a:has(> .logo-img):hover .logo-img { transform: translateY(1px); }
/* Hanging badge plate: gives the oversized logo a deliberate home that extends from the menu bar */
header a:has(> .logo-img)::before { content: ''; position: absolute; z-index: -1; top: -1.5rem; left: -.85rem; right: -.85rem; height: 7.6rem; background: linear-gradient(180deg, #0A0F1E 0%, #0E1528 100%); border: 1px solid rgba(255,255,255,.1); border-top: 0; border-radius: 0 0 1.1rem 1.1rem; box-shadow: 0 18px 36px -14px rgba(0,0,0,.7), inset 0 -2px 0 rgba(54,247,174,.55); pointer-events: none; transition: box-shadow .2s ease; }
@media (min-width: 640px) { header a:has(> .logo-img)::before { height: 8.4rem; left: -.95rem; right: -.95rem; } }
header a:has(> .logo-img):hover::before { box-shadow: 0 18px 36px -14px rgba(0,0,0,.7), inset 0 -2px 0 rgba(54,247,174,.9); }
header #mobileMenu { position: relative; z-index: 2; }
.finish-line { background: repeating-conic-gradient(rgba(255,255,255,.85) 0 25%, #0A0F1E 0 50%) 0 0 / 12px 12px; }
.card { background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)); border: 1px solid rgba(255,255,255,.085); border-radius: 1.1rem; }
.card-hover { transition: transform .2s ease, border-color .2s ease; }
.card-hover:hover { transform: translateY(-3px); border-color: rgba(54,247,174,.45); }
.card-featured { border-color: rgba(54,247,174,.55); box-shadow: 0 30px 60px -30px rgba(54,247,174,.35); }
.chip { display: inline-flex; align-items: center; gap: .4rem; font-size: .75rem; font-weight: 600; padding: .3rem .7rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: rgba(255,255,255,.85); }
.chip-gold { border-color: rgba(54,247,174,.45); background: rgba(54,247,174,.1); color: #8DFFD3; }
.icon-badge { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: .8rem; background: rgba(54,247,174,.12); color: var(--gold); border: 1px solid rgba(54,247,174,.3); }
.step-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 3.25rem; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(54,247,174,.75); }
.lane-bar { height: 6px; border-radius: 999px; background: rgba(255,255,255,.08); overflow: hidden; }
.lane-bar > span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #12C98A, #8DFFD3); }

/* Tables */
.rules-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .9rem; }
.rules-table th { text-align: left; font-weight: 600; color: rgba(255,255,255,.6); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; padding: .9rem 1rem; background: rgba(255,255,255,.04); border-bottom: 1px solid rgba(255,255,255,.08); }
.rules-table td { padding: .9rem 1rem; border-bottom: 1px solid rgba(255,255,255,.06); vertical-align: top; }
.rules-table tr:last-child td { border-bottom: 0; }
.rules-table td:first-child { color: #fff; font-weight: 600; }
.rules-table .num { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 1.15rem; color: #8DFFD3; }
.table-wrap { overflow-x: auto; border-radius: 1rem; border: 1px solid rgba(255,255,255,.085); background: rgba(255,255,255,.015); }

/* FAQ */
details.faq { border-bottom: 1px solid rgba(255,255,255,.08); }
details.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem 0; font-weight: 600; color: #fff; }
details.faq summary::-webkit-details-marker { display: none; }
details.faq summary::after { content: '+'; font-size: 1.4rem; line-height: 1; color: var(--gold); transition: transform .2s; }
details.faq[open] summary::after { transform: rotate(45deg); }
details.faq .faq-body { padding: 0 0 1.25rem; color: rgba(255,255,255,.7); line-height: 1.7; font-size: .95rem; }
details.faq .faq-body p + p, details.faq .faq-body p + ul, details.faq .faq-body ul + p { margin-top: .6rem; }
details.faq .faq-body ul { list-style: disc; padding-left: 1.25rem; }

.prose-list li { position: relative; padding-left: 1.6rem; margin-top: .6rem; color: rgba(255,255,255,.75); line-height: 1.6; }
.prose-list li::before { content: ''; position: absolute; left: .2rem; top: .55rem; width: .5rem; height: .5rem; border-radius: 2px; background: var(--gold); transform: rotate(45deg); }

/* Photo backgrounds for information boxes (cards, tables, FAQ groups, CTA panels) */
/* Only the closing CTA panel on selected pages carries a photo; all other boxes are plain. */
body[data-page="home"] { --img-cta: url('hero/home-trophy.jpg?v=mvsi60k2'); }
body[data-page="challenges"] { --img-cta: url('hero/challenges-sprinters-start-4.jpg?v=mvsi60k2'); }
body[data-page="how"] { --img-cta: url('hero/bg-how-funds.jpg?v=mvsi60k2'); }
body[data-page="objectives"] { --img-cta: url('hero/bg-objectives-rulebook.jpg?v=mvsi60k2'); }
body[data-page="instruments"] { --img-cta: none; }
body[data-page="support"] { --img-cta: url('hero/bg-support-coach.jpg?v=mvsi60k2'); }

body[data-page] .card,
body[data-page] .table-wrap,
body[data-page] div[id^="faq-"],
body[data-page] main [class*="rounded-3xl"][class*="border-gold"] {
  background-color: #0F1526;
}
body[data-page] main [class*="rounded-3xl"][class*="border-gold"] {
  background-image: linear-gradient(180deg, rgba(10,15,30,.80) 0%, rgba(10,15,30,.90) 100%), var(--img-cta, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
body[data-page] div[id^="faq-"] { padding: 1.25rem 1.5rem; border-radius: 1.1rem; border: 1px solid rgba(255,255,255,.085); }
body[data-page] .card-hover:hover { border-color: rgba(54,247,174,.45); }

.company-disclaimer a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.company-disclaimer a:hover { color: var(--gold); }
