.directory-hero{position:relative;overflow:hidden;background:var(--color-dark);color:var(--color-text-on-dark)}.directory-hero:after{content:"";position:absolute;top:-10rem;right:-8rem;width:30rem;height:30rem;border:1px solid rgba(213,233,79,.18);border-radius:50%;pointer-events:none}.directory-hero__shell{position:relative;z-index:1;width:min(72rem,calc(100% - 3rem));margin-inline:auto;padding-block:2rem 2.75rem}.directory-hero__crumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;color:#f5f1e899;font-size:.82rem}.directory-hero__crumbs a{color:#f5f1e8cc}.directory-hero__crumbs a:hover{color:var(--color-acid)}.directory-hero h1{color:var(--color-text-on-dark);font-size:clamp(2.4rem,5vw,3.9rem);font-weight:500;letter-spacing:-.04em;line-height:1}.directory-hero h1 span{color:var(--color-acid);font-style:italic}.directory-hero__lede{max-width:44rem;margin-top:.9rem;color:#f5f1e8d1;font-size:1.02rem;line-height:1.6}.directory-hero__towns{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin-top:1.1rem;font-size:.88rem}.directory-hero__towns span{color:#f5f1e88c}.directory-hero__towns a{color:var(--color-text-on-dark);text-decoration:underline;text-decoration-color:#d5e94f80;text-underline-offset:3px}.directory-hero__towns a:hover{color:var(--color-acid)}.near-me{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;max-width:44rem;margin-top:1.6rem}.near-me__form{position:relative;display:flex;flex:1 1 22rem;min-width:0;max-width:100%;align-items:center;border-radius:999px;background:#fff;box-shadow:0 10px 30px -12px #00000080}.near-me__pin{position:absolute;left:1.1rem;color:var(--color-secondary);pointer-events:none}.near-me__form input{flex:1;min-width:0;padding:1rem .5rem 1rem 3rem;border:0;border-radius:999px;background:transparent;color:var(--color-text);font-size:1rem}.near-me__form input:focus{outline:none}.near-me__form:focus-within{box-shadow:0 0 0 3px var(--color-acid),0 10px 30px -12px #00000080}.near-me__form button{margin:.35rem;padding:.7rem 1.4rem;border-radius:999px;background:var(--color-primary);color:var(--color-bg);font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s ease}.near-me__form button:hover{background:var(--color-primary-light)}.near-me__locate{display:inline-flex;align-items:center;gap:.45rem;color:var(--color-acid);font-size:.92rem;font-weight:600;cursor:pointer}.near-me__locate:hover{text-decoration:underline;text-underline-offset:3px}.near-me__status{flex-basis:100%;min-height:0;color:#f5f1e8cc;font-size:.88rem}.near-me__status:empty{display:none}.near-me__status.is-error{color:#ffd6c9}.near-me-results{max-width:44rem;margin-top:1.4rem;overflow:hidden;border-radius:14px;background:#fff;color:var(--color-text);scroll-margin-top:8rem}.near-me-results__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.near-me-results__head h2{color:var(--color-primary);font-size:1.2rem;font-weight:500}.near-me-results__head button{color:var(--color-text-muted);font-size:.85rem;cursor:pointer}.near-me-results__list{margin:0;padding:0;list-style:none}.near-me-results__list li{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--color-border)}.near-me-results__list li:last-child{border-bottom:0}.near-me-results__list li>a:first-child{display:grid;flex:1;grid-template-columns:1fr auto;gap:.1rem 1rem;padding:.8rem 1.25rem;color:inherit}.near-me-results__list li>a:first-child:hover{background:var(--color-surface)}.near-me-results__list strong{color:var(--color-primary);font-weight:600}.near-me-results__list span{grid-column:1;color:var(--color-text-muted);font-size:.85rem}.near-me-results__list em{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--color-secondary);font-size:.85rem;font-style:normal;font-weight:700;white-space:nowrap}.near-me-results__tel{margin-right:1.25rem;padding:.45rem .8rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-primary);font-size:.8rem;white-space:nowrap}.near-me-results__tel:hover{border-color:var(--color-primary)}.directory-overview{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:1.5rem;margin-bottom:3rem}.directory-overview__map #listings-map{height:26rem;overflow:hidden;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.directory-overview__areas{padding:1.25rem 1.25rem 1rem;border:1px solid var(--color-border);border-radius:14px;background:#fff}.directory-overview__areas h2{margin-bottom:.6rem;color:var(--color-primary);font-size:1.2rem;font-weight:500}.directory-overview__areas ul{margin:0;padding:0;list-style:none}.directory-overview__areas li a{display:flex;justify-content:space-between;gap:1rem;padding:.42rem 0;border-bottom:1px solid color-mix(in srgb,var(--color-border) 60%,transparent);color:var(--color-text);font-size:.92rem}.directory-overview__areas li a:hover{color:var(--color-accent)}.directory-overview__areas small{color:var(--color-text-muted);font-size:.8rem}.directory-overview__all{display:inline-block;margin-top:.8rem;color:var(--color-accent);font-size:.88rem;font-weight:600}.directory-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.directory-list-head h2{color:var(--color-primary);font-size:1.45rem;font-weight:500}.directory-list-head a{color:var(--color-accent);font-size:.9rem;white-space:nowrap}.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17.5rem,1fr));gap:.75rem}.directory-card{display:flex;height:100%;gap:.95rem;padding:.9rem;border:1px solid var(--color-border);border-radius:12px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.group:hover .directory-card{border-color:var(--color-secondary);box-shadow:0 10px 24px -18px #0f302199;transform:translateY(-1px)}.directory-card.is-featured{border-color:var(--color-accent);box-shadow:inset 3px 0 0 var(--color-acid)}.directory-card__media{display:grid;flex-shrink:0;width:3.5rem;height:3.5rem;overflow:hidden;place-items:center;border-radius:10px;background:var(--color-surface-green)}.directory-card__media img{width:100%;height:100%;object-fit:cover}.directory-card__media span{color:var(--color-primary);font-family:var(--font-display);font-size:1.15rem;letter-spacing:.02em}.directory-card__copy{display:flex;flex:1;min-width:0;flex-direction:column}.directory-card__badge{align-self:flex-start;margin-bottom:.25rem;padding:.1rem .45rem;border-radius:999px;background:var(--color-acid);color:var(--color-primary);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.directory-card h3{color:var(--color-primary);font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:0;line-height:1.3}.group:hover .directory-card h3{color:var(--color-accent)}.directory-card__place{display:flex;align-items:center;gap:.3rem;margin-top:.15rem;color:var(--color-text-muted);font-size:.85rem;line-height:1.35}.directory-card__place svg{flex-shrink:0}.directory-card__desc{display:-webkit-box;margin-top:.35rem;overflow:hidden;color:var(--color-text);font-size:.85rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.directory-card__foot{display:flex;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:.5rem;color:var(--color-text-muted);font-size:.8rem}.directory-card__go{color:var(--color-primary);font-weight:700}@media(max-width:900px){.directory-overview{grid-template-columns:1fr}.directory-overview__map #listings-map{height:18rem}.directory-overview__areas ul{columns:2;column-gap:1.25rem}}@media(max-width:640px){.directory-hero__shell{width:calc(100% - 2rem);padding-block:1.25rem 2rem}.directory-hero__crumbs{margin-bottom:1rem}.directory-hero h1{font-size:2.25rem}.near-me__form{flex-basis:100%}.near-me__form input{padding-block:.9rem;font-size:16px}.near-me__form button{padding:.65rem 1rem}.near-me-results__tel{display:none}}.listing-hero .directory-hero__shell{padding-bottom:2.25rem}.listing-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2.5rem;align-items:end}.listing-hero h1{font-size:clamp(2.2rem,4.4vw,3.4rem)}.listing-hero__meta{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:center;margin-bottom:.85rem;font-size:.85rem}.listing-hero__meta>*{padding:.25rem .7rem;border:1px solid rgba(245,241,232,.25);border-radius:999px;color:#f5f1e8e0}.listing-hero__meta>a:first-child{border-color:transparent;background:var(--color-acid);color:var(--color-primary);font-weight:700}.listing-hero__status{color:#ffd6c9!important}.listing-hero__status.is-open{border-color:#d5e94f99!important;color:var(--color-acid)!important}.listing-hero__photo{width:16rem;height:11rem;overflow:hidden;border-radius:14px;box-shadow:0 18px 40px -20px #0009}.listing-hero__photo img{width:100%;height:100%;object-fit:cover}.listing-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}.listing-actions a{display:inline-flex;align-items:center;gap:.5rem;min-height:2.9rem;padding:.65rem 1.15rem;border:1px solid rgba(245,241,232,.35);border-radius:999px;color:var(--color-text-on-dark);font-size:.95rem;font-weight:600;transition:background .2s ease,border-color .2s ease}.listing-actions a:hover{border-color:var(--color-acid);background:#ffffff0f}.listing-actions a.listing-actions__primary{border-color:var(--color-acid);background:var(--color-acid);color:var(--color-primary)}.listing-actions a.listing-actions__primary:hover{background:#e3f17a}.listing-body{display:grid;grid-template-columns:minmax(0,1fr) 21rem;gap:1.5rem;width:min(72rem,calc(100% - 3rem));margin-inline:auto;padding-block:2.5rem 3.5rem}.listing-body__main{display:grid;gap:1.5rem;align-content:start}.listing-side__sticky{position:sticky;top:8.5rem;display:grid;gap:1rem}.listing-panel{padding:1.4rem 1.5rem;border:1px solid var(--color-border);border-radius:14px;background:#fff}.listing-panel h2{margin-bottom:.6rem;color:var(--color-primary);font-size:1.35rem;font-weight:500}.listing-panel h3{margin:1.25rem 0 .5rem;color:var(--color-primary);font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.listing-panel__lead{font-size:1.02rem;line-height:1.7}.listing-services{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.listing-services li{padding:.3rem .75rem;border-radius:999px;background:var(--color-surface-green);color:var(--color-primary);font-size:.86rem}.listing-panel--map{display:grid;grid-template-columns:minmax(12rem,.8fr) minmax(0,1.2fr);gap:1.25rem;align-items:stretch}.listing-panel__address address{display:grid;gap:.15rem;font-style:normal;line-height:1.5}.listing-link{display:inline-block;margin-top:.9rem;color:var(--color-accent);font-size:.9rem;font-weight:600}.listing-map{width:100%;min-height:14rem;border:0;border-radius:10px;background:var(--color-surface)}.listing-hours{width:100%;max-width:26rem;font-size:.95rem;border-collapse:collapse}.listing-hours th{padding:.45rem 1rem .45rem 0;color:var(--color-text-muted);font-weight:400;text-align:left;text-transform:capitalize}.listing-hours td{padding:.45rem 0;text-align:right}.listing-hours td span{color:var(--color-text-muted)}.listing-hours tr{border-bottom:1px solid color-mix(in srgb,var(--color-border) 60%,transparent)}.listing-hours tr:last-child{border-bottom:0}.listing-hours tr.is-today th,.listing-hours tr.is-today td{color:var(--color-primary);font-weight:700}.listing-note{margin-top:.75rem;color:var(--color-text-muted);font-size:.85rem;line-height:1.5}.listing-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.listing-gallery div{aspect-ratio:4 / 3;overflow:hidden;border-radius:10px;background:var(--color-surface)}.listing-gallery img{width:100%;height:100%;object-fit:cover}.listing-contact ul{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.listing-contact li{display:grid;gap:.05rem}.listing-contact li span{color:var(--color-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.listing-contact li a{overflow-wrap:anywhere;color:var(--color-primary);font-weight:600}.listing-contact li a:hover{color:var(--color-accent)}.listing-contact__enquiry{display:block;margin-top:1rem;padding:.7rem 1rem;border:1px solid var(--color-primary);border-radius:999px;color:var(--color-primary);font-size:.92rem;font-weight:700;text-align:center}.listing-contact__enquiry:hover{background:var(--color-primary);color:var(--color-bg)}.listing-accreditations{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}.listing-accreditations li{display:flex;gap:.6rem;align-items:center;font-size:.92rem}.listing-accreditations img{height:2rem;width:auto}.listing-claim{padding:1.1rem 1.25rem;border:1px dashed var(--color-border);border-radius:14px;font-size:.88rem;line-height:1.5}.listing-claim strong{color:var(--color-primary)}.listing-claim a{display:inline-block;margin-top:.6rem;color:var(--color-accent);font-weight:700}.listing-cats{display:flex;flex-wrap:wrap;gap:.4rem}.listing-cats a{padding:.25rem .7rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-primary);font-size:.8rem}.listing-nearby{border-top:1px solid var(--color-border);background:var(--color-surface)}.listing-nearby__shell{width:min(72rem,calc(100% - 3rem));margin-inline:auto;padding-block:2.75rem 3.5rem}.listing-nearby__links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.25rem;font-size:.92rem}.listing-nearby__links a{color:var(--color-accent);font-weight:600}.listing-mobile-bar{display:none}@media(max-width:900px){.listing-hero__grid{grid-template-columns:1fr}.listing-hero__photo{width:100%;height:12rem}.listing-body{grid-template-columns:1fr}.listing-side__sticky{position:static}.listing-panel--map{grid-template-columns:1fr}}@media(max-width:640px){.listing-body,.listing-nearby__shell{width:calc(100% - 2rem);padding-top:1.5rem}.listing-hero h1{font-size:2.1rem}.listing-actions a{flex:1 1 auto;justify-content:center}.listing-mobile-bar{position:sticky;bottom:0;z-index:30;display:flex;gap:.5rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:#fffdf8f5;backdrop-filter:blur(8px)}.listing-mobile-bar a{flex:1;padding:.75rem;border:1px solid var(--color-primary);border-radius:999px;color:var(--color-primary);font-weight:700;text-align:center}.listing-mobile-bar a.is-primary{background:var(--color-primary);color:var(--color-bg)}}.amenity-icons{display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none}.amenity-icons li{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-primary)}.amenity-icons svg{flex-shrink:0;fill:currentColor}.amenity-icons--icons{margin-top:.45rem}.amenity-icons--icons li{justify-content:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--color-surface-green)}.amenity-icons--labels{gap:.45rem}.amenity-icons--labels li{padding:.4rem .8rem .4rem .65rem;border-radius:999px;background:var(--color-surface-green);font-size:.88rem;font-weight:600}.amenity-icons--labels svg{width:18px;height:18px}.listing-amenities{margin-top:1.5rem}.listing-amenities h3{margin-bottom:.65rem}.listing-amenities__note{margin-top:.7rem;color:var(--color-text-muted);font-size:.84rem;line-height:1.5}.listing-amenities__note a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.near-me__filters{display:flex;flex-basis:100%;flex-wrap:wrap;align-items:center;gap:.4rem}.near-me__filters-label{flex-shrink:0;margin-right:.2rem;white-space:nowrap;color:#f5f1e8db;font-size:.85rem;font-weight:600}.near-me__chip{display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding:.35rem .8rem .35rem .65rem;border:1px solid rgba(245,241,232,.32);border-radius:999px;color:var(--color-text-on-dark);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.near-me__chip svg{fill:currentColor}.near-me__chip:hover{border-color:var(--color-acid)}.near-me__chip[aria-pressed=true]{border-color:var(--color-acid);background:var(--color-acid);color:var(--color-primary)}.near-me-results__list .near-me-results__amenities{display:flex;gap:.25rem;margin-top:.25rem}.near-me-results__amenities i{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--color-surface-green);color:var(--color-primary)}.near-me-results__amenities svg{fill:currentColor}.directory-amenity-note{margin:-.5rem 0 1rem;color:var(--color-primary);font-size:.92rem;font-weight:600}.directory-grid>[hidden]{display:none!important}@media(max-width:640px){.near-me__filters{flex-wrap:nowrap;overflow-x:auto;margin-inline:-1rem;padding:.1rem 1rem;scrollbar-width:none}.near-me__chip{flex:0 0 auto}}.directory-grid[data-collapsed]>:nth-child(n+25){display:none}.directory-more{display:grid;justify-items:center;gap:.5rem;margin-top:1.75rem;text-align:center}.directory-more[hidden]{display:none}.directory-more button{border-radius:999px;background:var(--color-primary);padding:.8rem 1.5rem;color:#fff;font-size:.92rem;font-weight:700;cursor:pointer}.directory-more button:hover{background:var(--color-dark, #0f3021)}.directory-more p{color:var(--color-text-muted);font-size:.85rem}
