.bn-hero{max-width:var(--page);margin:0 auto;padding:48px var(--gutter) 10px}.bn-hero .eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--ink-faint);margin:0 0 8px}.bn-hero h1{font-family:var(--serif);font-size:clamp(2.2rem,8vw,3.6rem);line-height:.98;color:var(--ink);margin:0 0 12px}.bn-hero .lede{font-family:var(--sans);font-size:1rem;line-height:1.6;color:var(--ink-soft);max-width:60ch;margin:0 0 10px}.bn-hero .stats{font-family:var(--sans);font-size:.78rem;color:var(--ink-faint);margin:0}.bn-tools{max-width:var(--page);margin:0 auto;padding:6px var(--gutter) 0;position:sticky;top:var(--bar);z-index:10;background:color-mix(in srgb,var(--cream) 94%,transparent);backdrop-filter:blur(10px)}.bn-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--white);border-radius:999px;padding:0 16px;height:48px;margin:8px 0 10px}.bn-search svg{width:18px;height:18px;color:var(--ink-faint);flex:0 0 auto}.bn-search input{border:0;outline:0;background:transparent;width:100%;font-family:var(--sans);font-size:.95rem;color:var(--ink)}.bn-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:8px}.bn-towns{padding-top:2px;padding-bottom:10px}.bn-towns .bn-chip{border-style:dashed}.bn-fb{border-color:#cbd9f2;background:#eef3fb}.bn-own{border-color:#f2d9a8;background:#fdf6e6;font-weight:500}.bn-ig{border-color:#f3d3e4;background:#fdf0f6}.bn-li{border-color:#cfdceb;background:#edf3fa}.bn-wa{border-color:#cfe8d3;background:#eff9f0}.bn-tt{border-color:#e2d9ea;background:#f7f2fb}.bn-x{border-color:#ddd;background:#f5f5f5}.bn-contact{font-family:var(--sans);font-size:.78rem;color:var(--ink-soft);margin:0 0 6px}.bn-chips::-webkit-scrollbar{display:none}.bn-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;font-family:var(--sans);font-size:.82rem;cursor:pointer;color:var(--ink);background:var(--white);border:1px solid var(--line)}.bn-chip span{color:var(--ink-faint);font-size:.72rem}.bn-chip.is-on{background:var(--ink);color:var(--white);border-color:var(--ink)}.bn-chip.is-on span{color:#ffffffb3}.bn-count{max-width:var(--page);margin:0 auto;padding:12px var(--gutter) 0;font-family:var(--sans);font-size:.8rem;color:var(--ink-faint)}.bn-list{list-style:none;margin:0 auto;padding:10px var(--gutter) 40px;max-width:var(--page);display:grid;grid-template-columns:1fr;gap:12px}.bn-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:14px;background:var(--white);border:1px solid var(--line);border-radius:16px}.bn-logo{width:64px;height:64px;border-radius:12px;overflow:hidden;background:var(--cream);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.bn-logo img{width:100%;height:100%;object-fit:contain;padding:6px;display:block}.bn-mono{font-family:var(--serif);font-size:1.4rem;color:var(--ink-soft)}.bn-cat{font-family:var(--sans);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 4px}.bn-card h2{font-family:var(--serif);font-size:1.12rem;line-height:1.15;color:var(--ink);margin:0 0 5px}.bn-desc{font-family:var(--sans);font-size:.88rem;line-height:1.5;color:var(--ink-soft);margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bn-hours{font-family:var(--sans);font-size:.76rem;color:var(--ink-faint);margin:0 0 8px}.bn-links{display:flex;flex-wrap:wrap;gap:8px;margin:0}.bn-links a{font-family:var(--sans);font-size:.8rem;text-decoration:none;border-radius:999px;padding:7px 12px;min-height:34px;display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--cream);color:var(--ink)}.bn-tel{font-weight:500}.bn-addr{font-family:var(--sans);font-size:.74rem;color:var(--ink-faint);margin:8px 0 0}.bn-foot{max-width:64ch;margin:10px auto 70px;padding:0 var(--gutter)}.bn-foot h2{font-family:var(--serif);font-size:1.3rem;color:var(--ink);margin:0 0 8px}.bn-foot p{font-family:var(--sans);font-size:.9rem;line-height:1.6;color:var(--ink-soft);margin:0}@media(min-width:720px){.bn-list{grid-template-columns:1fr 1fr;gap:16px}}@media(min-width:1060px){.bn-list{grid-template-columns:repeat(3,1fr)}}
