/* Shared typography and palette with src/index.css. No emoji or automatic word breaking. */
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Oswald:wght@500;600&display=swap');
:root{font-family:'Manrope',sans-serif;color:#17344b;background:#f3f1e9;font-synthesis:none;-webkit-hyphens:none;hyphens:none}
*{box-sizing:border-box}body{margin:0;min-width:320px;background-image:radial-gradient(#17344b12 .7px,transparent .7px);background-size:16px 16px}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #286e98;outline-offset:5px}html{scroll-behavior:smooth;scroll-padding-top:24px}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px clamp(20px,5vw,80px);border-bottom:1px solid #c8d7e1;background:#fafcfd}nav{display:flex;gap:26px;flex-wrap:wrap}nav a{font-size:13px;font-weight:700;text-decoration:none}nav a:hover,.text-cta:hover{text-decoration:underline}
main{max-width:1280px;margin:auto;padding:32px clamp(20px,5vw,64px) 80px}section{padding:64px 0;border-bottom:1px solid #c8d7e1}.back-link{font-size:12px;color:#586e7f;text-decoration:none}.eyebrow{font:700 11px/1.6 'DM Mono',monospace;letter-spacing:.1em;color:#24678f}h1{font-family:'Oswald','Arial Narrow',sans-serif;text-transform:uppercase;font-size:clamp(44px,5.6vw,76px);line-height:1.02;letter-spacing:-.045em;margin:20px 0 24px;font-weight:600}h1 em{display:block;color:#647a89;font-style:normal;font-weight:500;margin-top:8px}h2{font-family:'Oswald','Arial Narrow',sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(28px,3.3vw,42px);line-height:1.1;letter-spacing:-.025em;margin:18px 0 30px}h3{font-family:'Oswald','Arial Narrow',sans-serif;font-weight:500;text-transform:uppercase;font-size:21px;line-height:1.25;margin:18px 0 12px}p{font-size:16px;color:#586e7f;line-height:1.75;margin:0 0 18px}.lead{font-size:19px;max-width:650px}.race-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:60px;align-items:center;padding-top:40px}.cta{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:52px;padding:17px 23px;background:#286e98;color:white;border-radius:8px;font:700 12px/1.5 'DM Mono',monospace;text-decoration:none}.cta:hover{background:#1b5177}.microcopy{font-size:12px;margin-top:12px}
.race-card{background:#163e5b;color:#fafcfd;padding:30px;border-radius:16px;min-width:0;box-shadow:0 15px 45px #163e5b1a}.race-card .eyebrow{color:#bde4f5}.race-date{font-size:19px;font-weight:700;color:inherit;margin-top:14px}.race-facts{margin:24px 0;display:grid;grid-template-columns:1fr;gap:20px}.race-facts div{border-top:1px solid #ffffff30;padding-top:15px}.race-facts dt{font:11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.05em;color:#c2ccd3}.race-facts dd{font-size:30px;font-weight:700;margin:7px 0 0;line-height:1.2}.race-facts dd small{font-size:17px;font-weight:400}.race-facts dd.terrain{font-size:18px}.course-graph{margin:24px 0;color:#bde4f5}.course-graph svg{width:100%;display:block}.course-graph figcaption{display:flex;justify-content:space-between;gap:12px;font:8px 'DM Mono',monospace;margin-top:12px}.race-card .course-note{font-size:12px;color:#d3dadf;line-height:1.6}.source-link{font-size:11px;color:#bde4f5}
.steps,.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:35px}.steps article>span{font:14px 'DM Mono',monospace;display:inline-flex;padding:10px;background:#e4eaef;border-radius:4px;color:#163e5b}.steps h3{margin-top:24px}.distance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px}.distance-card,.directory-card{background:#fafcfd;border:1px solid #c8d7e1;border-radius:14px;padding:28px;min-width:0}.distance-stats{font-size:15px;font-weight:700;color:#17344b}.distance-card p{font-size:14px}.distance-card .cta{margin-top:8px}.faq details{border-top:1px solid #c8d7e1;padding:20px 0}.faq summary{font-size:17px;font-weight:700;cursor:pointer;line-height:1.5}.faq details p{max-width:850px;margin-top:18px}.sources h2{font-size:24px}.sources p,.sources li{font-size:13px;line-height:1.8;color:#586e7f}.sources ul{padding-left:20px}.related-races{padding-top:30px;justify-content:space-between}.directory-hero{padding-top:28px}.directory-hero h1{max-width:850px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.directory-card{display:flex;flex-direction:column}.directory-card h2{font-size:30px;margin:20px 0}.directory-card h2 a{text-decoration:none}.directory-card p{font-size:14px}.text-cta{font:700 11px/1.6 'DM Mono',monospace;text-decoration:none;color:#24678f;margin-top:auto;padding-top:20px}.directory-bottom p{max-width:550px}footer{background:#163e5b;color:white;padding:40px clamp(20px,6vw,90px)}footer p{font-size:12px;color:#c2ccd3;max-width:600px;margin-top:14px}footer>a:last-child{font:12px 'DM Mono',monospace;color:#bde4f5}.skip-link{position:absolute;left:20px;top:-80px;z-index:10;background:white;padding:12px}.skip-link:focus{top:8px}
@media(max-width:900px){.race-hero{gap:28px}.directory-grid{grid-template-columns:1fr}.directory-card h2{font-size:clamp(26px,6vw,32px)}.steps,.focus-grid{gap:24px}}
@media(max-width:680px){.site-header{padding:16px 20px;align-items:flex-start;gap:16px}.site-header nav{flex-direction:column;gap:12px;text-align:right}.site-header nav a{font-size:11px}.race-hero{grid-template-columns:1fr;gap:28px;padding-top:30px}.race-card{padding:24px}section{padding:44px 0}.steps,.focus-grid{grid-template-columns:1fr;gap:14px}.steps article{border-bottom:1px solid #c8d7e1;padding:8px 0}.steps article:last-child{border:0}.lead{font-size:18px}.cta{width:100%;font-size:11px;padding:16px 18px}.distance-card,.directory-card{padding:23px}.related-races{gap:20px}h1{font-family:'Oswald','Arial Narrow',sans-serif;text-transform:uppercase;font-size:clamp(32px,9vw,60px);letter-spacing:-.025em}}
@media(max-width:380px){h2{font-size:26px}.race-card{padding:20px}.distance-card,.directory-card{padding:20px}.course-graph figcaption{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.race-proof-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px}.race-proof-links a{font-size:13px;line-height:1.7;color:#24678f;text-decoration:underline;text-underline-offset:4px}
.race-trial{margin:24px 0 20px}.race-trial strong{display:block;font:500 28px/1.25 'Oswald',sans-serif;color:#163e5b}.race-trial p{font-size:14px;margin:8px 0 0;color:#17344b}.microcopy{max-width:570px;line-height:1.8}
.demand-card{margin-top:28px;padding:32px;background:#fafcfd;border:1px solid #c8d7e1;border-radius:14px}.demand-card>h3{font-size:28px;margin:0 0 24px}.demand-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 28px}.demand-metrics>div{min-width:0;border-top:2px solid #c8d7e1;padding-top:16px}.demand-metrics dt{font-size:13px;font-weight:700;line-height:1.6}.demand-metrics dd{margin:10px 0;color:#163e5b;font:500 32px/1.2 'Oswald',sans-serif}.demand-metrics dd small{font-size:17px}.demand-metrics p{font:12px/1.7 'Manrope',sans-serif;margin:10px 0 0}
.demand-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}.demand-distribution{margin:0;padding:24px;background:#e9eef2;border-radius:10px;min-width:0}.demand-distribution figcaption,.demand-meaning h4{font:500 22px/1.3 'Oswald',sans-serif;color:#17344b;margin:0 0 12px}.demand-distribution p,.demand-meaning p{font-size:14px;line-height:1.75}.demand-distribution ol{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:22px}.demand-distribution li>div:first-child{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;font-size:13px;line-height:1.6}.demand-distribution li>span{display:block;margin-top:5px;font-size:12px;line-height:1.6;color:#586e7f}.demand-track{height:7px;background:#cbd5dc;margin-top:10px;border-radius:4px;overflow:hidden}.demand-track i{display:block;height:100%;background:#163e5b;border-radius:4px}.demand-meaning a{font-size:13px;line-height:1.75;color:#24678f;text-underline-offset:4px}.demand-card .demand-provenance{font-size:12px;line-height:1.8;margin:26px 0 0;padding-top:20px;border-top:1px solid #c8d7e1}
@media(max-width:900px){.demand-card{padding:24px}.demand-detail{gap:24px}.demand-metrics{gap:20px}.demand-metrics dd{font-size:28px}}
@media(max-width:680px){.demand-detail,.demand-metrics{grid-template-columns:1fr}.demand-metrics{gap:16px}.demand-card{padding:22px}.demand-card>h3{font-size:25px}.demand-distribution{padding:20px}.race-trial strong{font-size:26px}}
