:root{
  --navy:#12335c;
  --navy-2:#0b2749;
  --red:#d83a32;
  --cream:#f7f5f0;
  --ink:#1f2933;
  --muted:#5f6b76;
  --line:#dfe4ea;
  --white:#fff;
  --max:1120px;
  --radius:14px;
  font-family:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:#fff;line-height:1.55}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}
.topbar{background:var(--navy-2);color:#fff;font-size:.92rem;padding:8px 0;text-align:center}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-weight:800;color:var(--navy);font-size:1.3rem;text-decoration:none;letter-spacing:.2px}
nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
nav a{text-decoration:none;font-weight:700;font-size:.95rem;color:#304050}
.btn{display:inline-block;text-decoration:none;font-weight:800;border-radius:8px;padding:12px 18px;border:2px solid transparent}
.btn-red{background:var(--red);color:#fff}
.btn-outline{border-color:var(--navy);color:var(--navy);background:#fff}
.hero{padding:30px 0 0}
.hero-photo{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.hero-photo img{width:100%;height:min(58vw,610px);object-fit:cover;object-position:center 42%}
.hero-copy{margin-top:20px;background:var(--navy);color:#fff;border-radius:var(--radius);padding:30px}
.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;opacity:.9}
h1{font-size:clamp(2rem,5vw,4.2rem);line-height:1.05;margin:8px 0 14px;max-width:900px}
.lead{font-size:clamp(1.05rem,2vw,1.35rem);margin:0 0 20px;color:#edf4fb}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.hero .btn-outline{border-color:#fff;color:#fff;background:transparent}
section{padding:56px 0}
.facts{padding:24px 0;background:var(--cream);margin-top:32px;border-top:1px solid #eee7dc;border-bottom:1px solid #eee7dc}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fact{text-align:center}.fact strong{display:block;color:var(--navy);font-size:1.2rem}.fact span{color:var(--muted);font-size:.92rem}
.section-title{font-size:clamp(1.7rem,3vw,2.5rem);color:var(--navy);margin:0 0 10px}
.section-intro{max-width:760px;color:var(--muted);margin:0 0 28px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.card-body{padding:24px}.card h3{margin:0 0 8px;color:var(--navy);font-size:1.6rem}.meta{font-weight:800;color:var(--red);margin-bottom:12px}
.community{background:var(--cream)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.split img{border-radius:var(--radius);width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info{border:1px solid var(--line);border-radius:12px;padding:22px}.info h3{margin:0 0 7px;color:var(--navy)}
.video-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#000}.video-wrap video{display:block;width:100%;height:auto;max-height:630px;background:#000}.video-caption{margin:12px 0 0;color:var(--muted);font-size:.95rem}
.supporter{display:grid;grid-template-columns:.95fr 1.05fr;gap:32px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff}.supporter img{width:100%;border-radius:10px;aspect-ratio:4/3;object-fit:cover}.supporter h3{color:var(--navy);font-size:1.8rem;margin:6px 0 10px}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.gallery img{width:100%;height:260px;object-fit:cover;border-radius:10px}.gallery img:first-child{height:532px;grid-row:span 2}
.cta{background:var(--navy);color:#fff;border-radius:var(--radius);padding:34px;text-align:center}.cta h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:0 0 8px}.cta p{margin:0 0 20px;color:#edf4fb}
.page-hero{padding:44px 0 30px;background:var(--cream);border-bottom:1px solid #eee7dc}.page-hero h1{color:var(--navy);font-size:clamp(2.2rem,5vw,4rem);margin:0 0 10px}.page-hero p{max-width:760px;margin:0;color:var(--muted);font-size:1.1rem}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.detail{border:1px solid var(--line);border-radius:12px;padding:24px;background:#fff}.detail h2,.detail h3{color:var(--navy);margin-top:0}.detail ul{padding-left:20px;margin-bottom:0}.detail li{margin:7px 0}
.notice{background:#fff7e6;border:1px solid #f1d6a2;border-radius:10px;padding:16px 18px;color:#684c18}
.route-card{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:24px}.route-card img{border-radius:10px;aspect-ratio:16/10;object-fit:cover}
.faq{max-width:850px}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{font-weight:800;color:var(--navy);cursor:pointer}.faq p{margin:10px 0 0;color:#44515d}
.contact-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;max-width:720px}.contact-card a{color:var(--navy);font-weight:800}
.status{display:inline-block;background:#eef3f8;color:var(--navy);font-weight:800;padding:6px 10px;border-radius:999px;font-size:.86rem}
footer{margin-top:58px;background:var(--navy-2);color:#d9e4ef;padding:32px 0}footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.small{font-size:.9rem;color:#7a8793}
@media(max-width:900px){header{position:static}.nav{align-items:flex-start;padding:16px 0;flex-direction:column}.facts-grid{grid-template-columns:1fr 1fr}.cards,.split,.info-grid,.supporter,.detail-grid,.route-card{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img,.gallery img:first-child{height:220px;grid-row:auto}.gallery img:first-child{grid-column:1/-1;height:300px}}
@media(max-width:560px){.wrap{width:min(var(--max),calc(100% - 22px))}nav{gap:11px}nav a{font-size:.9rem}.hero-photo img{height:62vw;min-height:230px}.hero-copy{padding:20px}.facts-grid{grid-template-columns:1fr 1fr}section{padding:42px 0}.gallery{grid-template-columns:1fr}.gallery img,.gallery img:first-child{height:240px;grid-column:auto}.actions{display:grid;grid-template-columns:1fr}.actions .btn{text-align:center}.page-hero{padding:34px 0 24px}}

/* Compact portrait race-start video: secondary to the main hero photograph. */
.video-section{background:#fafbfc;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3}
.video-split{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:46px;align-items:center}
.video-copy{max-width:640px}
.video-copy p{color:#44515d;font-size:1.04rem}
.video-eyebrow{color:#66717c;opacity:1}
.video-wrap{max-width:390px;margin:0 auto;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#000;box-shadow:0 6px 20px rgba(18,51,92,.08)}
.video-wrap video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#000}
.video-caption{max-width:390px;margin:10px auto 0;color:var(--muted);font-size:.92rem;text-align:center}
@media(max-width:900px){.video-split{grid-template-columns:1fr;gap:24px}.video-wrap{max-width:350px}.video-caption{max-width:350px}}
@media(max-width:560px){.video-wrap{max-width:300px}.video-caption{max-width:300px}}

/* Race information page — intentionally simple, practical and mobile friendly. */
.race-info-hero{padding:34px 0;background:#f7f5f0}
.race-info-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:center}
.race-info-hero-grid img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.race-info-eyebrow{color:#66717c;opacity:1}
.race-status-section{padding:28px 0 0}
.race-status-notice{text-align:center}
.race-choice-section{padding-top:38px}
.race-info-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.race-info-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;padding:0 26px 26px}
.race-info-card-top{margin:0 -26px 24px;padding:15px 26px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px}
.race-info-card-top.fun-run-top{background:#355f2f}
.race-info-card-top strong{font-size:1.25rem}
.race-label{font-weight:800;letter-spacing:.07em;font-size:.78rem}
.race-info-card h3{font-size:1.8rem;color:var(--navy);margin:0 0 8px}
.race-info-card>p{color:#52606b;min-height:52px}
.race-list{margin:22px 0 24px}
.race-list div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #edf0f3}
.race-list div:last-child{border-bottom:0}
.race-list dt{font-weight:800;color:#425466}
.race-list dd{margin:0;color:#25313b}
.race-timeline-section{padding:48px 0}
.race-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.race-time{background:#fff;border:1px solid #e7e2d8;border-radius:12px;padding:20px}
.race-time strong{display:block;color:var(--navy);font-size:1.25rem;margin-bottom:5px}
.race-time span{color:#56616c}
.race-detail-grid{grid-template-columns:repeat(2,1fr)}
.plain-list{padding-left:20px;margin:0}.plain-list li{margin:8px 0}
.prizes-section{background:#fafbfc;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3}
.prizes-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start}
.prize-list{border:1px solid var(--line);border-radius:12px;background:#fff;padding:4px 22px}
.prize-list div{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid #edf0f3}
.prize-list div:last-child{border-bottom:0}.prize-list strong{color:var(--navy)}.prize-list span{color:#44515d}.prize-list small{color:#7a8793}
.race-info-cta .btn-outline{border-color:#fff;color:#fff;background:transparent}
.actions-centred{justify-content:center}
@media(max-width:900px){.race-info-hero-grid,.race-info-cards,.prizes-panel{grid-template-columns:1fr}.race-info-hero-grid img{max-height:330px}.race-timeline{grid-template-columns:1fr 1fr}.race-info-card>p{min-height:0}}
@media(max-width:560px){.race-timeline{grid-template-columns:1fr}.race-list div,.prize-list div{grid-template-columns:1fr;gap:2px}.race-info-card{padding:0 20px 22px}.race-info-card-top{margin:0 -20px 20px;padding:14px 20px}.race-info-hero-grid{gap:20px}}

/* Race route map */
.route-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px}
.route-heading .section-intro{margin-bottom:0}
.route-heading .btn{flex:0 0 auto}
.route-map{max-width:980px;margin:0 auto;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#f2f2f2;box-shadow:0 8px 24px rgba(20,35,50,.08)}
.route-map iframe{display:block;width:100%;height:620px;border:0;background:#f2f2f2}
.route-note{max-width:980px;margin:12px auto 0;color:var(--muted);font-size:.92rem}
.route-secondary{padding-top:52px;background:#fafbfc;border-top:1px solid #edf0f3}
@media(max-width:900px){.route-heading{align-items:flex-start;flex-direction:column}.route-map iframe{height:560px}}
@media(max-width:560px){.route-map iframe{height:500px}.route-heading .btn{width:100%;text-align:center}}


/* FAQ page — grouped into simple race-day topics. */
.faq-hero{padding:34px 0}
.faq-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:38px;align-items:center}
.faq-eyebrow{color:#66717c;opacity:1}
.faq-quick-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;box-shadow:0 6px 18px rgba(18,51,92,.05)}
.faq-quick-card strong{display:block;color:var(--navy);font-size:1.12rem;margin-bottom:8px}
.faq-quick-card span{display:block;color:#44515d;margin:4px 0}
.faq-quick-card a{display:inline-block;margin-top:12px;color:var(--navy);font-weight:800;text-decoration:none}
.faq-section{padding:48px 0}
.faq-alt{background:#fafbfc;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3}
.faq-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:52px;align-items:start}
.faq-side{position:sticky;top:100px}
.faq-side h2{margin:0 0 8px;color:var(--navy);font-size:1.45rem}
.faq-side p{margin:0;color:var(--muted)}
.faq-group{max-width:none;border-top:1px solid var(--line)}
.faq-group details{padding:0;border-bottom:1px solid var(--line)}
.faq-group summary{list-style:none;position:relative;padding:18px 44px 18px 0;font-size:1.04rem}
.faq-group summary::-webkit-details-marker{display:none}
.faq-group summary::after{content:'+';position:absolute;right:8px;top:14px;color:var(--navy);font-size:1.55rem;font-weight:400}
.faq-group details[open] summary::after{content:'–'}
.faq-group p{margin:0;padding:0 44px 18px 0;color:#44515d}
.faq-group p a{color:var(--navy);font-weight:800}
.faq-contact-section{padding:48px 0 0}
.faq-cta .btn-outline{border-color:#fff;color:#fff;background:transparent}
@media(max-width:900px){.faq-hero-grid,.faq-layout{grid-template-columns:1fr}.faq-layout{gap:22px}.faq-side{position:static}.faq-side p{max-width:680px}}
@media(max-width:560px){.faq-section{padding:38px 0}.faq-group summary{padding-right:36px}.faq-group p{padding-right:28px}.faq-quick-card{padding:18px 20px}}

/* Contact page — simple and practical, keeping email as the main public contact route. */
.contact-hero{background:#f7f5f0}
.contact-eyebrow{color:#66717c;opacity:1}
.contact-main-section{padding-bottom:40px}
.contact-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:stretch}
.contact-primary-card,.contact-side-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:28px}
.contact-primary-card{box-shadow:0 8px 24px rgba(18,51,92,.06)}
.contact-label{display:block;color:#66717c;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
.contact-primary-card h2{color:var(--navy);font-size:clamp(1.45rem,3vw,2.15rem);margin:0 0 10px;overflow-wrap:anywhere}
.contact-primary-card p{color:#44515d;margin:0 0 22px;max-width:620px}
.contact-side-card h2{color:var(--navy);font-size:1.45rem;margin:0 0 12px}
.contact-name{font-size:1.22rem;font-weight:800;color:#263746;margin:0 0 4px}
.contact-side-card p{margin-top:6px}
.contact-help-section{background:var(--cream);border-top:1px solid #eee7dc;border-bottom:1px solid #eee7dc}
.contact-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.contact-help-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}
.contact-help-card strong{display:block;color:var(--navy);font-size:1.08rem;margin-bottom:6px}
.contact-help-card span{color:#52606b}
.contact-venue-section{padding-bottom:28px}
.contact-venue-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:28px;background:#fff}
.contact-venue-panel h2{color:var(--navy);margin:0 0 8px;font-size:1.55rem}
.contact-venue-panel p{margin:0;color:#44515d}
.contact-venue-copy p{margin:0 0 18px}
.contact-faq-section{padding-top:24px}
.contact-cta{max-width:820px;margin:0 auto}
@media(max-width:900px){.contact-layout,.contact-help-grid,.contact-venue-panel{grid-template-columns:1fr}.contact-venue-panel{gap:18px}}
@media(max-width:560px){.contact-primary-card,.contact-side-card,.contact-venue-panel{padding:21px}.contact-main-section{padding-bottom:28px}}

/* Version 14: single continuous race page */
html{scroll-behavior:smooth}
.anchor-section{scroll-margin-top:92px}
.one-page-nav nav{gap:14px}
.one-page-nav nav a:not(.btn){white-space:nowrap}
.compact-cream{background:var(--cream);border-top:1px solid #eee7dc;border-bottom:1px solid #eee7dc}
.five-times{grid-template-columns:repeat(5,1fr)}
.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.location-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px 24px;background:#fff}
.location-card h3{color:var(--navy);margin:4px 0 12px;font-size:1.35rem}
.location-card p{margin:0 0 12px;color:#44515d}
.location-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800}
.overflow-note{margin-top:20px;padding:16px 18px;border-radius:10px;background:#eef3f8;color:#31445a}
.facilities-panel{margin-top:28px;border-top:1px solid var(--line);padding-top:26px}
.facilities-panel h3{color:var(--navy);margin:0 0 12px}
.columns-list{display:grid;grid-template-columns:1fr 1fr;gap:4px 34px}
.routes-section{background:#fafbfc;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3}
.embedded-route-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-top:24px}
.embedded-route-card.fun-route-card{background:#fbfdf9}
.route-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}
.route-heading h3{font-size:1.75rem;color:var(--navy);margin:3px 0 6px}
.route-heading p{margin:0;color:var(--muted)}
.route-kicker{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.fun-route-card .route-kicker{color:#355f2f}
.map-frame{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f3f5f7}
.map-frame iframe{display:block;width:100%;height:560px;border:0}
.faq-one-page-section{background:#fff}
.faq-one-page{max-width:900px}
.contact-one-page-section{background:var(--cream);border-top:1px solid #eee7dc;border-bottom:1px solid #eee7dc}
.contact-one-page-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center}
.contact-email{display:inline-block;color:var(--navy);font-weight:800;font-size:clamp(1.1rem,2.5vw,1.5rem);margin:8px 0 12px;text-decoration:none;border-bottom:2px solid #b8c6d6}
.contact-tip-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.contact-tip-card h3{color:var(--navy);margin-top:0}
.footer-top{color:#fff;font-weight:800;text-decoration:none}

@media(max-width:1050px){
  .one-page-nav{align-items:flex-start;padding:14px 0;flex-direction:column}
  header{position:sticky}
  .one-page-nav nav{gap:10px 14px}
  .five-times{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  header{position:sticky;top:0}
  .location-grid,.contact-one-page-grid{grid-template-columns:1fr}
  .five-times{grid-template-columns:1fr 1fr}
  .route-heading{flex-direction:column}
  .map-frame iframe{height:500px}
}
@media(max-width:560px){
  .one-page-nav{padding:10px 0;gap:8px}
  .one-page-nav nav{display:flex;flex-wrap:nowrap;overflow-x:auto;width:100%;padding:2px 0 8px;scrollbar-width:thin}
  .one-page-nav nav a{flex:0 0 auto}
  .one-page-nav .btn{padding:9px 13px}
  .anchor-section{scroll-margin-top:125px}
  .five-times,.columns-list{grid-template-columns:1fr}
  .map-frame iframe{height:440px}
  .embedded-route-card{padding:16px}
  .location-card{padding:22px 18px}
}

/* Version 15 — runner-journey order and consolidated one-page presentation */
.hero-v15 .hero-copy{align-self:center}
.hero-date-row{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 24px;color:#44515d;font-size:.98rem}
.hero-date-row span{display:inline-flex;align-items:center;gap:6px}
.race-morning-v15{padding:58px 0}
.morning-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}
.morning-step{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;min-height:100%}
.step-no{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-weight:800}
.step-time{display:block;color:var(--red);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.morning-step h3{color:var(--navy);font-size:1.2rem;margin:0 0 9px}
.morning-step p{color:#4d5a66;margin:0 0 8px;font-size:.95rem}
.start-time-pair{display:grid;grid-template-columns:78px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid #edf0f3}.start-time-pair strong{color:var(--navy)}
.entry-section-v15{padding:58px 0}
.entry-grid-v15{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}
.entry-card-v15{border:1px solid var(--line);border-radius:14px;padding:26px;background:#fff;box-shadow:0 7px 22px rgba(18,51,92,.05)}
.entry-card-v15 h3{color:var(--navy);font-size:1.55rem;margin:8px 0 8px}.entry-price{font-size:1.08rem;color:#3f4d58}.entry-price strong{font-size:1.35rem;color:var(--navy)}
.fun-entry-v15{background:#fbfdf9}
.sold-out-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:22px 24px;background:var(--navy);color:#fff;border-radius:14px}
.sold-out-banner strong{display:block;font-size:1.35rem;margin-bottom:4px}.sold-out-banner span:not(.status){display:block;color:#d9e3ee}.sold-out-banner .status{flex:0 0 auto;background:#fff;color:var(--navy)}
.photos-section-v15{background:#fff}
.photo-grid-v15{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-auto-rows:230px;gap:14px;margin-top:28px}.photo-grid-v15 figure{position:relative;margin:0;overflow:hidden;border-radius:12px;background:#eef1f4}.photo-grid-v15 .photo-large{grid-row:span 2}.photo-grid-v15 img{width:100%;height:100%;object-fit:cover;display:block}.photo-grid-v15 figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 14px 10px;background:linear-gradient(transparent,rgba(0,0,0,.68));color:#fff;font-weight:700;font-size:.9rem}
.supporters-section-v15{background:#fff}.supporters-grid-v15{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:stretch;margin-top:24px}.supporter-v15{display:grid;grid-template-columns:240px 1fr;gap:24px;border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.supporter-v15 img{width:100%;height:100%;min-height:200px;object-fit:cover;border-radius:10px}.supporter-v15 h3{font-size:1.55rem;color:var(--navy);margin:5px 0 10px}.supporter-kicker{font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--red)}
.credentials-card-v15{background:var(--cream);border:1px solid #e9e1d5;border-radius:14px;padding:24px}.credentials-card-v15 h3{color:var(--navy);margin:0 0 12px}.credentials-card-v15 dl{margin:0}.credentials-card-v15 dl div{padding:12px 0;border-bottom:1px solid #e4ddd2}.credentials-card-v15 dl div:last-child{border-bottom:0}.credentials-card-v15 dt{font-size:.86rem;color:#66717c}.credentials-card-v15 dd{margin:3px 0 0;color:var(--navy);font-weight:800;font-size:1.08rem}
.sponsor-placeholder-v15{margin-top:18px;padding:18px 20px;border:1px dashed #c5ced7;border-radius:12px;background:#fafbfc;display:flex;justify-content:space-between;gap:20px;color:#61707c}.sponsor-placeholder-v15 strong{color:var(--navy)}
@media(max-width:1050px){.morning-steps{grid-template-columns:1fr 1fr}.supporter-v15{grid-template-columns:200px 1fr}}
@media(max-width:900px){.entry-grid-v15,.supporters-grid-v15{grid-template-columns:1fr}.photo-grid-v15{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.photo-grid-v15 .photo-large{grid-row:span 1;grid-column:span 2}.sold-out-banner{align-items:flex-start;flex-direction:column}.supporter-v15{grid-template-columns:190px 1fr}}
@media(max-width:620px){.morning-steps,.entry-grid-v15{grid-template-columns:1fr}.photo-grid-v15{grid-template-columns:1fr;grid-auto-rows:230px}.photo-grid-v15 .photo-large{grid-column:span 1}.supporter-v15{grid-template-columns:1fr}.supporter-v15 img{height:230px}.sponsor-placeholder-v15{flex-direction:column}.hero-date-row{display:grid;gap:6px}.morning-step{padding:18px}.entry-card-v15{padding:22px}}


/* Version 16 — photo crop correction and earlier prize section */
.photo-grid-v15 .photo-family img{object-position:center top}
.prizes-section-v16{background:#f7f5f0;border-top:1px solid #eee7dc;border-bottom:1px solid #eee7dc}


.rotary-date{margin:.25rem 0 .7rem;font-size:1.15rem;color:#18324a}
.rotary-date strong{font-weight:700}

/* Version 19 — Early Bird and standard pricing together in Choose your race */
.early-bird-intro{max-width:760px}
.early-bird-badge{display:inline-block;background:#ffd83d;color:#18324a;font-size:.76rem;font-weight:900;letter-spacing:.08em;border-radius:999px;padding:7px 11px;margin-bottom:10px}
.early-deadline{margin:0 0 16px;color:#b4342b;font-weight:800;font-size:.92rem}
.price-comparison{display:grid;gap:8px;margin:0 0 12px}
.price-row{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:12px;padding:11px 12px;border:1px solid #e4e8ec;border-radius:9px;background:#f9fafb}
.price-row span{font-weight:700;color:#334552}.price-row strong{font-size:1.45rem;color:var(--navy)}.price-row small{color:#687783;white-space:nowrap}
.saving-line{margin:0 0 18px;color:#1d6a45;font-weight:800}
@media(max-width:520px){.price-row{grid-template-columns:1fr auto}.price-row small{grid-column:1/-1;margin-top:-6px}}

/* Version 26 — subtle pastel section bands for the one-page race website.
   Cards remain white so the page stays clear, calm and easy to scan. */
.race-morning-v15{
  background:#fbf7ef;
  border-top:1px solid #eee8de;
  border-bottom:1px solid #eee8de;
}
.entry-section-v15{
  background:#f1f6fb;
  border-bottom:1px solid #e4ebf2;
}
.prizes-section-v16{
  background:#fff9e9;
  border-top:1px solid #f2ead2;
  border-bottom:1px solid #f2ead2;
}
.routes-section{
  background:#f1f8f3;
  border-top:1px solid #e1ece4;
  border-bottom:1px solid #e1ece4;
}
.video-section{
  background:#f6f2f8;
  border-top:1px solid #e9e1ed;
  border-bottom:1px solid #e9e1ed;
}
.photos-section-v15{
  background:#fdf5f2;
  border-top:1px solid #f0e4df;
  border-bottom:1px solid #f0e4df;
}
.supporters-section-v15{
  background:#f1f7f7;
  border-top:1px solid #e1ebeb;
  border-bottom:1px solid #e1ebeb;
}
.faq-one-page-section{
  background:#f8f8f4;
  border-top:1px solid #e9e9e1;
  border-bottom:1px solid #e9e9e1;
}
.contact-one-page-section{
  background:#fbf7ef;
  border-top:1px solid #eee8de;
  border-bottom:1px solid #eee8de;
}

/* EntryCentral pre-launch links and high-visibility entry CTAs — 1 November 2026 */
.race-entry-action{margin-top:20px;padding-top:17px;border-top:1px solid #e4e8ec}
.race-entry-button{display:block;box-sizing:border-box;width:100%;text-align:center;line-height:1.4}
.race-entry-note{margin:10px 0 0;color:#435463;font-size:.88rem;line-height:1.45}
.one-page-nav nav .nav-entry-cta{background:var(--red);color:#fff;padding:10px 14px;font-size:.87rem;line-height:1.2;white-space:nowrap;box-shadow:0 2px 9px rgba(216,58,50,.16)}
.one-page-nav nav .nav-entry-cta:hover,.one-page-nav nav .nav-entry-cta:focus-visible{background:#b82c25;color:#fff}
.hero .hero-entry-cta{background:var(--red);color:#fff}
.hero .hero-entry-cta:hover,.hero .hero-entry-cta:focus-visible{background:#b82c25;color:#fff}

/* Registration buttons live on EntryCentral; preview remains noindex until domain migration */
.entry-section-v15 .entry-closed{background:#f0f2f4;border:1px solid #cdd4dc;color:#3f4d5d;cursor:default;user-select:text}
.one-page-nav nav .nav-entry-cta,.hero .hero-entry-cta{cursor:pointer}
