.filters.svelte-3jkjoa{display:grid;gap:var(--size-3)}.filter-toggle.svelte-3jkjoa{display:none;width:100%;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.85rem;padding:.65rem 1.1rem;border:0;border-radius:var(--radius-pill);background:var(--brand-teal);font:inherit;font-size:var(--font-size-1);font-weight:var(--weight-label);color:#fff;box-shadow:var(--shadow-card);cursor:pointer}.filter-toggle.svelte-3jkjoa:hover{background:#00796b}.toggle-label.svelte-3jkjoa{display:inline-flex;align-items:center;gap:.5rem}.toggle-icon.svelte-3jkjoa,.toggle-chevron.svelte-3jkjoa{display:block;flex-shrink:0}.filters.is-open.svelte-3jkjoa .toggle-chevron:where(.svelte-3jkjoa){transform:rotate(180deg)}.filter-body.svelte-3jkjoa{display:grid;gap:var(--size-3)}.panel.svelte-3jkjoa{display:grid;gap:var(--size-3);padding:var(--size-4);border:1px solid var(--brand-line);border-radius:var(--radius-3);background:#fff;box-shadow:var(--shadow-card)}.panel.svelte-3jkjoa h2:where(.svelte-3jkjoa){margin:0;font-family:var(--font-display);font-size:var(--font-size-0);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-ink-soft)}.panel.svelte-3jkjoa select:where(.svelte-3jkjoa){width:100%;min-height:2.6rem;padding:.55rem .7rem;border:1px solid var(--brand-line);border-radius:var(--radius-2);background:#fff;color:var(--brand-ink);font:inherit;font-size:var(--font-size-1)}.typeahead.svelte-3jkjoa{position:relative;display:grid;gap:.4rem}.typeahead.svelte-3jkjoa label:where(.svelte-3jkjoa){display:block}.typeahead.svelte-3jkjoa input:where(.svelte-3jkjoa){width:100%;min-height:2.6rem;padding:.55rem .7rem;border:1px solid var(--brand-line);border-radius:var(--radius-2);background:#fff;color:var(--brand-ink);font:inherit;font-size:var(--font-size-1)}.typeahead.svelte-3jkjoa input:where(.svelte-3jkjoa):focus-visible{outline:2px solid var(--brand-teal);outline-offset:1px}.picked.svelte-3jkjoa{display:inline-flex;width:fit-content;align-items:center;gap:.4rem;padding:.35rem .7rem;border:0;border-radius:var(--radius-pill);background:var(--brand-teal);color:#fff;font:var(--weight-label) var(--font-size-0)/1.35 var(--font-body);cursor:pointer}.picked.svelte-3jkjoa span:where(.svelte-3jkjoa){font-size:1.2rem;line-height:.8}.suggest.svelte-3jkjoa{position:absolute;z-index:5;top:calc(100% + .2rem);left:0;right:0;max-height:15rem;overflow:auto;margin:0;padding:.25rem;list-style:none;border:1px solid var(--brand-line);border-radius:var(--radius-2);background:#fff;box-shadow:var(--shadow-card-hover)}.suggest.svelte-3jkjoa button:where(.svelte-3jkjoa){width:100%;padding:.45rem .55rem;border:0;border-radius:var(--radius-2);background:transparent;color:var(--brand-ink);text-align:left;font:inherit;font-size:var(--font-size-1);cursor:pointer}.suggest.svelte-3jkjoa button:where(.svelte-3jkjoa):hover,.suggest.svelte-3jkjoa button:where(.svelte-3jkjoa):focus-visible{background:var(--brand-sand-dark);color:var(--brand-ink);outline:0}.hint.svelte-3jkjoa{margin:0;color:var(--brand-ink-soft);font-size:var(--font-size-0)}.clear.svelte-3jkjoa{justify-self:start;padding:0;border:0;background:none;color:var(--brand-teal);font:600 var(--font-size-0)/1.4 var(--font-body);text-decoration:underline;cursor:pointer}.clear.svelte-3jkjoa:disabled{color:var(--brand-ink-soft);cursor:default;opacity:.65}.apply.svelte-3jkjoa{width:100%;min-height:2.75rem;border:0;border-radius:var(--radius-2);background:var(--brand-teal);color:#fff;font:var(--weight-label) var(--font-size-1)/1.3 var(--font-body);cursor:pointer}.apply.svelte-3jkjoa:hover{background:#00796b}.apply.svelte-3jkjoa:disabled{opacity:.55;cursor:default}.sr-only.svelte-3jkjoa{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1023px){.filter-toggle.svelte-3jkjoa{display:inline-flex}.filters.svelte-3jkjoa:not(.is-open) .filter-body:where(.svelte-3jkjoa){display:none}}.town-family,.search-directory{background:var(--brand-sand);color:var(--brand-ink)}.directory-layout{display:grid;gap:var(--size-5);align-items:start;max-width:var(--max-width);margin-inline:auto;padding:var(--size-6) var(--size-4) var(--size-10)}.directory-filters,.directory-results,.directory-rail{min-width:0}.filters-heading{margin:0 0 var(--size-3);font-family:var(--font-display);font-size:var(--font-size-2);font-weight:var(--weight-heading);color:var(--brand-ink)}.town-detail-filters,.town-detail-filter-body{display:grid;gap:var(--size-3)}.town-detail-panel{display:grid;gap:var(--size-3);padding:var(--size-4);border:1px solid var(--brand-line);border-radius:var(--radius-3);background:#fff;box-shadow:var(--shadow-card)}.town-detail-panel label{display:grid;gap:.3rem}.town-filter-label{display:block;margin-bottom:.1rem;font-size:.6875rem;font-weight:var(--weight-label);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-ink-soft)}.town-detail-panel select{width:100%;min-height:2.6rem;padding:.55rem .7rem;border:1px solid var(--brand-line);border-radius:var(--radius-2);background:#fff;color:var(--brand-ink);font:inherit;font-size:var(--font-size-1);text-align:left;text-align-last:left}.town-detail-panel option{text-align:left}.town-filter-apply{width:100%;min-height:2.75rem;border:0;border-radius:var(--radius-2);background:var(--brand-teal);color:#fff;font:var(--weight-label) var(--font-size-1)/1.3 var(--font-body);cursor:pointer}.town-filter-apply:hover{background:#00796b}.town-filter-clear{justify-self:start;width:auto;min-height:0;padding:0;border:0;background:none;color:var(--brand-ink-soft);font:600 var(--font-size-0)/1.4 var(--font-body);text-decoration:underline;cursor:pointer}.town-hero-search{width:100%}.town-detail-toggle{display:none;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:2.85rem;padding:.65rem 1.1rem;border:0;border-radius:var(--radius-pill);background:var(--brand-teal);color:#fff;font:var(--weight-label) var(--font-size-1)/1.3 var(--font-body);box-shadow:var(--shadow-card);cursor:pointer}.town-detail-toggle:hover{background:#00796b}.town-detail-filter-body .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.directory-results{display:grid;gap:var(--size-5)}.town-section{min-width:0}.town-section__heading{margin:0 0 var(--size-3);font:var(--weight-heading) var(--font-size-2)/1.25 var(--font-display);color:var(--brand-deep)}.town-card-grid{display:grid;gap:1.25rem}.town-result-card{min-width:0;overflow:hidden;border:0;border-radius:var(--radius-4);background:transparent;transition:background-color .18s ease}.town-result-card:hover{background:#eaf3f1}.town-card-link{display:grid;grid-template-columns:minmax(0,175px) minmax(0,1fr);align-items:center;gap:1.25rem;min-height:0;padding:0;color:inherit;text-decoration:none}.town-card-link:hover,.town-card-link:focus-visible,.town-card-link h2,.town-card-link p,.town-card-link span{text-decoration:none}.town-card-image{position:relative;display:grid;width:100%;max-width:175px;max-height:263px;aspect-ratio:2/3;place-items:center;overflow:hidden;border-radius:1.25rem;background:#eaf3f1;color:#398c84;font:600 clamp(2.5rem,8vw,3.5rem)/1 var(--font-display)}.town-card-image picture{position:absolute;inset:0;display:block}.town-card-image picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.town-card-image picture~span{display:none}.town-card-copy{align-self:center;min-width:0;padding:.3rem .2rem}.town-card-copy h2{margin:0 0 .4rem;color:#1e2524;font-size:clamp(.98rem,1.2vw,1.2rem);line-height:1.3;font-weight:650}.town-card-meta{margin:0 0 .6rem;color:#657170;font-size:.95rem;line-height:1.35}.town-card-summary{margin:0 0 .7rem;color:#485250;font-size:.95rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.town-card-action{display:inline-flex;align-items:center;gap:.5rem;color:var(--brand-deep);font-size:1rem;font-weight:650}.town-card-action span{font-size:1.2em}.town-business-grid{display:grid;gap:1.25rem}.town-business-card{min-width:0;overflow:hidden;border:0;border-radius:var(--radius-4);background:transparent;transition:background-color .18s ease}.town-business-card:hover{background:#eaf3f1}.town-business-card__link{display:grid;grid-template-columns:minmax(0,175px) minmax(0,1fr);align-items:center;gap:1.25rem;min-height:0;padding:0;color:inherit;text-decoration:none}.town-business-card__link:hover,.town-business-card__link:focus-visible{text-decoration:none}.town-business-card__image{display:grid;width:100%;max-width:175px;max-height:263px;aspect-ratio:2/3;place-items:center;overflow:hidden;border-radius:1.25rem;background:#eaf3f1;color:#398c84}.town-business-card__image img{width:100%;height:100%;object-fit:cover}.town-business-card__placeholder{font:600 3rem/1 var(--font-display)}.town-business-card__copy{align-self:center;min-width:0;padding:.3rem .2rem}.town-business-card__copy h2{margin:0 0 .4rem;color:#1e2524;font-size:clamp(.98rem,1.2vw,1.2rem);line-height:1.3;font-weight:650}.town-business-card__location{margin:0 0 .6rem;color:#657170;font-size:.95rem;line-height:1.35}.town-business-card__descriptor{margin:0 0 .7rem;color:#485250;font-size:.95rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.town-business-card__explore{display:inline-flex;align-items:center;gap:.5rem;color:var(--brand-deep);font-size:1rem;font-weight:650}.town-business-card__explore span{font-size:1.2em;transition:transform .18s ease}.town-business-card:hover .town-business-card__explore span{transform:translate(.2rem)}.town-empty{padding:1.8rem 1.1rem;text-align:center;background:#fff;border:1px solid var(--brand-line);border-radius:var(--radius-3);color:var(--brand-ink-soft)}.town-overview{max-width:70ch;white-space:pre-line;margin:0;color:var(--brand-ink-soft);line-height:1.6}.town-glance{display:grid;gap:var(--size-4);margin:0 0 var(--size-5)}.town-glance>h2{margin:0;color:var(--brand-deep);font:var(--weight-heading) var(--font-size-3)/1.2 var(--font-display)}.town-glance-intro{max-width:72ch;margin:0;color:var(--brand-ink-soft);line-height:1.6}.town-glance-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--size-3)}.town-glance-card,.town-glance-highlights,.town-glance-details article{min-width:0;padding:var(--size-4);border:1px solid var(--brand-line);border-radius:var(--radius-3);background:#fff;box-shadow:var(--shadow-card)}.town-glance-label{margin:0 0 var(--size-3);padding-bottom:var(--size-3);border-bottom:1px solid var(--brand-line);color:var(--brand-ink-soft);font-size:var(--font-size-0);font-weight:var(--weight-label);letter-spacing:.06em;text-transform:uppercase}.town-glance-value{margin:0 0 var(--size-2);color:var(--brand-deep);font-size:var(--font-size-2);font-weight:var(--weight-label)}.town-glance-detail,.town-glance-details p{margin:0;color:var(--brand-ink-soft);line-height:1.6}.town-glance-highlights h3,.town-glance-details h3{margin:0 0 var(--size-3);color:var(--brand-deep);font-size:var(--font-size-2);font-weight:var(--weight-label)}.town-glance-highlights>div{display:flex;flex-wrap:wrap;gap:var(--size-2)}.town-glance-highlights span{padding:.35rem .7rem;border:1px solid var(--brand-line);border-radius:var(--radius-pill);background:var(--brand-sand);color:var(--brand-ink);font-size:var(--font-size-0)}.town-glance-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--size-3)}.town-glance-disclaimer{margin:0;color:var(--brand-ink-soft);font-size:var(--font-size-0);line-height:1.6}.town-category-list{display:grid;gap:.35rem;list-style:none;padding:0;margin:0}.town-category-list a,.town-back{color:var(--brand-teal)}.directory-rail{display:grid;gap:var(--size-4)}.town-gallery,.town-category-cards,.town-rollup,.town-featured-businesses,.town-practical{min-width:0}.town-gallery h2,.town-category-cards h2,.town-rollup h2,.town-featured-businesses h2,.town-practical h2{margin:0 0 var(--size-3);color:var(--brand-deep);font:var(--weight-heading) var(--font-size-2)/1.25 var(--font-display)}.town-gallery>div,.town-category-cards>div,.town-rollup>div,.town-featured-businesses>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--size-3)}.town-gallery figure{position:relative;height:100%;min-height:12rem;margin:0;overflow:hidden;border-radius:var(--radius-3);background:var(--brand-line)}.town-gallery picture,.town-gallery img{display:block;width:100%;height:100%;min-height:12rem;object-fit:cover}.town-gallery figcaption{position:absolute;inset:auto 0 0;padding:.7rem .85rem;background:linear-gradient(transparent,#0a232acc);color:#fff;font-weight:650}.town-gallery a,.town-category-card,.town-rollup-card,.town-featured-businesses a{color:inherit;text-decoration:none}.town-category-card,.town-rollup-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--brand-line);border-radius:var(--radius-3);background:#fff;box-shadow:var(--shadow-card);transition:transform .18s ease,box-shadow .18s ease}.town-category-card:hover,.town-rollup-card:hover,.town-featured-businesses a:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover,0 8px 24px rgba(13,42,48,.12))}.town-category-card__image,.town-rollup-card picture,.town-featured-businesses picture{display:block;aspect-ratio:16/10;overflow:hidden;background:#eaf3f1}.town-category-card__image picture,.town-category-card__image img,.town-rollup-card picture,.town-rollup-card img,.town-featured-businesses picture,.town-featured-businesses img{width:100%;height:100%;object-fit:cover}.town-category-card>div:last-child,.town-rollup-card{padding:var(--size-3)}.town-category-card h3,.town-rollup-card h3,.town-featured-businesses span{margin:0 0 .35rem;color:var(--brand-deep);font:var(--weight-label) var(--font-size-1)/1.3 var(--font-body)}.town-category-card p,.town-rollup-card p,.town-rollup-card time{margin:0;color:var(--brand-ink-soft);font-size:var(--font-size-0);line-height:1.5}.town-rollup-card{padding:var(--size-4)}.town-rollup-card picture{margin:calc(-1 * var(--size-4)) calc(-1 * var(--size-4)) var(--size-3);width:calc(100% + 2 * var(--size-4))}.town-rollup-card time{display:block;margin-bottom:.55rem;color:var(--brand-teal);font-weight:650}.town-featured-businesses a{display:grid;gap:.45rem;align-content:start;min-width:0;color:inherit;text-decoration:none}.town-featured-businesses small{color:var(--brand-ink-soft)}.town-practical>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--size-3)}.town-practical article{padding:var(--size-4);border:1px solid var(--brand-line);border-radius:var(--radius-3);background:#fff}.town-practical h3{margin:0 0 .5rem;color:var(--brand-deep);font-size:var(--font-size-1)}.town-practical strong{display:block;margin-bottom:.35rem;color:var(--brand-deep)}.town-practical p{margin:0;color:var(--brand-ink-soft);line-height:1.6}.town-guide-intro{display:grid;gap:var(--size-3)}.town-guide-intro h2{margin:0;color:var(--brand-deep);font:var(--weight-heading) var(--font-size-3)/1.2 var(--font-display)}.town-guide-intro>p{max-width:72ch;margin:0;color:var(--brand-ink-soft);line-height:1.65}.town-guide-highlights h3{margin:0 0 var(--size-2);color:var(--brand-deep);font-size:var(--font-size-1)}.town-guide-highlights>div{display:flex;flex-wrap:wrap;gap:var(--size-2)}.town-guide-highlights span{padding:.35rem .7rem;border:1px solid var(--brand-line);border-radius:var(--radius-pill);background:var(--brand-sand);color:var(--brand-ink);font-size:var(--font-size-0)}.town-family:has(feature-flag[data-town-page-recomposition]:not([hidden])) .directory-filters{display:none}.town-family:has(feature-flag[data-town-page-recomposition]:not([hidden])) .directory-layout{grid-template-columns:minmax(0,1fr) 16rem}.town-family:has(feature-flag[data-town-page-recomposition]:not([hidden])) .directory-rail{grid-column:auto}feature-flag{display:contents}feature-flag[hidden]{display:none!important}feature-flag[data-flag=town_page_recomposition][data-inverse]{display:contents}feature-flag[data-flag=town_page_recomposition][data-inverse][hidden]{display:none!important}@media(max-width:900px){.town-gallery>div,.town-category-cards>div,.town-rollup>div,.town-featured-businesses>div{grid-template-columns:repeat(2,minmax(0,1fr))}.town-family:has(feature-flag[data-town-page-recomposition]:not([hidden])) .directory-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.town-gallery>div,.town-category-cards>div,.town-rollup>div,.town-featured-businesses>div,.town-practical>div{grid-template-columns:1fr}.town-gallery figure,.town-gallery picture,.town-gallery img{min-height:15rem}}@media(max-width:760px){.town-card-link,.town-business-card__link{grid-template-columns:minmax(0,155px) minmax(0,1fr)}.town-card-image,.town-business-card__image{max-width:155px;max-height:233px}}@media(max-width:480px){.town-card-grid,.town-business-grid{gap:.8rem}.town-card-link,.town-business-card__link{grid-template-columns:minmax(0,130px) minmax(0,1fr);gap:.85rem;padding:0}.town-card-image,.town-business-card__image{max-width:130px;max-height:195px;border-radius:1rem}.town-card-copy h2,.town-business-card__copy h2{font-size:1rem}.town-card-meta,.town-card-summary,.town-business-card__location,.town-business-card__descriptor{font-size:.88rem}.town-card-action,.town-business-card__explore{font-size:.92rem}}[data-town-filter-panel][hidden],[data-town-detail-nav][hidden],[data-town-hub-strip][hidden]{display:none}@media(max-width:1023px){.town-detail-toggle{display:flex}.town-detail-filter-body:not(.is-open){display:none}}@media(max-width:640px){.town-glance-facts,.town-glance-details{grid-template-columns:1fr}}@media(min-width:761px){.directory-layout{grid-template-columns:15rem minmax(0,1fr)}.directory-rail{grid-column:2}}@media(min-width:1024px){.directory-layout{grid-template-columns:15rem minmax(0,1fr) 16rem}.directory-rail{grid-column:auto}}.town-family:has(feature-flag[data-town-page-recomposition]:not([hidden])) .directory-layout.town-detail-layout{grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:var(--size-8)}.town-family:has(feature-flag[data-town-page-recomposition]:not([hidden])) [data-town-detail-strip]{display:none}.town-nearby{display:grid;gap:var(--size-3);padding:var(--size-4);border:1px solid var(--brand-line);border-radius:var(--radius-3);background:#fff;box-shadow:var(--shadow-card)}.town-nearby h2{margin:0;color:var(--brand-deep);font:var(--weight-heading) var(--font-size-2)/1.2 var(--font-display)}.town-nearby>div{display:grid;gap:var(--size-2)}.town-nearby>div>a{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--size-3);align-items:center;padding:.35rem;border-radius:var(--radius-2);color:var(--brand-ink);text-decoration:none;transition:background-color .18s ease}.town-nearby>div>a:hover,.town-nearby>div>a:focus-visible{background:#eaf3f1;text-decoration:none}.town-nearby__image{display:block;width:5rem;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-2);background:#eaf3f1}.town-nearby__image picture,.town-nearby__image img{display:block;width:100%;height:100%;object-fit:cover}.town-nearby__name{font-weight:650;line-height:1.35}.town-nearby__all{color:var(--brand-teal);font-size:var(--font-size-0);font-weight:var(--weight-label)}@media(max-width:900px){.town-family:has(feature-flag[data-town-page-recomposition]:not([hidden])) .directory-layout.town-detail-layout{grid-template-columns:minmax(0,1fr);gap:var(--size-5)}.town-nearby>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.town-nearby>div{grid-template-columns:1fr}}
