body.race-memory-page .page{max-width:1120px;padding-top:54px}
.event-memory-page .page{max-width:1120px}
.event-memory-page .chapter-index{display:none}
.event-memory-page .hero h1{line-height:1.02;letter-spacing:-.045em}
.event-memory-page .memory-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:24px 0 36px}
.event-memory-page .memory-metrics .metric{min-width:0;border-radius:18px}
.event-memory-page .memory-metrics strong{font-size:clamp(1.5rem,5vw,2.25rem);line-height:1.2}
.event-memory-page .story-record-editorial:empty{display:none}
.event-memory-page .story-record-editorial{display:block;margin:24px 0;padding:0;border:0}
.event-memory-page .event-notes{margin:28px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.event-notes summary{cursor:pointer;font-weight:750}
.event-notes p,.event-memory p{max-width:760px;line-height:1.7;font-size:1rem}
.event-memory-page .detail-route-section,.event-memory-page .record-related{margin-top:48px}
.event-memory-page .race-memory-stat small,.event-memory-page .race-memory-stat span,.event-memory-page .race-memory-source,.event-memory-page figcaption{font-size:.875rem}
.race-memory-hero{max-width:980px;padding-bottom:18px}
.race-memory-hero h1{max-width:940px;margin:0;font-size:clamp(3.15rem,7.4vw,6.75rem);line-height:.9;letter-spacing:-.065em}
.race-memory-meta{margin:20px 0 0;color:var(--muted);font-size:1rem;font-weight:700}
.race-memory-deck{max-width:760px;margin:16px 0 0;font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.25;letter-spacing:-.025em}
.race-memory-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:34px}
.race-memory-stat{min-width:0;padding:18px 19px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.74)}
.race-memory-stat small,.race-memory-stat span{display:block;color:var(--muted)}
.race-memory-stat small{font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.race-memory-stat strong{display:block;margin-top:5px;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1;letter-spacing:-.03em;overflow-wrap:anywhere}
.race-memory-stat span{margin-top:7px;font-size:.72rem;line-height:1.35}
.race-memory-milestone{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:inset 4px 0 0 var(--accent)}
.race-memory-milestone strong,.race-memory-goal strong{font-size:clamp(1.15rem,2.4vw,1.65rem)}
.race-memory-goal span{color:var(--green);font-weight:850}
.race-memory-source{display:inline-block;margin-top:14px;color:var(--muted);font-size:.74rem;font-weight:750;text-underline-offset:3px}
.race-memory-photo{margin:32px 0 0}
.race-memory-photo img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:24px;background:#e8e4dc}
.race-memory-photo figcaption{max-width:820px;margin:11px 4px 0;color:var(--muted);font-size:.76rem;line-height:1.5}
.race-memory-photo-hero img{aspect-ratio:16/9;object-fit:cover}
.race-memory-photo-hero.race-memory-photo-four-three img{aspect-ratio:4/3}
.race-memory-photo-hero.race-memory-photo-portrait{max-width:720px}
.race-memory-photo-hero.race-memory-photo-portrait img{aspect-ratio:auto;max-height:960px;object-fit:contain}
.race-memory-story{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(34px,6vw,76px);align-items:start;margin-top:72px;padding-top:26px;border-top:1px solid var(--line)}
.race-memory-story header{position:sticky;top:96px}
.race-memory-story h2{max-width:420px;margin:0;font-size:clamp(2.05rem,4vw,3.5rem);line-height:.98;letter-spacing:-.05em}
.race-memory-story-copy{max-width:680px}
.race-memory-story-copy p{margin:0 0 20px;font-size:clamp(1.03rem,1.65vw,1.18rem);line-height:1.72}
.race-memory-story-copy p:first-child{font-size:clamp(1.12rem,1.8vw,1.3rem);line-height:1.66}
.race-memory-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:48px}
.race-memory-gallery .race-memory-photo{margin:0}
.race-memory-route{margin-top:72px}
.race-memory-route h2{margin-bottom:8px}
.race-memory-route .card-meta{margin-bottom:16px}
body.race-memory-page .chronology-nav{margin-top:54px}
.marathon-memory-page .race-memory-finish strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.marathon-memory-page .chapter-index{display:none}
.marathon-memory-page .race-memory-hero h1{line-height:1.02;letter-spacing:-.045em}
.marathon-details{margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}
.marathon-details summary{cursor:pointer;font-size:1.05rem;font-weight:750;padding:6px 0}
.marathon-details dl{display:flex;flex-wrap:wrap;gap:24px;margin:24px 0}
.marathon-details dt{font-size:.8rem;color:var(--muted)}
.marathon-details dd{margin:6px 0;font-weight:750}
.marathon-splits{overflow-x:auto}
.marathon-splits table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.9rem}
.marathon-splits th,.marathon-splits td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line)}
.marathon-splits td{white-space:nowrap}
.marathon-memory-page .race-memory-results{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.marathon-memory-page .race-memory-stat strong{font-size:clamp(1.5rem,5vw,2.25rem)}
@media(max-width:760px){
  body.race-memory-page .page{padding-top:40px}
  .race-memory-photo-hero.race-memory-photo-portrait{max-width:none}
  .race-memory-story{grid-template-columns:1fr;gap:22px;margin-top:54px}
  .race-memory-story header{position:static}
  .race-memory-story h2{max-width:620px}
}
@media(max-width:520px){
  .race-memory-hero h1{font-size:clamp(2.65rem,15vw,4.45rem)}
  .race-memory-deck{font-size:1.28rem}
  .race-memory-results{grid-template-columns:1fr}
  .race-memory-photo img{border-radius:18px}
  .race-memory-gallery{grid-template-columns:1fr}
}
/* Low-resolution stand-in photos: cap at 2x natural width so they stay legible instead of stretching. */
.race-memory-photo.race-memory-photo-lowres img{width:min(100%,calc(var(--photo-natural-width,240px) * 2));max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;margin-inline:auto}
.race-memory-photo.race-memory-photo-lowres figcaption{text-align:center}
