:root{--night:#243b3c;--ink:#263739;--muted:#657271;--accent:#805b35;--gold:#dbc59b;--cream:#f4efe5;--paper:#fffaf1;--line:#d7d3c8;--serif:"Cormorant Garamond",Georgia,serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.75 var(--sans)}a{color:inherit;text-underline-offset:4px}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b77f3c;outline-offset:5px}img{max-width:100%}h1,h2,h3,p,figure{margin-top:0}section[id],article[id]{scroll-margin-top:24px}.shell{max-width:1200px;margin:auto;padding-left:36px;padding-right:36px}.section-no,.eyebrow,.place,.chapter{font:700 11px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase}.section-no,.place{color:var(--accent)}.skip-link{position:absolute;top:-80px;left:20px;z-index:20;background:var(--paper);padding:12px}.skip-link:focus{top:10px}.site-header,.site-footer{background:var(--night);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px max(36px,calc((100vw - 1128px)/2))}.brand{display:inline-flex;flex-direction:column;line-height:1.12;white-space:nowrap;text-decoration:none}.brand span{font:700 29px/1 var(--serif);letter-spacing:.14em}.brand b{font-size:9px;letter-spacing:.31em;font-weight:600;margin-top:7px}.site-header nav{display:flex;gap:27px}.site-header nav a{font-size:11px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em}.site-header nav a:hover{text-decoration:underline}
.hero{display:grid;grid-template-columns:44% 56%;background:var(--night);color:#fff}.hero-image{margin:0;background:#ded4bd;position:relative;min-height:670px;display:flex;align-items:center;justify-content:center}.hero-image img{display:block;width:100%;height:670px;object-fit:contain}.hero-image figcaption{position:absolute;bottom:12px;left:14px;background:#243b3ce8;padding:7px 10px;font-size:10px;line-height:1.5}.hero-copy{align-self:center;padding:60px clamp(30px,5.5vw,88px) 70px;min-width:0}.eyebrow{color:var(--gold);margin-bottom:27px}.hero h1{font:600 clamp(52px,5.6vw,88px)/.96 var(--serif);letter-spacing:-.035em;margin:0 0 30px}.hero h1 em{display:block;color:var(--gold);font-weight:500}.hero-lead{font:500 clamp(25px,2.5vw,35px)/1.22 var(--serif);margin-bottom:24px}.hero-description{color:#e0e5df;font-size:14px;max-width:420px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;text-decoration:none;text-transform:uppercase;font:700 11px/1.4 var(--sans);letter-spacing:.11em;padding:16px 20px}.primary,.secondary{background:var(--gold);color:var(--night);margin-top:16px}.button:hover{background:#ead9b9}
.practical{padding-top:38px;padding-bottom:38px}.practical>.section-no{margin-bottom:24px}.practical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin:0 0 24px}.practical-grid>div{border-left:1px solid var(--line);padding-left:19px}.practical dt{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:8px}.practical dd{margin:0;font-size:14px;font-weight:600;line-height:1.5}.practical dd span{font-size:12px;font-weight:400;color:var(--muted)}.practical-note{font-size:12px;color:var(--muted);margin:0;max-width:1000px}.practical-note a{font-weight:600}
.overview{padding-top:52px;padding-bottom:65px;border-top:1px solid var(--line)}.overview-head{display:grid;grid-template-columns:1fr .65fr;align-items:end;gap:35px;margin-bottom:30px}.overview h2,.opening h2,.afterword h2,.sources h2{font:600 clamp(42px,4.8vw,66px)/1 var(--serif);letter-spacing:-.02em;margin:0 0 20px}.overview h2 em,.opening h2 em{color:var(--accent);font-weight:500}.overview-head h2{margin:0}.overview-head p{font-size:13px;margin:0}.overview-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px}.overview-map{background:#e2e7df;border:1px solid #c9d2c8;display:flex;flex-direction:column;justify-content:center;padding:15px;min-width:0}.overview-map svg{width:100%;height:auto;display:block}.overview-map>span{font-size:9px;letter-spacing:.06em;color:#586461;margin:10px}.map-river{fill:none;stroke:#b8cbc8;stroke-width:55}.map-island{fill:#e2e7df;stroke:#f7f2e8;stroke-width:3}.map-route{fill:none;stroke:#805b35;stroke-width:3;stroke-dasharray:5 6}.map-caption{font:700 13px var(--sans);fill:#344d4c;letter-spacing:1.2px}.map-label{font:600 9px var(--sans);fill:#344d4c;letter-spacing:.5px}.map-water{font:600 10px var(--sans);fill:#567e7a;letter-spacing:1.7px}.map-pin circle{fill:var(--night);stroke:#fffaf1;stroke-width:3}.map-pin text{font:700 13px var(--sans);fill:#fff;text-anchor:middle}.overview-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.overview-list .wide{grid-column:1/-1}.overview-list a{display:flex;align-items:center;gap:12px;padding:14px;min-height:90px;border:1px solid var(--line);background:var(--paper);text-decoration:none}.overview-list a:hover{border-color:var(--accent);background:#eee7d9}.overview-num{font:600 26px/1 var(--serif);color:var(--accent);align-self:flex-start}.overview-list a>span:nth-child(2){min-width:0}.overview-list strong{font:600 23px/1 var(--serif);display:block}.overview-list small{font-size:10px;line-height:1.4;display:block;color:var(--muted);margin-top:8px}.overview-list a>span:last-child{margin-left:auto;color:var(--accent)}
.opening{border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px}.opening-heading{max-width:800px}.intro{font:500 26px/1.3 var(--serif)}.prelude-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;margin-top:35px}.archive-image,.step-image{margin:0;background:#e9e1d1;align-self:start}.archive-image img,.step-image img{display:block;width:100%;height:auto}.archive-image figcaption,.step-image figcaption{font:400 11px/1.6 var(--sans);color:#4f5d59;padding:17px 20px}.archive-image{position:sticky;top:20px}.prelude-grid h3,.scene h3,.sources h3{font:600 31px/1.1 var(--serif);margin:27px 0 16px}.prelude-grid p,.step-content p{margin-bottom:18px}blockquote{margin:28px 0;padding:0 0 0 23px;border-left:2px solid var(--accent)}blockquote p{font:500 26px/1.3 var(--serif);margin-bottom:12px!important}blockquote cite{font:600 10px/1.5 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.trace{border-left:3px solid var(--accent);padding:14px 18px;margin:27px 0;background:#eee7d9}.trace strong{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.trace p{font-size:13px;margin:7px 0 0!important}.reading-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}.reading-note summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;font:700 11px/1.6 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.reading-note summary::-webkit-details-marker{display:none}.reading-note summary span{font-size:22px;line-height:1;transition:transform .2s}.reading-note[open] summary span{transform:rotate(45deg)}.reading-note>p{font-size:14px;padding-bottom:17px;margin:0}.step-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:25px}.step-links a,.source-link,.map-link{font-size:12px;font-weight:600;color:var(--accent)}
.reading{padding-bottom:65px}.reading-intro{display:grid;grid-template-columns:1fr 1fr 220px;gap:25px;align-items:center;padding:35px 0;border-top:1px solid var(--line)}.reading-intro p{margin:0}.reading-intro>p:nth-child(2){font:500 30px/1.2 var(--serif)}.progress{background:var(--night);color:#fff;padding:16px 19px;font-size:11px}.progress strong{font:600 24px/1 var(--serif);color:var(--gold)}.progress-track{height:3px;background:#ffffff30;margin:13px 0}.progress-track span{display:block;width:0;height:100%;background:var(--gold)}.progress button{font-size:11px;padding:0;border:0;background:none;color:var(--gold);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.step{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0;margin-bottom:35px;background:var(--paper);border:1px solid var(--line);align-items:start}.step-image{position:sticky;top:20px;margin:25px 0 25px 25px}.step-image .map-link{display:block;padding:0 20px 19px}.step-content{padding:40px clamp(25px,4vw,55px) 36px;min-width:0}.place{margin-bottom:18px}.step h2{font:600 clamp(42px,4.4vw,65px)/.98 var(--serif);letter-spacing:-.02em;margin:0 0 25px}.scene{border-top:1px solid var(--line);padding-top:25px;margin-top:32px;scroll-margin-top:25px}.scene .chapter{color:var(--accent);font-size:10px;margin-bottom:10px}.scene h3{margin-top:0}.scene-nav{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.scene-nav a{padding:6px 11px;border:1px solid var(--line);font-size:11px;text-decoration:none}.scene-nav a:hover{border-color:var(--accent)}
.afterword{background:var(--night);color:#fff;padding:75px 0}.after-grid,.sources{display:grid;grid-template-columns:175px minmax(0,1fr);gap:60px}.afterword .section-no{color:var(--gold);margin-top:8px}.afterword h2 em{color:var(--gold);font-weight:500}.afterword p{max-width:820px}.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40;padding:25px 0;margin:32px 0}.timeline strong{font:600 31px/1 var(--serif);color:var(--gold)}.timeline p{font-size:12px;margin:12px 0 0}.update-note{font-size:11px;color:#c6d3cd}.after-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin:22px 0}.after-links a{color:var(--gold);font-size:12px}.sources{padding-top:70px;padding-bottom:70px}.sources h2{font-size:50px}.sources p,.sources li{font-size:13px}.sources h3{font-size:27px}.sources ul{padding-left:19px}.sources li{margin-bottom:10px}.sources a{color:var(--accent);overflow-wrap:anywhere}.site-footer{background:#182b2c;flex-wrap:wrap;font-size:12px}.site-footer .brand span{font-size:25px}.site-footer p{margin:0}.site-footer>a:last-child{color:var(--gold)}
@media(max-width:1000px){.hero-copy{padding:40px 30px}.hero-image,.hero-image img{min-height:580px;height:580px}.hero h1{font-size:65px}.practical-grid{grid-template-columns:1fr 1fr;gap:22px}.overview-body{grid-template-columns:1fr}.overview-map{max-width:650px;width:100%;margin:auto}.overview-map svg{max-height:270px}.overview-list{grid-template-columns:repeat(2,minmax(0,1fr))}.prelude-grid{gap:25px}.step-image{margin:20px 0 20px 20px}.after-grid,.sources{grid-template-columns:130px minmax(0,1fr);gap:35px}.reading-intro{grid-template-columns:1fr 1fr}.progress{grid-column:2;max-width:250px}.reading-intro .section-no{grid-row:1/3}}
@media(max-width:720px){body{font-size:15px}.shell{padding-left:20px;padding-right:20px}.site-header{padding:18px 20px}.brand span{font-size:24px}.site-header nav{gap:15px}.site-header nav a{font-size:10px}.hero{grid-template-columns:1fr}.hero-image{height:330px;min-height:330px}.hero-image img{height:330px;min-height:0;width:auto;max-width:100%}.hero-image figcaption{font-size:9px;bottom:8px;left:10px}.hero-copy{padding:36px 25px 45px}.hero h1{font-size:clamp(49px,11vw,75px)}.hero-lead{font-size:29px}.hero-description{font-size:13px}.practical{padding-top:30px;padding-bottom:35px}.practical-grid{gap:22px 15px}.practical-grid>div{padding-left:12px}.practical dd{font-size:12px}.practical dd span{font-size:11px}.overview{padding-top:40px;padding-bottom:45px}.overview-head{grid-template-columns:1fr;gap:15px;margin-bottom:25px}.overview h2,.opening h2,.afterword h2{font-size:47px}.overview-body{gap:15px}.overview-list a{min-height:100px;padding:12px;gap:9px}.overview-list .wide a{min-height:72px}.overview-list strong{font-size:22px}.overview-list small{font-size:9px}.overview-num{font-size:22px}.overview-map svg{max-height:240px}.opening{padding-top:45px;padding-bottom:45px}.prelude-grid,.step{grid-template-columns:1fr}.prelude-grid{margin-top:25px}.archive-image,.step-image{position:static;margin:0}.archive-image img{max-height:350px;object-fit:contain}.step-image img{max-height:360px;object-fit:contain}.step-image{background:#e9e1d1}.step-content{padding:30px 23px}.step h2{font-size:48px}.intro,blockquote p{font-size:25px}.reading-intro{grid-template-columns:1fr;gap:15px}.reading-intro .section-no{grid-row:auto}.progress{grid-column:auto;width:230px}.afterword{padding:50px 0}.after-grid,.sources{display:block}.after-grid>.section-no,.sources>.section-no{margin-bottom:23px}.timeline{gap:17px}.timeline strong{font-size:27px}.timeline p{font-size:11px}.sources{padding-top:50px;padding-bottom:50px}.sources h2{font-size:45px}.site-footer{padding:28px 20px}.site-footer p{order:3;width:100%}}
@media(max-width:360px){.site-header nav a:last-child{display:none}.brand span{font-size:22px}.hero-copy{padding-left:20px;padding-right:20px}.hero h1{font-size:47px}.practical-grid{grid-template-columns:1fr}.overview-list{grid-template-columns:1fr}.overview-list a{min-height:72px}.overview h2,.opening h2,.afterword h2{font-size:42px}.timeline{grid-template-columns:1fr}.timeline>div{display:grid;grid-template-columns:100px 1fr;gap:10px}.timeline p{margin:0}.step-content{padding:26px 19px}.step h2{font-size:43px}}
@media(max-width:720px){.overview-list{grid-template-columns:1fr;order:-1}.overview-list a{min-height:72px}.overview-list strong{font-size:23px}.overview-list small{font-size:10px}.overview-list .wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reading-note summary span{transition:none}}
