.business-directory{--directory-purple:#67328a;--directory-ink:#321a42;--directory-line:#e8deed;color:var(--directory-ink)}
.directory-intro{padding:72px 6vw 64px;background:linear-gradient(115deg,#faf6fc,#fff7ef);border-bottom:1px solid var(--directory-line)}
.directory-intro h1{font-size:clamp(44px,5.8vw,78px);line-height:1.07;letter-spacing:-.05em;margin:18px 0 24px;max-width:900px}.directory-intro h1 span{color:var(--directory-purple)}.directory-intro>p:not(.eyebrow){font-size:18px;line-height:1.8;max-width:710px;color:#6b5a73;margin-bottom:28px}
.directory-browser{max-width:1440px;margin:auto;padding:48px 6vw 60px}.directory-browser>h2{font-size:30px;letter-spacing:-.03em;margin:0 0 24px}.directory-categories{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.directory-categories button{border:1px solid #ded0e6;border-radius:24px;background:white;padding:11px 16px;font:inherit;font-size:13px;cursor:pointer;color:#583b68;min-height:44px}.directory-categories button span{opacity:.7;margin-left:8px}.directory-categories button[aria-pressed=true]{background:#67328a;color:white;border-color:#67328a}.directory-categories button:hover{border-color:#67328a}
.directory-filters{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:end;gap:18px;padding:24px;background:#f8f4fa;border-radius:12px}.directory-filters label{display:grid;gap:8px;font-size:13px;font-weight:700}.directory-filters input,.directory-filters select{width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #d7c7e0;border-radius:6px;background:white;color:#321a42;font:inherit;font-size:15px}.directory-filters button{min-height:48px;font-size:13px;cursor:pointer}.directory-browser>#directory-count{font-size:14px;color:#6b5a73;margin:25px 0}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.directory-card{min-width:0;border:1px solid var(--directory-line);border-radius:12px;overflow:hidden;background:white;display:flex;flex-direction:column}.directory-card[hidden]{display:none}.directory-logo{height:150px;display:flex;align-items:center;justify-content:center;padding:30px;background:#f7f4f9;border-bottom:1px solid var(--directory-line)}.directory-logo-dark{background:#382344}.directory-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:90px;min-height:0;object-fit:contain;filter:none!important}.directory-card-body{padding:26px;display:flex;flex-direction:column;flex:1;align-items:flex-start}.directory-card-body h2{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:8px 0 12px}.directory-card-body .eyebrow{font-size:10px;margin:0}.directory-card-body p:not(.eyebrow){font-size:14px;line-height:1.75;color:#6b5a73}.directory-card-body .directory-location{font-weight:700;color:#67328a;margin-top:0}.directory-card-body .link-btn{margin-top:auto;padding-top:18px;font-size:14px}.directory-card-body .directory-disclosure{font-size:12px;background:#faf0e5;padding:4px 10px;border-radius:4px}.directory-invitation{margin:0 6vw 36px;padding:44px;background:#f4edf8;border-radius:12px;display:grid;grid-template-columns:1.3fr 1fr;gap:60px}.directory-invitation h2{font-size:34px;line-height:1.2;margin:12px 0}.directory-invitation h3{font-size:24px;margin:16px 0}.directory-invitation p{line-height:1.8;color:#6b5a73}.directory-invitation .link-btn{display:inline-block;margin:6px 0}.directory-note{max-width:1100px;padding:0 6vw 48px;font-size:13px;line-height:1.8;color:#77667e}.business-directory .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#directory-empty{padding:48px 24px;border:1px dashed #d7c7e0;border-radius:12px;text-align:center}#directory-empty[hidden]{display:none}
@media(max-width:1000px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-invitation{gap:30px}}
@media(max-width:650px){.directory-intro{padding:44px 6vw}.directory-intro>p:not(.eyebrow){font-size:16px}.directory-browser{padding-top:32px}.directory-categories{flex-wrap:nowrap;overflow:auto;padding-bottom:12px}.directory-categories button{flex-shrink:0}.directory-filters{grid-template-columns:1fr;padding:20px}.directory-grid{grid-template-columns:1fr}.directory-card-body{padding:24px}.directory-invitation{grid-template-columns:1fr;padding:28px;gap:20px}.directory-invitation h2{font-size:29px}}
