@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#071b44;--blue:#0751d8;--pink:#cf006b;--hot:#ed087e;--pale:#edf3ff;--ink:#102245;--muted:#50617b;--line:#d5def0;--white:#fff;--radius:12px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;background:#fff;color:var(--ink);line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.02}h1,h2,.display{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:800;letter-spacing:-.02em}h1{font-size:clamp(76px,9.6vw,152px);text-transform:uppercase;margin-bottom:24px}h2{font-size:clamp(44px,5vw,74px);text-transform:uppercase;margin-bottom:22px}h3{font-size:23px;line-height:1.2;margin-bottom:14px}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.wrap{width:min(1320px,90%);margin:auto}.topline{padding:8px 20px;background:var(--pink);color:#fff;text-align:center;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.header{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 1px 0 var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px}.wordmark{text-decoration:none;line-height:.85;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:800;letter-spacing:-1px;font-size:33px;white-space:nowrap}.wordmark span{color:var(--blue)}.wordmark small{font-family:'DM Sans',Arial,sans-serif;font-size:10px;letter-spacing:.24em;display:block;margin-top:8px;color:var(--pink)}.navlinks{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:700}.navlinks a{text-decoration:none}.navlinks a:hover{color:var(--pink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;text-decoration:none;background:var(--pink);color:#fff;border:0;border-radius:4px;padding:15px 25px;font-weight:700;font-size:14px;line-height:1.4;transition:transform .15s,background .15s}.btn:hover{background:#a90057;transform:translateY(-2px)}.btn.blue{background:var(--blue)}.btn.outline{background:transparent;color:inherit;border:1px solid currentColor}.btn.white{background:#fff;color:var(--navy)}.nav .btn{padding:12px 18px}.menu{display:none;background:none;border:1px solid var(--line);border-radius:4px;padding:8px 12px}.hero{background:var(--navy);color:#fff;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;right:-100px;top:0;width:38%;height:100%;background:var(--blue);transform:skew(-15deg);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:690px;align-items:center;gap:35px;padding:70px 0;z-index:1}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.17em;font-weight:700;margin-bottom:20px;display:block}.hero .eyebrow{color:#a6c8ff}.hero h1 em{font-style:normal;color:#ff5fab}.hero p{max-width:480px;color:#d3ddf1;font-size:17px}.actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:30px}.hero-art{position:relative;transform:rotate(3deg)}.hero-art img{display:block;width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:12px;box-shadow:0 30px 70px #0003}.art-stamp{position:absolute;bottom:-25px;left:-24px;background:var(--pink);color:#fff;padding:19px 25px;font-weight:800;line-height:1.25;transform:rotate(-7deg);font-size:18px;box-shadow:8px 8px 0 #fff}.small{font-size:12px}.subtle{color:var(--muted)}.checker{height:20px;background:conic-gradient(var(--blue) 25%,#fff 0 50%,var(--blue) 0 75%,#fff 0) 0 0/40px 40px}.ticker{background:var(--blue);color:#fff;padding:17px 0;overflow:hidden;white-space:nowrap;text-align:center;font-size:15px;font-weight:800;letter-spacing:.12em}.ticker span{padding:0 28px}.info-strip{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:20px;padding:30px 0;align-items:center;border-bottom:1px solid var(--line)}.info-strip strong{display:block;font-size:16px}.info-strip small{display:block;font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.section{padding:95px 0}.section.tint{background:var(--pale)}.section.dark{background:var(--navy);color:#fff}.section.dark .subtle{color:#b9c9e7}.section .eyebrow{color:var(--pink)}.section.dark .eyebrow{color:#ff76b9}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.lead{font-size:18px;max-width:610px}.big-stat{font-family:'Barlow Condensed',Arial,sans-serif;font-size:128px;font-weight:800;line-height:1;color:var(--blue)}.mission-box{border-left:7px solid var(--pink);padding:25px 35px;background:var(--pale)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card{padding:34px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.card .num{font-family:'Barlow Condensed',Arial,sans-serif;font-size:48px;line-height:1;color:var(--pink);display:block;margin-bottom:28px}.card p:last-child{margin-bottom:0}.section-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-title h2{margin-bottom:0}.section-title p{max-width:350px;margin-bottom:0}.tag{display:inline-block;font-size:11px;font-weight:700;padding:5px 10px;background:var(--pale);color:var(--blue);border-radius:4px;margin:0 0 16px}.tag.pending{background:#fff1f7;color:#a50052}.detail-list{padding:0;margin:25px 0 0;list-style:none}.detail-list li{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding:16px 0}.detail-list li span{color:var(--muted);text-align:right}.venue-block{background:var(--blue);color:#fff;padding:45px;border-radius:var(--radius);position:relative;overflow:hidden}.venue-block:after{content:'5K';position:absolute;font-family:'Barlow Condensed',Arial,sans-serif;font-size:240px;right:-10px;bottom:-55px;opacity:.12;font-weight:800;line-height:1}.venue-block p,.venue-block h3{position:relative;z-index:1}.venue-block .eyebrow{color:#dbe7ff}.timeline{margin:0;padding:0;list-style:none;border-left:2px solid #5270a2;margin-left:10px}.timeline li{position:relative;padding:0 0 35px 36px;display:grid;grid-template-columns:130px 1fr;gap:22px}.timeline li:before{content:'';width:12px;height:12px;border-radius:50%;position:absolute;left:-7px;top:5px;background:#ff53a6}.timeline time{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#a7c8ff;font-weight:700}.timeline h3{font-size:20px;margin-bottom:8px}.timeline p{color:#b9c9e7;font-size:14px;max-width:600px}.timeline li:last-child{padding-bottom:0}.form-panel{padding:34px;background:white;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink)}.form-panel h3{font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{min-width:0}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #b4c2da;background:#fff;color:var(--ink);border-radius:4px;min-height:48px}.field textarea{min-height:120px;resize:vertical}.field.wide{grid-column:1/-1}.field-error,.form-error{color:#b5003c;font-size:12px;line-height:1.45;margin:5px 0 0}.form-error:empty,.field-error:empty{display:none}.form-panel .btn{margin-top:20px}.form-note{font-size:12px;color:var(--muted);margin:15px 0 0}.success{padding:22px;background:#e7f5ee;border-left:4px solid #187348}.support{display:grid;grid-template-columns:1.1fr .9fr;gap:60px}.donate-box{margin-top:28px;background:var(--navy);padding:28px;border-radius:var(--radius);color:#fff}.donate-box h3{color:#fff}.donate-box p{color:#c7d5ed}.donate-amounts{display:flex;gap:8px;flex-wrap:wrap}.donate-amounts button{border:1px solid #fff6;background:transparent;color:#fff;padding:10px 18px;border-radius:4px}.donate-amounts button[aria-pressed=true]{background:#fff;color:var(--navy)}.donate-amounts input{border:1px solid #fff6;background:#fff;color:var(--navy);padding:10px;width:130px;border-radius:4px}.donate-box .form-note{color:#c7d5ed}.shirt-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:65px}.shirt-grid img{width:100%;border-radius:var(--radius);display:block}.merch-caption{font-size:12px;margin-top:12px;color:var(--muted)}.jump-nav{display:flex;gap:10px;flex-wrap:wrap;padding-top:25px}.jump-nav a{font-size:12px;text-decoration:none;color:var(--blue);padding:7px 11px;border:1px solid var(--line);border-radius:4px}.faq details{padding:20px 0;border-top:1px solid var(--line)}.faq summary{font-weight:700;cursor:pointer}.faq details p{margin:15px 0 0;color:var(--muted)}.empty-state{background:var(--pale);padding:35px;border:1px dashed #b1c1e0;border-radius:var(--radius)}.map-placeholder{min-height:230px;border-radius:var(--radius);background:var(--pale);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px;border:1px solid var(--line)}.map-placeholder svg{width:45px;color:var(--blue);margin-bottom:20px}.footer{padding:55px 0 25px;background:var(--navy);color:#fff}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:start}.footer-links{display:flex;gap:23px;flex-wrap:wrap;font-size:12px}.footer-links a{color:#d3dff3;text-decoration:none}.footer .wordmark{color:#fff}.footer .wordmark span{color:#89b5ff}.footer .wordmark small{color:#ff76b9}.footer-bottom{border-top:1px solid #ffffff25;margin-top:40px;padding-top:20px;font-size:11px;color:#acbedb;display:flex;justify-content:space-between;gap:25px}.page-hero{background:var(--navy);color:#fff;padding:75px 0 60px}.page-hero h1{font-size:clamp(64px,8vw,108px);max-width:1000px}.page-hero p{color:#ccd9ef;max-width:600px}.page-hero .eyebrow{color:#ff76b9}.tier{position:relative}.tier h3{font-size:27px}.tier ul{padding-left:18px;color:var(--muted);font-size:14px}.tier strong{color:var(--blue);font-size:13px}.tier.featured{border:2px solid var(--pink)}.share-feedback{font-size:12px;min-height:18px;margin-top:8px}.ticket-line{padding:20px 0;border-bottom:1px solid var(--line)}.ticket-line h3{font-size:18px}.ticket-line input{width:80px;padding:8px;margin:8px 10px;border:1px solid #b4c2da}.ticket-line label{font-size:13px}.ticket-line p{font-size:13px}.tickets-total{display:flex;justify-content:space-between;font-weight:bold;padding-top:20px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:100;background:#fff;color:var(--navy);padding:10px}.notice{padding:16px 20px;background:#fff1f7;border-left:4px solid var(--pink);font-size:13px}.photo-empty{min-height:280px;background:var(--pale);padding:60px;text-align:center;border-radius:var(--radius)}.photo-empty .display{font-size:80px;color:var(--blue)}
@media(min-width:1500px){.hero-grid{min-height:780px}.hero-art img{aspect-ratio:1.1}}@media(max-width:1100px){.navlinks{gap:13px;font-size:12px}.nav .btn{padding:10px}.hero-grid{min-height:620px}.hero h1{font-size:105px}.split{gap:40px}.nav{gap:15px}.support{gap:35px}}@media(max-width:850px){.menu{display:block}.nav{min-height:75px}.navlinks{display:none;position:absolute;top:75px;left:0;right:0;background:#fff;padding:24px;box-shadow:0 12px 20px #071b441c;flex-direction:column;align-items:stretch;gap:17px;font-size:14px}.navlinks.open{display:flex}.hero-grid{grid-template-columns:1fr;gap:50px;padding:55px 0 65px}.hero h1{font-size:100px}.hero-art{width:90%;margin:auto;transform:rotate(2deg)}.hero-art img{aspect-ratio:1.5}.hero:after{width:65%;right:-30%}.info-strip{grid-template-columns:1fr 1fr}.section{padding:65px 0}.split,.support,.shirt-grid{grid-template-columns:1fr;gap:35px}.grid3{grid-template-columns:1fr}.grid2{gap:16px}.section-title{align-items:start;flex-direction:column}.footer-top{flex-direction:column}.shirt-grid{gap:30px}.hero p{max-width:550px}.big-stat{font-size:100px}}@media(max-width:500px){.wrap{width:89%}.topline{font-size:9px}.hero h1{font-size:79px}.hero .eyebrow{font-size:10px}.hero p{font-size:16px}.hero-art{width:100%}.art-stamp{left:5px;bottom:-20px;font-size:14px;padding:14px}.info-strip{gap:18px}.info-strip strong{font-size:14px}.info-strip .btn{padding:10px;font-size:12px}.grid2{grid-template-columns:1fr}.card,.form-panel{padding:25px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.timeline li{grid-template-columns:1fr;gap:5px;padding-left:24px}.venue-block{padding:30px}.footer-bottom{flex-direction:column;gap:8px}.footer-links{gap:15px}.page-hero{padding:50px 0}.photo-empty{padding:35px}.actions .btn{padding:14px 18px}.mission-box{padding:22px}.donate-box{padding:24px}h2{font-size:46px}}
@media(min-width:851px){.hero h1{font-size:clamp(82px,8vw,124px)}.hero-art img{aspect-ratio:1.5}.hero-grid{min-height:690px}.hero p{font-size:16px}}

.gift-choices{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.gift-choice{border:1px solid #ffffff70;border-radius:4px;padding:10px 12px;font-size:14px;display:flex;align-items:center;gap:6px;cursor:pointer}.gift-choice:has(input:checked){background:#fff;color:var(--navy)}.gift-custom label,.gift-custom small{display:block;font-size:12px}.gift-custom input{padding:12px;border:0;border-radius:4px;max-width:100%;width:200px}.gift-error{color:#ffc4dc;font-size:13px}.gift-error:empty{display:none}

/* Focused homepage: hero, purpose, registration, giving, race day, sponsors. */
.hero-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 25px;border-top:1px solid #ffffff35;padding-top:20px;margin-top:25px;max-width:530px}.hero-facts>div:last-child{grid-column:1/-1}.hero-facts small{display:block;color:#adc7ef;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero-facts strong{font-size:15px}.registration-details{margin:28px 0;border-top:1px solid var(--line)}.registration-details>div{padding:18px 0;border-bottom:1px solid var(--line)}.registration-details .eyebrow{font-size:10px;margin-bottom:8px}.registration-details strong{font-size:24px}.registration-details p{font-size:14px;color:var(--muted);margin:0}.registration-steps,.donor-steps{list-style:none;counter-reset:steps;padding:0;margin-top:27px}.registration-steps li,.donor-steps li{counter-increment:steps;padding:0 0 20px 42px;position:relative}.registration-steps li:before,.donor-steps li:before{content:'0' counter(steps);position:absolute;left:0;top:0;font-family:'Barlow Condensed',Arial,sans-serif;font-size:24px;color:var(--pink);font-weight:800}.donor-steps li:before{color:#ff76b9}.registration-steps strong,.donor-steps strong{display:block;font-size:15px}.registration-steps span,.donor-steps span{display:block;font-size:13px;color:var(--muted)}.donor-steps span{color:#bbcae4}.registration-shirts{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px;margin-top:0}.registration-shirts img{width:100%;display:block;border-radius:var(--radius)}.registration-shirts .merch-caption{font-size:15px;max-width:350px}.giving-panel{background:#112d5d;border:1px solid #315080;padding:35px;border-radius:var(--radius)}.giving-panel p{color:#c7d5ed}.giving-panel .form-note{color:#bacbe7}.race-day-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:25px}.race-day-grid .timeline{border-color:#becde6;margin-top:30px}.race-day-grid .timeline li{grid-template-columns:105px 1fr;padding-left:25px;gap:15px}.race-day-grid .timeline time{color:var(--blue);font-size:10px}.race-day-grid .timeline p{color:var(--muted);font-size:13px}.race-day-grid .timeline h3{font-size:17px}.race-day-grid .map-placeholder{min-height:190px;margin-top:20px;background:white}.race-more details{background:#fff;padding:22px 28px;border:1px solid var(--line);border-radius:var(--radius);margin-top:12px}.race-more .detail-body{margin-top:20px}.race-more .form-panel{max-width:700px}.race-more .detail-body>p{margin-top:0}.sponsor-placeholder{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 0}.sponsor-placeholder p{font-weight:700;font-size:21px;margin-bottom:5px}.hero h1{font-size:clamp(68px,7vw,112px)}
@media(max-width:850px){.race-day-grid{grid-template-columns:1fr}.registration-shirts{grid-template-columns:1fr;gap:12px}.hero h1{font-size:85px}.support{gap:30px}.race-day-grid .timeline li{grid-template-columns:1fr;gap:6px}}@media(max-width:500px){.hero h1{font-size:65px}.hero-facts{gap:14px}.hero-facts strong{font-size:13px}.giving-panel{padding:25px}.race-more details{padding:20px}.registration-shirts .merch-caption{font-size:12px}}

.donor-callout{padding:48px 0}.donor-callout-grid{display:flex;align-items:center;justify-content:space-between;gap:40px}.donor-callout h2{font-size:48px;margin-bottom:12px}.donor-callout p{max-width:650px;color:#c7d5ed;margin:0}.donor-callout .eyebrow{margin-bottom:12px}.donor-callout .btn{flex-shrink:0}.donor-price{font:800 65px/1 'Barlow Condensed',Arial,sans-serif;color:var(--blue);margin:28px 0}.donor-price span{font:500 12px/1.5 'DM Sans',Arial,sans-serif;display:block;color:var(--muted);margin-top:7px}.donor-tier{display:flex;flex-direction:column}.donor-tier h4{font-size:13px;margin:0 0 10px}.donor-tier ul{font-size:13px;color:var(--muted);padding-left:18px;margin-bottom:28px;flex:1}.donor-tier li{margin:8px 0}.donor-tier.featured{border:2px solid var(--pink)}.donor-hero h1{font-size:clamp(65px,7vw,105px)}@media(max-width:650px){.donor-callout-grid{align-items:start;flex-direction:column;gap:25px}.donor-callout h2{font-size:42px}.donor-hero h1{font-size:64px}}
