@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f6f5f1;--white:#fff;--ink:#202221;--muted:#747873;--line:#e4e4de;--orange:#e96243;--deep:#172733;--sage:#dfe5d6;--radius:14px;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:3px}::selection{background:#f7b5a3;color:#1e2928}.wrap{max-width:var(--max);padding:0 38px;margin:0 auto}.notice-strip{background:#202b2d;color:#e5e8e4;font-size:10px;letter-spacing:.15em;font-weight:700;min-height:34px;display:flex;align-items:center}.notice-inner{display:flex;justify-content:space-between;gap:12px;width:100%}.notice-value{color:#eee}.local-status{display:flex;align-items:center;gap:9px}.live-dot{width:6px;height:6px;background:#a4d3a4;border-radius:50%;box-shadow:0 0 0 4px #a4d3a41b}.site-header{background:#f9f8f5;position:sticky;top:0;z-index:70;border-bottom:1px solid #e9e8e2}.header-row{height:79px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{font-family:Manrope,Arial,sans-serif;font-size:20px;font-weight:800;letter-spacing:-.09em;display:flex;align-items:center;gap:11px;white-space:nowrap}.brand svg{width:24px;height:24px}.brand b{color:var(--orange)}.header-links{display:flex;align-items:center;gap:33px;margin:0 auto}.header-links a{font-size:13px;font-weight:700;color:#565c59;transition:.2s}.header-links a:hover,.header-links a.active{color:#d95b3c}.header-actions{display:flex;gap:16px;align-items:center}.favorites-link{border:1px solid #d6d9d3;padding:11px 15px;border-radius:100px;font-weight:700;font-size:12px;display:flex;gap:9px;align-items:center;white-space:nowrap}.favorites-count{display:inline-flex;align-items:center;justify-content:center;background:#e4e9e1;border-radius:50%;width:21px;height:21px;font-size:10px}.icon{width:18px;height:18px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle}.menu-button{border:0;background:none;padding:8px;display:none}.page{min-height:69vh}.hero{position:relative;height:min(730px,calc(100svh - 112px));min-height:610px;background:#102032;color:#fff;overflow:hidden}.hero-image-layer{position:absolute;inset:0;background-size:cover;background-position:center 50%;opacity:1;transition:opacity .7s ease,background-image .4s ease}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,21,34,.81) 0%,rgba(13,24,35,.38) 46%,rgba(13,26,36,.04) 100%),linear-gradient(0deg,rgba(5,16,28,.8) 0%,transparent 54%);z-index:1}.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;height:100%;padding-top:86px;padding-bottom:32px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.23em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';display:inline-block;width:23px;height:1px;background:currentColor;opacity:.55}.hero h1,.display-heading{font-family:Manrope,Arial,sans-serif;font-weight:600;letter-spacing:-.075em;line-height:1.04}.hero h1{font-size:clamp(74px,9vw,140px);margin:25px 0 0;max-width:950px}.hero h1 span{color:#f7a387}.hero-lede{font-size:17px;line-height:1.65;max-width:430px;color:#d6dedf;margin:25px 0}.hero-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:100px;padding:14px 22px;border:1px solid transparent;font-size:12px;font-weight:800;min-height:47px;white-space:nowrap;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:#d84c32}.button-ghost{background:#ffffff19;border-color:#ffffff70;color:#fff;backdrop-filter:blur(6px)}.button-outline{background:transparent;border:1px solid #d8dad3;color:var(--ink)}.button-dark{background:var(--ink);color:#fff}.button-small{min-height:39px;padding:10px 15px;font-size:11px}.hero-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:auto;gap:24px}.hero-meta{display:flex;flex-direction:column;gap:8px;font-size:10px;letter-spacing:.13em;font-weight:700;color:#d5e0e0}.hero-meta strong{font-size:16px;color:#fff;letter-spacing:0;font-weight:500}.phase-switcher{display:flex;gap:4px;align-items:center;background:#0b1a27ae;border:1px solid #ffffff42;border-radius:100px;padding:6px;backdrop-filter:blur(12px)}.phase-switcher button{border:0;background:transparent;color:#d2d8df;font-size:10px;letter-spacing:.05em;font-weight:800;border-radius:100px;padding:10px 13px}.phase-switcher button.active{background:#fff;color:#25333b}.hero-vertical{position:absolute;z-index:2;top:50%;right:25px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.3em;color:#eff2f1;opacity:.6}.section{padding:85px 0}.section-header{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:34px}.kicker{font-size:10px;text-transform:uppercase;letter-spacing:.21em;font-weight:800;color:var(--orange);margin:0 0 12px}.section-title{font-family:Manrope,Arial,sans-serif;font-size:clamp(32px,4.2vw,55px);font-weight:600;letter-spacing:-.06em;line-height:1.14;margin:0}.section-desc{max-width:540px;color:var(--muted);font-size:14px;line-height:1.8;margin:16px 0 0}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:800;border-bottom:1px solid #a6aaa5;padding-bottom:6px;white-space:nowrap}.text-link:hover{color:var(--orange)}.place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.place-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;position:relative;transition:transform .25s,box-shadow .25s}.place-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #17273312}.place-photo{display:block;position:relative;aspect-ratio:1.48;background:#d7dedc;overflow:hidden}.place-photo img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;transition:transform .4s}.place-card:hover img{transform:scale(1.035)}.place-photo .fallback{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}.place-photo .photo-label{z-index:2;position:absolute;top:14px;left:14px;background:#fffffff1;color:#2b3435;padding:8px 11px;border-radius:100px;font-size:10px;font-weight:800}.fav-button{position:absolute;z-index:4;right:13px;top:13px;width:39px;height:39px;border-radius:50%;border:1px solid #eceeea;background:#fff;display:grid;place-items:center;color:#555}.fav-button svg{width:18px;height:18px}.fav-button.saved{color:var(--orange);border-color:#ffdad0;background:#fff1ec}.fav-button.saved svg{fill:currentColor}.place-info{padding:21px 22px 23px}.mini-meta{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#8a8e89;font-weight:800}.place-info h3{margin:10px 0 7px;font:700 19px/1.3 Manrope,Arial,sans-serif;letter-spacing:-.035em}.place-info p{font-size:13px;line-height:1.65;color:#747b76;margin:0 0 19px;min-height:42px}.card-foot{border-top:1px solid #eeeeea;padding-top:13px;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700}.arrow-circle{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f3f4ee;font-size:15px}.stats-bar{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:white;border-radius:16px;overflow:hidden}.stat-item{padding:27px 34px;border-right:1px solid var(--line)}.stat-item:last-child{border:0}.stat-item strong{font:700 28px Manrope,Arial,sans-serif;letter-spacing:-.05em;display:block;margin-bottom:3px}.stat-item span{font-size:12px;color:#818880}.editorial-banner{background:#e7e5db;display:grid;grid-template-columns:1fr 1fr;min-height:440px;overflow:hidden;border-radius:16px}.editorial-picture{background:#263c3d url('../assets/waterfront.svg') center/cover}.editorial-copy{padding:65px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.editorial-copy h2{font-size:clamp(34px,4vw,59px);font-weight:600;line-height:1.1;letter-spacing:-.07em;margin:0 0 20px;font-family:Manrope}.editorial-copy p{line-height:1.8;color:#616962;max-width:380px;font-size:14px;margin:0 0 23px}.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.route-card{border-radius:15px;min-height:290px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #0000000c;transition:transform .2s}.route-card:hover{transform:translateY(-4px)}.route-card.peach{background:#eadace}.route-card.sage{background:#dce6dc}.route-card.blue{background:#dce3eb}.route-top{display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.12em}.route-number{font:600 50px Manrope,Arial,sans-serif;letter-spacing:-.06em}.route-card h3{font:700 24px/1.2 Manrope,sans-serif;letter-spacing:-.05em;margin:20px 0 10px}.route-card p{font-size:13px;line-height:1.55;color:#5d6865;margin:0 0 19px}.route-end{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #4b605035;padding-top:13px;font-size:11px;font-weight:800}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.journal-card{background:white;border-radius:14px;overflow:hidden;border:1px solid var(--line)}.journal-card>a>.journal-art{height:215px;background-size:cover;background-position:center}.journal-card-body{padding:23px}.journal-card h3{font:700 21px/1.28 Manrope,sans-serif;letter-spacing:-.055em;margin:12px 0}.journal-card p{font-size:13px;line-height:1.7;color:#7a817b;min-height:66px}.site-footer{background:#202e30;color:#c2cac4;margin-top:85px}.footer-top{padding:65px 0 50px;display:flex;justify-content:space-between;gap:32px}.footer-title{font:700 36px Manrope,Arial,sans-serif;letter-spacing:-.07em;color:white;margin:0 0 9px}.footer-top p{max-width:390px;line-height:1.7;font-size:13px}.footer-links{display:flex;gap:70px}.footer-links>div{display:flex;flex-direction:column;gap:12px}.footer-links b{color:white;font-size:10px;letter-spacing:.15em;margin-bottom:7px}.footer-links a{font-size:13px}.footer-links a:hover{color:white}.footer-bottom{border-top:1px solid #ffffff26;padding:24px 0;font-size:10px;display:flex;justify-content:space-between;gap:16px;letter-spacing:.08em}.page-intro{padding:68px 0 43px}.page-intro h1{font:600 clamp(44px,6.7vw,82px)/1.12 Manrope,sans-serif;letter-spacing:-.075em;margin:0 0 12px}.page-intro .intro-copy{font-size:14px;line-height:1.7;color:#717971;max-width:640px}.results-line{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:17px 0;font-size:11px;color:#757c75;font-weight:700}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.searchbox{display:flex;align-items:center;gap:9px;background:white;border:1px solid #dcded8;border-radius:9px;min-width:250px;flex:1;padding:0 15px}.searchbox input{width:100%;border:0;background:none;outline:none;min-height:46px;font-size:13px}.select{border:1px solid #dcded8;background:white;border-radius:9px;padding:12px 30px 12px 14px;font-size:12px;font-weight:700;min-height:46px;max-width:210px}.filter-toggle{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:13px 16px;border:1px solid #dcded8;border-radius:9px;background:white;min-height:46px}.filter-toggle.active{background:#fbe4da;border-color:#f2baa5}.explore-layout{display:grid;grid-template-columns:minmax(0,1fr) 41%;align-items:start;gap:24px}.explore-layout .place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-panel{position:sticky;top:102px;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.map-heading{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.map-heading strong{font-size:12px}.map-heading span{color:#898f8c;font-size:10px}.map-canvas{height:480px;background:#dce6e2;position:relative;overflow:hidden}.map-canvas svg{width:100%;height:100%;display:block}.map-pin{cursor:pointer;filter:drop-shadow(0 3px 4px #0002)}.map-pin circle{transition:all .2s}.map-pin:hover circle,.map-pin.selected circle{r:13;fill:var(--orange)}.map-caption{padding:12px 16px;font-size:10px;line-height:1.6;color:#8b908e;border-top:1px solid var(--line)}.map-selected{padding:13px 16px;display:flex;gap:13px;align-items:center;border-top:1px solid var(--line);background:#fafbf8}.map-selected div{flex:1}.map-selected b{font:700 12px Manrope,sans-serif}.map-selected p{font-size:10px;color:#858e86;margin:4px 0}.map-selected a{font-size:10px;font-weight:800;border-bottom:1px solid #98a39b}.map-zoom{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:3px}.map-zoom button{width:31px;height:31px;border:1px solid #d8ded8;background:#fff;font-size:18px;border-radius:7px}.empty-state{padding:70px 25px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;grid-column:1/-1}.empty-state h3{font:700 21px Manrope,sans-serif}.empty-state p{font-size:13px;color:#818982}.walk-filters{background:white;padding:23px;border:1px solid var(--line);border-radius:14px;margin-bottom:30px}.walk-filters h3{font:700 16px Manrope;margin:0 0 14px}.walk-filters .filters{margin-bottom:0}.walk-filters .select{flex:1;max-width:none}.walk-intro{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;margin-bottom:40px}.walk-intro .illustration{background:#d3dfda url('../assets/bridge.svg') center/cover;min-height:260px;border-radius:14px}.detail-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;padding:55px 0}.detail-intro h1{font:600 clamp(42px,5.7vw,77px)/1.06 Manrope;letter-spacing:-.075em;margin:12px 0 17px}.detail-intro p{color:#6f7770;line-height:1.8;font-size:15px;max-width:640px}.detail-intro .detail-image{height:420px;border-radius:14px;background-size:cover;background-position:center;overflow:hidden;position:relative}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-panels{display:grid;grid-template-columns:1.1fr .9fr;gap:38px}.detail-prose{font-size:15px;color:#646d66;line-height:1.94}.detail-prose h2{font:700 25px Manrope;color:var(--ink);letter-spacing:-.05em}.detail-side{background:#fff;padding:26px;border-radius:14px;border:1px solid var(--line);align-self:start}.detail-side dt{font-size:10px;letter-spacing:.12em;font-weight:800;color:#8a918a;text-transform:uppercase;margin-bottom:6px}.detail-side dd{margin:0 0 23px;font-size:13px;font-weight:700}.taglist{display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:11px;background:#f0f1eb;border-radius:100px;padding:8px 12px;font-weight:700;color:#58615a}.timeline{counter-reset:route;display:flex;flex-direction:column;gap:0;position:relative}.timeline-item{position:relative;padding-left:56px;padding-bottom:35px}.timeline-item:before{counter-increment:route;content:counter(route,decimal-leading-zero);position:absolute;top:0;left:0;width:38px;height:38px;background:#263a39;border-radius:50%;color:white;display:grid;place-items:center;font-size:11px;font-weight:800}.timeline-item:not(:last-child):after{content:'';position:absolute;left:18px;top:45px;width:1px;bottom:6px;background:#c3cdc4}.timeline-item h3{font:700 20px Manrope;letter-spacing:-.035em;margin:2px 0 7px}.timeline-item p{font-size:13px;line-height:1.7;color:#6c756e;margin:0 0 8px}.timeline-item a{font-size:11px;font-weight:800;color:var(--orange)}.route-detail-head{background:#e9e4da;padding:61px 0;border-bottom:1px solid #e0ddd3}.route-detail-head h1{font:600 clamp(42px,6vw,80px)/1.1 Manrope;letter-spacing:-.07em;max-width:730px;margin:16px 0}.route-detail-head p{max-width:610px;line-height:1.75;color:#636963}.route-badges{display:flex;gap:9px;flex-wrap:wrap}.route-badges span{padding:9px 12px;border-radius:100px;background:#ffffffa9;font-size:11px;font-weight:800}.article-view{max-width:850px;margin:0 auto;padding:70px 30px}.article-view h1{font:600 clamp(42px,6vw,73px)/1.1 Manrope;letter-spacing:-.07em;margin:13px 0 19px}.article-deck{font-size:19px;color:#626c65;line-height:1.6}.article-image{height:350px;background-size:cover;background-position:center;border-radius:15px;margin:35px 0}.article-body{max-width:675px;margin:40px auto}.article-body h2{font:700 25px Manrope;letter-spacing:-.05em;margin:34px 0 14px}.article-body p{font-size:16px;line-height:1.95;color:#57625b}.toast{position:fixed;bottom:25px;right:25px;z-index:300;background:#243a37;color:#fff;padding:13px 20px;box-shadow:0 15px 40px #0003;border-radius:9px;font-size:12px;max-width:310px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.24s}.toast.visible{opacity:1;transform:translateY(0)}.skip{position:absolute;left:-9999px;top:0;background:white;z-index:200;padding:15px}.skip:focus{left:10px}.leaflet-container{font:inherit;background:#dce6e2}.leaflet-control-attribution{font-size:9px!important}.leaflet-marker-icon.map-custom-pin{border:0;background:var(--orange);border-radius:50% 50% 50% 0;transform:rotate(-45deg);color:white;font-size:10px;box-shadow:0 3px 9px #0004;display:grid;place-items:center}.leaflet-marker-icon.map-custom-pin span{transform:rotate(45deg)}
@media(max-width:1100px){.wrap{padding:0 25px}.header-links{gap:18px}.hero h1{font-size:clamp(75px,9vw,120px)}.explore-layout{grid-template-columns:minmax(0,1fr) 45%}.place-info{padding:16px}.route-grid{gap:12px}}
@media(max-width:820px){.wrap{padding:0 20px}.header-row{height:67px}.menu-button{display:block}.header-links{display:none;position:absolute;top:100%;left:0;right:0;background:#f9f8f5;padding:20px;border-bottom:1px solid #ddd;box-shadow:0 12px 25px #0001;flex-direction:column;align-items:flex-start}.header-links.open{display:flex}.header-actions{margin-left:auto}.notice-strip{min-height:31px}.hero{height:700px;min-height:630px}.hero-content{padding-top:85px}.hero h1{font-size:clamp(61px,10vw,90px)}.hero-vertical{display:none}.hero-bottom{flex-direction:column;align-items:flex-start}.place-grid,.route-grid,.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-copy{padding:40px}.explore-layout{grid-template-columns:1fr}.explore-layout .place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-panel{position:relative;top:auto;order:-1}.map-canvas{height:420px}.detail-intro{grid-template-columns:1fr}.detail-intro .detail-image{height:340px;order:-1}.footer-links{gap:40px}}
@media(max-width:560px){.notice-inner{font-size:9px;letter-spacing:.08em}.notice-inner>span{display:none}.favorites-link{padding:10px}.favorites-link .fav-caption{display:none}.brand{font-size:19px}.hero{height:700px;min-height:660px}.hero-content{padding-top:65px;padding-bottom:23px}.hero h1{font-size:clamp(61px,13vw,78px);margin-top:23px}.hero-lede{font-size:14px}.hero-cta{gap:8px}.hero-cta .button{padding:11px 15px;font-size:11px}.phase-switcher{align-self:stretch;justify-content:space-between}.phase-switcher button{padding:9px 8px;font-size:9px}.hero-bottom{gap:22px}.section{padding:59px 0}.section-header{align-items:flex-start}.section-title{font-size:34px}.section-header .text-link{font-size:11px}.place-grid,.explore-layout .place-grid,.route-grid,.journal-grid{grid-template-columns:1fr}.place-photo{aspect-ratio:1.6}.place-info p{min-height:0}.stats-bar{grid-template-columns:1fr}.stat-item{padding:20px 22px;border-right:0;border-bottom:1px solid var(--line)}.editorial-banner{grid-template-columns:1fr}.editorial-picture{min-height:225px}.editorial-copy{padding:30px}.footer-top{flex-direction:column;padding:45px 0 30px}.footer-links{gap:45px}.footer-bottom{flex-direction:column}.page-intro{padding:50px 0 25px}.page-intro h1{font-size:47px}.filters{display:grid;grid-template-columns:1fr 1fr}.searchbox{grid-column:1/-1;min-width:0}.select{min-width:0;max-width:100%;width:100%}.filter-toggle{justify-content:center}.map-canvas{height:360px}.detail-panels{grid-template-columns:1fr}.walk-intro{grid-template-columns:1fr}.walk-intro .illustration{min-height:190px}.detail-intro{padding:30px 0}.detail-intro h1{font-size:48px}.detail-intro .detail-image{height:270px}.article-view{padding:48px 20px}.article-image{height:225px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
