:root{--blue:#5bc7d6;--ink:#151718;--muted:#62686c;--line:#dde2e4}*{box-sizing:border-box}body{margin:0;background:#f7f9fa;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input,a{-webkit-tap-highlight-color:transparent}header{background:var(--ink);color:white;padding:24px max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{color:white;text-decoration:none;font-size:36px;letter-spacing:-2px;font-weight:900;line-height:1}.brand span{display:block;font-size:12px;letter-spacing:2px;color:var(--blue);margin-top:10px}.header-note{font-size:14px;color:#c9d0d2}main{max-width:1160px;margin:auto;padding:42px 24px 80px}.intro{border-left:5px solid var(--blue);padding-left:22px;margin-bottom:32px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--muted)}h1{font-size:clamp(32px,4.5vw,52px);letter-spacing:-2px;line-height:1.1;margin:12px 0 16px}h1 span{color:#307783}.intro p{color:var(--muted);margin:0}.search-section{background:white;border:1px solid var(--line);border-radius:14px;padding:24px}label{display:block;font-weight:700;margin-bottom:12px}.search-box{display:flex;align-items:center;gap:12px;border:1px solid #aab5b9;border-radius:8px;padding:0 16px}.search-box:focus-within{outline:3px solid #bde9ee;border-color:#307783}.search-box svg{flex-shrink:0;color:var(--muted)}input{min-width:0;width:100%;padding:16px 0;border:0;background:transparent;font:inherit;outline:none}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #307783;outline-offset:4px}.filter{background:white;color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:8px 16px;font-size:14px}.filter[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:32px 0 18px}h2{font-size:22px;margin:0;letter-spacing:-.5px}#count{color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.card-visual{height:150px;background:#dcf1f4;position:relative;display:grid;place-items:center}.portrait{width:100%;height:100%;object-fit:cover;object-position:center 30%}.initials{font-weight:800;font-size:52px;color:#307783;letter-spacing:-2px}.logo{position:absolute;bottom:12px;right:12px;width:68px;height:68px;object-fit:contain;background:white;border-radius:10px;padding:6px;border:1px solid var(--line)}.card-body{padding:22px;flex:1;display:flex;flex-direction:column;align-items:flex-start}.tag{font-size:12px;letter-spacing:1px;font-weight:700;text-transform:uppercase;color:#307783}h3{font-size:24px;line-height:1.2;margin:8px 0;letter-spacing:-.5px}.owner{margin:0;color:var(--muted)}.location{font-size:14px;margin:16px 0 6px;color:var(--muted)}.summary{margin:0 0 18px}.notice{font-size:14px;background:#f0f4f5;padding:10px 12px;border-radius:6px;margin:0 0 20px}.primary,.secondary{border-radius:7px;padding:11px 16px;text-decoration:none;display:inline-block;font-weight:700;font-size:14px}.primary{background:var(--blue);color:var(--ink);border:1px solid var(--blue)}.card .primary{margin-top:auto;width:100%}.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.empty{text-align:center;background:white;border:1px dashed #adbfc4;padding:50px 24px;border-radius:14px}.empty p{color:var(--muted)}[hidden]{display:none!important}footer{max-width:1112px;margin:auto;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:14px}.footer-brand{font-size:12px;letter-spacing:1px;font-weight:700}dialog{border:0;border-radius:18px;padding:0;max-width:600px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#111a}.close{position:absolute;right:12px;top:12px;background:white;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;font-size:25px;z-index:2}.profile-visual{height:210px;background:#dcf1f4;position:relative;display:grid;place-items:center}.profile-body{padding:28px}.profile-body h2{font-size:30px;line-height:1.2;margin:8px 0}.profile-body p{overflow-wrap:anywhere}.profile-body h3{font-size:16px;margin:24px 0 8px}.links{display:flex;gap:10px;flex-wrap:wrap}.email-text{font-size:14px;color:var(--muted);margin-top:10px}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer{margin:0 24px}}@media(max-width:600px){.grid{grid-template-columns:1fr}.header-note{display:none}header{padding:22px 24px}.intro{padding-left:16px}main{padding-top:30px}.search-section{padding:18px}input{font-size:16px}.results-heading{align-items:flex-start}footer{flex-direction:column;gap:8px}.profile-body{padding:24px}}
.card-visual{height:240px}.portrait{object-position:center 20%}.logo{width:100px;height:78px}.profile-visual{height:280px}.profile-visual .logo{width:130px;height:100px}

.card-links{display:flex;gap:8px;width:100%;margin-top:10px;flex-wrap:wrap}.card-links a{flex:1;text-align:center}

.portrait[src$="fiona-mystic-mind-31.jpg"]{object-position:center 65%}.member-offer{background:#e7f7f9;border-left:3px solid #5bc7d6;padding:12px;margin:0 0 18px;width:100%;font-size:14px}.member-offer p{margin:4px 0 0;white-space:pre-line}.offer-details{white-space:pre-line}

.profile-contact{position:relative;background:white;padding:20px 28px;border-bottom:1px solid var(--line);text-align:center}.contact-now{display:block;width:100%;min-height:48px;padding:13px 20px;font-size:16px}.contact-method{margin:8px 0 4px;font-size:14px;color:var(--muted)}.contact-details{display:flex;flex-direction:column;gap:4px}.contact-details a{color:#307783;font-size:14px;overflow-wrap:anywhere}.profile-body{padding-top:22px}@media(max-width:600px){.profile-contact{padding:18px 24px}}

.card-body{padding:14px}.card-body .primary{display:block;text-align:center;width:100%;margin:0}.profile-panel{max-width:650px;margin:20px auto 0;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}#member-view{max-width:698px;padding-top:24px}.profile-panel .profile-visual{height:320px}@media(max-width:600px){.profile-panel .profile-visual{height:280px}}

.business-mark{display:block;max-width:100%;width:100%;height:100%;object-fit:contain;background:white;padding:12px}
/* Contain every image within a fixed frame, independently of its natural size. */
.grid{align-items:start}.card{display:grid;grid-template-rows:240px auto;min-width:0}.card-visual{height:240px;min-width:0;min-height:0;overflow:hidden;isolation:isolate}.profile-visual{min-width:0;min-height:0;overflow:hidden;isolation:isolate}.portrait,.business-mark{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;min-width:0;min-height:0;pointer-events:none}.portrait{object-fit:cover}.business-mark{object-fit:contain}.logo{z-index:1;pointer-events:none}.card-body{display:block;position:relative;z-index:2;min-width:0;min-height:76px;background:white;padding:14px}.card-body .primary{display:flex;align-items:center;justify-content:center;min-height:48px;margin:0;font-size:16px;touch-action:manipulation}
.portrait[src$="joanne-wilson.jpg"]{object-position:80% 42%;transform:scale(1.2);transform-origin:80% 42%}.logo[src$="business-bookkeeping-solutions-logo.jpg"]{left:12px;right:auto;bottom:12px}
.primary,.secondary,.filter{min-height:44px;touch-action:manipulation}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;text-align:center}.contact-now{display:flex;min-height:50px}.contact-details a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0;font-size:16px}.profile-panel,.profile-body,.profile-contact{min-width:0}.profile-body h2{overflow-wrap:anywhere}.links a{min-height:48px;font-size:16px}.results-heading h2{min-width:0}#count{flex-shrink:0}
@media(max-width:600px){header{padding:20px 16px}main{padding:24px 16px 40px}.intro{margin-bottom:22px}h1{font-size:32px;letter-spacing:-1px}.search-section{padding:16px}.search-box{padding:0 12px}.search-box input{padding:14px 0}.filters{gap:8px}.filter{padding:10px 14px}.grid{gap:16px;grid-template-columns:minmax(0,1fr)}.card{grid-template-rows:220px auto}.card-visual{height:220px}.card-body{padding:12px;min-height:72px}.results-heading{gap:8px}.results-heading h2{font-size:20px}.logo{width:90px;height:70px;bottom:10px;right:10px}.profile-panel .profile-visual{height:260px}.profile-visual .logo{width:100px;height:78px}.profile-contact{padding:16px}.profile-body{padding:20px}.profile-body h2{font-size:26px}.links{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.links a{width:100%}#member-view{padding:16px 16px 40px}#back-to-directory{min-height:48px}footer{margin:0 16px;padding-bottom:max(24px,env(safe-area-inset-bottom))}}

.portrait[src$="claire-jackson-the-habit-lab.jpg"]{object-position:center 65%;transform:scale(1.8);transform-origin:95% 65%}.profile-section ul{padding-left:22px}.profile-section li{margin-bottom:10px}.profile-section blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid var(--blue);background:#f0f8f9;color:#465255}.section-link{min-height:48px;max-width:100%;font-size:16px}@media(max-width:600px){.section-link{width:100%}}

.branch-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;text-align:left}.branch-contact{min-width:0;padding:16px;background:#f5f8f9;border:1px solid var(--line);border-radius:10px}.branch-contact h3{font-size:18px;line-height:1.3;margin:0 0 8px}.branch-address{font-size:14px;margin:0 0 8px}.branch-contact .contact-method{margin:0 0 12px}.branch-contact .contact-details{margin-top:8px}.branch-contact .contact-details a{font-size:14px;overflow-wrap:anywhere}.portrait[src$="sara-cardona.jpg"]{object-position:center 30%}@media(max-width:600px){.branch-contact-grid{grid-template-columns:minmax(0,1fr)}}

.brand{display:flex;align-items:center;gap:14px;letter-spacing:normal}.brand-logo{display:block;width:72px;height:72px;flex:0 0 72px;object-fit:contain;border-radius:50%}.brand span{margin:0;font-size:14px;letter-spacing:1.5px;line-height:1.4}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{display:block;object-fit:contain;border-radius:50%}@media(max-width:600px){.brand{gap:12px}.brand-logo{width:60px;height:60px;flex-basis:60px}.brand span{font-size:13px;letter-spacing:1px}}

.portrait[src$="marguerita-costa.jpg"]{object-position:center 15%}
