.places-directory{--paper:#fff0e3;--ink:#234b42;--coral:#bf6e5e;--muted:#6d776b;--line:#e0cebf;--display:'Oswald',sans-serif;--body:'Manrope',sans-serif}.places-directory *{box-sizing:border-box}.places-directory{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}.places-directory button,.places-directory a{-webkit-tap-highlight-color:transparent}.places-directory button{font:inherit;cursor:pointer}.places-directory a{color:inherit;text-decoration:none}.places-directory a:focus-visible,.places-directory button:focus-visible{outline:3px solid var(--coral);outline-offset:5px}.places-directory .wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}.places-directory .site-header{height:72px;border-bottom:1px solid var(--line)}.places-directory .header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.places-directory .brand{font-family:var(--display);font-weight:600;font-size:25px;letter-spacing:-.04em}.places-directory .brand span{color:var(--coral)}.places-directory nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:800}.places-directory nav .active{border-bottom:2px solid var(--coral);padding-bottom:4px}.places-directory nav>a{font-size:12px}.places-directory{padding-top:57px}.places-directory h1,.places-directory h2,.places-directory h3{font-family:var(--display);font-weight:500;margin:0;line-height:1.05}.places-directory .eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:23px}.places-directory .page-head{display:grid;grid-template-columns:1.25fr 1fr;gap:50px;align-items:end}.places-directory h1{font-size:clamp(44px,5.5vw,74px);letter-spacing:-.025em}.places-directory h1 span{color:var(--coral)}.places-directory .places-intro{font-size:16px;line-height:1.65;max-width:440px;margin:0 0 4px}.places-directory .map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:40px 0 20px}.places-directory .map-toolbar>p{font-size:12px;margin:0;color:var(--muted)}.places-directory .places-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.places-directory .place-card{overflow:hidden;border:1px solid #dac9b9;border-radius:21px;background:#fff8f0}.places-directory .map-frame{position:relative;overflow:hidden;background:#9dc5c7}.places-directory .place-map{display:block;width:100%;height:auto;aspect-ratio:420/310}.places-directory .map-label{font-family:var(--body);font-size:10px;font-weight:800;letter-spacing:2px;fill:#234b42;opacity:.7}.places-directory .map-north text{font-family:var(--body);font-size:9px;font-weight:800}.places-directory .land-highlight{opacity:0;transition:opacity .22s,stroke-width .22s}.places-directory .land-link{cursor:pointer}.places-directory .land-link:hover .land-highlight,.places-directory .land-link:focus-visible .land-highlight{opacity:1;stroke-width:4}.places-directory .land-link:focus-visible{outline:none}.places-directory .land-link:focus-visible .land-hit{stroke:#fff0c3;stroke-width:5}.places-directory .land-link .land-hit{transition:fill .22s}.places-directory .land-link:hover .land-hit{fill:#f5d09a22}.places-directory .card-copy{padding:22px 24px 23px;display:flex;align-items:center;justify-content:space-between;gap:16px}.places-directory .card-copy h2{font-size:30px}.places-directory .card-copy p{font-size:12px;line-height:1.5;color:#6b7568;margin:7px 0 0}.places-directory .card-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #b7c9bb;width:43px;height:43px;border-radius:50%;font-size:23px;transition:background .2s,color .2s}.places-directory .card-arrow:hover{background:var(--ink);color:white}.places-directory .coffee-note{margin-top:40px;padding:25px 0 10px;border-top:1px solid var(--line)}.places-directory .coffee-note>span{font-size:10px;letter-spacing:.1em;font-weight:800;color:#9b6a57}.places-directory .coffee-note p{font-size:14px;margin:10px 0 0;line-height:1.6}.places-directory .coffee-note strong{font-weight:800}.places-directory footer{display:flex;gap:20px;justify-content:space-between;padding:42px 0 24px;font-size:10px;font-weight:800;color:#778073}.places-directory footer a{text-decoration:underline;text-underline-offset:3px}.places-directory .back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;font-weight:800;margin-bottom:28px}.places-directory .detail-head{display:grid;grid-template-columns:1fr .85fr;gap:40px;align-items:center;margin-bottom:30px}.places-directory .detail-head h1{margin:12px 0 20px}.places-directory .detail-intro{font-size:16px;line-height:1.7;max-width:630px}.places-directory .detail-map{border-radius:18px;overflow:hidden}.places-directory .detail-map .land-link{pointer-events:none}.places-directory .categories{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0}.places-directory .categories button{font-size:12px;font-weight:800;min-height:44px;padding:10px 17px;border-radius:24px;border:1px solid #c7c5b1;background:#fff8ef;color:var(--ink)}.places-directory .categories button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.places-directory .recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.places-directory .recommendation-card{border:1px solid #ddc9b9;border-radius:16px;padding:24px;background:#fff8ef;min-height:170px}.places-directory .recommendation-card>span{display:block;font-size:10px;letter-spacing:.08em;font-weight:800;color:#8a6f5d;margin-bottom:17px}.places-directory .recommendation-card h3{font-size:25px;line-height:1.1}.places-directory .recommendation-card p{font-size:12px;line-height:1.65;color:#607363;margin:14px 0 0}.places-directory .empty-note{font-size:13px;color:#687769;line-height:1.6}.places-directory .detail-map .map-label{display:none}@media(max-width:760px){.places-directory .wrap{width:calc(100% - 36px)}.places-directory .site-header{height:63px}.places-directory{padding-top:35px}.places-directory .brand{font-size:22px}.places-directory nav{gap:17px;font-size:11px}.places-directory nav>a{font-size:10px}.places-directory .eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:18px}.places-directory .page-head{grid-template-columns:1fr;gap:20px}.places-directory h1{font-size:clamp(42px,9vw,64px)}.places-directory .places-intro{font-size:14px;line-height:1.65}.places-directory .map-toolbar{align-items:flex-start;flex-direction:column;gap:14px;margin-top:26px}.places-directory .map-toolbar>p{font-size:11px;line-height:1.5}.places-directory .places-grid{grid-template-columns:1fr;gap:18px}.places-directory .card-copy{padding:19px 20px}.places-directory .card-copy h2{font-size:29px}.places-directory .card-copy p{font-size:11px}.places-directory .map-label{font-size:11px}.places-directory .detail-head{grid-template-columns:1fr;gap:20px}.places-directory .detail-head h1{font-size:53px}.places-directory .detail-map{max-width:440px}.places-directory .detail-intro{font-size:14px}.places-directory .recommendation-grid{grid-template-columns:1fr}.places-directory .recommendation-card{min-height:140px;padding:22px}.places-directory .coffee-note{margin-top:28px}.places-directory footer{font-size:9px;gap:12px;flex-wrap:wrap;padding-top:30px}.places-directory .categories{gap:7px}.places-directory .categories button{padding:9px 13px;font-size:11px}}.places-directory .city-map .land-base{fill:#bcb58c;stroke:#efe6c4}.places-directory .city-map .map-land-art>g{opacity:.25}@media(prefers-reduced-motion:reduce){.places-directory *{transition:none!important;scroll-behavior:auto!important}}
main.places-directory{width:min(1160px,calc(100% - 64px));margin-inline:auto}@media(max-width:760px){main.places-directory{width:calc(100% - 36px)}}
.places-directory{padding-bottom:40px}.places-directory [hidden]{display:none!important}.places-directory .map-credit{font-size:10px;text-align:right;margin:30px 0 0;color:#6d776b}.places-directory .map-credit a{text-decoration:underline}.places-directory .coming-soon{display:inline-block;font-size:10px;letter-spacing:0;margin:12px 0 0;padding:5px 9px;border-radius:20px;background:#e9ded0}.places-directory .intro{font-size:15px}.places-directory .land-link{text-decoration:none}.places-directory .card-copy a{text-decoration:none}
.places-directory .places-intro{border-left:2px solid #c78167;padding-left:22px;max-width:465px;font-size:15px}