/* Bright theme layer (Nov 2026: client asked for a brighter, livelier site). Loaded after site.css. */
.kicker{color:#0B8F6E;border-color:rgba(11,143,110,.35);background:rgba(25,211,162,.12)}
.kicker-pink{color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.15)}
.y{color:var(--ink);background:linear-gradient(transparent 58%,var(--yel) 58%,var(--yel) 92%,transparent 92%);padding:0 .06em}
.hero .y,.promo .y{background:none;color:var(--yel)}
.btn-ghost{background:#fff;color:var(--plum);box-shadow:inset 0 0 0 2px var(--plum)}
.btn-ghost:hover{background:var(--plum);color:#fff}
.hero .btn-ghost,.promo .btn-ghost{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.hero .btn-ghost:hover{background:#fff;color:var(--plum)}
.btn-teal{background:#0FB58C;color:#fff;box-shadow:0 8px 24px rgba(15,181,140,.35)}

/* nav: white text over the hero, white bar once you scroll */
.nav{color:#fff}
.nav.solid{background:rgba(255,255,255,.92);color:var(--txt);box-shadow:0 6px 24px rgba(43,17,80,.1)}
.nav.solid .burger span{background:var(--plum)}
.nav:not(.solid) .btn-ghost{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.brand .y{background:none;color:var(--yel)}
.nav.solid .brand .y{color:var(--pink)}
.nav.solid .links a:not(.btn)::after{background:var(--pink)}

/* hero: vivid, lighter overlay fading into the warm-white page */
.hero{color:#fff}
.hero-shade{background:linear-gradient(95deg,rgba(43,20,150,.86) 0%,rgba(47,107,255,.5) 48%,rgba(255,61,127,.1) 100%),linear-gradient(0deg,var(--page) 0%,rgba(255,251,242,0) 20%)}
.hero::after{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,31,.55),transparent 65%);z-index:1;animation:glow 7s ease-in-out infinite alternate;pointer-events:none}
@keyframes glow{to{transform:translate(-60px,40px) scale(1.15)}}
.hero .tag{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4)}
.count div{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4)}
.count small{color:#fff;opacity:.9}
.when small{color:var(--yel)}
.dists a{background:rgba(255,255,255,.94);color:var(--ink);border-width:2.5px}
.dists a b{color:var(--c)}
.dists a:hover b{color:var(--ink)}
.road .dash{background:repeating-linear-gradient(90deg,rgba(43,17,80,.35) 0 26px,transparent 26px 50px)}

/* colourful sections */
.thanks{background:radial-gradient(500px 300px at 95% 10%,rgba(255,210,31,.35),transparent),radial-gradient(500px 300px at 0% 90%,rgba(25,211,162,.2),transparent),var(--page)}
.stat{border:0;box-shadow:0 18px 40px -18px rgba(43,17,80,.35);transition:transform .3s}
.stat:hover{transform:translateY(-6px) rotate(-1deg)}
.stat::before{display:none}
.stat b{background:none;-webkit-background-clip:initial;background-clip:initial;color:inherit}
.stat span{color:inherit;opacity:.92}
.stat:nth-child(1){background:var(--yel);color:var(--ink)}
.stat:nth-child(2){background:#2F6BFF;color:#fff}
.stat:nth-child(3){background:#FF3D7F;color:#fff}
.stat:nth-child(4){background:#19D3A2;color:var(--ink)}

.course{background:linear-gradient(180deg,#EAF3FF,#F3EEFF)}
.dist-tabs button{background:#fff;color:var(--ink);border-color:transparent;box-shadow:0 6px 18px -8px rgba(43,17,80,.3)}
.dist-tabs button.on{color:#fff}
.dist-tabs button.on[data-d="21k"]{color:var(--ink)}
.map-card{background:#fff;border:0;box-shadow:0 24px 50px -24px rgba(43,17,80,.35)}
#courseSvg .base{stroke:rgba(43,17,80,.12)}
#courseSvg .grid{stroke:rgba(43,17,80,.05)}
#courseSvg .pt text{fill:var(--plum)}
#courseSvg .pt circle{fill:#fff;stroke:var(--plum);stroke-width:.7}
#courseSvg .pt.on circle{fill:var(--yel)}
#courseSvg .dot{fill:var(--pink);filter:drop-shadow(0 0 2px rgba(255,61,127,.8))}
.map-open{background:var(--plum);color:#fff;border:0}
.map-open:hover{background:var(--pink)}
.dist-info{background:#fff;border:0;box-shadow:0 24px 50px -24px rgba(43,17,80,.35);border-top:8px solid var(--c)}
.facts div{background:#F5F1FB}

.raceday{background:linear-gradient(180deg,#FFF4C9,#FFFBF2)}
.timeline time{color:#7B3BFF}
.timeline li::before{background:#fff;border-color:#7B3BFF}

.cause{background:linear-gradient(135deg,#FF3D7F 0%,#E0246B 45%,#7B3BFF 100%);color:#fff}
.cause .intro{color:#FFE6F0}
.cause .pink{color:var(--yel)}
.ecg{opacity:.35}.ecg path{stroke:#fff}
.cause-ways div{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3)}
.cause-ways div:hover{border-color:#fff;background:rgba(255,255,255,.26)}
.cause-ways span{color:#FFE6F0}
.cause .btn-pink{background:var(--yel);color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.2)}
.cause-photo img{box-shadow:0 30px 70px -20px rgba(40,0,40,.5)}

.moments{background:#F3EEFF}
.masonry figure{box-shadow:0 14px 30px -18px rgba(43,17,80,.5)}
.masonry figcaption{color:#fff}
.reels-head a{color:#7B3BFF}

.clubs{background:linear-gradient(135deg,#19D3A2,#0FB58C 50%,#2F6BFF);color:#fff}
.clubs .intro{color:#E8FFF7}
.clubs .kicker{color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.15)}
.club{background:#fff;color:var(--ink);border:0;box-shadow:0 6px 16px -8px rgba(0,0,0,.3)}
.club.star{background:var(--yel)}
.clubs .btn-ghost{background:#fff;color:#0B6E55;box-shadow:none}

.promo{background:linear-gradient(135deg,#2F6BFF 0%,#7B3BFF 55%,#FF3D7F 100%);color:#fff}
.promo .kicker{color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.15)}
.feat div{color:#F1ECFF}
.feat b{color:#fff}

.partner-strip{background:var(--yel)}
.partner-strip span{color:var(--ink)}
.partner-strip span::after{color:var(--pink)}
.tier{border:0;box-shadow:0 18px 40px -22px rgba(43,17,80,.4)}
.tier .p{color:#7B3BFF}
.tier.hot{background:linear-gradient(160deg,#FFF3B8,#fff);border:2px solid var(--yel)}
.tier li::before{color:#0FB58C}

.faq{background:#EAF3FF}
.faq a{color:#7B3BFF;font-weight:700}
.acc summary::after{color:var(--pink)}

.contact{background:linear-gradient(135deg,#FFD21F,#FFB800)}
.contact .intro{color:#4A3A10}
.contact .kicker{color:var(--ink);border-color:rgba(20,8,36,.3);background:rgba(255,255,255,.35)}
.contact .y{background:linear-gradient(transparent 58%,#fff 58%,#fff 92%,transparent 92%)}
.form{background:#fff;border:0;box-shadow:0 24px 50px -20px rgba(120,70,0,.4)}
.form input,.form select,.form textarea{background:#FBF9FF;color:var(--txt);border-color:rgba(43,17,80,.15)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:#7B3BFF}
.form .btn-yel{background:var(--plum);color:#fff;box-shadow:none}
.social a{background:#fff;border:0;color:var(--plum);box-shadow:0 6px 16px -8px rgba(0,0,0,.3)}
.social a:hover{background:var(--plum);color:#fff}

footer{background:#1C0B33;color:#F6F2FF;--mute:#C3B8DB;--line:rgba(255,255,255,.12)}

@media (max-width:1020px){
  .links{background:#fff;color:var(--txt)}
  .links .btn-ghost,.nav:not(.solid) .links .btn-ghost{background:#fff;color:var(--plum);box-shadow:inset 0 0 0 2px var(--plum)}
  .burger[aria-expanded=true] span{background:var(--plum)}
}
