:root {
  color-scheme: light;
  --paper: #f3f0e7; --paper-soft: #e8e4d9; --paper-raised: #fbf9f3;
  --ink: #161615; --ink-soft: #2d2c29; --muted: #716e67; --line: #d3cec1;
  --signal: #e94f2b; --signal-bright: #ff6b45; --acid: #d8f65c;
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --mono: "SFMono-Regular", Consolas, monospace; --reader-scale: 1;
  --shell: min(90rem, calc(100vw - 2rem));
}
:root[data-theme="dark"] { color-scheme: dark; --paper:#171816; --paper-soft:#22231f; --paper-raised:#282925; --ink:#f2eee4; --ink-soft:#d9d5cc; --muted:#aaa69d; --line:#3b3c37; --signal:#ff6b45; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--serif); line-height: 1.62; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; } a { color: inherit; } button { color: inherit; font: inherit; } ::selection { background: var(--acid); color:#111; }
:focus-visible { outline: 3px solid var(--signal); outline-offset: 3px; }
.skip-link { position: fixed; top:.6rem; left:.6rem; z-index:100; padding:.7rem 1rem; border-radius:999px; background:var(--ink); color:var(--paper); font:700 .78rem/1 var(--sans); transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.shell { width: var(--shell); margin-inline:auto; }
.site-header { position: sticky; top:0; z-index:50; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:4.4rem; padding:0 max(1rem, calc((100vw - var(--shell))/2)); border-bottom:1px solid color-mix(in srgb, var(--line) 72%, transparent); background:color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter:blur(18px); }
.brand { display:flex; align-items:center; gap:.65rem; width:max-content; font:750 .72rem/.9 var(--sans); text-decoration:none; text-transform:uppercase; }
.brand span { display:grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:50%; background:var(--ink); color:var(--paper); letter-spacing:-.08em; }
.site-header nav { display:flex; gap:1.9rem; font:700 .7rem/1 var(--sans); }
.site-header nav a, .language-link { text-decoration:none; }
.site-header nav a:hover, .language-link:hover { color:var(--signal); }
.language-link { justify-self:end; font:700 .67rem/1 var(--sans); }
.site-footer { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem; padding:4rem max(1rem, calc((100vw - var(--shell))/2)) 2rem; border-top:1px solid var(--line); background:var(--paper-soft); font:650 .75rem/1.8 var(--sans); }
.footer-brand { display:grid; gap:.3rem; } .footer-brand strong { font-size:1.05rem; } .footer-brand span,.site-footer small { color:var(--muted); }
.site-footer > div:not(:first-child) { display:grid; align-content:start; } .site-footer a { text-decoration:none; } .site-footer a:hover { color:var(--signal); }
.site-footer small { grid-column:1/-1; padding-top:2rem; border-top:1px solid var(--line); }
.section { padding-block:clamp(4.5rem,9vw,9rem); } .soft { background:var(--paper-soft); } .dark { background:#171716; color:#f3efe6; }
.eyebrow { margin:0 0 1.2rem; color:var(--signal); font:800 .68rem/1.2 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.display { margin:0; font:800 clamp(3.2rem,9vw,8.8rem)/.84 var(--sans); letter-spacing:-.075em; }
.display em,.section-title em { color:var(--signal); font-style:normal; }
.section-title { margin:0; font:750 clamp(2.35rem,5.2vw,5.6rem)/.94 var(--sans); letter-spacing:-.06em; }
.lede { max-width:42rem; color:var(--ink-soft); font-size:clamp(1.22rem,2vw,1.65rem); line-height:1.46; }
.dark .lede { color:#cfcbc2; } .muted { color:var(--muted); } .fine-print { color:var(--muted); font-size:.78rem; }
.two-cols { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(3rem,8vw,10rem); }
.button-row { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:3.2rem; padding:0 1.35rem; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:var(--paper); font:750 .76rem/1 var(--sans); text-decoration:none; transition:transform .16s ease; }
.button:hover { transform:translateY(-2px); } .button-signal { border-color:var(--signal); background:var(--signal); color:white; } .button-ghost { background:transparent; color:var(--ink); } .button-light { border-color:#f2eee4; background:#f2eee4; color:#111; }
.text-link { display:inline-block; margin-top:1rem; font:750 .78rem/1 var(--sans); text-underline-offset:.25em; text-decoration-color:var(--signal); } .text-link.light { color:#d3cfc6; }
.hero { display:grid; grid-template-columns:54% 46%; min-height:min(54rem,calc(100vh - 4.4rem)); overflow:hidden; background:#171716; color:#f4f0e7; }
.hero-image { min-height:42rem; background:linear-gradient(90deg,transparent 70%,rgba(23,23,22,.78)),url('/images/runner-city.jpg') center 42%/cover no-repeat; }
.hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,5rem); }
.hero h1 { margin:0; font:800 clamp(4rem,8vw,8.8rem)/.77 var(--sans); letter-spacing:-.085em; text-transform:uppercase; }
.hero h1 em { color:var(--signal-bright); font-style:normal; } .hero-dek { max-width:31rem; margin:2rem 0 0; color:#d2cec5; font-size:clamp(1.18rem,2vw,1.55rem); line-height:1.42; }
.hero-facts,.mini-facts { display:flex; gap:clamp(1.3rem,3vw,3rem); margin:clamp(2.5rem,6vh,5rem) 0 0; padding-top:1.25rem; border-top:1px solid #3d3c38; }
.hero-facts div,.mini-facts div { display:grid; gap:.2rem; } .hero-facts dt,.mini-facts dt { font:750 clamp(1.45rem,2.5vw,2.3rem)/1 var(--sans); letter-spacing:-.05em; } .hero-facts dd,.mini-facts dd { margin:0; color:#85827b; font:650 .67rem/1 var(--sans); }
.story-split { display:grid; grid-template-columns:1.08fr .92fr; min-height:45rem; } .story-photo { min-height:34rem; overflow:hidden; } .story-photo img { width:100%; height:100%; object-fit:cover; } .story-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(2rem,7vw,7rem); }
.story-copy blockquote { margin:1rem 0 2rem; font:500 clamp(2.2rem,5vw,5rem)/.99 var(--serif); letter-spacing:-.045em; } .story-copy > p:not(.eyebrow) { max-width:34rem; color:#aaa69d; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:3rem; }
.chapter-rail { display:grid; grid-template-columns:repeat(5,minmax(15rem,1fr)); overflow-x:auto; border-block:1px solid var(--line); }
.chapter-card { display:flex; flex-direction:column; min-height:25rem; padding:1.4rem; border-right:1px solid var(--line); text-decoration:none; } .chapter-card:hover { background:var(--paper-soft); } .chapter-card > span { color:var(--signal); font:700 .7rem/1 var(--mono); } .chapter-card > div { margin:auto 0; } .chapter-card h3 { margin:0 0 .75rem; font:750 2rem/1 var(--sans); letter-spacing:-.05em; } .chapter-card p { margin:0; color:var(--muted); font-size:.94rem; line-height:1.5; } .chapter-card small { color:var(--muted); font:650 .68rem/1 var(--sans); }
.free-grid { display:grid; grid-template-columns:.7fr 1.3fr; align-items:center; gap:clamp(3rem,8vw,9rem); }
.free-mark { position:relative; display:grid; place-items:center; justify-self:center; width:min(32rem,40vw); aspect-ratio:1; border:2px solid var(--ink); border-radius:50%; font:800 clamp(1.8rem,5vw,4.8rem)/.82 var(--sans); letter-spacing:-.08em; transform:rotate(-8deg); } .free-mark:before,.free-mark:after { content:""; position:absolute; inset:8%; border:1px solid var(--ink); border-radius:50%; } .free-mark:after { inset:16%; } .free-mark span { position:relative; z-index:1; }
.travel { position:relative; min-height:70vh; overflow:hidden; background:#202422; } .travel > img { width:100%; min-height:70vh; object-fit:cover; } .travel:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.74),transparent 58%); } .travel > div { position:absolute; z-index:1; left:max(1rem,calc((100vw - var(--shell))/2)); right:max(1rem,calc((100vw - var(--shell))/2)); bottom:clamp(2rem,6vw,5rem); display:grid; grid-template-columns:auto minmax(0,42rem) auto; align-items:end; gap:1.5rem; color:white; } .travel p { margin:0; font:500 clamp(1.6rem,4vw,3.6rem)/1.04 var(--serif); letter-spacing:-.035em; } .travel a { font:700 .75rem/1.4 var(--sans); white-space:nowrap; }
.number-tag { display:inline-flex; align-items:center; justify-content:center; min-width:2.5rem; min-height:1.65rem; padding:0 .55rem; border:1px solid currentColor; border-radius:999px; font:700 .65rem/1 var(--mono); }
.audio-preview { grid-template-columns:.9fr 1.1fr; }.audio-disc { position:relative; display:grid; place-items:center; justify-self:center; width:min(30rem,40vw); aspect-ratio:1; border-radius:50%; background:repeating-radial-gradient(circle at center,#151515 0 5px,#282828 6px 7px); box-shadow:0 2rem 5rem rgba(0,0,0,.35); }.audio-disc:before { content:""; position:absolute; inset:23%; border-radius:50%; background:var(--signal); }.audio-disc span { position:relative; z-index:1; color:#fff; font:800 clamp(1rem,3vw,2.4rem)/.85 var(--sans); letter-spacing:-.06em; text-align:center; text-transform:uppercase; }.audio-disc i { position:absolute; z-index:2; width:8%; aspect-ratio:1; border-radius:50%; background:#f0ece2; }
.support-panel { background:var(--signal); color:white; }.support-inner { display:grid; grid-template-columns:1fr .8fr; gap:clamp(3rem,8vw,9rem); align-items:end; }.support-panel .eyebrow { color:#571b0d; }.support-panel .lede { color:white; }.support-panel p:not(.eyebrow,.lede) { color:#742711; }
.page-hero { padding-block:clamp(5rem,11vw,11rem); }.page-hero.dark { width:100%; }.page-hero.dark > .shell { min-height:35rem; }.page-hero .display em { color:var(--signal); font-style:normal; }.page-hero.narrow { max-width:70rem; }.align-right { margin:3rem 0 0 auto; }
.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:3rem; border-top:1px solid var(--line); border-left:1px solid var(--line); }.feature-grid article { min-height:19rem; padding:1.5rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.feature-grid article > span { color:var(--signal); font:750 1.4rem/1 var(--sans); }.feature-grid h3 { margin:5rem 0 .7rem; font:750 1.55rem/1 var(--sans); }.feature-grid p { color:var(--muted); }.dark-grid { border-color:#393a36; }.dark-grid article { border-color:#393a36; }.dark-grid p { color:#97938b; }.funds article > span { font-size:2.2rem; }
.notice { display:grid; gap:.3rem; margin-top:2rem; padding:1.2rem; border-left:5px solid var(--signal); background:var(--paper-soft); }.notice strong { font:750 .88rem/1.2 var(--sans); }.notice span { color:var(--muted); font-size:.92rem; }
.toc-list { margin:0 auto; padding:0; list-style:none; border-top:1px solid var(--line); }.toc-list a { display:grid; grid-template-columns:5rem 1fr auto; align-items:center; gap:1rem; padding:1.35rem 0; border-bottom:1px solid var(--line); text-decoration:none; }.toc-list a:hover h2 { color:var(--signal); }.toc-list a > span { color:var(--signal); font:700 .7rem/1 var(--mono); }.toc-list h2 { margin:0; font:750 clamp(1.5rem,3.2vw,3rem)/1 var(--sans); letter-spacing:-.05em; }.toc-list p { margin:.45rem 0 0; color:var(--muted); }.toc-list small { color:var(--muted); font:650 .68rem/1 var(--sans); white-space:nowrap; }
.language-list { margin:2rem 0 0; padding:0; border-top:1px solid var(--line); list-style:none; }.language-list li { display:grid; grid-template-columns:5rem 1fr auto; align-items:center; padding:1rem 0; border-bottom:1px solid var(--line); }.language-list span { color:var(--signal); font:700 .7rem/1 var(--mono); }.language-list strong { font:750 clamp(1.5rem,4vw,3.4rem)/1 var(--sans); letter-spacing:-.05em; }.language-list small { color:var(--muted); font:650 .68rem/1 var(--sans); }.plain-list { padding-left:1.2rem; color:var(--muted); }.plain-list li { margin:.8rem 0; padding-left:.4rem; }
.reading-progress { position:fixed; z-index:80; top:0; left:0; width:100%; height:4px; background:var(--signal); transform:scaleX(0); transform-origin:left; }.chapter-hero { padding:clamp(3rem,7vw,7rem) 0; border-bottom:1px solid var(--line); background:var(--paper-soft); }.chapter-hero .shell { display:grid; grid-template-columns:9rem 1fr; }.back-link { grid-column:1/-1; margin-bottom:5rem; font:700 .7rem/1 var(--sans); text-decoration:none; }.chapter-number { color:var(--signal); font:700 .72rem/1 var(--mono); }.chapter-hero h1 { max-width:12ch; margin:0; font:800 clamp(4rem,10vw,10rem)/.82 var(--sans); letter-spacing:-.08em; }.chapter-hero h1 + p { grid-column:2; max-width:42rem; margin:2rem 0 1rem; font-size:1.3rem; }.chapter-hero p + span { grid-column:2; color:var(--muted); font:650 .67rem/1 var(--sans); }
.reader-shell { display:grid; grid-template-columns:minmax(14rem,20rem) minmax(0,1fr); width:min(88rem,calc(100vw - 2rem)); margin:0 auto; }.chapter-aside { position:relative; border-right:1px solid var(--line); }.chapter-aside details { position:sticky; top:6rem; padding:3rem 1.5rem 3rem 0; }.chapter-aside summary { margin-bottom:1.5rem; font:750 .7rem/1 var(--sans); cursor:pointer; }.chapter-aside nav { display:grid; }.chapter-aside a { display:grid; grid-template-columns:2.5rem 1fr; padding:.45rem 0; color:var(--muted); font:650 .7rem/1.2 var(--sans); text-decoration:none; }.chapter-aside a span { color:var(--line); font-family:var(--mono); }.chapter-aside a.active,.chapter-aside a:hover { color:var(--signal); }
.reader { position:relative; min-width:0; padding:clamp(3rem,7vw,7rem) clamp(1rem,8vw,9rem); }.reader-tools { position:sticky; z-index:10; top:5.4rem; display:flex; justify-content:flex-end; gap:.35rem; margin:0 0 3rem auto; pointer-events:none; }.reader-tools button { width:2.55rem; height:2.55rem; border:1px solid var(--line); border-radius:50%; background:var(--paper-raised); font:750 .7rem/1 var(--sans); cursor:pointer; pointer-events:auto; }.reader-tools button:hover { border-color:var(--signal); }
.prose { font-size:calc(1.12rem * var(--reader-scale)); line-height:1.8; hanging-punctuation:first last; }.prose > * { max-width:43rem; margin-inline:auto; }.prose p { margin-block:0 1.35em; }.prose > p:first-of-type { color:var(--ink-soft); font-size:1.18em; line-height:1.62; }.prose h2,.prose h3 { scroll-margin-top:7rem; font-family:var(--sans); letter-spacing:-.04em; }.prose h2 { margin-block:3.4em .8em; font-size:clamp(1.8rem,4vw,2.65rem); line-height:1.03; }.prose h2:before { content:""; display:block; width:2.5rem; height:4px; margin-bottom:.8rem; background:var(--signal); transform:skewX(-22deg); }.prose h3 { margin-block:2.5em .75em; font-size:1.35rem; }.prose blockquote { max-width:48rem; margin-block:2.4rem; padding:1.5rem clamp(1.25rem,4vw,2.5rem); border-left:5px solid var(--signal); background:var(--paper-soft); font-size:1.2em; }.prose a { text-decoration-color:var(--signal); text-decoration-thickness:2px; text-underline-offset:.16em; }
.chapter-nav { display:grid; grid-template-columns:1fr 1fr; gap:1rem; max-width:54rem; margin:6rem auto 0; padding-top:2rem; border-top:1px solid var(--line); }.chapter-nav a { display:grid; gap:.4rem; min-height:7rem; padding:1.2rem; border:1px solid var(--line); text-decoration:none; }.chapter-nav a:last-child { text-align:right; }.chapter-nav small { color:var(--muted); font:650 .66rem/1 var(--sans); }.chapter-nav strong { font:750 1.3rem/1 var(--sans); }.chapter-nav a:hover { border-color:var(--signal); }
.static-prose h2:first-child { margin-top:0; }
@media (max-width:900px) {
  .hero { grid-template-columns:1fr; }.hero-image { min-height:60vh; background-image:linear-gradient(0deg,#171716 0%,transparent 45%),url('/images/runner-city.jpg'); }.hero-copy { padding-top:0; }.two-cols,.free-grid,.support-inner { grid-template-columns:1fr; }.free-mark,.audio-disc { width:min(25rem,80vw); }.travel > div { grid-template-columns:auto 1fr; }.travel a { grid-column:2; }.feature-grid { grid-template-columns:1fr 1fr; }.reader-shell { grid-template-columns:1fr; width:min(52rem,calc(100vw - 1.25rem)); }.chapter-aside { border:0; }.chapter-aside details { position:static; padding:1rem 0; border-bottom:1px solid var(--line); }.chapter-aside nav { grid-template-columns:repeat(3,1fr); gap:.25rem 1rem; }.reader { padding-inline:0; }
}
@media (max-width:700px) {
  :root { --shell:min(100% - 1.25rem,90rem); }.site-header { grid-template-columns:1fr auto; padding-inline:.65rem; }.site-header nav { display:none; }.language-link { font-size:.62rem; }.site-footer { grid-template-columns:1fr 1fr; }.footer-brand { grid-column:1/-1; }.story-split { grid-template-columns:1fr; }.section-head { align-items:flex-start; flex-direction:column; }.travel > div { grid-template-columns:1fr; }.travel a { grid-column:auto; }.page-hero { padding-block:4.5rem; }.toc-list a { grid-template-columns:3rem 1fr; }.toc-list small { grid-column:2; }.chapter-hero .shell { grid-template-columns:1fr; }.back-link { margin-bottom:3rem; }.chapter-number { margin-bottom:1.3rem; }.chapter-hero h1 + p,.chapter-hero p + span { grid-column:1; }.chapter-hero h1 { font-size:clamp(3.5rem,18vw,6rem); }.chapter-aside nav { grid-template-columns:1fr 1fr; }.reader-tools { top:4.8rem; }.feature-grid { grid-template-columns:1fr; }.feature-grid article { min-height:14rem; }.feature-grid h3 { margin-top:3rem; }.chapter-nav { grid-template-columns:1fr; }.chapter-nav a:last-child { text-align:left; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition-duration:.01ms!important; } }
