.business-directory{--business-ink:#281c35;color:var(--business-ink)}.business-directory-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:center;padding:clamp(1.5rem,5vw,4rem) 0}.business-directory-hero h1{font-family:var(--font-display),sans-serif;font-size:clamp(3rem,6.5vw,6rem);line-height:.97;letter-spacing:-.065em;margin:.8rem 0 1.4rem;max-width:850px}.business-directory-hero h1 em{font-style:normal;color:#653ca7}.business-directory-hero p:not(.directory-eyebrow){max-width:580px;line-height:1.8}.local-shop-art{position:relative;background:#e6dcff;border-radius:44% 48% 35% 37%;aspect-ratio:1;display:grid;place-items:center;padding:2rem}.local-shop-art svg{width:100%;overflow:visible}.local-shop-note{position:absolute;bottom:1.2rem;right:-1rem;transform:rotate(-5deg);padding:.8rem 1.1rem;border:1px solid #281c35;background:#dcfa87;border-radius:.4rem;font-weight:700;font-size:.9rem;box-shadow:3px 4px 0 #281c35}.business-find{background:white;border:1px solid #9e90ac;border-radius:1.2rem;padding:1.5rem;box-shadow:0 5px 0 #281c35}.business-find-controls{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:.8rem;align-items:end}.business-find-controls .field{min-width:0}.business-find-controls button{min-height:3.1rem}.business-find-check{display:flex;gap:.6rem;align-items:center;font-size:.85rem;margin-top:1rem}.business-sector-browser{padding:1.6rem 0}.business-sector-browser summary{cursor:pointer;font-weight:700}.business-sector-browser nav{display:flex;flex-wrap:wrap;gap:.6rem;padding-top:1rem}.business-sector-browser a{padding:.55rem .9rem;border:1px solid #c8bcd6;border-radius:999px;text-decoration:none;font-size:.8rem;background:white}.business-sector-browser a[aria-current=page]{background:#e6dcff;border-color:#603b98}.business-directory-results{padding:1rem 0 3rem}.business-results-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.5rem 0}.business-results-heading h2{font-family:var(--font-display),sans-serif;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.04em;margin:0}.business-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.local-business-card{border:1px solid #c6b9d1;border-radius:1.3rem;overflow:hidden;background:white;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}.local-business-card:hover{border-color:#6c4d8f;box-shadow:0 8px 25px #281c3510}.business-card-cover{position:relative;display:block;height:210px;text-decoration:none;overflow:hidden}.business-card-cover>img{width:100%;height:100%;object-fit:cover}.business-card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#e7ddff,#fff2d9);display:flex;align-items:center;justify-content:center;flex-direction:column}.business-card-placeholder>span{font-family:var(--font-display),sans-serif;font-size:6rem;font-weight:800;line-height:1;transform:rotate(-7deg)}.business-card-placeholder small{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.business-sector-label{position:absolute;left:1rem;top:1rem;background:#fffaf3;border:1px solid #281c35;border-radius:999px;padding:.35rem .7rem;font-size:.65rem;font-weight:700}.business-card-body{padding:1.3rem;display:flex;flex-direction:column;flex:1}.business-card-identity{display:flex;align-items:center;gap:.75rem}.business-card-identity>img{border:1px solid #e1d8e9;border-radius:.7rem;object-fit:contain;background:white}.business-card-identity p{margin:0 0 .35rem;font-size:.75rem;color:#685a76}.business-card-identity h3{margin:0;font-family:var(--font-display),sans-serif;font-size:1.45rem;letter-spacing:-.03em}.business-card-identity h3 a{text-decoration:none}.business-card-tagline{font-size:.9rem;line-height:1.7}.business-card-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.2rem}.business-card-tags span{font-size:.68rem;border-radius:.4rem;background:#f4f0f8;padding:.35rem .5rem}.business-card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto;border-top:1px solid #e7deed;padding-top:1rem;font-size:.75rem}.business-card-footer a{font-weight:700;text-decoration:none}.business-verified{font-size:.73rem;background:#e6f5cd;color:#2d4816;border:1px solid #bdd78c;border-radius:999px;padding:.3rem .55rem;display:inline-block}.business-card-perk{font-size:.75rem;background:#f2edff;padding:.6rem .7rem;margin:.9rem 0 0;border-radius:.5rem}.business-invite{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:center;background:#281c35;color:#fffaf3;padding:clamp(1.5rem,4vw,3rem);border-radius:1.5rem;margin:1rem 0 3rem}.business-invite h2{color:inherit;font-family:var(--font-display),sans-serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.05em;margin:0 0 1rem}.business-invite p{color:#e1d5ec;line-height:1.8}.business-invite .button{background:#dcfa87;color:#281c35;border-color:#dcfa87}.business-invite-actions{display:flex;flex-direction:column;gap:.8rem;align-items:flex-start}.business-invite-actions>a:not(.button){color:#fffaf3}.business-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0 3rem}.business-feature{border:1px solid #d5c9df;border-radius:1rem;padding:1.6rem;background:#f2edff}.business-feature:nth-child(2){background:#eff6dc}.business-feature:nth-child(3){background:#fff0dc}.business-feature>span{font-family:var(--font-display),sans-serif;font-size:2rem}.business-feature h2{font-family:var(--font-display),sans-serif;letter-spacing:-.03em;font-size:1.5rem}.business-feature p{font-size:.9rem;line-height:1.8}.business-profile-hero{border:1px solid #d4c7df;border-radius:1.5rem;overflow:hidden;background:white;margin-top:1.5rem}.business-profile-cover{height:clamp(190px,30vw,380px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 15% 90%,#dffa90 0,transparent 40%),linear-gradient(115deg,#e7ddff,#f1e5d6)}.business-profile-cover>img{width:100%;height:100%;object-fit:cover}.business-profile-cover>span{position:absolute;bottom:1.5rem;left:2rem;max-width:80%;font-family:var(--font-display),sans-serif;font-size:clamp(2rem,5vw,5rem);letter-spacing:-.055em;font-weight:800;line-height:1}.business-profile-identity{position:relative;padding:2rem;display:flex;gap:1.3rem;align-items:flex-start}.business-profile-logo{height:92px;width:92px;flex-shrink:0;border:1px solid #bfaed0;border-radius:1.1rem;background:#fffaf3;object-fit:contain;display:grid;place-items:center;font-family:var(--font-display),sans-serif;font-size:3rem;font-weight:700}.business-profile-identity h1{font-family:var(--font-display),sans-serif;font-size:clamp(2rem,4.5vw,4rem);line-height:1.05;letter-spacing:-.055em;margin:.5rem 0 .8rem}.business-profile-identity p{line-height:1.8}.business-profile-identity .business-profile-location{font-size:.85rem;color:#6c5d78}.business-profile-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.business-profile-actions .button-secondary{background:white}.business-profile-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1.4rem;align-items:start;margin:1.5rem 0 3rem}.business-profile-aside,.business-profile-main{display:grid;gap:1.3rem;min-width:0}.business-profile-section{border:1px solid #d8cde0;background:white;border-radius:1.2rem;padding:clamp(1.2rem,3vw,2rem);overflow-wrap:anywhere}.business-profile-section h2{font-family:var(--font-display),sans-serif;font-size:1.7rem;letter-spacing:-.04em;margin:0 0 1rem}.business-profile-section p{white-space:pre-line;line-height:1.85;font-size:.95rem}.business-service{padding:1.2rem 0;border-top:1px solid #e6ddec}.business-service h3{font-size:1rem;margin:0}.business-service p{margin:.5rem 0}.business-service small{color:#64457f}.business-hours{width:100%;border-collapse:collapse;font-size:.84rem}.business-hours td,.business-hours th{padding:.55rem 0;text-align:left;border-bottom:1px solid #eee6f3}.business-hours td{text-align:right}.business-opening{display:inline-block;background:#eff6dc;padding:.4rem .7rem;border-radius:999px;font-size:.73rem;margin-bottom:1rem}.business-contact-links{display:grid;gap:.8rem}.business-contact-links a{overflow-wrap:anywhere}.business-contact-note{font-size:.75rem!important;color:#6d5f77}.business-local-tip{background:#f0eaff}.business-neighbour-offer{background:#eaf6cf;position:relative}.business-neighbour-offer .directory-eyebrow{margin-bottom:.7rem}.business-profile-faq details{border-top:1px solid #e1d8e9;padding:1rem 0}.business-profile-faq summary{cursor:pointer;font-weight:700}.business-profile-gallery .gallery-stage{max-height:520px}.business-profile-disclosure{font-size:.78rem;line-height:1.8;border-top:1px solid #d9cfe1;padding-top:1rem}.business-directory a:focus-visible,.business-directory summary:focus-visible{outline:3px solid #5a3cde;outline-offset:4px}@media (prefers-reduced-motion:reduce){.local-business-card{transition:none}}@media(max-width:1000px){.business-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-find-controls{grid-template-columns:1fr 1fr}.business-directory-hero{grid-template-columns:1.5fr .7fr}.local-shop-note{right:0;font-size:.7rem}.business-profile-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}@media(max-width:650px){.business-directory-hero{grid-template-columns:1fr;gap:1rem}.local-shop-art{width:min(80%,300px);justify-self:center}.business-card-grid,.business-features,.business-find-controls,.business-invite,.business-profile-layout{grid-template-columns:1fr}.business-find{padding:1rem}.business-results-heading{flex-direction:column;gap:.4rem}.business-profile-identity{padding:1.2rem;gap:.8rem;flex-wrap:wrap}.business-profile-logo{width:70px;height:70px}.business-profile-identity>div:last-child{min-width:0;width:100%}.business-profile-actions>a{flex:1}.business-card-cover{height:230px}}.local-shop-art{margin:0;padding:0;border-radius:1.2rem 1.2rem 4rem 1.2rem;aspect-ratio:4/5;background:#e7ddff;border:1px solid #b8a5c5;transform:rotate(2deg);box-shadow:10px 12px 0 #e6dcff}.local-shop-art>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.local-shop-art figcaption{position:absolute;left:.8rem;bottom:.8rem;padding:.2rem .4rem;background:#281c35c7;color:white;border-radius:.25rem;font-size:.55rem;letter-spacing:.03em}.local-shop-note{bottom:2.5rem;right:-.7rem;transform:rotate(-7deg);padding:1rem;line-height:1.5}@media(max-width:650px){.local-shop-art{width:min(85%,330px);margin:1rem 0 2rem}.local-shop-note{right:-.5rem}}