@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Noto+Serif+SC:wght@400;500;600&display=swap');
:root{--paper:#f7f6f2;--ink:#191b18;--line:#c9c9c2;--muted:#686c65;--forest:#19352b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Serif SC',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}.site-header{height:72px;padding:0 clamp(20px,4vw,70px);display:flex;align-items:center;justify-content:space-between;background:#faf9f6;position:relative;z-index:10}.wordmark{font-family:Georgia,serif;font-size:23px;letter-spacing:.22em;white-space:nowrap}.wordmark span{font-size:.62em;letter-spacing:.24em;vertical-align:middle;margin-left:.2em}.site-header nav{display:flex;gap:36px;font-size:12px;letter-spacing:.14em}.site-header nav a:hover,.site-footer a:hover{opacity:.55}.eyebrow,.section-label,.card-meta,.card-link{font-size:11px;letter-spacing:.22em;text-transform:uppercase}.eyebrow.light{color:#fff}.featured{height:min(78vh,780px);min-height:560px;position:relative;overflow:hidden;background:#24352c;color:#fff}.featured>img,.detail-hero>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.featured-shade,.detail-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,20,17,.72),rgba(12,20,17,.06) 75%),linear-gradient(0deg,rgba(12,20,17,.5),transparent 42%)}.featured-content{position:absolute;inset:0;padding:clamp(28px,5vw,80px);display:flex;flex-direction:column;justify-content:flex-end;max-width:1500px;margin:auto}.featured h1{font:normal clamp(58px,10vw,150px)/.94 Georgia,'Noto Serif SC',serif;letter-spacing:-.06em;max-width:1000px;margin:26px 0 65px}.featured h1:hover{font-style:italic}.featured-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.22em}.featured-actions{display:flex;align-items:center;gap:20px}.featured-actions button{background:none;border:1px solid rgba(255,255,255,.65);color:white;width:45px;height:45px;font-size:22px}.featured-actions button:hover{background:white;color:#111}.empty-hero{position:relative;overflow:hidden;min-height:650px;height:min(78vh,780px);background:#1b2a22;color:#f4f3eb;display:flex;align-items:center;padding:0}.empty-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:80% 50%;opacity:.7;filter:brightness(.85) contrast(1.1) saturate(.85);pointer-events:none}.empty-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,30,24,.95) 0%,rgba(18,30,24,.82) 42%,rgba(18,30,24,.32) 80%,rgba(18,30,24,.5) 100%),linear-gradient(0deg,rgba(14,24,19,.75) 0%,transparent 45%),linear-gradient(180deg,rgba(14,24,19,.45) 0%,transparent 25%);pointer-events:none}.empty-hero-content{position:relative;z-index:2;padding:clamp(35px,6vw,100px);max-width:1100px}.empty-hero h1{font-family:Baskerville,'Songti SC','Times New Roman',Georgia,serif;font-weight:300;font-size:clamp(46px,7.2vw,96px);line-height:1.12;letter-spacing:-.01em;margin:26px 0 20px;color:#fff;-webkit-font-smoothing:antialiased}.empty-hero h1 i{font-weight:300}.empty-hero p{font-size:18px;color:rgba(255,255,255,.85);margin:0}.empty-hero a{display:inline-block;margin-top:55px;border-bottom:1px solid rgba(255,255,255,.8);padding-bottom:8px;letter-spacing:.12em;color:#fff;transition:opacity .2s ease}.empty-hero a:hover{opacity:.7}.routes-section{max-width:1480px;margin:auto;padding:65px clamp(20px,5vw,80px) 140px}.section-top{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:65px}.tabs{display:flex;gap:clamp(20px,3vw,50px);overflow-x:auto;border-bottom:1px solid var(--line);white-space:nowrap}.tabs button{border:0;background:none;padding:0 0 18px;font-size:14px;color:var(--muted);letter-spacing:.14em}.tabs button.active{color:var(--ink);border-bottom:2px solid var(--ink)}.list-heading{display:flex;align-items:end;justify-content:space-between;margin:64px 0 30px}.list-heading h2{font:normal clamp(40px,6vw,84px)/1 Georgia,'Noto Serif SC',serif;letter-spacing:-.06em;margin:0}.list-heading span{font-size:12px;color:var(--muted);letter-spacing:.1em}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:84px 34px}.route-card:nth-child(even){margin-top:105px}.card-image{aspect-ratio:1.3;background:#c8cec5;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.route-card:hover .card-image img{transform:scale(1.04)}.card-meta{display:flex;justify-content:space-between;gap:10px;margin:23px 0 15px;color:var(--muted)}.route-card h3{font:normal clamp(30px,3.1vw,52px)/1.18 Georgia,'Noto Serif SC',serif;margin:0 0 14px}.route-card p{color:var(--muted);line-height:1.7;max-width:600px}.card-link{display:inline-block;margin-top:16px;border-bottom:1px solid var(--ink);padding-bottom:8px}.empty-routes{padding:70px 0;color:var(--muted);font-family:'Noto Serif SC',serif;font-size:23px}.detail-hero{height:min(76vh,780px);min-height:520px;background:#30443a;position:relative;color:white}.detail-hero-content{position:absolute;left:clamp(22px,6vw,100px);right:clamp(22px,6vw,100px);bottom:clamp(38px,7vw,90px);max-width:1300px;margin:auto}.detail-hero h1{font:normal clamp(58px,10vw,148px)/1 Georgia,'Noto Serif SC',serif;letter-spacing:-.06em;max-width:1150px;margin:20px 0}.detail-hero p{font-size:17px;line-height:1.6;max-width:650px}.detail-inner{max-width:1400px;margin:auto;padding:0 clamp(22px,6vw,100px)}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:42px 0}.stats>div{border-right:1px solid var(--line);padding:0 28px;text-align:center}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats b{display:block;font:normal clamp(29px,4vw,58px) Georgia,'Noto Serif SC',serif}.stats span{font-size:11px;letter-spacing:.15em;color:var(--muted)}.intro{display:grid;grid-template-columns:1fr 2.3fr auto;gap:30px;align-items:start;padding:42px 0}.intro p{font:normal clamp(25px,3vw,46px)/1.45 Georgia,'Noto Serif SC',serif;margin:0}.download-desktop,.download-end>a{background:var(--ink);color:#fff;border:1px solid var(--ink);padding:10px 22px;font-size:12px;letter-spacing:.16em;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:opacity .2s ease,transform .15s ease}.download-desktop:hover,.download-end>a:hover{background:var(--ink);color:#fff;opacity:.88}.download-desktop:active,.download-end>a:active{transform:scale(.98)}.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0 25px}.map-section{margin-bottom:110px}.route-map,.map-fallback{height:540px;background:#e2ebe5}.map-layer-control{position:absolute;top:109px;right:10px;z-index:5;width:29px;display:flex;flex-direction:column;align-items:center}.map-layer-main-btn{width:29px;height:29px;padding:0;display:flex;align-items:center;justify-content:center;background:#fff;border:none;border-radius:4px;box-shadow:0 0 0 2px rgba(0,0,0,.1);color:#19352b;cursor:pointer;transition:background .15s ease,color .15s ease}.map-layer-main-btn:hover{background:#f4f7f5;color:#137356}.map-layer-main-btn.is-open{color:#137356;background:#eaf1ed}.map-layer-menu{margin-top:6px;width:29px;background:#fff;border-radius:4px;box-shadow:0 0 0 2px rgba(0,0,0,.1),0 4px 12px rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:center;padding:3px 0;gap:3px;animation:mapMenuSlide .16s cubic-bezier(0.16,1,0.3,1)}@keyframes mapMenuSlide{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.map-layer-opt{position:relative;width:25px;height:25px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:3px;cursor:pointer;transition:background .15s ease}.map-layer-opt:hover{background:#edf3ef}.map-layer-opt.is-selected{background:#e1ede5;box-shadow:inset 0 0 0 1.5px #137356}.map-layer-tooltip{position:absolute;right:32px;top:50%;transform:translateY(-50%);background:rgba(20,36,29,.92);color:#fff;font-size:11px;letter-spacing:.06em;padding:3px 7px;border-radius:3px;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease;box-shadow:0 2px 6px rgba(0,0,0,.18)}.map-layer-opt:hover .map-layer-tooltip{opacity:1;visibility:visible}.map-fallback{display:flex;align-items:center;justify-content:center;color:#555;text-align:center;padding:20px}.story{display:grid;grid-template-columns:1fr 2.3fr;gap:30px;max-width:1000px;margin:0 auto 120px}.story p{font:normal 21px/1.9 Georgia,'Noto Serif SC',serif;white-space:pre-wrap;margin:0 0 24px}.photo-story{margin-bottom:130px}.photo-story figure{margin:0 0 80px;max-width:1000px}.photo-story figure.offset{margin-left:auto;max-width:800px}.photo-story img{width:100%;max-height:900px;object-fit:cover}.photo-story figcaption{display:flex;gap:35px;font-size:13px;line-height:1.6;color:var(--muted);margin-top:16px}.photo-story figcaption span{letter-spacing:.18em}.notes{border-top:1px solid var(--line);padding:55px 0 100px;max-width:800px}.notes h2{font:normal 48px Georgia,'Noto Serif SC',serif;margin:20px 0}.notes p{font-size:18px;line-height:1.8;white-space:pre-wrap}.download-end{display:flex;align-items:end;justify-content:space-between;gap:40px;background:#dfe4d9;padding:65px;margin-bottom:90px}.download-end h2{font:normal clamp(44px,6vw,88px)/1.1 Georgia,'Noto Serif SC',serif;margin:25px 0}.download-end p{font-size:13px;color:var(--muted)}.mobile-download{display:none}.site-footer{border-top:1px solid var(--line);padding:40px clamp(22px,5vw,80px);display:flex;justify-content:space-between;font-size:11px;letter-spacing:.17em}.not-found{min-height:65vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px}.not-found h1{font:normal clamp(40px,6vw,80px) Georgia,'Noto Serif SC',serif}.not-found a{border-bottom:1px solid;padding-bottom:8px}@media(max-width:700px){.site-header{height:62px;padding:0 19px}.wordmark{font-size:18px}.site-header nav{gap:15px;font-size:10px}.featured{height:68vh;min-height:530px}.featured-content{padding:25px}.featured h1{font-size:clamp(58px,13vw,86px);margin:20px 0 70px}.featured-bottom{font-size:10px}.featured-actions{gap:8px}.featured-actions button{width:38px;height:38px}.empty-hero{min-height:520px;height:68vh}.empty-hero-content{padding:30px 22px}.empty-hero h1{font-size:clamp(38px,10vw,48px);margin:20px 0 16px}.empty-hero p{font-size:15px}.empty-hero a{margin-top:36px}.routes-section{padding:36px 20px 100px}.section-top{margin-bottom:38px}.section-top span:last-child{display:none}.tabs{gap:29px}.tabs button{font-size:13px}.list-heading{margin:45px 0 23px}.list-heading h2{font-size:44px}.list-heading span{font-size:10px}.route-grid{display:block}.route-card{display:block;margin-bottom:58px}.route-card:nth-child(even){margin-top:0}.card-image{aspect-ratio:1.3}.route-card h3{font-size:32px}.card-meta{font-size:10px}.detail-hero{height:67vh;min-height:480px}.detail-hero-content{left:22px;right:22px;bottom:40px}.detail-hero h1{font-size:clamp(52px,13vw,82px)}.detail-hero p{font-size:14px}.detail-inner{padding:0 20px}.stats{grid-template-columns:repeat(2,1fr);gap:25px 0;padding:28px 0}.stats>div{padding:0 14px}.stats>div:nth-child(2){border:0}.stats>div:nth-child(3){padding-left:0}.stats b{font-size:34px}.stats span{font-size:10px}.intro{display:block;padding:65px 0}.intro p{font-size:29px;margin-top:24px}.download-desktop{display:none}.map-section{margin-bottom:75px}.route-map,.map-fallback{height:380px}.story{display:block;margin-bottom:80px}.story p{font-size:17px;margin-top:25px}.photo-story{margin-bottom:80px}.photo-story figure,.photo-story figure.offset{max-width:none;margin:0 0 44px}.photo-story figcaption{font-size:12px}.notes{padding:40px 0 70px}.notes h2{font-size:39px}.download-end{padding:35px 25px;margin-bottom:60px;flex-direction:column;align-items:stretch;gap:26px}.download-end h2{font-size:51px;margin:18px 0 14px}.download-end p{margin:0;line-height:1.6}.download-end>a{display:flex;width:100%;text-align:center;padding:15px;font-size:12px;letter-spacing:.2em}.site-footer{padding:35px 20px 110px;flex-direction:column;gap:10px}.mobile-download{display:block;position:fixed;bottom:0;left:0;right:0;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:rgba(247,246,242,.97);border-top:1px solid var(--line);z-index:20;transform:translateY(0);opacity:1;transition:transform .3s cubic-bezier(0.16,1,0.3,1),opacity .25s ease;pointer-events:auto}.mobile-download.is-hidden{transform:translateY(100%);opacity:0;pointer-events:none}.mobile-download a{display:block;background:var(--ink);color:white;text-align:center;padding:15px;font-size:12px;letter-spacing:.2em}}
.route-map-shell{position:relative;height:540px;background:#e2ebe5;overflow:hidden}.route-map-shell .route-map{position:absolute;inset:0;height:100%;opacity:0;pointer-events:none}.route-map-shell[data-ready="true"] .route-map{opacity:1;pointer-events:auto}.route-preview{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#e2ebe5}.route-preview[hidden]{display:none}.route-preview svg{width:100%;height:calc(100% - 42px)}.route-preview p{margin:8px 0 0;color:#4b554e;font-size:13px;text-align:center}.map-retry{margin-top:10px;padding:0;background:none;border:none;border-bottom:1px solid #4b554e;color:#4b554e;font-size:12px;letter-spacing:.08em;cursor:pointer;opacity:.8}.map-retry:hover{opacity:1}@media(max-width:700px){.route-map-shell{height:380px}}
.path-wordmark{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;color:var(--ink);line-height:1;text-decoration:none}.path-wordmark strong{font-family:Georgia,serif;font-size:28px;font-weight:400;letter-spacing:.08em;line-height:1}.path-wordmark .path-subline{display:flex;flex-direction:column;justify-content:center;gap:3px;font-family:'DM Sans',-apple-system,sans-serif;font-size:8.5px;font-weight:500;letter-spacing:.16em;line-height:1;color:var(--muted);text-transform:uppercase}.path-wordmark .path-subline span{display:block}@media(max-width:700px){.path-wordmark{gap:8px}.path-wordmark strong{font-size:23px}.path-wordmark .path-subline{font-size:7.5px;gap:2.5px;letter-spacing:.14em}.site-header nav{gap:12px}}
@media(max-width:700px){.empty-hero h1{font-size:clamp(38px,10vw,48px)}}
