.recs-page{max-width:50rem;margin:0 auto;padding:4rem 2rem}.recs-page .back-link{display:inline-block;font-family:Space Mono,monospace;font-size:.75em;color:#999;text-decoration:none;text-transform:lowercase;margin-bottom:2rem}.recs-page .back-link:hover{color:#404040}.recs-page h1{font-family:Work Sans,sans-serif;font-size:2.5em;font-weight:600;color:#404040;letter-spacing:-.05rem;margin-bottom:.5rem}.recs-intro{font-family:Arial,sans-serif;font-size:1em;line-height:1.6;color:#666;margin-bottom:2.5rem}.recs-map-wrapper{margin-bottom:2rem;border-radius:.5rem;overflow:hidden;border:1px solid #e5e5e5}#recs-map{height:400px;width:100%;background-color:#f7f7f7}.map-toggle{display:none;font-family:Space Mono,monospace;font-size:.75em;color:#999;background:none;border:1px solid #e5e5e5;border-radius:.375rem;padding:.5rem 1rem;cursor:pointer;margin-bottom:1.5rem;transition:color .2s ease,border-color .2s ease}.map-toggle:hover{color:#404040;border-color:#ccc}.recs-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}.recs-filters button{font-family:Space Mono,monospace;font-size:.7em;text-transform:lowercase;color:#999;background:none;border:1px solid #e5e5e5;border-radius:2rem;padding:.35rem .85rem;cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.recs-filters button:hover{color:#404040;border-color:#ccc}.recs-filters button.active{color:#404040;border-color:#404040;background-color:#f7f7f7}.recs-grid{display:flex;flex-direction:column;gap:0}.place-card{border-bottom:1px solid #e5e5e5;padding:2rem 0}.place-card:first-child{padding-top:0}.place-card:last-child{border-bottom:none}.place-card.hidden{display:none}.place-card.highlight{animation:cardHighlight 1.5s ease}@keyframes cardHighlight{0%{background-color:#f7f7f7}to{background-color:transparent}}.place-name{font-family:Work Sans,sans-serif;font-size:1.35em;font-weight:600;color:#404040;letter-spacing:-.03rem;line-height:1.3;margin:0 0 .5rem}.place-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-family:Space Mono,monospace;font-size:.7em;color:#999;margin-bottom:1rem}.place-category,.place-neighborhood{text-transform:lowercase}.place-price{letter-spacing:.05em}.place-meta span:not(:last-child):after{content:""}.place-meta-sep{color:#ddd}.place-body{font-family:Arial,sans-serif;font-size:.95em;line-height:1.7;color:#404040}.place-body h2{font-family:Work Sans,sans-serif;font-size:1.1em;font-weight:600;color:#404040;margin:1.5rem 0 .5rem;line-height:1.3}.place-body h2:first-child{margin-top:0}.place-body p{margin:.75rem 0}.place-body p:first-child{margin-top:0}.place-body ul,.place-body ol{margin:.75rem 0;padding-left:1.5rem}.place-body ul{list-style-type:disc}.place-body li{margin:.35rem 0;line-height:1.6}.place-body strong{font-weight:700;color:#303030}.place-body em{font-style:italic}.place-body a{color:#404040;text-decoration:underline}.place-body a:hover{text-decoration:none}.place-links{display:flex;gap:1rem;margin-top:1rem}.place-links a{font-family:Space Mono,monospace;font-size:.7em;color:#999;text-decoration:none;transition:color .2s ease}.place-links a:hover{color:#404040}.leaflet-popup-content-wrapper{border-radius:.375rem;box-shadow:0 2px 8px #0000001a}.leaflet-popup-content{font-family:Arial,sans-serif;font-size:14px;line-height:1.5;margin:10px 14px;color:#404040}.leaflet-popup-content .popup-name{font-family:Work Sans,sans-serif;font-weight:600;font-size:14px;margin-bottom:2px}.leaflet-popup-content .popup-meta{font-family:Space Mono,monospace;font-size:11px;color:#999;text-transform:lowercase;margin-bottom:6px}.leaflet-popup-content .popup-link{font-family:Space Mono,monospace;font-size:11px;color:#999;text-decoration:none;cursor:pointer}.leaflet-popup-content .popup-link:hover{color:#404040}@media(max-width:736px){.recs-page{padding:3rem 2rem}.recs-page h1{font-size:2em}.recs-map-wrapper{display:none}.recs-map-wrapper.visible{display:block}.map-toggle{display:inline-block}#recs-map{height:300px}.recs-filters{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.25rem}.recs-filters::-webkit-scrollbar{display:none}.recs-filters button{white-space:nowrap;flex-shrink:0}}@media(max-width:360px){.recs-page{padding:2.5rem 1.5rem}}
