*{box-sizing:border-box}:root{--red:#e11919;--black:#060606;--panel:#151515;--line:#383838;--white:#f7f7f7;--muted:#cfcfcf;--green:#4cc348}
html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#main-content{scroll-margin-top:76px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:12px 16px;border-radius:5px;background:white;color:#111;font-weight:900;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid #75e34d;outline-offset:3px}
h1,h2,h3,h4,.logo,.overline,.tagline{font-family:"Arial Black",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.5px}button,.donate,.ghost,nav a{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:.2px}span{color:var(--red)}a{text-decoration:none;color:inherit}
.topbar{height:76px;display:flex;align-items:center;gap:24px;padding:0 28px;background:#030303;border-bottom:1px solid #222;position:sticky;top:0;z-index:50}.logo{font-size:21px;line-height:.9;min-width:170px}.mission-brand{font-family:"Arial Black",Impact,sans-serif;text-transform:uppercase;letter-spacing:-1px}.mission-brand .brand-word{color:white;font-style:normal}.mission-brand .brand-accent{display:inline-block;margin-left:.09em;color:var(--red);font-style:italic;text-shadow:0 0 18px rgba(225,25,25,.35)}.mission-logo{font-size:29px;line-height:.82;min-width:190px}.mission-logo small{display:block;margin-top:8px;color:#bbb;font-family:Arial,Helvetica,sans-serif;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:1px}nav{display:flex;gap:24px;margin-left:auto}nav a{text-transform:uppercase;font-size:14px;color:#eee}
.donate,.ghost{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:15px 24px;text-transform:uppercase}.donate{background:linear-gradient(#f02a2a,#d80f0f);color:white;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 20px rgba(225,25,25,.22)}.donate-small{padding:12px 18px;font-size:13px}.ghost{border:1px solid rgba(255,255,255,.85);color:#fff;background:rgba(0,0,0,.22)}.full{width:100%;cursor:pointer}
.hero{position:relative;min-height:680px;overflow:hidden;display:grid;grid-template-columns:minmax(560px,44%) 1fr;align-items:stretch;padding:0;background:#050505}.hero-slideshow{position:absolute;top:0;left:44%;width:56%;height:100%;overflow:hidden;background:#111}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:contrast(1.02) saturate(1.03);opacity:0;transform:scale(1.015);transition:opacity 1.2s ease,transform 6s ease}.hero-img.is-active{opacity:1;transform:scale(1);z-index:1}.hero-img[src*="rome-marathon"]{object-position:center 56%}.hero-img[src*="blind-veterans"]{object-fit:contain;object-position:center;background:#fff}.hero-img[src*="portsmouth-finish"]{object-position:center 42%}.slideshow-controls{position:absolute;z-index:4;right:18px;top:18px;display:flex;gap:7px}.slideshow-controls button{min-width:44px;min-height:44px;padding:8px 11px;border:1px solid rgba(255,255,255,.65);border-radius:5px;background:rgba(0,0,0,.72);color:white;cursor:pointer}.hero-shade{position:absolute;top:0;left:44%;width:56%;height:100%;background:linear-gradient(90deg,rgba(5,5,5,.22) 0%,rgba(0,0,0,.04) 34%,rgba(0,0,0,.40) 100%),linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,.28));z-index:1;pointer-events:none}
.hero-img[src*="four-marathons-dates"]{object-fit:contain;object-position:center;background:#f1eee7}.hero-copy{position:relative;z-index:2;width:100%;padding:60px 38px 34px;background:linear-gradient(90deg,#050505 0%,#080808 78%,rgba(8,8,8,.86) 100%);border-radius:0}.overline{font-size:22px;margin:0 0 14px;color:white}.hero h1{font-size:clamp(66px,6.4vw,104px);line-height:.82;margin:0 0 12px;text-shadow:0 4px 18px #000}.hero h1 .brand-accent{letter-spacing:-4px}.mission-line{margin:0 0 16px;color:#fff;font-family:"Arial Black",Impact,sans-serif;text-transform:uppercase;font-size:clamp(20px,2vw,31px);line-height:1.04;text-shadow:0 3px 14px #000}.sub{font-size:20px;line-height:1.35;color:#fff;margin:0;max-width:590px;text-shadow:0 2px 10px #000}.mission-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0 0;max-width:560px}.mission-stats div{border:1px solid rgba(255,255,255,.35);border-radius:7px;background:rgba(255,255,255,.05);padding:10px;text-align:center}.mission-stats strong{display:block;color:white;font-family:"Arial Black",Impact,sans-serif;font-size:28px;line-height:1}.mission-stats span{display:block;margin-top:5px;color:#ddd;text-transform:uppercase;font-weight:900;font-size:11px}.hero-charity-lockup{display:grid;grid-template-columns:116px minmax(0,1fr);gap:16px;align-items:center;width:min(430px,100%);margin-top:22px;padding:12px 14px;background:rgba(255,255,255,.96);border:2px solid #d10f31;border-radius:8px;box-shadow:0 12px 28px rgba(0,0,0,.32)}.hero-charity-lockup span{color:#111;text-transform:uppercase;font-weight:900;font-size:13px;letter-spacing:.4px}.hero-charity-lockup img{grid-column:1;grid-row:1;width:116px;height:150px;object-fit:contain;object-position:center;background:#c8102e;border-radius:4px}.hero-charity-lockup span{grid-column:2;grid-row:1}.hero-charity-lockup span::after{content:"Blind Veterans UK";display:block;margin-top:8px;color:#c8102e;font-size:22px;line-height:1.05;letter-spacing:0;text-transform:none}.hero-buttons{display:flex;gap:16px;margin-top:26px;flex-wrap:wrap}
.hero-progress{position:relative;z-index:3;display:grid;grid-template-columns:minmax(250px,.85fr) auto minmax(300px,1.25fr) auto;grid-template-areas:"charity total progress percent";align-items:center;gap:18px 34px;width:100%;padding:18px clamp(24px,4vw,70px);background:#101010;border-top:1px solid #444;border-bottom:1px solid #444;box-shadow:0 16px 36px rgba(0,0,0,.3)}.hero-progress .charity{grid-area:charity;display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}.hero-progress .charity p{margin:0;font-weight:800;line-height:1.25}.hero-progress img{width:64px;height:78px;object-fit:contain;object-position:center;background:#c8102e;border:1px solid #933;border-radius:5px}.fundraising-total{grid-area:total;min-width:210px}.hero-progress strong{display:block;font-size:34px;font-weight:900}.hero-progress span{text-transform:uppercase;color:#eee;font-weight:800;font-size:13px}.fundraising-bar{grid-area:progress}.bar{height:20px;border-radius:999px;background:#eee;overflow:hidden;margin:0 0 8px}.bar i{display:block;height:100%;background:linear-gradient(90deg,#e11919,#ff3333);width:2%}.hero-progress b{grid-area:percent;font-family:"Arial Black",Impact,sans-serif;font-size:40px;color:var(--red)}.hero-progress small{font-weight:800;color:#fff}
.dark-section{background:#0b0b0b;padding:34px 24px 38px}h2{text-align:center;font-size:46px;margin:0 0 26px}.section-intro{max-width:820px;margin:-12px auto 26px;text-align:center;color:#ddd;font-size:18px;line-height:1.35;font-weight:800}.challenge-grid{display:grid;grid-template-columns:repeat(10,minmax(118px,1fr));gap:14px;max-width:1500px;margin:0 auto}.challenge{position:relative;background:#191919;border:1px solid #565656;border-radius:10px;overflow:hidden;text-align:center;min-height:318px;box-shadow:0 10px 28px rgba(0,0,0,.25)}.challenge-media{position:relative;height:112px;background:#050505;overflow:hidden}.challenge-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.22));pointer-events:none}.challenge img{width:100%;height:112px;object-fit:cover;display:block;filter:saturate(.95) contrast(1.04)}.challenge.locked img{filter:brightness(.86) saturate(.95) contrast(1.04)}.locked-overlay{position:absolute;z-index:2;inset:8px 8px auto auto;display:grid;place-items:center;min-height:26px;padding:0 9px;border:1px solid rgba(255,255,255,.36);border-radius:4px;background:rgba(0,0,0,.66);color:white;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.4px}.num{position:absolute;z-index:3;top:8px;left:8px;width:27px;height:27px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-weight:900;font-size:13px;box-shadow:0 2px 8px rgba(0,0,0,.4)}.icon{font-size:30px;margin-top:14px}.challenge h3{font-size:17px;line-height:1.05;min-height:38px;margin:8px 6px;font-family:"Arial Black",Arial,sans-serif;letter-spacing:-.4px}.challenge small{color:#d8d8d8;text-transform:uppercase;font-weight:800;font-size:11px}.challenge strong{display:block;font-size:23px;margin:4px 0 8px;font-family:"Arial Black",Arial,sans-serif}.status{display:inline-block;background:#333;color:white;padding:6px 9px;border-radius:4px;text-transform:uppercase;font-size:11px;margin-bottom:12px;font-weight:900}.complete .status{background:var(--green);color:#001b00}.ladder-progress{max-width:1500px;margin:30px auto 0;padding:20px 22px 28px;border:1px solid #444;border-radius:10px;background:linear-gradient(180deg,#181818,#101010);box-shadow:0 10px 28px rgba(0,0,0,.25)}.ladder-progress-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px;text-transform:uppercase;font-weight:900}.ladder-progress-top strong{font-family:"Arial Black",Impact,sans-serif;font-size:20px}.ladder-progress-top span{color:#fff}.ladder-track{position:relative;height:18px;border-radius:999px;background:#2b2b2b;border:1px solid #5c5c5c;box-shadow:inset 0 2px 8px rgba(0,0,0,.7)}.ladder-track>i{position:absolute;inset:0 auto 0 0;width:0;border-radius:999px;background:linear-gradient(90deg,#d80f0f,#ff3030);box-shadow:0 0 22px rgba(225,25,25,.35)}.ladder-marker{position:absolute;z-index:4;top:50%;left:0;transform:translate(-50%,-50%);width:58px;height:58px;border:3px solid white;border-radius:50%;background:var(--red);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.55),0 0 18px rgba(225,25,25,.45)}.ladder-marker span{color:white;font-family:"Arial Black",Impact,sans-serif;font-style:italic;font-size:18px;line-height:1}.ladder-milestones{position:absolute;inset:0}.ladder-milestone{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:34px;border-radius:999px;background:#eee;border:2px solid #111;box-shadow:0 0 0 2px rgba(255,255,255,.18)}.ladder-milestone.unlocked{background:var(--red);box-shadow:0 0 0 2px rgba(255,255,255,.22),0 0 16px rgba(225,25,25,.65)}.ladder-milestone span{position:absolute;left:50%;top:42px;transform:translateX(-50%);color:#ddd;font-size:11px;font-weight:900;white-space:nowrap}.ladder-milestone b{display:block;color:#fff;font-size:12px}.tagline{text-align:center;font-size:22px;margin:24px 0 0}
.dashboard{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;max-width:1500px;margin:0 auto;padding:28px 24px;background:#0f0f0f}.panel{background:var(--panel);border:1px solid #464646;border-radius:10px;padding:20px;box-shadow:0 10px 28px rgba(0,0,0,.2)}.panel h3{font-size:30px;margin:0 0 8px}.panel-note{margin:0 0 12px;color:#d8d8d8;font-weight:800}.stubble{display:grid;grid-template-columns:170px 1fr;gap:18px}.stubble img{width:170px;height:230px;object-fit:cover;border-radius:7px}.stubble h4{color:#75e34d;font-size:29px;margin:10px 0}.streak{border:1px solid var(--green);border-radius:7px;padding:12px;margin:12px 0}.streak strong{font-size:42px;font-family:"Arial Black",Arial,sans-serif;display:block}.streak span{text-transform:uppercase;color:white;font-weight:900}.green{color:#73e64e}.vote-option{width:100%;display:block;margin:12px 0;padding:0;border:0;background:transparent;color:white;text-align:left;font:inherit;cursor:pointer}.vote-option span{color:white}.vote-option b{float:right}.vote-option.selected span,.vote-option.selected b{color:var(--green)}.vote-option.selected .vote-bar{outline:2px solid var(--green)}.vote-bar{height:9px;background:#333;border-radius:999px;overflow:hidden;margin-top:6px}.vote-bar i{height:100%;background:var(--red);display:block}.form-note{min-height:22px;margin:12px 0 0;color:#75e34d;font-weight:900}input,select{width:100%;padding:15px;margin:10px 0;border:0;border-radius:5px;font-size:15px}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.56}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.consent-row{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;margin:12px 0 16px;color:#ddd;font-size:13px;line-height:1.4}.consent-row input{width:18px;height:18px;margin:0}.consent-row span{color:#ddd}.split-row{display:grid;grid-template-columns:.9fr 1.5fr;gap:18px;max-width:1500px;margin:0 auto;padding:0 24px 30px;background:#0f0f0f}ol{margin:0;padding-left:22px;line-height:1.9}.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.video{min-height:150px;background-size:cover;background-position:center;border:1px solid #555;border-radius:7px;padding:10px;display:flex;align-items:end;color:white;text-decoration:none}.video:hover{border-color:var(--red)}.video b{background:rgba(0,0,0,.72);padding:6px;border-radius:4px}
.light-section{background:#f4f4f4;color:#111;padding:42px 24px}.marathon-intro{text-align:center;margin:-12px auto 24px;color:#333;font-weight:900}.marathon-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.marathon{text-align:center;background:white;border:1px solid #ddd;border-radius:8px;padding:22px}.marathon h3{font-size:25px;margin:0 0 8px}.marathon b{font-family:"Arial Black",Impact,sans-serif;font-size:42px;color:var(--red)}
.charity-section{max-width:1200px;margin:0 auto;padding:42px 24px;display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:center;background:#fff;color:#111}.charity-section img{width:220px;max-width:100%;border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,.16)}.charity-section h2{text-align:left;margin:0 0 10px}.social-section{padding:42px 24px;background:#0f0f0f}.social-grid{max-width:980px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.social-card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:20px;align-items:center;min-height:160px;padding:18px;border:1px solid #494949;border-radius:10px;background:#171717;color:white;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.2)}.social-card:hover{border-color:var(--red)}.social-card img{width:128px;height:128px;object-fit:cover;border-radius:8px;background:#c8102e}.social-card[href*="blindveteransuk"] img{object-fit:contain;padding:4px}.social-copy{min-width:0;display:grid;gap:10px}.social-card strong{display:block;color:white;font-size:24px;line-height:1.05;overflow-wrap:anywhere}.social-card span{display:block;color:#ddd;font-size:15px;line-height:1.35;font-weight:800}.final{text-align:center;padding:42px 20px;background:#050505}.final h2{margin-bottom:18px}.privacy-section{padding:34px 24px;background:#111;color:#ddd}.privacy-section h2{margin:0 0 14px;font-size:28px}.privacy-section p{max-width:820px;margin:0 auto;line-height:1.6}footer{text-align:center;color:#aaa;padding:20px;background:#030303}footer a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1150px){.challenge-grid{grid-template-columns:repeat(5,1fr)}.dashboard{grid-template-columns:1fr}.split-row{grid-template-columns:1fr}.hero{display:block;min-height:auto}.hero-slideshow{position:relative;left:0;width:100%;height:380px}.hero-img{object-position:center top}.hero-shade{top:0;left:0;right:auto;width:100%;height:380px}.hero-copy{width:100%;padding:34px 28px}.hero-progress{grid-template-columns:minmax(220px,1fr) auto minmax(260px,1fr) auto;gap:16px 24px;padding:16px 28px}}
@media(max-width:760px){.topbar{height:auto;flex-wrap:wrap;padding:14px}.mission-logo{min-width:170px;font-size:25px}nav{order:3;width:100%;overflow:auto;margin-left:0;padding-bottom:5px}.hero-img{height:360px}.hero-shade{height:360px;background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.38) 100%)}.hero-copy{width:100%;padding:24px 18px}.hero h1{font-size:56px}.hero h1 .brand-accent{letter-spacing:-2px}.mission-line{font-size:20px}.sub{font-size:17px}.mission-stats{grid-template-columns:repeat(2,1fr)}.mission-stats strong{font-size:24px}.hero-charity-lockup{grid-template-columns:96px 1fr;width:100%;gap:12px}.hero-charity-lockup img{width:96px;height:124px}.challenge-grid{grid-template-columns:repeat(2,1fr)}.ladder-progress{padding:18px 16px 56px}.ladder-progress-top{align-items:flex-start;flex-direction:column;margin-bottom:18px}.ladder-marker{width:48px;height:48px}.ladder-milestone span{font-size:10px;white-space:normal;width:60px;text-align:center}.marathon-grid{grid-template-columns:1fr}.video-grid{grid-template-columns:1fr 1fr}.stubble{grid-template-columns:1fr}.stubble img{width:100%;height:260px}.charity-section{grid-template-columns:1fr}.charity-section img{width:min(260px,100%)}.social-grid{grid-template-columns:1fr}.social-card{grid-template-columns:96px 1fr;min-height:132px}.social-card img{width:96px;height:96px}.social-card strong{font-size:20px}.social-card span{font-size:14px}}

.strava-live{margin:4px 0 18px}.strava-card{display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(280px,.85fr);overflow:hidden;border:1px solid #3b4650;border-radius:12px;background:#111820;box-shadow:0 12px 34px rgba(0,0,0,.28)}.strava-route{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(circle at center,#22364a,#0b1624)}.strava-map-link,.strava-map{position:absolute;inset:0;display:block}.strava-map-tiles{position:absolute;inset:0;overflow:hidden;background:#d8ddd8}.strava-map-tiles img{position:absolute;max-width:none;filter:grayscale(.25) brightness(.82) contrast(1.08)}.strava-route-svg{position:absolute;inset:0;display:block;width:100%;height:100%}.strava-map-attribution{position:absolute;z-index:3;right:4px;bottom:4px;padding:3px 5px;border-radius:3px;background:rgba(255,255,255,.9);color:#222;font-size:9px;text-decoration:none}.strava-map-attribution:hover{text-decoration:underline}.strava-route-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#22364a,#0b1624);color:#fff}.strava-route-empty span{color:#fc4c02;font-weight:900;letter-spacing:1px}.strava-route-empty b{margin-top:8px}.strava-summary{display:flex;flex-direction:column;padding:20px}.strava-title{display:flex;align-items:center;gap:12px}.strava-title small{display:block;color:#aeb7c0;margin-bottom:3px}.strava-title h4{margin:0;font-size:22px;line-height:1.1}.strava-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:8px 9px;border-radius:5px;background:#fc4c02;color:#fff;font-size:12px;font-weight:900;letter-spacing:.8px}.strava-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.strava-kpis div{padding:10px 7px;border:1px solid #34404b;border-radius:7px;text-align:center}.strava-kpis b{display:block;font-size:19px}.strava-kpis span{display:block;color:#aeb7c0;font-size:10px;text-transform:uppercase}.strava-ytd{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding:14px;border-left:4px solid #fc4c02;background:#0b1117}.strava-ytd small{display:block;color:#aeb7c0;text-transform:uppercase}.strava-ytd strong{display:block;color:#fff;font-size:30px;line-height:1}.strava-ytd strong span{font-size:14px}.strava-ytd-detail{display:grid;grid-template-columns:auto auto;gap:1px 8px;text-align:right}.strava-ytd-detail b{color:#fff}.strava-ytd-detail span{color:#aeb7c0;font-size:11px;text-transform:uppercase}.strava-link{margin-top:13px;color:#fc4c02;font-weight:800;text-decoration:none}.strava-link:hover{text-decoration:underline}.strava-fallback{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:17px;border:1px solid #3b4650;border-radius:10px;background:#111820;color:#fff;text-decoration:none}.strava-fallback small{display:block;color:#aeb7c0;margin-top:3px}.strava-fallback>strong{color:#fc4c02}.strava-fallback:hover{border-color:#fc4c02}
.suggestions-empty{color:#aaa;font-style:italic}

@media(max-width:900px){.strava-card{grid-template-columns:1fr}.strava-route{aspect-ratio:16/9}.strava-route-empty{min-height:210px}}
@media(max-width:520px){.strava-summary{padding:15px}.strava-kpis{grid-template-columns:1fr 1fr}.strava-kpis div:last-child{grid-column:1/-1}.strava-ytd{align-items:flex-start;flex-direction:column}.strava-ytd-detail{text-align:left}.strava-fallback{grid-template-columns:auto 1fr}.strava-fallback>strong{grid-column:1/-1}}
@media(max-width:760px){.hero-slideshow{height:360px}}
@media(max-width:760px){.hero-progress{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"charity charity" "total percent" "progress progress";gap:13px 18px;padding:16px 18px}.hero-progress .charity{grid-template-columns:52px 1fr}.hero-progress img{width:52px;height:64px}.hero-progress strong{font-size:30px}.hero-progress b{font-size:34px}.fundraising-total{min-width:0}.bar{height:18px}}
@media(prefers-reduced-motion:reduce){.hero-img{transition:none;transform:none}}
