:root{--ink:#16213d;--paper:#fbf8f2;--card:#fff;--teal:#2f6f63;--soft:#dceae5;--gold:#b8863e;--muted:#6f6a60;--line:rgba(22,33,61,.12)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}
a{color:inherit;text-underline-offset:3px}
header{border-bottom:1px solid var(--line);background:rgba(251,248,242,.94)}
.main-nav{position:relative;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.logo{font:600 24px Fraunces,serif;text-decoration:none}.logo span{color:var(--gold)}
.nav-links{display:flex;gap:20px;align-items:center}.nav-links a{min-height:44px;display:flex;align-items:center}
.nav-toggle{display:none;background:none;border:none;font-size:22px;color:var(--ink);cursor:pointer;padding:6px}
.hero{padding:64px 0 42px;border-bottom:1px solid var(--line)}
.eyebrow{font:700 11px Space Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
h1{max-width:820px;margin:14px 0 16px;font:600 clamp(38px,7vw,64px)/1.05 Fraunces,serif;letter-spacing:-.025em}
.dek{max-width:760px;margin:0;color:var(--muted);font-size:19px}.count{margin-top:22px;font-weight:700;color:var(--teal)}
.hub-main{padding:42px 0 82px}.hub-intro{max-width:760px;margin-bottom:26px}.hub-intro h2{font:600 30px/1.2 Fraunces,serif;margin:0 0 10px}
.place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.place-card{display:flex;min-width:0;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--card);text-decoration:none;box-shadow:0 8px 24px rgba(22,33,61,.04);transition:transform .18s,border-color .18s}
.place-card:hover{transform:translateY(-2px);border-color:rgba(47,111,99,.42)}
.place-card__meta{color:var(--teal);font:700 11px Space Mono,monospace;text-transform:uppercase}.place-card h3{margin:10px 0 5px;font:600 20px/1.25 Fraunces,serif}.place-card__ko,.place-card__address{margin:0;color:var(--muted);font-size:13px}.place-card__address{margin-top:10px}.place-card__action{margin-top:auto;padding-top:16px;font-weight:700;color:var(--teal)}
.empty{grid-column:1/-1;padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff}
.hub-note{margin-top:30px;padding:20px 22px;border-left:4px solid var(--gold);background:#f1ebdd}.hub-note a{font-weight:700;color:var(--teal)}
footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:13px}.footer-row{display:flex;justify-content:space-between;gap:20px;align-items:center}
@media(max-width:820px){.place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.wrap{width:min(100% - 28px,1120px)}.nav-toggle{display:block;min-width:44px;min-height:44px}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;padding:8px 20px 16px;background:var(--paper);border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.nav-links a{padding:12px 0;border-bottom:1px solid var(--line);width:100%}.hero{padding:42px 0 30px}.place-grid{grid-template-columns:1fr}.place-card{min-height:180px}.footer-row{align-items:flex-start;flex-direction:column}}
