@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#f6f3eb;--ink:#233e40;--muted:#6a7470;--line:#d8dacf;--accent:#ad5b3e;--blue:#c8d9da}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-underline-offset:5px}header{height:94px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin:0 5%;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:600;text-decoration:none;font-size:20px}.brand-mark{font:italic 30px 'Playfair Display',serif;background:var(--ink);color:var(--paper);border-radius:50%;height:42px;width:42px;text-align:center}.brand-divider{height:22px;width:1px;background:var(--line);margin:0 10px}.edition,.header-link{font-size:13px;font-weight:400}.header-link{text-decoration:none}.header-link span{margin-left:20px}.intro{max-width:1320px;margin:auto;padding:65px 5% 48px}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:600}h1{font:500 clamp(64px,7.7vw,115px)/1.1 'Playfair Display',serif;letter-spacing:-5px;margin:18px 0 25px}em{font-weight:400;color:var(--accent)}.intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px}.intro-bottom p{font-size:19px;line-height:1.6;margin:0;color:var(--muted)}.walk-facts{display:flex;gap:45px}.walk-facts span{font:23px 'Playfair Display',serif}.walk-facts small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:1.8px;color:var(--muted);margin-top:10px}.journey{max-width:1320px;padding:0 5%;margin:auto;display:grid;grid-template-columns:265px minmax(0,1fr);gap:65px;align-items:start}.route-panel{position:sticky;top:25px;border-top:1px solid var(--ink);padding-top:19px}.map-heading{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px}.route-map{height:440px;position:relative;margin-top:10px;background:repeating-linear-gradient(0deg,transparent,transparent 43px,#d6d8cb33 44px),repeating-linear-gradient(90deg,transparent,transparent 43px,#d6d8cb33 44px)}.route-map svg{width:100%;height:100%;position:absolute;inset:0}.river{fill:none;stroke:var(--blue);stroke-width:30}.street{fill:none;stroke:#deded3;stroke-width:6}.trail{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:4 5}.map-point{position:absolute;transform:translate(-50%,-50%);border:2px solid var(--paper);background:var(--ink);color:white;width:26px;height:26px;border-radius:50%;font:11px 'DM Sans';text-decoration:none;display:grid;place-items:center;transition:background .3s,box-shadow .3s}.map-point[aria-current="location"]{background:var(--accent);box-shadow:0 0 0 5px #ad5b3e25}.map-point .map-label{position:absolute;right:35px;width:126px;font-size:11px;color:var(--ink);text-align:right;line-height:1.3;background:#f6f3ebc9;padding:3px}.map-point:nth-child(n+7) .map-label{left:35px;text-align:left;right:auto;width:110px}.map-point:hover .map-label{text-decoration:underline}.north{position:absolute;top:16px;left:10px;font-size:11px}.river-label{position:absolute;left:55px;top:150px;transform:rotate(-65deg);font-size:9px;color:#718e93}.map-footer{display:flex;gap:9px;align-items:center;font-size:12px;border-top:1px solid var(--line);padding-top:18px}.active-dot{width:7px;height:7px;background:var(--accent);border-radius:50%}.map-note{font-size:11px;color:var(--muted)}.all-stops{display:flex;justify-content:space-between;margin-top:24px;font-size:13px;text-decoration:none}.stop{padding-bottom:65px;margin-bottom:24px;scroll-margin-top:35px}.stop-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.stop-number{font:italic 28px 'Playfair Display';color:var(--accent)}.stop-category{font-size:10px;letter-spacing:2px;text-transform:uppercase}.stop-location{font-size:11px;color:var(--muted)}.art{margin:0 0 25px;overflow:hidden;background:#e6e5db;aspect-ratio:1.7;position:relative}.art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.2,.65,.3,1)}.art figcaption{position:absolute;bottom:12px;right:15px;background:#f6f3ebd9;padding:5px 9px;font-size:10px;letter-spacing:1px}.stop h2{font:400 clamp(33px,3.3vw,48px)/1.15 'Playfair Display';letter-spacing:-1.4px;margin:0 0 8px}.czech{font-size:12px;color:var(--muted);margin:0 0 20px}.story-body{display:grid;grid-template-columns:1fr 185px;gap:30px}.story-body p{line-height:1.8;margin:0;font-size:16px}.look{border-left:1px solid var(--line);padding-left:20px;font-size:13px;line-height:1.7;color:var(--muted)}.look strong{display:block;font-size:10px;letter-spacing:1.7px;color:var(--accent);margin-bottom:8px}.next{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;display:flex;gap:12px;color:var(--muted);font-size:12px;line-height:1.65}.next span:first-child{color:var(--accent)}.source-link{display:inline-block;font-size:11px;margin-top:14px;color:var(--muted)}.extra{margin-top:22px;padding:20px 23px;background:#e7e9df;font-size:14px;line-height:1.7}.extra strong{display:block;font-family:'Playfair Display';font-size:22px;font-weight:400;margin-bottom:5px}.extra a{font-size:12px}.chapter{font:italic 70px 'Playfair Display';color:#aeb7aa;margin:0 0 18px;line-height:1}.about{border-top:1px solid var(--line);max-width:1050px;margin:30px auto 75px;padding:55px 5% 0}.about h2{font:40px/1.2 'Playfair Display';margin:20px 0}.about p{line-height:1.8;max-width:730px;color:var(--muted)}.about>a{font-size:13px}details{margin-top:30px;font-size:13px;line-height:1.8}summary{cursor:pointer}#sources{display:grid;gap:8px;margin-top:15px}footer{border-top:1px solid var(--line);padding:32px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer>span,footer>a:last-child{font-size:12px;color:var(--muted)}.skip{position:fixed;left:15px;top:-80px;background:var(--ink);color:white;padding:15px;z-index:10}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.js-motion .stop{opacity:.22;transform:translateY(28px);transition:opacity .9s,transform .9s}.js-motion .stop.visible{opacity:1;transform:translateY(0)}.js-motion .stop:not(.visible) .art img{transform:scale(1.07)}@media(min-width:1500px){.journey{gap:85px}}@media(max-width:900px){.edition,.brand-divider{display:none}.journey{grid-template-columns:200px minmax(0,1fr);gap:30px}.story-body{grid-template-columns:1fr}.look{margin-top:0}.walk-facts{gap:22px}.map-point .map-label{width:100px;font-size:10px}.map-point:nth-child(n+7) .map-label{width:85px}h1{letter-spacing:-3px}}@media(max-width:650px){header{height:76px}.brand{font-size:17px}.header-link{font-size:11px}.intro{padding-top:36px}h1{font-size:59px;letter-spacing:-3px}.intro-bottom{display:block}.intro-bottom p{font-size:17px}.walk-facts{margin-top:25px;justify-content:space-between}.walk-facts span{font-size:21px}.journey{display:block}.route-panel{position:relative;top:0;padding-bottom:25px}.route-map{height:110px;overflow-x:auto;background:none}.route-map svg,.river-label,.north,.map-point .map-label,.map-footer,.map-note,.all-stops{display:none}#map-stops{display:flex;gap:18px;align-items:center;height:80px;min-width:465px;position:relative}#map-stops:before{content:'';position:absolute;top:39px;left:15px;right:15px;border-top:2px dashed var(--accent)}.map-point{position:relative;left:auto!important;top:auto!important;transform:none;flex-shrink:0;width:30px;height:30px}.stop{padding-bottom:35px}.stop h2{font-size:38px}.stop-location{font-size:10px}.art{aspect-ratio:1.3}.about{padding-top:35px}.about h2{font-size:35px}footer{flex-wrap:wrap}footer>span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js-motion .stop{opacity:1;transform:none;transition:none}.art img{transition:none!important;transform:none!important}}

@media(max-width:650px){.intro{padding:25px 5% 26px}h1{font-size:48px;letter-spacing:-2.5px;margin:15px 0}.intro-bottom p{font-size:16px;line-height:1.5}.walk-facts{margin-top:18px}.route-map{height:75px}#map-stops{height:60px}#map-stops:before{top:29px}.route-panel{padding-bottom:15px}.stop-category{letter-spacing:1px}.stop-location{max-width:85px;text-align:right}}
