/* Midstate race journal: night, morning, and the miles between. */
.race-story{--ochre:#ab592e;--muted:#586c62;overflow:hidden}.race-hero{display:grid;grid-template-columns:1.15fr 1fr;max-width:1440px;margin:auto;padding:74px 6% 64px;gap:6%;align-items:center}.race-hero h1{font-size:clamp(58px,6.8vw,100px);line-height:1.03;letter-spacing:-3px}.race-hero h1 em{color:var(--ochre)}.race-deck{max-width:570px;font:21px/1.65 Georgia,serif}.byline{font-size:12px;letter-spacing:.9px;line-height:1.8;color:var(--muted);margin:25px 0}.hero-photo img{max-height:670px;object-fit:cover;object-position:center 36%;border-radius:180px 180px 2px 2px}.race-story figcaption{font-size:13px;line-height:1.65;color:var(--muted);margin:12px 0 0}.race-story .photo-download-link{display:block;width:fit-content}.story-jumps{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px;font-size:13px}.story-jumps a{padding-bottom:7px;border-bottom:1px solid var(--line);text-decoration:none}.race-facts{background:#e8eee7;border-block:1px solid var(--line);padding:25px 6%;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;text-align:center}.race-facts p{margin:0;font-size:13px;line-height:1.7}.race-facts strong{display:block;font:28px/1.3 Georgia,serif}.race-chapter{max-width:1200px;margin:auto;padding:90px 5% 10px}.chapter-copy{max-width:700px;margin:0 auto 42px}.chapter-copy .eyebrow{color:var(--ochre)}.chapter-copy h2{font-size:clamp(36px,4.2vw,56px);max-width:680px;margin-bottom:28px}.chapter-copy p:not(.eyebrow){font:20px/1.85 Georgia,serif}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px 0 45px}.photo-pair img{height:570px;object-fit:cover}.photo-pair.inn-details img{height:auto;aspect-ratio:3/4;object-fit:cover}.wide-photo{margin-bottom:40px}.wide-photo img{max-height:720px;object-fit:cover}.race-story .small-photo{max-width:660px;margin:45px auto}.night-section{background:#112c29;color:#f9faf7;margin-top:55px;padding-bottom:60px}.night-section .chapter-copy .eyebrow{color:var(--accent)}.night-section figcaption{color:#c0d1c7}.night-section .photo-download-link{color:#f9faf7}.night-section .photo-pair img{height:600px;object-fit:contain;background:#0b211e}.race-film{margin:45px auto;max-width:1080px}.race-film video,.journal-player video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#091613;max-height:650px}.race-film .caption-detail{display:block;margin-top:4px;font-size:12px}.dawn-pause{margin-top:50px;background:#e7ede5;padding:60px 6%}.dawn-pause .race-film{margin-top:0}.dawn-pause .chapter-copy{margin-bottom:0}.race-journal{max-width:1340px;padding:90px 5%;margin:auto;scroll-margin-top:20px}.journal-heading{max-width:740px;margin-bottom:35px}.journal-heading h2{margin-bottom:22px}.journal-heading>p:not(.eyebrow){font:19px/1.75 Georgia,serif}.journal-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:32px;align-items:start}.journal-player{min-width:0}.journal-player h3{font-size:30px;margin-top:23px;margin-bottom:12px}.journal-player>p{font-size:16px;line-height:1.7}.journal-player details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin-top:20px}.journal-player summary{cursor:pointer;font-size:14px;font-weight:700}.journal-player details p{line-height:1.8;font-size:15px;white-space:pre-line}.mile-navigation{display:block;background:#e9eee7;padding:24px;border:1px solid var(--line)}.mile-navigation h3{font:22px/1.2 Georgia,serif;margin:0 0 18px}.mile-group{margin:0 0 21px}.mile-group:last-child{margin-bottom:0}.mile-group>p{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 10px;color:#486052}.mile-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;list-style:none;padding:0;margin:0}.mile-grid li{min-width:0}.mile-link,.mile-gap{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #bac7bc;background:#f9faf7;color:#19382c;text-decoration:none;font:17px/1 Arial,sans-serif;padding:8px 3px}.mile-link:hover{background:#d7e2d6}.mile-link[aria-current=true]{background:#173b30;color:#fff;border-color:#173b30;box-shadow:inset 0 -3px #ffd16b}.mile-gap{background:transparent;color:#5c7063;border-style:dashed;cursor:help}.mile-navigation>.journal-note{font-size:12px;line-height:1.7;margin-top:24px;margin-bottom:0}.journal-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:16px 0}.journal-controls button{border:1px solid #becac0;background:transparent;color:inherit;padding:12px 16px;min-height:44px;font:14px Arial;cursor:pointer}.journal-controls button:disabled{opacity:.4;cursor:default}.journal-controls [hidden]{display:none}.journal-controls p{font-size:12px;text-align:center}.race-story button:focus-visible,.race-story summary:focus-visible{outline:3px solid #ab592e;outline-offset:4px}.closing-note{font:24px/1.6 Georgia,serif!important}.race-sources{max-width:740px;margin:60px auto 20px;padding:25px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.8}.race-sources p{margin:8px 0}.race-sources a{display:inline-block;margin-right:16px}.finish-section{padding-bottom:45px}.finish-section .wide-photo{margin-top:40px}.race-story .comments{max-width:1080px;margin-inline:auto}.journal-source-note{font-size:12px!important;line-height:1.7!important;color:var(--muted)}
@media(min-width:1000px){.journal-player{position:sticky;top:24px}}@media(max-width:900px){.race-hero{grid-template-columns:1fr 1fr;padding:48px 5%;gap:5%}.race-hero h1{font-size:62px}.race-deck{font-size:18px}.hero-photo img{height:570px}.race-chapter{padding-top:65px}.journal-layout{grid-template-columns:1fr}.mile-navigation{padding:22px}.mile-navigation .mile-group{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:12px}.mile-group>p{margin:0}.mile-grid{grid-template-columns:repeat(10,1fr)}.photo-pair img,.night-section .photo-pair img{height:490px}.race-journal{padding-top:65px}}
@media(max-width:620px){.race-hero{display:block;padding:35px 6% 40px}.race-hero h1{font-size:64px;letter-spacing:-2px}.race-deck{font-size:20px}.hero-photo{margin-top:38px}.hero-photo img{height:auto;max-height:610px;width:100%;object-fit:contain;border-radius:140px 140px 2px 2px;background:#e7ece4}.race-facts{padding:24px 5%;gap:10px}.race-facts p{font-size:11px}.race-facts strong{font-size:21px}.race-chapter{padding:55px 6% 0}.chapter-copy p:not(.eyebrow){font-size:18px;line-height:1.8}.photo-pair{gap:16px}.photo-pair img,.night-section .photo-pair img{height:auto;aspect-ratio:3/4;object-fit:cover}.night-section .photo-pair{display:block}.night-section .photo-pair figure{max-width:420px;margin:0 auto 32px}.night-section .photo-pair img{aspect-ratio:auto}.race-story figcaption{font-size:12px}.night-section{margin-top:30px;padding-bottom:28px}.race-film{margin:30px auto}.race-journal{padding:55px 6%}.mile-navigation .mile-group{display:block;margin-bottom:22px}.mile-group>p{margin-bottom:9px}.mile-grid{grid-template-columns:repeat(5,1fr)}.mile-navigation{padding:20px}.journal-controls button{font-size:12px;padding:10px}.journal-controls p{font-size:11px}.dawn-pause{padding:35px 6%}.race-sources{margin:40px 0 15px}.finish-section{padding-bottom:35px}}
@media(prefers-reduced-motion:reduce){.race-story{scroll-behavior:auto}}

.race-film.portrait-film{max-width:440px}.race-film.portrait-film video{aspect-ratio:9/16;max-height:780px}

.race-montage{padding:65px 6%;background:#f1eee6;border-bottom:1px solid var(--line);scroll-margin-top:24px}.montage-intro{max-width:1080px;margin:0 auto 30px}.montage-intro .eyebrow{color:var(--ochre)}.montage-intro h2{font-size:clamp(36px,4.2vw,56px);line-height:1.12;margin-bottom:22px}.montage-intro>p:not(.eyebrow){max-width:710px;font:20px/1.75 Georgia,serif}.race-montage .race-film{margin:0 auto}.race-montage figcaption p{margin:8px 0}.race-montage .montage-caption{font-size:14px;color:#19382c}.race-montage .montage-credits,.race-montage .montage-caption-note{max-width:860px;font-size:12px}.montage-credits a{color:inherit;text-underline-offset:3px}
@media(max-width:620px){.race-montage{padding:45px 6%}.montage-intro>p:not(.eyebrow){font-size:18px}.race-montage .montage-caption{font-size:13px}}

/* Keep both runners visible in the landscape opening photograph. */
.race-hero .hero-photo img{height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain;border-radius:24px 24px 2px 2px;background:#091613}

/* Results share the reading width of the first-person finish account. */
.race-results{max-width:740px;margin:45px auto 60px;padding:30px;background:#e8eee7;border:1px solid var(--line)}.race-results .eyebrow{color:var(--ochre)}.race-results h3{font:36px/1.2 Georgia,serif;margin:15px 0 20px}.race-results>p:not(.eyebrow):not(.results-note){font:19px/1.7 Georgia,serif}.race-results table{width:100%;border-collapse:collapse;margin:25px 0;font-size:15px;text-align:left}.race-results caption{text-align:left;font-size:13px;margin-bottom:14px;color:var(--muted)}.race-results th,.race-results td{padding:13px 10px;border-bottom:1px solid #c2cec3;vertical-align:top}.race-results thead th{font-size:12px;font-weight:400;color:var(--muted)}.race-results th:first-child,.race-results td:first-child{padding-left:0}.race-results th:last-child,.race-results td:last-child{padding-right:0}.race-results .results-note{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:0}.race-results a{color:inherit}.race-sources h3{font:25px/1.3 Georgia,serif;margin:35px 0 18px}.race-reading{list-style:none;margin:0;padding:0;display:grid;gap:18px}.race-reading a{font-weight:700}.race-reading span{display:block;color:var(--muted)}
@media(max-width:620px){.race-results{padding:23px 16px;margin:35px auto 45px}.race-results h3{font-size:30px}.race-results table{font-size:13px}.race-results th,.race-results td{padding:12px 5px}.race-results thead th{font-size:11px}.race-results>p:not(.eyebrow):not(.results-note){font-size:18px}}

/* Make the age-division result visible alongside distance and time. */
.race-facts .race-win strong{color:var(--ochre)}.race-win a{display:block;width:fit-content;margin:7px auto 0;font-size:12px;font-weight:700;text-underline-offset:4px}.race-win a:focus-visible{outline:3px solid var(--ochre);outline-offset:4px}
