.hvl-directory{--hvl-blue:#087da7;--hvl-ink:#18313f;--hvl-border:#d7e3e9;--hvl-bg:#f5fafc;color:var(--hvl-ink);max-width:1100px;margin:0 auto 4rem;font-size:16px;line-height:1.65}
.hvl-directory *{box-sizing:border-box}
.hvl-directory__intro{margin:0 0 1.2rem}
.hvl-directory__controls{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1rem;background:var(--hvl-bg);border:1px solid var(--hvl-border);border-radius:12px}
.hvl-directory__buttons{display:flex;flex-wrap:wrap;gap:.5rem}
.hvl-directory__button{appearance:none;border:1px solid var(--hvl-blue);border-radius:999px;padding:.5rem 1rem;background:#fff;color:var(--hvl-blue);font:inherit;font-weight:700;cursor:pointer}
.hvl-directory__button[aria-pressed="true"]{background:var(--hvl-blue);color:#fff}
.hvl-directory__button:focus-visible,.hvl-directory__search:focus-visible,.hvl-directory__card:focus-visible{outline:3px solid #e79400;outline-offset:3px}
.hvl-directory__search-label{display:block;font-weight:700;margin-bottom:.2rem}
.hvl-directory__search{font:inherit;width:min(100%,19rem);padding:.5rem .7rem;border:1px solid #8faab7;border-radius:7px;background:#fff;color:var(--hvl-ink)}
.hvl-directory__search-wrap{min-width:min(100%,19rem)}
.hvl-directory__note{color:#4d6470;font-size:.9rem;margin:.65rem 0}
.hvl-directory__status{font-weight:700;margin:1.2rem 0 .7rem}
.hvl-directory__list{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:.8rem}
.hvl-directory__item{margin:0!important;padding:0!important}
.hvl-directory__item[hidden]{display:none!important}
.hvl-directory__card{display:flex;flex-direction:column;justify-content:space-between;gap:.65rem;height:100%;min-height:6.2rem;border:1px solid var(--hvl-border);border-radius:10px;background:#fff;padding:.8rem 1rem;text-decoration:none!important;color:var(--hvl-ink)!important;box-shadow:0 2px 8px rgba(12,49,69,.04);transition:border-color .16s,box-shadow .16s,transform .16s}
.hvl-directory__card:hover{border-color:var(--hvl-blue);box-shadow:0 5px 14px rgba(12,49,69,.12);transform:translateY(-2px)}
.hvl-directory__name{font-weight:700;font-size:1.06rem;overflow-wrap:anywhere}
.hvl-directory__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.2rem .6rem;color:#506976;font-size:.78rem}
@media(max-width:540px){.hvl-directory__controls{display:block}.hvl-directory__search-wrap{margin-top:.9rem}.hvl-directory__search{width:100%}.hvl-directory__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.hvl-directory__card{padding:.65rem;min-height:6.8rem}.hvl-directory__name{font-size:.96rem}.hvl-directory__meta{display:block}.hvl-directory__meta span{display:block}}


.hvl-directory .hvl-directory__card{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;justify-content:initial;gap:.85rem}
.hvl-directory .hvl-directory__portrait{display:block;width:64px;height:64px;max-width:none;margin:0;border:1px solid var(--hvl-border);border-radius:50%;object-fit:cover;object-position:center;background:var(--hvl-bg)}
.hvl-directory__copy{display:flex;min-width:0;flex-direction:column;gap:.4rem}
.hvl-directory .hvl-directory__card:hover{border-color:var(--hvl-border);box-shadow:0 2px 8px rgba(12,49,69,.04);transform:none}
.hvl-directory__links{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0}
.hvl-directory__links a{display:inline-flex;align-items:center;min-height:40px;max-width:100%;padding:5px 2px;border-radius:5px;color:#0a6d8a!important;font-size:12px;line-height:1.5;text-decoration:underline!important;text-underline-offset:3px;overflow-wrap:anywhere;touch-action:manipulation}
.hvl-directory__links a:hover{background:#edf8fa}
.hvl-directory__links a:focus-visible{outline:3px solid #e79400;outline-offset:2px}
.hvl-directory__links a:active,.hvl-directory__links a.is-opening{background:#cbeaf0;color:#06445b!important;box-shadow:inset 0 0 0 1px #75b4c3}
.hvl-directory__portrait-fallback{align-items:center;justify-content:center;color:var(--hvl-blue);font-size:1.5rem}
.hvl-directory .hvl-directory__portrait-fallback{display:flex}
@media(max-width:540px){.hvl-directory .hvl-directory__card{grid-template-columns:minmax(0,1fr);align-content:start;justify-items:start;gap:.6rem}.hvl-directory__copy{width:100%}}
.hvl-directory__type-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.2rem}
.hvl-directory__type-nav a{display:inline-block;padding:.35rem .85rem;border:1px solid var(--hvl-border);border-radius:999px;text-decoration:none!important;color:var(--hvl-ink)!important;background:#fff;font-weight:700}
.hvl-directory__type-nav a[aria-current="page"]{background:var(--hvl-blue);color:#fff!important;border-color:var(--hvl-blue)}
.hvl-directory__type-nav a:hover{border-color:var(--hvl-blue)}
.hvl-directory__type-nav a:focus-visible{outline:3px solid #e79400;outline-offset:3px}
.hvl-directory__hub-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.4rem 0 0}
.hvl-directory__hub-card{display:block;min-height:9rem;border:1px solid var(--hvl-border);border-radius:12px;background:var(--hvl-bg);padding:1.3rem;text-decoration:none!important;color:var(--hvl-ink)!important;box-shadow:0 2px 8px rgba(12,49,69,.04)}
.hvl-directory__hub-card:hover{border-color:var(--hvl-blue);box-shadow:0 5px 14px rgba(12,49,69,.12)}
.hvl-directory__hub-card:focus-visible{outline:3px solid #e79400;outline-offset:3px}
.hvl-directory__hub-name{display:block;color:var(--hvl-blue);font-size:1.35rem;font-weight:700;margin-bottom:.4rem}
.hvl-directory__hub-count{display:block;font-weight:700;margin-bottom:.2rem}
.hvl-directory__hub-desc{display:block;color:#4d6470;font-size:.94rem}
@media(max-width:720px){.hvl-directory__hub-list{grid-template-columns:1fr}.hvl-directory__hub-card{min-height:auto}}
