.vh-directory{background:var(--background);color:var(--foreground);overflow-wrap:anywhere;min-height:65vh;padding-block:24px 64px}.vh-directory :focus-visible{outline:3px solid var(--primary);outline-offset:4px}.vh-directory a{text-underline-offset:4px}.vh-directory a:hover{text-decoration:underline}.vh-directory .vd-breadcrumb{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.vh-directory .vd-breadcrumb a{min-height:44px;color:var(--primary);align-items:center;display:inline-flex}.vh-directory .vd-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-bottom:32px;padding-bottom:16px;display:flex}.vh-directory .vd-tabs a{border:1px solid var(--border);background:var(--card);border-radius:8px;align-items:center;min-height:44px;padding:10px 18px;font-size:14px;display:inline-flex}.vh-directory .vd-tabs a[aria-current]{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.vh-directory .vd-intro{gap:12px;max-width:1000px;margin-bottom:28px;display:grid}.vh-directory h1{color:var(--brand-navy);font-size:clamp(26px,3.5vw,38px);font-weight:600;line-height:1.5}.vh-directory h2{font-size:21px;font-weight:600;line-height:1.65}.vh-directory .vd-intro>p:last-child{color:var(--muted-foreground);line-height:1.8}.vh-directory .vd-filters{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:24px}.vh-directory .vd-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.vh-directory .vd-filter-centres{grid-template-columns:2fr 1fr}.vh-directory .vd-filter-grid>div{min-width:0}.vh-directory .vd-filter-grid label{margin-bottom:8px;font-size:13px;display:block}.vh-directory .vd-filter-grid input,.vh-directory .vd-filter-grid select{border:1px solid var(--border);background:var(--background);width:100%;max-width:100%;min-height:46px;color:var(--foreground);text-overflow:ellipsis;border-radius:8px;padding:10px 12px;font-size:14px}.vh-directory .vd-filter-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:20px;display:flex}.vh-directory .vd-filter-actions a,.vh-directory .vd-empty a,.vh-directory .vd-back{min-height:44px;color:var(--primary);align-items:center;font-size:14px;display:inline-flex}.vh-directory .vd-results-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-block:32px 20px;display:flex}.vh-directory .vd-results-heading p{color:var(--muted-foreground);font-size:14px}.vh-directory .vd-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.vh-directory .vd-card{min-width:0;box-shadow:none;border-radius:12px;flex-direction:column;gap:20px;padding:24px;display:flex}.vh-directory .vd-card-content{gap:12px;min-width:0;display:grid}.vh-directory .vd-card h3{font-size:18px;font-weight:600;line-height:1.7}.vh-directory .vd-card h3 a{min-height:44px;color:var(--brand-navy);justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.vh-directory .vd-card h3 svg{color:var(--primary);flex-shrink:0;margin-top:7px}.vh-directory .vd-photo{width:80px;height:80px;color:var(--primary);background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.vh-directory .vd-photo-centre{border-radius:12px}.vh-directory .vd-photo img{object-fit:cover;width:100%;height:100%}.vh-directory .vd-city{color:var(--muted-foreground);align-items:center;gap:6px;font-size:14px;display:flex}.vh-directory .vd-city svg{flex-shrink:0}.vh-directory .vd-tags{flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.vh-directory .vd-tags li{background:var(--accent);color:var(--primary);border-radius:6px;padding:5px 8px;font-size:12px;line-height:1.7}.vh-directory .vd-summary{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.9;display:-webkit-box;overflow:hidden}.vh-directory .vd-affiliations{border-top:1px solid var(--border);padding:0;list-style:none}.vh-directory .vd-affiliations a{min-height:44px;color:var(--primary);align-items:center;font-size:13px;display:inline-flex}.vh-directory .vd-address{color:var(--muted-foreground);font-size:13px}.vh-directory .vd-empty{text-align:center;border:1px dashed var(--border);background:var(--card);border-radius:12px;padding:40px 24px;line-height:1.9}.vh-directory .vd-empty h3{margin-bottom:12px;font-size:20px}.vh-directory .vd-empty p{color:var(--muted-foreground);max-width:700px;margin-inline:auto}.vh-directory .vd-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:32px;font-size:14px;display:flex}.vh-directory .vd-profile-heading{align-items:flex-start;gap:24px;margin-block:16px 32px;display:flex}.vh-directory .vd-profile-heading .vd-photo{width:120px;height:120px}.vh-directory .vd-profile-heading>div:last-child{gap:12px;min-width:0;display:grid}.vh-directory .vd-detail-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.vh-directory .vd-body,.vh-directory .vd-contact{box-shadow:none;border-radius:12px;min-width:0;padding:28px}.vh-directory .vd-body h2,.vh-directory .vd-contact h2{margin-bottom:16px}.vh-directory .vd-body>section{margin-top:28px}.vh-directory .vd-description{white-space:pre-wrap;line-height:1.95}.vh-directory .vd-body .vd-affiliations{border:0;margin-top:16px}.vh-directory .vd-contact dl{gap:16px;display:grid}.vh-directory .vd-contact dt{color:var(--muted-foreground);margin-bottom:2px;font-size:12px}.vh-directory .vd-contact dd{font-size:14px}.vh-directory .vd-contact a{min-height:44px;color:var(--primary);align-items:center;text-decoration:underline;display:inline-flex}.vh-directory .vd-state{align-content:start;justify-items:start;gap:20px;min-height:40vh;padding-block:40px;display:grid}@media (max-width:1100px){.vh-directory .vd-filter-grid,.vh-directory .vd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.vh-directory .vd-detail-grid{grid-template-columns:1fr}}@media (max-width:639px){.vh-directory{padding-block:12px 40px}.vh-directory .vd-tabs{margin-bottom:24px}.vh-directory .vd-tabs a{padding-inline:12px;font-size:13px}.vh-directory .vd-filter-grid,.vh-directory .vd-grid{grid-template-columns:1fr}.vh-directory .vd-filters,.vh-directory .vd-card,.vh-directory .vd-body,.vh-directory .vd-contact{padding:18px}.vh-directory .vd-filter-grid input,.vh-directory .vd-filter-grid select{font-size:16px}.vh-directory .vd-profile-heading{flex-direction:column;gap:16px}.vh-directory .vd-profile-heading .vd-photo{width:96px;height:96px}}
