:root{--ink:#0b0b0b;--paper:#fff;--muted:#666;--line:#d8d8d8;--soft:#f1f1ef;--max:1440px}*{box-sizing:border-box}html{font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}body{margin:0}a{color:inherit;text-underline-offset:.18em}img{max-width:100%;display:block}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:var(--paper);padding:.75rem;z-index:10}.site-header{max-width:var(--max);margin:auto;padding:1.25rem 2rem;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;border-bottom:2px solid var(--ink)}.brand{text-decoration:none;font-size:1.35rem;white-space:nowrap}.brand span,.site-footer strong{font-family:'Archivo Black','Arial Black',sans-serif;letter-spacing:-.06em}.site-header nav{display:flex;gap:1.5rem;align-items:center}.site-header nav a{text-decoration:none;font-weight:500}.tour-tray{border:1px solid var(--ink);padding:.65rem .8rem}.tour-tray span{display:inline-grid;place-items:center;background:var(--ink);color:var(--paper);min-width:1.4rem;min-height:1.4rem;margin-left:.35rem}.page-grid{max-width:var(--max);margin:auto;padding-left:2rem;padding-right:2rem}.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;padding-top:4rem;padding-bottom:2rem}.hero-copy h1,.node-main>h1{font-size:clamp(3rem,7vw,7rem);line-height:.92;letter-spacing:-.065em;margin:.3rem 0 2rem;max-width:10ch}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:600}.search-form label{display:block;font-weight:500;margin-bottom:.5rem}.search-form div{display:flex}.search-form input{font:inherit;border:1px solid var(--ink);padding:1rem;width:100%;min-width:0}.button,.search-form button{font:inherit;font-weight:600;text-decoration:none;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:1rem 1.2rem;display:inline-block;cursor:pointer}.button.secondary{background:var(--paper);color:var(--ink)}.hero-actions{display:flex;gap:1rem;align-items:center;margin-top:1rem}.hero-image img{aspect-ratio:4/3;object-fit:cover;width:100%}figcaption{font-size:.72rem;color:var(--muted);margin-top:.5rem;line-height:1.45}.featured-strip{display:grid;grid-template-columns:.45fr 1.2fr auto;gap:2rem;align-items:start;border-top:1px solid var(--line);padding-top:2rem;padding-bottom:3rem}.featured-strip h2{font-size:2rem;margin:0 0 .5rem}.featured-strip p{margin:0;max-width:62ch}.node-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:4rem;padding-top:3rem;padding-bottom:4rem}.node-main>h1{max-width:13ch;font-size:clamp(3rem,6vw,6.5rem)}.node-meta{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}.node-image img{width:100%;max-height:640px;object-fit:cover}.story{max-width:760px;padding-top:2rem}.story h2,.sources h2{font-size:2rem;margin:2rem 0 .5rem}.story p{font-family:Georgia,serif;font-size:1.25rem;line-height:1.65}.sources{border-top:1px solid var(--line);margin-top:3rem}.sources li{padding:.4rem 0}.node-sidebar{border-left:1px solid var(--line);padding-left:1.5rem}.add-tour{width:100%;margin-bottom:2rem}.node-sidebar section{margin:1.5rem 0 2.5rem}.connections{list-style:none;padding:0;margin:0}.connections li{border-top:1px solid var(--line);padding:1rem 0}.connections a{font-weight:600}.connections span{display:block;color:var(--muted);font-size:.82rem;margin-top:.25rem}.record-meta{font-size:.85rem}.site-footer{border-top:2px solid var(--ink);padding:2rem;display:flex;justify-content:space-between;gap:2rem;max-width:var(--max);margin:auto}@media(max-width:800px){.site-header{align-items:center;padding:1rem}.site-header nav>a:not(.tour-tray){display:none}.page-grid{padding-left:1rem;padding-right:1rem}.home-hero,.node-layout{grid-template-columns:1fr;gap:1.5rem;padding-top:1.5rem}.hero-copy h1,.node-main>h1{font-size:clamp(2.8rem,14vw,5rem)}.hero-image{order:-1}.featured-strip{grid-template-columns:1fr;gap:.7rem}.node-sidebar{border-left:0;border-top:1px solid var(--line);padding:1.5rem 0 0}.site-footer{padding:1.5rem 1rem;flex-direction:column}.search-form div{flex-direction:column}.hero-actions{align-items:flex-start;flex-direction:column}}
.explore-heading{padding-top:2.5rem;padding-bottom:1.5rem}.explore-heading h1{font-size:clamp(2.4rem,5vw,5rem);line-height:.98;letter-spacing:-.05em;max-width:16ch;margin:.4rem 0 2rem}.explore-filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:.75rem;align-items:end}.explore-filters label{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.explore-filters input,.explore-filters select{display:block;width:100%;font:inherit;padding:.85rem;border:1px solid var(--ink);background:var(--paper);margin-top:.35rem}.explore-filters button{font:inherit;font-weight:600;padding:.9rem 1.2rem;background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.explore-layout{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(360px,.75fr) minmax(0,1.25fr);border-top:1px solid var(--line);min-height:650px}.results-panel{padding:1.5rem 2rem}.results-heading{display:flex;justify-content:space-between;align-items:baseline}.results-heading h2{font-size:1.5rem}.results-heading span{font-size:.8rem;color:var(--muted)}.result-card{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.result-card img{width:120px;height:100px;object-fit:cover}.result-card h3{font-size:1.25rem;margin:.2rem 0}.result-card p{font-size:.85rem;line-height:1.45;margin:.3rem 0}.map-panel{position:relative;border-left:1px solid var(--line)}#history-map{height:650px;width:100%;background:var(--soft)}.map-action{position:absolute;z-index:500;top:1rem;right:1rem;font:inherit;font-weight:600;background:var(--paper);border:1px solid var(--ink);padding:.7rem}.numbered-marker{background:var(--ink);border:0;color:var(--paper);font-weight:600}.tray-page{padding-top:3rem;padding-bottom:5rem;max-width:960px}.tray-page>h1{font-size:clamp(3.5rem,8vw,7rem);letter-spacing:-.06em;margin:.2rem 0 2rem}.tray-stops{list-style:none;padding:0;counter-reset:stops}.tray-stops li{display:grid;grid-template-columns:3rem 1fr auto;gap:1rem;align-items:center;border-top:1px solid var(--line);padding:1.2rem 0}.stop-number{font-family:'Archivo Black',sans-serif;font-size:1.5rem}.tray-stops h2{margin:0}.tray-stops p{margin:.35rem 0;color:var(--muted)}.text-button{border:0;background:none;text-decoration:underline;font:inherit;cursor:pointer}.tray-summary{border-top:2px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.5rem}.empty-state{padding:3rem 0}.notice{padding:1rem;background:var(--soft)}@media(max-width:800px){.explore-filters{grid-template-columns:1fr 1fr}.explore-filters label:first-child{grid-column:1/-1}.explore-layout{grid-template-columns:1fr}.map-panel{order:-1;border-left:0;border-bottom:1px solid var(--line)}#history-map{height:52vh;min-height:360px}.results-panel{padding:1rem}.result-card{grid-template-columns:95px 1fr}.result-card img{width:95px;height:95px}.tray-stops li{grid-template-columns:2rem 1fr}.tray-stops form{grid-column:2}.tray-summary{align-items:flex-start;flex-direction:column}}
.auth-page{max-width:680px;padding-top:4rem;padding-bottom:6rem}.auth-page h1{font-size:clamp(3rem,8vw,6rem);letter-spacing:-.06em;margin:.2rem 0 2rem}.auth-form{display:grid;gap:1.2rem}.auth-form label{font-weight:600}.auth-form input{display:block;width:100%;font:inherit;padding:1rem;border:1px solid var(--ink);margin-top:.4rem}.auth-form .button{justify-self:start}
.auth-form small{display:block;color:var(--muted);font-weight:400;margin-top:.35rem}.auth-form small ul{padding-left:1.2rem}.field-error{display:block;color:#a40000;margin-top:.3rem}.builder-page,.public-tour{padding-top:3rem;padding-bottom:5rem}.builder-page>h1,.public-tour>h1{font-size:clamp(3rem,7vw,6rem);line-height:.95;letter-spacing:-.06em;margin:.3rem 0 2rem}.builder-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:4rem}.editor-form>div{margin-bottom:1.25rem}.editor-form label{font-weight:600}.editor-form input,.editor-form textarea,.editor-form select{display:block;width:100%;font:inherit;padding:.85rem;border:1px solid var(--ink);margin-top:.35rem}.estimate{display:flex;gap:1.2rem;align-items:baseline;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;margin-bottom:2rem}.estimate strong{font-size:1.5rem}.estimate small{color:var(--muted);flex-basis:100%}.sortable-stops{list-style:none;padding:0}.sortable-stops>li{display:grid;grid-template-columns:2rem 1fr;gap:1rem;border-top:1px solid var(--line);padding:1.2rem 0}.sortable-stops h3{margin:0}.sortable-stops p{color:var(--muted)}.sortable-stops label{display:block;margin-top:.8rem}.drag-handle{font-size:1.5rem;cursor:grab}.is-dragging{opacity:.45}.builder-actions{border-left:1px solid var(--line);padding-left:1.5rem}.builder-actions .button{width:100%}.share-url{font-size:.75rem;overflow-wrap:anywhere;color:var(--muted)}.tour-list article{border-top:1px solid var(--line);padding:1.5rem 0}.tour-list h2{font-size:2rem;margin:.3rem 0}.tour-description{font-family:Georgia,serif;font-size:1.35rem;line-height:1.55;max-width:65ch}.tour-disclaimer{background:var(--soft);padding:1rem;max-width:80ch;font-size:.85rem}.public-stops{list-style:none;padding:0;margin-top:3rem}.public-stops>li{display:grid;grid-template-columns:4rem minmax(0,800px);gap:1.5rem;border-top:2px solid var(--ink);padding:2rem 0}.public-stop-number{font-family:'Archivo Black',sans-serif;font-size:2.5rem}.public-stops img{width:100%;max-height:520px;object-fit:cover;margin-bottom:1rem}.public-stops h2{font-size:2.2rem;margin:.3rem 0}.walking-note{border-left:3px solid var(--ink);padding-left:1rem}@media(max-width:800px){.builder-grid{grid-template-columns:1fr}.builder-actions{border-left:0;border-top:1px solid var(--line);padding:1.5rem 0}.public-stops>li{grid-template-columns:2.5rem 1fr;gap:.75rem}.public-stop-number{font-size:1.8rem}}
.error-page{min-height:60vh;padding-top:5rem;padding-bottom:5rem}.error-page h1{font-size:clamp(3rem,7vw,6rem);line-height:1;letter-spacing:-.05em;max-width:14ch}
.notice-page{max-width:900px;padding-top:4rem;padding-bottom:6rem}.notice-page h1{font-size:clamp(3rem,7vw,6rem);line-height:.95;letter-spacing:-.06em;margin:.3rem 0 2rem}.notice-page h2{font-size:1.6rem;margin:2rem 0 .5rem}.notice-page p{max-width:72ch;line-height:1.65}
.placeholder-page{min-height:100vh;display:grid;place-items:center;background:var(--paper);color:var(--ink)}.placeholder-page main{padding:2rem;text-align:center}.placeholder-page h1{font-family:'Archivo Black','Arial Black',sans-serif;font-size:clamp(3rem,12vw,10rem);letter-spacing:-.07em;margin:0}

/* Accessibility foundations */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #1769e0;outline-offset:3px}
:where(button,input,select,textarea){min-height:44px}
button:disabled{opacity:.55;cursor:not-allowed}
::placeholder{color:#666;opacity:1}
.menu-toggle{display:none;font:inherit;font-weight:600;background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:.65rem .85rem}
.site-messages{padding-top:1rem}.site-messages .notice{margin:0}
.error-summary{border:3px solid #a40000;padding:1rem;margin:0 0 1.5rem;max-width:70ch}.error-summary h2{font-size:1.25rem;margin:0 0 .5rem}.error-summary ul{margin-bottom:0}.field-error{font-weight:600}
.skip-map{position:absolute;left:-9999px;top:.75rem;z-index:1000;background:var(--paper);padding:.75rem;border:2px solid var(--ink)}.skip-map:focus{left:.75rem}
.reorder-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}.move-stop{font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:.5rem .75rem}.sortable-stops textarea{width:100%}
@media(max-width:800px){
  .site-header{position:relative;flex-wrap:wrap}.menu-toggle{display:inline-block}.site-header nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.25rem;padding-top:.75rem}.site-header nav.is-open{display:flex}.site-header nav>a:not(.tour-tray){display:block}.site-header nav a{padding:.75rem;min-height:44px}.tour-tray{display:block}
}
@media(max-width:480px){.explore-filters{grid-template-columns:1fr}.explore-filters label:first-child{grid-column:auto}.public-stops>li{grid-template-columns:1fr}.public-stop-number{font-size:1.5rem}.page-grid{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){.button,.tour-tray,.numbered-marker{forced-color-adjust:auto}.notice,.error-summary{border:2px solid CanvasText}}
